diff --git a/domain_test_service/domain/type.DomainOperator.html b/domain_test_service/domain/type.DomainOperator.html index d124cd814a..adf5bbc8f0 100644 --- a/domain_test_service/domain/type.DomainOperator.html +++ b/domain_test_service/domain/type.DomainOperator.html @@ -1,2 +1,2 @@ -DomainOperator in domain_test_service::domain - Rust
pub type DomainOperator<RuntimeApi, ExecutorDispatch> = DomainOperator<Block, Block, Client, RuntimeApi, ExecutorDispatch>;
Expand description

Domain executor for the test service.

+DomainOperator in domain_test_service::domain - Rust
pub type DomainOperator<RuntimeApi, ExecutorDispatch> = DomainOperator<Block, Block, Client, RuntimeApi, ExecutorDispatch>;
Expand description

Domain executor for the test service.

Aliased Type§

struct DomainOperator<RuntimeApi, ExecutorDispatch> { /* private fields */ }
\ No newline at end of file diff --git a/domain_test_service/domain/type.EvmDomainNode.html b/domain_test_service/domain/type.EvmDomainNode.html index 9fc7774523..bd7a304406 100644 --- a/domain_test_service/domain/type.EvmDomainNode.html +++ b/domain_test_service/domain/type.EvmDomainNode.html @@ -10,7 +10,7 @@ pub sync_service: Arc<SyncingService<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Global>, pub addr: MultiaddrWithPeerId, pub rpc_handlers: RpcHandlers, - pub operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, + pub operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, pub tx_pool_sink: TracingUnboundedSender<ChainTxPoolMsg>, /* private fields */ }

Fields§

§domain_id: DomainId

The domain id

@@ -24,7 +24,7 @@
§addr: MultiaddrWithPeerId

The MultiaddrWithPeerId to this node. This is useful if you want to pass it as “boot node” to other nodes.

§rpc_handlers: RpcHandlers

RPCHandlers to make RPC queries.

-
§operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>

Domain oeprator.

+
§operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>

Domain oeprator.

§tx_pool_sink: TracingUnboundedSender<ChainTxPoolMsg>

Sink to the node’s tx pool

Implementations§

source§

impl<Runtime, RuntimeApi, ExecutorDispatch, AccountId> DomainNode<Runtime, RuntimeApi, ExecutorDispatch, AccountId>where Runtime: Config<Hash = H256> + Config + Send + Sync, diff --git a/help.html b/help.html index 47bbb7074d..90ee0deb24 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 6015ad57a5..a6299a131a 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -17,7 +17,7 @@ "pallet_subspace":[["impl<T: Config> From<Event<T>> for ()"],["impl<T: Config> From<Error<T>> for &'static str"],["impl<T: Config> From<Error<T>> for DispatchError"]], "pallet_transaction_fees":[["impl<T: Config> From<Event<T>> for ()"]], "pallet_transporter":[["impl<T: Config> From<Event<T>> for ()"],["impl<T: Config> From<Error<T>> for &'static str"],["impl<T: Config> From<Error<T>> for DispatchError"]], -"sc_consensus_subspace":[["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header> From<VerificationError<Header>> for Error<Header>where\n Header: HeaderT,"],["impl<Header> From<Error<Header>> for Stringwhere\n Header: HeaderT,"],["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header: HeaderT> From<ApiError> for Error<Header>"]], +"sc_consensus_subspace":[["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header> From<VerificationError<Header>> for Error<Header>where\n Header: HeaderT,"],["impl<Header> From<Error<Header>> for Stringwhere\n Header: HeaderT,"],["impl<Header: HeaderT> From<Error> for Error<Header>"],["impl<Header: HeaderT> From<ApiError> for Error<Header>"]], "sc_subspace_block_relay":[["impl From<Error> for BlockRelayConfigurationError"]], "sp_consensus_subspace":[["impl From<PotOutput> for WrappedPotOutput"],["impl<RewardAddress> From<&Solution<Public, RewardAddress>> for WrappedSolution"],["impl<'a> From<&'a VerifySolutionParams> for WrappedVerifySolutionParams<'a>"],["impl From<SubspaceJustification> for Justification"],["impl From<Box<dyn Fn([u8; 32], u64, PotOutput, bool) -> bool + Send + Sync, Global>> for PotExtension"],["impl From<Error> for String"],["impl From<Kzg> for KzgExtension"],["impl From<PosTableType> for PosExtension"]], "sp_domains":[["impl From<u32> for DomainId"],["impl From<DomainId> for u32"]], diff --git a/implementors/sc_consensus/block_import/trait.BlockImport.js b/implementors/sc_consensus/block_import/trait.BlockImport.js index 78e7cc6cbd..9fa80c26cc 100644 --- a/implementors/sc_consensus/block_import/trait.BlockImport.js +++ b/implementors/sc_consensus/block_import/trait.BlockImport.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"sc_consensus_subspace":[["impl<PosTable, Block, Client, Inner, CIDP, AS> BlockImport<Block> for SubspaceBlockImport<PosTable, Block, Client, Inner, CIDP, AS>where\n PosTable: Table,\n Block: BlockT,\n Inner: BlockImport<Block, Error = Error> + Send + Sync,\n Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + AuxStore + Send + Sync,\n Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>,\n CIDP: CreateInherentDataProviders<Block, SubspaceLink<Block>> + Send + Sync + 'static,\n AS: AuxStore + Send + Sync + 'static,\n BlockNumber: From<<<Block as BlockT>::Header as HeaderT>::Number>,"]] +"sc_consensus_subspace":[["impl<PosTable, Block, Client, Inner, CIDP, AS> BlockImport<Block> for SubspaceBlockImport<PosTable, Block, Client, Inner, CIDP, AS>where\n PosTable: Table,\n Block: BlockT,\n Inner: BlockImport<Block, Error = Error> + Send + Sync,\n Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + AuxStore + Send + Sync,\n Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>,\n CIDP: CreateInherentDataProviders<Block, SubspaceLink<Block>> + Send + Sync + 'static,\n AS: AuxStore + Send + Sync + 'static,\n BlockNumber: From<<<Block as BlockT>::Header as HeaderT>::Number>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sc_consensus/import_queue/trait.Verifier.js b/implementors/sc_consensus/import_queue/trait.Verifier.js index 2371490b34..1eeeb7be8f 100644 --- a/implementors/sc_consensus/import_queue/trait.Verifier.js +++ b/implementors/sc_consensus/import_queue/trait.Verifier.js @@ -1,4 +1,4 @@ (function() {var implementors = { "domain_client_consensus_relay_chain":[["impl<Block> Verifier<Block> for Verifier<Block>where\n Block: BlockT,"]], -"sc_consensus_subspace":[["impl<PosTable, Block, Client, SelectChain> Verifier<Block> for SubspaceVerifier<PosTable, Block, Client, SelectChain>where\n PosTable: Table,\n Block: BlockT,\n BlockNumber: From<NumberFor<Block>>,\n Client: HeaderBackend<Block> + ProvideRuntimeApi<Block> + Send + Sync + AuxStore,\n Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>,\n SelectChain: SelectChain<Block>,"]] +"sc_consensus_subspace":[["impl<PosTable, Block, Client, SelectChain> Verifier<Block> for SubspaceVerifier<PosTable, Block, Client, SelectChain>where\n PosTable: Table,\n Block: BlockT,\n BlockNumber: From<NumberFor<Block>>,\n Client: HeaderBackend<Block> + ProvideRuntimeApi<Block> + Send + Sync + AuxStore,\n Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>,\n SelectChain: SelectChain<Block>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sc_consensus_slots/trait.SimpleSlotWorker.js b/implementors/sc_consensus_slots/trait.SimpleSlotWorker.js index 882c8c265b..732a8574f9 100644 --- a/implementors/sc_consensus_slots/trait.SimpleSlotWorker.js +++ b/implementors/sc_consensus_slots/trait.SimpleSlotWorker.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"sc_consensus_subspace":[["impl<PosTable, Block, Client, E, Error, SO, L, BS, AS> SimpleSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where\n PosTable: Table,\n Block: BlockT,\n Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + AuxStore + 'static,\n Client::Api: SubspaceApi<Block, FarmerPublicKey>,\n E: Environment<Block, Error = Error> + Send + Sync,\n E::Proposer: Proposer<Block, Error = Error>,\n SO: SyncOracle + Send + Sync,\n L: JustificationSyncLink<Block>,\n BS: BackoffAuthoringBlocksStrategy<NumberFor<Block>> + Send + Sync,\n Error: Error + Send + From<Error> + 'static,\n AS: AuxStore + Send + Sync + 'static,\n BlockNumber: From<<<Block as BlockT>::Header as Header>::Number>,"]] +"sc_consensus_subspace":[["impl<PosTable, Block, Client, E, Error, SO, L, BS, AS> SimpleSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where\n PosTable: Table,\n Block: BlockT,\n Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + AuxStore + 'static,\n Client::Api: SubspaceApi<Block, FarmerPublicKey>,\n E: Environment<Block, Error = Error> + Send + Sync,\n E::Proposer: Proposer<Block, Error = Error>,\n SO: SyncOracle + Send + Sync,\n L: JustificationSyncLink<Block>,\n BS: BackoffAuthoringBlocksStrategy<NumberFor<Block>> + Send + Sync,\n Error: Error + Send + From<Error> + 'static,\n AS: AuxStore + Send + Sync + 'static,\n BlockNumber: From<<<Block as BlockT>::Header as Header>::Number>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sc_proof_of_time/trait.PotSlotWorker.js b/implementors/sc_proof_of_time/trait.PotSlotWorker.js index 477dad34ca..e426ab5ff5 100644 --- a/implementors/sc_proof_of_time/trait.PotSlotWorker.js +++ b/implementors/sc_proof_of_time/trait.PotSlotWorker.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"sc_consensus_subspace":[["impl<PosTable, Block, Client, E, SO, L, BS, AS> PotSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where\n Block: BlockT,\n Client: HeaderBackend<Block> + ProvideRuntimeApi<Block>,\n Client::Api: SubspaceApi<Block, FarmerPublicKey>,\n SO: SyncOracle + Send + Sync,"]] +"sc_consensus_subspace":[["impl<PosTable, Block, Client, E, SO, L, BS, AS> PotSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where\n Block: BlockT,\n Client: HeaderBackend<Block> + ProvideRuntimeApi<Block>,\n Client::Api: SubspaceApi<Block, FarmerPublicKey>,\n SO: SyncOracle + Send + Sync,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sc_transaction_pool/graph/pool/trait.ChainApi.js b/implementors/sc_transaction_pool/graph/pool/trait.ChainApi.js index ca545fc19f..c3f31c71d1 100644 --- a/implementors/sc_transaction_pool/graph/pool/trait.ChainApi.js +++ b/implementors/sc_transaction_pool/graph/pool/trait.ChainApi.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"subspace_service":[["impl<Client, Block, DomainHeader> ChainApi for FullChainApiWrapper<Client, Block, DomainHeader>where\n Block: BlockT,\n <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug,\n Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static,\n DomainHeader: Header,\n Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, DomainHeader>,"]] +"subspace_service":[["impl<Client, Block, DomainHeader> ChainApi for FullChainApiWrapper<Client, Block, DomainHeader>where\n Block: BlockT,\n <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug,\n Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static,\n DomainHeader: Header,\n Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, DomainHeader>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sc_transaction_pool_api/trait.LocalTransactionPool.js b/implementors/sc_transaction_pool_api/trait.LocalTransactionPool.js index 4bc4dbb333..ec45eae3e0 100644 --- a/implementors/sc_transaction_pool_api/trait.LocalTransactionPool.js +++ b/implementors/sc_transaction_pool_api/trait.LocalTransactionPool.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"subspace_service":[["impl<Block, Client, DomainHeader> LocalTransactionPool for BasicPoolWrapper<Block, FullChainApiWrapper<Client, Block, DomainHeader>>where\n Block: BlockT,\n <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug,\n DomainHeader: HeaderT,\n Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static,\n Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,"]] +"subspace_service":[["impl<Block, Client, DomainHeader> LocalTransactionPool for BasicPoolWrapper<Block, FullChainApiWrapper<Client, Block, DomainHeader>>where\n Block: BlockT,\n <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug,\n DomainHeader: HeaderT,\n Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static,\n Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/scale_info/trait.TypeInfo.js b/implementors/scale_info/trait.TypeInfo.js index f6742de091..6c51fbae33 100644 --- a/implementors/scale_info/trait.TypeInfo.js +++ b/implementors/scale_info/trait.TypeInfo.js @@ -14,7 +14,7 @@ "pallet_operator_rewards":[["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,"]], "pallet_rewards":[["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,"],["impl<T> TypeInfo for Event<T>where\n T::AccountId: TypeInfo + 'static,\n <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,"]], "pallet_runtime_configs":[["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,"]], -"pallet_subspace":[["impl TypeInfo for AllowAuthoringBy"],["impl<T> TypeInfo for Event<T>where\n T::AccountId: TypeInfo + 'static,\n BlockNumberFor<T>: TypeInfo + 'static,\n T::Hash: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,"],["impl<T> TypeInfo for Error<T>where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,"],["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n Box<EquivocationProof<HeaderFor<T>>>: TypeInfo + 'static,\n Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>: TypeInfo + 'static,\n Option<BlockNumberFor<T>>: TypeInfo + 'static,\n T: Config + 'static,"],["impl TypeInfo for SolutionRangeOverride"]], +"pallet_subspace":[["impl TypeInfo for AllowAuthoringBy"],["impl<T> TypeInfo for Event<T>where\n T::AccountId: TypeInfo + 'static,\n BlockNumberFor<T>: TypeInfo + 'static,\n T::Hash: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,"],["impl<T> TypeInfo for Error<T>where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,"],["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n Box<EquivocationProof<HeaderFor<T>>>: TypeInfo + 'static,\n Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>: TypeInfo + 'static,\n Option<BlockNumberFor<T>>: TypeInfo + 'static,\n T: Config + 'static,"],["impl TypeInfo for SolutionRangeOverride"]], "pallet_transaction_fees":[["impl<T> TypeInfo for Event<T>where\n <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n T::AccountId: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,"],["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,"]], "pallet_transporter":[["impl<T> TypeInfo for Error<T>where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,"],["impl TypeInfo for Location"],["impl<T> TypeInfo for Event<T>where\n <<T as Config>::Sender as Sender<<T as Config>::AccountId>>::MessageId: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,"],["impl<T> TypeInfo for Call<T>where\n PhantomData<(T,)>: TypeInfo + 'static,\n <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n T: Config + 'static,"],["impl<Balance> TypeInfo for Transfer<Balance>where\n Balance: TypeInfo + 'static,"]], "sp_consensus_subspace":[["impl TypeInfo for PotParametersChange"],["impl<Offender> TypeInfo for OffenceDetails<Offender>where\n Offender: TypeInfo + 'static,"],["impl<Number, Hash, RewardAddress> TypeInfo for Vote<Number, Hash, RewardAddress>where\n Number: TypeInfo + 'static,\n Hash: TypeInfo + 'static,\n Solution<FarmerPublicKey, RewardAddress>: TypeInfo + 'static,\n RewardAddress: TypeInfo + 'static,"],["impl TypeInfo for SubspaceJustification"],["impl TypeInfo for PotNextSlotInput"],["impl TypeInfo for ChainConstants"],["impl TypeInfo for PotParameters"],["impl TypeInfo for SolutionRanges"],["impl<Number, Hash, RewardAddress> TypeInfo for SignedVote<Number, Hash, RewardAddress>where\n Vote<Number, Hash, RewardAddress>: TypeInfo + 'static,\n Number: TypeInfo + 'static,\n Hash: TypeInfo + 'static,\n RewardAddress: TypeInfo + 'static,"]], diff --git a/implementors/sp_consensus_subspace/offence/trait.Offence.js b/implementors/sp_consensus_subspace/offence/trait.Offence.js index ca837a6ab0..ec439417d0 100644 --- a/implementors/sp_consensus_subspace/offence/trait.Offence.js +++ b/implementors/sp_consensus_subspace/offence/trait.Offence.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"pallet_subspace":[["impl<PublicKey: Clone> Offence<PublicKey> for SubspaceEquivocationOffence<PublicKey>"]] +"pallet_subspace":[["impl<PublicKey: Clone> Offence<PublicKey> for SubspaceEquivocationOffence<PublicKey>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sp_consensus_subspace/offence/trait.OnOffenceHandler.js b/implementors/sp_consensus_subspace/offence/trait.OnOffenceHandler.js index ed90c1b6f4..fe05c51981 100644 --- a/implementors/sp_consensus_subspace/offence/trait.OnOffenceHandler.js +++ b/implementors/sp_consensus_subspace/offence/trait.OnOffenceHandler.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"pallet_subspace":[["impl<T: Config> OnOffenceHandler<Public> for Pallet<T>"]], +"pallet_subspace":[["impl<T: Config> OnOffenceHandler<Public> for Pallet<T>"]], "sp_consensus_subspace":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sp_consensus_subspace/offence/trait.ReportOffence.js b/implementors/sp_consensus_subspace/offence/trait.ReportOffence.js index a7743a91c4..e2fc4adfb7 100644 --- a/implementors/sp_consensus_subspace/offence/trait.ReportOffence.js +++ b/implementors/sp_consensus_subspace/offence/trait.ReportOffence.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"pallet_offences_subspace":[["impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>"]], +"pallet_offences_subspace":[["impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>"]], "sp_consensus_subspace":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/index.html b/index.html index 845336d3f4..8e2cb4d92d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Index of crates
\ No newline at end of file +Index of crates
\ No newline at end of file diff --git a/pallet_offences_subspace/enum.Event.html b/pallet_offences_subspace/enum.Event.html index 0e2acace25..63584fdcbe 100644 --- a/pallet_offences_subspace/enum.Event.html +++ b/pallet_offences_subspace/enum.Event.html @@ -1,10 +1,10 @@ Event in pallet_offences_subspace - Rust
pub enum Event {
     Offence {
-        kind: Kind,
+        kind: Kind,
         timeslot: Vec<u8>,
     },
 }
Expand description

Events type.

-

Variants§

§

Offence

Fields

§kind: Kind
§timeslot: Vec<u8>

There is an offence reported of the given kind happened at the session_index and +

Variants§

§

Offence

Fields

§kind: Kind
§timeslot: Vec<u8>

There is an offence reported of the given kind happened at the session_index and (kind-specific) time slot. This event is not deposited for duplicate slashes. [kind, timeslot].

Trait Implementations§

source§

impl Clone for Event

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Event

source§

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

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

impl Decode for Event

source§

fn decode<__CodecInputEdqy: Input>( diff --git a/pallet_offences_subspace/struct.Pallet.html b/pallet_offences_subspace/struct.Pallet.html index 34671b868e..7422071ccd 100644 --- a/pallet_offences_subspace/struct.Pallet.html +++ b/pallet_offences_subspace/struct.Pallet.html @@ -1,14 +1,14 @@ Pallet in pallet_offences_subspace - Rust
pub struct Pallet<T>(/* private fields */);
Expand description

The Pallet struct, the main type that implements traits and standalone functions within the pallet.

-

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn reports<KArg>(k: KArg) -> Option<OffenceDetails<FarmerPublicKey>>where +

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn reports<KArg>(k: KArg) -> Option<OffenceDetails<FarmerPublicKey>>where KArg: EncodeLike<<T as Config>::Hash>,

An auto-generated getter for Reports.

Trait Implementations§

source§

impl<T: Config> Callable<T> for Pallet<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of 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 for Pallet<T>

source§

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

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

impl<T: Config> GetStorageVersion for Pallet<T>

§

type CurrentStorageVersion = NoStorageVersionSet

This will be filled out by the pallet macro. Read more
source§

fn current_storage_version() -> Self::CurrentStorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

§

fn on_initialize(_n: BlockNumber) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by FRAME. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>

source§

fn report_offence(offence: O) -> Result<(), OffenceError>

Report an offence and reward given reporters.
source§

fn is_known_offence( - offenders: &[FarmerPublicKey], - time_slot: &O::TimeSlot +sufficient, and should not be overridden without very good reason.

source§

impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>

source§

fn report_offence(offence: O) -> Result<(), OffenceError>

Report an offence and reward given reporters.
source§

fn is_known_offence( + offenders: &[FarmerPublicKey], + time_slot: &O::TimeSlot ) -> bool

Returns true iff all of the given offenders have been previously reported at the given time slot. This function is useful to prevent the sending of duplicate offence reports.
source§

impl<T: Config> StorageInfoTrait for Pallet<T>

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T: Config> WhitelistedStorageKeys for Pallet<T>

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that diff --git a/pallet_offences_subspace/trait.Config.html b/pallet_offences_subspace/trait.Config.html index f26ce81831..b63490f23a 100644 --- a/pallet_offences_subspace/trait.Config.html +++ b/pallet_offences_subspace/trait.Config.html @@ -1,6 +1,6 @@ Config in pallet_offences_subspace - Rust
pub trait Config: Config {
     type RuntimeEvent: From<Event> + IsType<<Self as Config>::RuntimeEvent>;
-    type OnOffenceHandler: OnOffenceHandler<FarmerPublicKey>;
+    type OnOffenceHandler: OnOffenceHandler<FarmerPublicKey>;
 }
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be @@ -8,5 +8,5 @@

Consequently, a runtime that wants to include this pallet must implement this trait. The pallet’s config trait.

Required Associated Types§

source

type RuntimeEvent: From<Event> + IsType<<Self as Config>::RuntimeEvent>

The overarching event type.

-
source

type OnOffenceHandler: OnOffenceHandler<FarmerPublicKey>

A handler called for every offence report.

+
source

type OnOffenceHandler: OnOffenceHandler<FarmerPublicKey>

A handler called for every offence report.

Implementors§

\ No newline at end of file diff --git a/pallet_offences_subspace/type.ConcurrentReportsIndex.html b/pallet_offences_subspace/type.ConcurrentReportsIndex.html index 71693ca477..d1f1725c63 100644 --- a/pallet_offences_subspace/type.ConcurrentReportsIndex.html +++ b/pallet_offences_subspace/type.ConcurrentReportsIndex.html @@ -1,3 +1,3 @@ -ConcurrentReportsIndex in pallet_offences_subspace - Rust
pub type ConcurrentReportsIndex<T: Config> = StorageDoubleMap<_GeneratedPrefixForStorageConcurrentReportsIndex<T>, Twox64Concat, Kind, Twox64Concat, Vec<u8>, Vec<<T as Config>::Hash>, ValueQuery>;
Expand description

A vector of reports of the same kind that happened at the same time slot.

+ConcurrentReportsIndex in pallet_offences_subspace - Rust
pub type ConcurrentReportsIndex<T: Config> = StorageDoubleMap<_GeneratedPrefixForStorageConcurrentReportsIndex<T>, Twox64Concat, Kind, Twox64Concat, Vec<u8>, Vec<<T as Config>::Hash>, ValueQuery>;
Expand description

A vector of reports of the same kind that happened at the same time slot.

Storage type is [StorageDoubleMap] with key1 type Kind, key2 type OpaqueTimeSlot and value type Vec < ReportIdOf < T > >.

Aliased Type§

struct ConcurrentReportsIndex<T: Config>(/* private fields */);
\ No newline at end of file diff --git a/pallet_offences_subspace/type.Module.html b/pallet_offences_subspace/type.Module.html index 4de33170e4..3b47fd8a51 100644 --- a/pallet_offences_subspace/type.Module.html +++ b/pallet_offences_subspace/type.Module.html @@ -1,14 +1,14 @@ Module in pallet_offences_subspace - Rust
pub type Module<T> = Pallet<T>;
👎Deprecated: use Pallet instead
Expand description

Type alias to Pallet, to be used by construct_runtime.

Generated by pallet attribute macro.

-

Aliased Type§

struct Module<T>(/* private fields */);

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn reports<KArg>(k: KArg) -> Option<OffenceDetails<FarmerPublicKey>>where +

Aliased Type§

struct Module<T>(/* private fields */);

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn reports<KArg>(k: KArg) -> Option<OffenceDetails<FarmerPublicKey>>where KArg: EncodeLike<<T as Config>::Hash>,

An auto-generated getter for Reports.

Trait Implementations§

source§

impl<T: Config> Callable<T> for Pallet<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of 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 for Pallet<T>

source§

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

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

impl<T: Config> GetStorageVersion for Pallet<T>

§

type CurrentStorageVersion = NoStorageVersionSet

This will be filled out by the pallet macro. Read more
source§

fn current_storage_version() -> Self::CurrentStorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

§

fn on_initialize(_n: BlockNumber) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by FRAME. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>

source§

fn report_offence(offence: O) -> Result<(), OffenceError>

Report an offence and reward given reporters.
source§

fn is_known_offence( - offenders: &[FarmerPublicKey], - time_slot: &O::TimeSlot +sufficient, and should not be overridden without very good reason.

source§

impl<T: Config, O: Offence<FarmerPublicKey>> ReportOffence<Public, O> for Pallet<T>

source§

fn report_offence(offence: O) -> Result<(), OffenceError>

Report an offence and reward given reporters.
source§

fn is_known_offence( + offenders: &[FarmerPublicKey], + time_slot: &O::TimeSlot ) -> bool

Returns true iff all of the given offenders have been previously reported at the given time slot. This function is useful to prevent the sending of duplicate offence reports.
source§

impl<T: Config> StorageInfoTrait for Pallet<T>

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T: Config> WhitelistedStorageKeys for Pallet<T>

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that diff --git a/pallet_offences_subspace/type.Reports.html b/pallet_offences_subspace/type.Reports.html index 0d823dd207..aba59a4e51 100644 --- a/pallet_offences_subspace/type.Reports.html +++ b/pallet_offences_subspace/type.Reports.html @@ -1,3 +1,3 @@ -Reports in pallet_offences_subspace - Rust
pub type Reports<T: Config> = StorageMap<_GeneratedPrefixForStorageReports<T>, Twox64Concat, <T as Config>::Hash, OffenceDetails<FarmerPublicKey>>;
Expand description

The primary structure that holds all offence records keyed by report identifiers.

+Reports in pallet_offences_subspace - Rust
pub type Reports<T: Config> = StorageMap<_GeneratedPrefixForStorageReports<T>, Twox64Concat, <T as Config>::Hash, OffenceDetails<FarmerPublicKey>>;
Expand description

The primary structure that holds all offence records keyed by report identifiers.

Storage type is [StorageMap] with key type ReportIdOf < T > and value type OffenceDetails < FarmerPublicKey >.

Aliased Type§

struct Reports<T: Config>(/* private fields */);
\ No newline at end of file diff --git a/pallet_offences_subspace/type.ReportsByKindIndex.html b/pallet_offences_subspace/type.ReportsByKindIndex.html index 7470258358..436b31526e 100644 --- a/pallet_offences_subspace/type.ReportsByKindIndex.html +++ b/pallet_offences_subspace/type.ReportsByKindIndex.html @@ -1,4 +1,4 @@ -ReportsByKindIndex in pallet_offences_subspace - Rust
pub type ReportsByKindIndex<T> = StorageMap<_GeneratedPrefixForStorageReportsByKindIndex<T>, Twox64Concat, Kind, Vec<u8>, ValueQuery>;
Expand description

Enumerates all reports of a kind along with the time they happened.

+ReportsByKindIndex in pallet_offences_subspace - Rust
pub type ReportsByKindIndex<T> = StorageMap<_GeneratedPrefixForStorageReportsByKindIndex<T>, Twox64Concat, Kind, Vec<u8>, ValueQuery>;
Expand description

Enumerates all reports of a kind along with the time they happened.

All reports are sorted by the time of offence.

Note that the actual type of this mapping is Vec<u8>, this is because values of different types are not supported at the moment so we are doing the manual serialization.

diff --git a/pallet_subspace/equivocation/struct.EquivocationHandler.html b/pallet_subspace/equivocation/struct.EquivocationHandler.html index c1a4f99de6..0d5a3e6ca0 100644 --- a/pallet_subspace/equivocation/struct.EquivocationHandler.html +++ b/pallet_subspace/equivocation/struct.EquivocationHandler.html @@ -4,12 +4,12 @@ subsystems together.

Trait Implementations§

source§

impl<R, L> Default for EquivocationHandler<R, L>

source§

fn default() -> Self

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

impl<T, R, L> HandleEquivocation<T> for EquivocationHandler<R, L>where T: Config + SendTransactionTypes<Call<T>>, - R: ReportOffence<FarmerPublicKey, SubspaceEquivocationOffence<FarmerPublicKey>>, + R: ReportOffence<FarmerPublicKey, SubspaceEquivocationOffence<FarmerPublicKey>>, L: Get<u64>,

§

type ReportLongevity = L

The longevity, in blocks, that the equivocation report is valid for. When using the staking pallet this should be equal to the bonding duration (in blocks, not eras).
source§

fn report_offence( - offence: SubspaceEquivocationOffence<FarmerPublicKey> -) -> Result<(), OffenceError>

Report an offence proved by the given reporters.
source§

fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool

Returns true if all of the offenders at the given time slot have already been reported.
source§

fn submit_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + offence: SubspaceEquivocationOffence<FarmerPublicKey> +) -> Result<(), OffenceError>

Report an offence proved by the given reporters.
source§

fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool

Returns true if all of the offenders at the given time slot have already been reported.
source§

fn submit_equivocation_report( + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> DispatchResult

Create and dispatch an equivocation report extrinsic.

Auto Trait Implementations§

§

impl<R, L> RefUnwindSafe for EquivocationHandler<R, L>where L: RefUnwindSafe, R: RefUnwindSafe,

§

impl<R, L> Send for EquivocationHandler<R, L>where diff --git a/pallet_subspace/equivocation/struct.SubspaceEquivocationOffence.html b/pallet_subspace/equivocation/struct.SubspaceEquivocationOffence.html index d1ef849246..12986b7470 100644 --- a/pallet_subspace/equivocation/struct.SubspaceEquivocationOffence.html +++ b/pallet_subspace/equivocation/struct.SubspaceEquivocationOffence.html @@ -5,7 +5,7 @@

When a farmer released two or more solutions at the same slot.

Fields§

§slot: Slot

A Subspace slot in which this incident happened.

§offender: PublicKey

Identity of the farmer that produced the equivocation.

-

Trait Implementations§

source§

impl<PublicKey: Debug> Debug for SubspaceEquivocationOffence<PublicKey>

source§

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

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

impl<PublicKey: Clone> Offence<PublicKey> for SubspaceEquivocationOffence<PublicKey>

source§

const ID: Kind = _

Identifier which is unique for this kind of an offence.
§

type TimeSlot = Slot

A type that represents a point in time on an abstract timescale. Read more
source§

fn offenders(&self) -> Vec<PublicKey>

The list of all offenders involved in this incident. Read more
source§

fn time_slot(&self) -> Self::TimeSlot

A point in time when this offence happened. Read more
source§

impl<PublicKey: PartialEq> PartialEq<SubspaceEquivocationOffence<PublicKey>> for SubspaceEquivocationOffence<PublicKey>

source§

fn eq(&self, other: &SubspaceEquivocationOffence<PublicKey>) -> bool

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

Trait Implementations§

source§

impl<PublicKey: Debug> Debug for SubspaceEquivocationOffence<PublicKey>

source§

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

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

impl<PublicKey: Clone> Offence<PublicKey> for SubspaceEquivocationOffence<PublicKey>

source§

const ID: Kind = _

Identifier which is unique for this kind of an offence.
§

type TimeSlot = Slot

A type that represents a point in time on an abstract timescale. Read more
source§

fn offenders(&self) -> Vec<PublicKey>

The list of all offenders involved in this incident. Read more
source§

fn time_slot(&self) -> Self::TimeSlot

A point in time when this offence happened. Read more
source§

impl<PublicKey: PartialEq> PartialEq<SubspaceEquivocationOffence<PublicKey>> for SubspaceEquivocationOffence<PublicKey>

source§

fn eq(&self, other: &SubspaceEquivocationOffence<PublicKey>) -> 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<PublicKey: Eq> Eq for SubspaceEquivocationOffence<PublicKey>

source§

impl<PublicKey> StructuralEq for SubspaceEquivocationOffence<PublicKey>

source§

impl<PublicKey> StructuralPartialEq for SubspaceEquivocationOffence<PublicKey>

Auto Trait Implementations§

§

impl<PublicKey> RefUnwindSafe for SubspaceEquivocationOffence<PublicKey>where PublicKey: RefUnwindSafe,

§

impl<PublicKey> Send for SubspaceEquivocationOffence<PublicKey>where diff --git a/pallet_subspace/equivocation/trait.HandleEquivocation.html b/pallet_subspace/equivocation/trait.HandleEquivocation.html index 82eedb6d53..f3846f0b07 100644 --- a/pallet_subspace/equivocation/trait.HandleEquivocation.html +++ b/pallet_subspace/equivocation/trait.HandleEquivocation.html @@ -3,11 +3,11 @@ // Required methods fn report_offence( - offence: SubspaceEquivocationOffence<FarmerPublicKey> - ) -> Result<(), OffenceError>; - fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool; + offence: SubspaceEquivocationOffence<FarmerPublicKey> + ) -> Result<(), OffenceError>; + fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool; fn submit_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> DispatchResult; }
Expand description

A trait with utility methods for handling equivocation reports in Subspace. The trait provides methods for reporting an offence triggered by a valid equivocation report, checking the current @@ -16,17 +16,17 @@

Required Associated Types§

source

type ReportLongevity: Get<u64>

The longevity, in blocks, that the equivocation report is valid for. When using the staking pallet this should be equal to the bonding duration (in blocks, not eras).

Required Methods§

source

fn report_offence( - offence: SubspaceEquivocationOffence<FarmerPublicKey> -) -> Result<(), OffenceError>

Report an offence proved by the given reporters.

-
source

fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool

Returns true if all of the offenders at the given time slot have already been reported.

+ offence: SubspaceEquivocationOffence<FarmerPublicKey> +) -> Result<(), OffenceError>

Report an offence proved by the given reporters.

+
source

fn is_known_offence(offenders: &[FarmerPublicKey], time_slot: &Slot) -> bool

Returns true if all of the offenders at the given time slot have already been reported.

source

fn submit_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> DispatchResult

Create and dispatch an equivocation report extrinsic.

Implementations on Foreign Types§

source§

impl<T: Config> HandleEquivocation<T> for ()

§

type ReportLongevity = ()

source§

fn report_offence( - _offence: SubspaceEquivocationOffence<FarmerPublicKey> -) -> Result<(), OffenceError>

source§

fn is_known_offence(_offenders: &[FarmerPublicKey], _time_slot: &Slot) -> bool

source§

fn submit_equivocation_report( - _equivocation_proof: EquivocationProof<HeaderFor<T>> + _offence: SubspaceEquivocationOffence<FarmerPublicKey> +) -> Result<(), OffenceError>

source§

fn is_known_offence(_offenders: &[FarmerPublicKey], _time_slot: &Slot) -> bool

source§

fn submit_equivocation_report( + _equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> DispatchResult

Implementors§

source§

impl<T, R, L> HandleEquivocation<T> for EquivocationHandler<R, L>where T: Config + SendTransactionTypes<Call<T>>, - R: ReportOffence<FarmerPublicKey, SubspaceEquivocationOffence<FarmerPublicKey>>, + R: ReportOffence<FarmerPublicKey, SubspaceEquivocationOffence<FarmerPublicKey>>, L: Get<u64>,

\ No newline at end of file diff --git a/pallet_subspace/pallet/dispatchables/fn.report_equivocation.html b/pallet_subspace/pallet/dispatchables/fn.report_equivocation.html index 94fc9f77b2..408bdd1663 100644 --- a/pallet_subspace/pallet/dispatchables/fn.report_equivocation.html +++ b/pallet_subspace/pallet/dispatchables/fn.report_equivocation.html @@ -1,5 +1,5 @@ report_equivocation in pallet_subspace::pallet::dispatchables - Rust
pub fn report_equivocation<T: Config>(
-    equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>
+    equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>
 )
Expand description

Report farmer equivocation/misbehavior. This method will verify the equivocation proof. If valid, the offence will be reported.

This extrinsic must be called unsigned and it is expected that only block authors will diff --git a/pallet_subspace/pallet/dispatchables/fn.vote.html b/pallet_subspace/pallet/dispatchables/fn.vote.html index 13184f6a2a..c29e912834 100644 --- a/pallet_subspace/pallet/dispatchables/fn.vote.html +++ b/pallet_subspace/pallet/dispatchables/fn.vote.html @@ -1,5 +1,5 @@ vote in pallet_subspace::pallet::dispatchables - Rust

pub fn vote<T: Config>(
-    signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>
+    signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>
 )
Expand description

Farmer vote, currently only used for extra rewards to farmers.

Warning: Doc-Only

This function is an automatically generated, and is doc-only, uncallable diff --git a/pallet_subspace/pallet/enum.AllowAuthoringBy.html b/pallet_subspace/pallet/enum.AllowAuthoringBy.html index 6d2cd08bab..7309992c8c 100644 --- a/pallet_subspace/pallet/enum.AllowAuthoringBy.html +++ b/pallet_subspace/pallet/enum.AllowAuthoringBy.html @@ -1,11 +1,11 @@ AllowAuthoringBy in pallet_subspace::pallet - Rust

pub enum AllowAuthoringBy {
     Anyone,
     FirstFarmer,
-    RootFarmer(FarmerPublicKey),
+    RootFarmer(FarmerPublicKey),
 }

Variants§

§

Anyone

Anyone can author new blocks at genesis.

§

FirstFarmer

Author of the first block will be able to author blocks going forward unless unlocked for everyone.

-
§

RootFarmer(FarmerPublicKey)

Specified root farmer is allowed to author blocks unless unlocked for everyone.

+
§

RootFarmer(FarmerPublicKey)

Specified root farmer is allowed to author blocks unless unlocked for everyone.

Trait Implementations§

source§

impl Debug for AllowAuthoringBy

source§

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

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

impl Decode for AllowAuthoringBy

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( diff --git a/pallet_subspace/pallet/enum.Call.html b/pallet_subspace/pallet/enum.Call.html index c4ecd9f7db..ff59545976 100644 --- a/pallet_subspace/pallet/enum.Call.html +++ b/pallet_subspace/pallet/enum.Call.html @@ -1,6 +1,6 @@ Call in pallet_subspace::pallet - Rust
pub enum Call<T: Config> {
     report_equivocation {
-        equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>,
+        equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>,
     },
     store_segment_headers {
         segment_headers: Vec<SegmentHeader>,
@@ -10,7 +10,7 @@
         voting_solution_range_override: Option<u64>,
     },
     vote {
-        signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>,
+        signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>,
     },
     enable_rewards {
         height: Option<BlockNumberFor<T>>,
@@ -19,15 +19,15 @@
     enable_authoring_by_anyone {},
     // some variants omitted
 }
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

-

Variants§

§

report_equivocation

Fields

§equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>

Variants§

§

report_equivocation

Fields

§equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>
§

store_segment_headers

Fields

§segment_headers: Vec<SegmentHeader>
§

enable_solution_range_adjustment

Fields

§solution_range_override: Option<u64>
§voting_solution_range_override: Option<u64>
§

vote

Fields

§signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>
§

vote

Fields

§signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>
§

enable_rewards

Fields

§height: Option<BlockNumberFor<T>>
§

enable_storage_access

Fields

§

enable_authoring_by_anyone

Fields

Implementations§

source§

impl<T: Config> Call<T>

source

pub fn new_call_variant_report_equivocation( - equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> + equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> ) -> Self

Create a call with the variant report_equivocation.

source

pub fn new_call_variant_store_segment_headers( segment_headers: Vec<SegmentHeader> @@ -37,7 +37,7 @@ voting_solution_range_override: Option<u64> ) -> Self

Create a call with the variant enable_solution_range_adjustment.

source

pub fn new_call_variant_vote( - signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> + signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> ) -> Self

Create a call with the variant vote.

source

pub fn new_call_variant_enable_rewards( height: Option<BlockNumberFor<T>> @@ -59,8 +59,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<T> TypeInfo for Call<T>where PhantomData<(T,)>: TypeInfo + 'static, - Box<EquivocationProof<HeaderFor<T>>>: TypeInfo + 'static, - Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>: TypeInfo + 'static, + Box<EquivocationProof<HeaderFor<T>>>: TypeInfo + 'static, + Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>>: TypeInfo + 'static, Option<BlockNumberFor<T>>: TypeInfo + 'static, T: Config + 'static,

§

type Identity = Call<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T: Config> UnfilteredDispatchable for Call<T>

§

type RuntimeOrigin = <T as Config>::RuntimeOrigin

The origin type of the runtime, (i.e. frame_system::Config::RuntimeOrigin).
source§

fn dispatch_bypass_filter( self, diff --git a/pallet_subspace/pallet/enum.Event.html b/pallet_subspace/pallet/enum.Event.html index e6ea6a9178..a8b1edf719 100644 --- a/pallet_subspace/pallet/enum.Event.html +++ b/pallet_subspace/pallet/enum.Event.html @@ -3,7 +3,7 @@ segment_header: SegmentHeader, }, FarmerVote { - public_key: FarmerPublicKey, + public_key: FarmerPublicKey, reward_address: T::AccountId, height: BlockNumberFor<T>, parent_hash: T::Hash, @@ -11,7 +11,7 @@ // some variants omitted }
Expand description

Events type.

Variants§

§

SegmentHeaderStored

Fields

§segment_header: SegmentHeader

Segment header was stored in blockchain history.

-
§

FarmerVote

Fields

§public_key: FarmerPublicKey
§reward_address: T::AccountId
§height: BlockNumberFor<T>
§parent_hash: T::Hash

Farmer vote.

+
§

FarmerVote

Fields

§public_key: FarmerPublicKey
§reward_address: T::AccountId
§height: BlockNumberFor<T>
§parent_hash: T::Hash

Farmer vote.

Trait Implementations§

source§

impl<T: Config> Clone for Event<T>

source§

fn clone(&self) -> Self

Returns a copy of 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: Config> Debug for Event<T>

source§

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

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

impl<T: Config> Decode for Event<T>where T::AccountId: Decode, BlockNumberFor<T>: Decode, diff --git a/pallet_subspace/pallet/struct.Pallet.html b/pallet_subspace/pallet/struct.Pallet.html index c8b2036c54..ac968c1586 100644 --- a/pallet_subspace/pallet/struct.Pallet.html +++ b/pallet_subspace/pallet/struct.Pallet.html @@ -5,12 +5,12 @@ equivocation reports.

source

pub fn validate_equivocation_report( source: TransactionSource, - equivocation_proof: &EquivocationProof<HeaderFor<T>> + equivocation_proof: &EquivocationProof<HeaderFor<T>> ) -> TransactionValidity

source

pub fn pre_dispatch_equivocation_report( - equivocation_proof: &EquivocationProof<HeaderFor<T>> + equivocation_proof: &EquivocationProof<HeaderFor<T>> ) -> Result<(), TransactionValidityError>

source§

impl<T: Config> Pallet<T>

source

pub fn report_equivocation( origin: OriginFor<T>, - equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> + equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> ) -> DispatchResultWithPostInfo

Report farmer equivocation/misbehavior. This method will verify the equivocation proof. If valid, the offence will be reported.

This extrinsic must be called unsigned and it is expected that only block authors will @@ -29,7 +29,7 @@ Note: No effect on the solution range for the current era

source

pub fn vote( origin: OriginFor<T>, - signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> + signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> ) -> DispatchResult

Farmer vote, currently only used for extra rewards to farmers.

source

pub fn enable_rewards( origin: OriginFor<T>, @@ -39,34 +39,34 @@

source

pub fn enable_authoring_by_anyone(origin: OriginFor<T>) -> DispatchResult

Enable storage access for all users.

source§

impl<T: Config> Pallet<T>

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

source§

impl<T: Config> Pallet<T>

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

-
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

+
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

source§

impl<T: Config> Pallet<T>

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

source§

impl<T: Config> Pallet<T>

source

pub fn segment_commitment<KArg>(k: KArg) -> Option<SegmentCommitment>where KArg: EncodeLike<SegmentIndex>,

An auto-generated getter for SegmentCommitment.

source§

impl<T: Config> Pallet<T>

source

pub fn is_storage_access_enabled() -> bool

An auto-generated getter for IsStorageAccessEnabled.

-
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

+
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

source§

impl<T: Config> Pallet<T>

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

source

pub fn submit_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> Option<()>

Submits an extrinsic to report an equivocation. This method will create an unsigned extrinsic with a call to report_equivocation and will push the transaction to the pool. Only useful in an offchain context.

source

pub fn submit_test_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> Option<()>

Just stores offender from equivocation report in block list, only used for tests.

-
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

-
source

pub fn is_in_block_list(farmer_public_key: &FarmerPublicKey) -> bool

Check if farmer_public_key is in block list (due to equivocation)

+
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

+
source

pub fn is_in_block_list(farmer_public_key: &FarmerPublicKey) -> bool

Check if farmer_public_key is in block list (due to equivocation)

source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

source§

impl<T> Pallet<T>where T: Config + SendTransactionTypes<Call<T>>,

source

pub fn submit_vote( - signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId> + signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId> )

Submit farmer vote vote that is essentially a header with bigger solution range than acceptable for block authoring.

Trait Implementations§

source§

impl<T: Config> Callable<T> for Pallet<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of 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 for Pallet<T>

source§

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

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

impl<T: Config> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>

source§

fn find_block_reward_address() -> Option<T::AccountId>

Find the address for a block rewards based on the pre-runtime digests.
source§

impl<T: Config> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>

source§

fn find_voting_reward_addresses() -> Vec<T::AccountId>

Find the addresses for voting rewards based on transactions found in the block.
source§

impl<T: Config> GetStorageVersion for Pallet<T>

§

type CurrentStorageVersion = NoStorageVersionSet

This will be filled out by the pallet macro. Read more
source§

fn current_storage_version() -> Self::CurrentStorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(block_number: BlockNumberFor<T>) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
source§

fn on_finalize(block_number: BlockNumberFor<T>)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by FRAME. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are -dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnOffenceHandler<Public> for Pallet<T>

source§

fn on_offence(offenders: &[OffenceDetails<FarmerPublicKey>])

A handler for an offence of a particular kind. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used +dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnOffenceHandler<Public> for Pallet<T>

source§

fn on_offence(offenders: &[OffenceDetails<FarmerPublicKey>])

A handler for an offence of a particular kind. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T: Config> ProvideInherent for Pallet<T>

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(data: &InherentData) -> Option<Self::Call>

Create an inherent out of the given InherentData. Read more
source§

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

source§

impl<T: Config> ProvideInherent for Pallet<T>

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(data: &InherentData) -> Option<Self::Call>

Create an inherent out of the given InherentData. Read more
source§

fn is_inherent_required( data: &InherentData ) -> Result<Option<Self::Error>, Self::Error>

Determines whether this inherent is required in this block. Read more
source§

fn check_inherent( call: &Self::Call, diff --git a/pallet_subspace/pallet/type.Module.html b/pallet_subspace/pallet/type.Module.html index c63599cf93..4561060388 100644 --- a/pallet_subspace/pallet/type.Module.html +++ b/pallet_subspace/pallet/type.Module.html @@ -6,12 +6,12 @@ equivocation reports.

source

pub fn validate_equivocation_report( source: TransactionSource, - equivocation_proof: &EquivocationProof<HeaderFor<T>> + equivocation_proof: &EquivocationProof<HeaderFor<T>> ) -> TransactionValidity

source

pub fn pre_dispatch_equivocation_report( - equivocation_proof: &EquivocationProof<HeaderFor<T>> + equivocation_proof: &EquivocationProof<HeaderFor<T>> ) -> Result<(), TransactionValidityError>

source§

impl<T: Config> Pallet<T>

source

pub fn report_equivocation( origin: OriginFor<T>, - equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> + equivocation_proof: Box<EquivocationProof<HeaderFor<T>>> ) -> DispatchResultWithPostInfo

Report farmer equivocation/misbehavior. This method will verify the equivocation proof. If valid, the offence will be reported.

This extrinsic must be called unsigned and it is expected that only block authors will @@ -30,7 +30,7 @@ Note: No effect on the solution range for the current era

source

pub fn vote( origin: OriginFor<T>, - signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> + signed_vote: Box<SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>> ) -> DispatchResult

Farmer vote, currently only used for extra rewards to farmers.

source

pub fn enable_rewards( origin: OriginFor<T>, @@ -40,34 +40,34 @@

source

pub fn enable_authoring_by_anyone(origin: OriginFor<T>) -> DispatchResult

Enable storage access for all users.

source§

impl<T: Config> Pallet<T>

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

source§

impl<T: Config> Pallet<T>

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

-
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

+
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

source§

impl<T: Config> Pallet<T>

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

source§

impl<T: Config> Pallet<T>

source

pub fn segment_commitment<KArg>(k: KArg) -> Option<SegmentCommitment>where KArg: EncodeLike<SegmentIndex>,

An auto-generated getter for SegmentCommitment.

source§

impl<T: Config> Pallet<T>

source

pub fn is_storage_access_enabled() -> bool

An auto-generated getter for IsStorageAccessEnabled.

-
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

+
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

source§

impl<T: Config> Pallet<T>

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

source

pub fn submit_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> Option<()>

Submits an extrinsic to report an equivocation. This method will create an unsigned extrinsic with a call to report_equivocation and will push the transaction to the pool. Only useful in an offchain context.

source

pub fn submit_test_equivocation_report( - equivocation_proof: EquivocationProof<HeaderFor<T>> + equivocation_proof: EquivocationProof<HeaderFor<T>> ) -> Option<()>

Just stores offender from equivocation report in block list, only used for tests.

-
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

-
source

pub fn is_in_block_list(farmer_public_key: &FarmerPublicKey) -> bool

Check if farmer_public_key is in block list (due to equivocation)

+
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

+
source

pub fn is_in_block_list(farmer_public_key: &FarmerPublicKey) -> bool

Check if farmer_public_key is in block list (due to equivocation)

source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

source§

impl<T> Pallet<T>where T: Config + SendTransactionTypes<Call<T>>,

source

pub fn submit_vote( - signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId> + signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId> )

Submit farmer vote vote that is essentially a header with bigger solution range than acceptable for block authoring.

Trait Implementations§

source§

impl<T: Config> Callable<T> for Pallet<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of 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 for Pallet<T>

source§

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

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

impl<T: Config> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>

source§

fn find_block_reward_address() -> Option<T::AccountId>

Find the address for a block rewards based on the pre-runtime digests.
source§

impl<T: Config> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>

source§

fn find_voting_reward_addresses() -> Vec<T::AccountId>

Find the addresses for voting rewards based on transactions found in the block.
source§

impl<T: Config> GetStorageVersion for Pallet<T>

§

type CurrentStorageVersion = NoStorageVersionSet

This will be filled out by the pallet macro. Read more
source§

fn current_storage_version() -> Self::CurrentStorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(block_number: BlockNumberFor<T>) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
source§

fn on_finalize(block_number: BlockNumberFor<T>)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by FRAME. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are -dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnOffenceHandler<Public> for Pallet<T>

source§

fn on_offence(offenders: &[OffenceDetails<FarmerPublicKey>])

A handler for an offence of a particular kind. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used +dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnOffenceHandler<Public> for Pallet<T>

source§

fn on_offence(offenders: &[OffenceDetails<FarmerPublicKey>])

A handler for an offence of a particular kind. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T: Config> ProvideInherent for Pallet<T>

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(data: &InherentData) -> Option<Self::Call>

Create an inherent out of the given InherentData. Read more
source§

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

source§

impl<T: Config> ProvideInherent for Pallet<T>

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(data: &InherentData) -> Option<Self::Call>

Create an inherent out of the given InherentData. Read more
source§

fn is_inherent_required( data: &InherentData ) -> Result<Option<Self::Error>, Self::Error>

Determines whether this inherent is required in this block. Read more
source§

fn check_inherent( call: &Self::Call, diff --git a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html index 7914ad6368..97165e94f8 100644 --- a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html +++ b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html @@ -8,7 +8,7 @@ Block: BlockT, Backend: BackendT<Block>, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + LockImportRun<Block, Backend> + Finalizer<Block, Backend> + AuxStore + Send + Sync + 'static, - Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, + Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, AS: AuxStore + Send + Sync + 'static, SO: SyncOracle + Send + Sync + 'static,
Expand description

Crate an archiver task that will listen for importing blocks and archive blocks at K depth, producing pieces and segment headers (segment headers are then added back to the blockchain as diff --git a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html index b8e9b6603e..f8afabc6b6 100644 --- a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html +++ b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html @@ -4,5 +4,5 @@ ) -> Result<Option<NewArchivedSegment>, Box<dyn Error>>where Block: BlockT, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block>, - Client::Api: ObjectsApi<Block>,

Expand description

Derive genesis segment on demand, returns Ok(None) in case genesis block was already pruned

+ Client::Api: ObjectsApi<Block>,
Expand description

Derive genesis segment on demand, returns Ok(None) in case genesis block was already pruned

\ No newline at end of file diff --git a/sc_consensus_subspace/block_import/enum.Error.html b/sc_consensus_subspace/block_import/enum.Error.html index b066274acb..68f3349afd 100644 --- a/sc_consensus_subspace/block_import/enum.Error.html +++ b/sc_consensus_subspace/block_import/enum.Error.html @@ -1,6 +1,6 @@ Error in sc_consensus_subspace::block_import - Rust
pub enum Error<Header: HeaderT> {
 
Show 35 variants InnerBlockImportError(Error), - DigestItemError(Error), + DigestItemError(Error), ParentUnavailable(Header::Hash, Header::Hash), GenesisUnavailable, SlotMustIncrease(Slot, Slot), @@ -31,7 +31,7 @@ SegmentHeadersExtrinsicNotFound(Vec<SegmentHeader>), SegmentHeaderNotFound(SegmentIndex), DifferentSegmentCommitment(SegmentIndex), - FarmerInBlockList(FarmerPublicKey), + FarmerInBlockList(FarmerPublicKey), NoBlockWeight(Header::Hash), SegmentCommitmentNotFound(SegmentIndex), SectorExpired { @@ -47,7 +47,7 @@ RuntimeApi(ApiError),
}
Expand description

Errors encountered by the Subspace authorship task.

Variants§

§

InnerBlockImportError(Error)

Inner block import error

-
§

DigestItemError(Error)

Error during digest item extraction

+
§

DigestItemError(Error)

Error during digest item extraction

§

ParentUnavailable(Header::Hash, Header::Hash)

Parent unavailable. Cannot import

§

GenesisUnavailable

Genesis block unavailable. Cannot import

§

SlotMustIncrease(Slot, Slot)

Slot number must increase

@@ -76,7 +76,7 @@
§

SegmentHeadersExtrinsicNotFound(Vec<SegmentHeader>)

Stored segment header extrinsic was not found

§

SegmentHeaderNotFound(SegmentIndex)

Segment header not found

§

DifferentSegmentCommitment(SegmentIndex)

Different segment commitment found

-
§

FarmerInBlockList(FarmerPublicKey)

Farmer in block list

+
§

FarmerInBlockList(FarmerPublicKey)

Farmer in block list

§

NoBlockWeight(Header::Hash)

No block weight for parent header

§

SegmentCommitmentNotFound(SegmentIndex)

Segment commitment not found

§

SectorExpired

Fields

§expiration_history_size: HistorySize

Expiration history size

@@ -92,7 +92,7 @@

Trait Implementations§

source§

impl<Header: Debug + HeaderT> Debug for Error<Header>where Header::Hash: Debug,

source§

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

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

impl<Header: HeaderT> Display for Error<Header>

source§

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

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

impl<Header: HeaderT> Error for Error<Header>where Self: Debug + Display,

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<Header: HeaderT> From<ApiError> for Error<Header>

source§

fn from(source: ApiError) -> Self

Converts to this type from the input type.
source§

impl<Header> From<Error<Header>> for Stringwhere - Header: HeaderT,

source§

fn from(error: Error<Header>) -> String

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header> From<VerificationError<Header>> for Error<Header>where + Header: HeaderT,

source§

fn from(error: Error<Header>) -> String

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header: HeaderT> From<Error> for Error<Header>

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl<Header> From<VerificationError<Header>> for Error<Header>where Header: HeaderT,

source§

fn from(error: VerificationError<Header>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<Header> !RefUnwindSafe for Error<Header>

§

impl<Header> Send for Error<Header>

§

impl<Header> Sync for Error<Header>

§

impl<Header> Unpin for Error<Header>where <Header as Header>::Hash: Unpin,

§

impl<Header> !UnwindSafe for Error<Header>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere diff --git a/sc_consensus_subspace/block_import/struct.SubspaceBlockImport.html b/sc_consensus_subspace/block_import/struct.SubspaceBlockImport.html index d07896671c..f58a5f04e3 100644 --- a/sc_consensus_subspace/block_import/struct.SubspaceBlockImport.html +++ b/sc_consensus_subspace/block_import/struct.SubspaceBlockImport.html @@ -4,7 +4,7 @@ PosTable: Table, Block: BlockT, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + AuxStore, - Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>, + Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>, CIDP: CreateInherentDataProviders<Block, SubspaceLink<Block>> + Send + Sync + 'static, AS: AuxStore + Send + Sync + 'static, BlockNumber: From<<<Block as BlockT>::Header as HeaderT>::Number>,

source

pub fn new( @@ -20,7 +20,7 @@ Block: BlockT, Inner: BlockImport<Block, Error = Error> + Send + Sync, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + AuxStore + Send + Sync, - Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>, + Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey> + ApiExt<Block>, CIDP: CreateInherentDataProviders<Block, SubspaceLink<Block>> + Send + Sync + 'static, AS: AuxStore + Send + Sync + 'static, BlockNumber: From<<<Block as BlockT>::Header as HeaderT>::Number>,

§

type Error = Error<<Block as Block>::Header>

The error type.
source§

fn import_block<'life0, 'async_trait>( diff --git a/sc_consensus_subspace/slot_worker/struct.NewSlotNotification.html b/sc_consensus_subspace/slot_worker/struct.NewSlotNotification.html index 59d156b8c7..4a189d1df9 100644 --- a/sc_consensus_subspace/slot_worker/struct.NewSlotNotification.html +++ b/sc_consensus_subspace/slot_worker/struct.NewSlotNotification.html @@ -1,9 +1,9 @@ NewSlotNotification in sc_consensus_subspace::slot_worker - Rust
pub struct NewSlotNotification {
     pub new_slot_info: NewSlotInfo,
-    pub solution_sender: Sender<Solution<FarmerPublicKey, FarmerPublicKey>>,
+    pub solution_sender: Sender<Solution<FarmerPublicKey, FarmerPublicKey>>,
 }
Expand description

New slot notification with slot information and sender for solution for the slot.

Fields§

§new_slot_info: NewSlotInfo

New slot information.

-
§solution_sender: Sender<Solution<FarmerPublicKey, FarmerPublicKey>>

Sender that can be used to send solutions for the slot.

+
§solution_sender: Sender<Solution<FarmerPublicKey, FarmerPublicKey>>

Sender that can be used to send solutions for the slot.

Trait Implementations§

source§

impl Clone for NewSlotNotification

source§

fn clone(&self) -> NewSlotNotification

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for NewSlotNotification

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for Twhere diff --git a/sc_consensus_subspace/slot_worker/struct.RewardSigningNotification.html b/sc_consensus_subspace/slot_worker/struct.RewardSigningNotification.html index 4391b363ca..6b5380c4ff 100644 --- a/sc_consensus_subspace/slot_worker/struct.RewardSigningNotification.html +++ b/sc_consensus_subspace/slot_worker/struct.RewardSigningNotification.html @@ -1,11 +1,11 @@ RewardSigningNotification in sc_consensus_subspace::slot_worker - Rust
pub struct RewardSigningNotification {
     pub hash: H256,
-    pub public_key: FarmerPublicKey,
-    pub signature_sender: TracingUnboundedSender<FarmerSignature>,
+    pub public_key: FarmerPublicKey,
+    pub signature_sender: TracingUnboundedSender<FarmerSignature>,
 }
Expand description

Notification with a hash that needs to be signed to receive reward and sender for signature.

Fields§

§hash: H256

Hash to be signed.

-
§public_key: FarmerPublicKey

Public key of the plot identity that should create signature.

-
§signature_sender: TracingUnboundedSender<FarmerSignature>

Sender that can be used to send signature for the header.

+
§public_key: FarmerPublicKey

Public key of the plot identity that should create signature.

+
§signature_sender: TracingUnboundedSender<FarmerSignature>

Sender that can be used to send signature for the header.

Trait Implementations§

source§

impl Clone for RewardSigningNotification

source§

fn clone(&self) -> RewardSigningNotification

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for RewardSigningNotification

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for Twhere diff --git a/sc_consensus_subspace/slot_worker/struct.SubspaceSlotWorker.html b/sc_consensus_subspace/slot_worker/struct.SubspaceSlotWorker.html index 1f1b9a532e..9015d9427f 100644 --- a/sc_consensus_subspace/slot_worker/struct.SubspaceSlotWorker.html +++ b/sc_consensus_subspace/slot_worker/struct.SubspaceSlotWorker.html @@ -5,7 +5,7 @@ PosTable: Table, Block: BlockT, Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + AuxStore + 'static, - Client::Api: SubspaceApi<Block, FarmerPublicKey>, + Client::Api: SubspaceApi<Block, FarmerPublicKey>, E: Environment<Block, Error = Error> + Send + Sync, E::Proposer: Proposer<Block, Error = Error>, SO: SyncOracle + Send + Sync, @@ -19,12 +19,12 @@

Trait Implementations§

source§

impl<PosTable, Block, Client, E, SO, L, BS, AS> PotSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where Block: BlockT, Client: HeaderBackend<Block> + ProvideRuntimeApi<Block>, - Client::Api: SubspaceApi<Block, FarmerPublicKey>, + Client::Api: SubspaceApi<Block, FarmerPublicKey>, SO: SyncOracle + Send + Sync,

source§

fn on_proof(&mut self, slot: Slot, checkpoints: PotCheckpoints)

Called when new proof of time is available for slot. Read more
source§

impl<PosTable, Block, Client, E, Error, SO, L, BS, AS> SimpleSlotWorker<Block> for SubspaceSlotWorker<PosTable, Block, Client, E, SO, L, BS, AS>where PosTable: Table, Block: BlockT, Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + AuxStore + 'static, - Client::Api: SubspaceApi<Block, FarmerPublicKey>, + Client::Api: SubspaceApi<Block, FarmerPublicKey>, E: Environment<Block, Error = Error> + Send + Sync, E::Proposer: Proposer<Block, Error = Error>, SO: SyncOracle + Send + Sync, @@ -33,7 +33,7 @@ Error: Error + Send + From<Error> + 'static, AS: AuxStore + Send + Sync + 'static, BlockNumber: From<<<Block as BlockT>::Header as Header>::Number>,

§

type BlockImport = SharedBlockImport<Block>

A handle to a BlockImport.
§

type SyncOracle = SubspaceSyncOracle<SO>

A handle to a SyncOracle.
A handle to a JustificationSyncLink, allows hooking into the sync module to control the -justification sync process.
§

type CreateProposer = Pin<Box<dyn Future<Output = Result<<E as Environment<Block>>::Proposer, Error>> + Send, Global>>

The type of future resolving to the proposer.
§

type Proposer = <E as Environment<Block>>::Proposer

The type of proposer to use to build blocks.
§

type Claim = (PreDigest<Public, Public>, SubspaceJustification)

Data associated with a slot claim.
§

type AuxData = ()

Auxiliary data necessary for authoring.
source§

fn logging_target(&self) -> &'static str

The logging target to use when logging messages.
source§

fn block_import(&mut self) -> &mut Self::BlockImport

A handle to a BlockImport.
source§

fn aux_data( +justification sync process.

§

type CreateProposer = Pin<Box<dyn Future<Output = Result<<E as Environment<Block>>::Proposer, Error>> + Send, Global>>

The type of future resolving to the proposer.
§

type Proposer = <E as Environment<Block>>::Proposer

The type of proposer to use to build blocks.
§

type Claim = (PreDigest<Public, Public>, SubspaceJustification)

Data associated with a slot claim.
§

type AuxData = ()

Auxiliary data necessary for authoring.
source§

fn logging_target(&self) -> &'static str

The logging target to use when logging messages.
source§

fn block_import(&mut self) -> &mut Self::BlockImport

A handle to a BlockImport.
source§

fn aux_data( &self, _parent: &Block::Header, _slot: Slot diff --git a/sc_consensus_subspace/struct.SubspaceLink.html b/sc_consensus_subspace/struct.SubspaceLink.html index 6688e72202..5fd306cfd1 100644 --- a/sc_consensus_subspace/struct.SubspaceLink.html +++ b/sc_consensus_subspace/struct.SubspaceLink.html @@ -1,5 +1,5 @@ SubspaceLink in sc_consensus_subspace - Rust
pub struct SubspaceLink<Block: BlockT> { /* private fields */ }
Expand description

State that must be shared between the import queue and the authoring logic.

-

Implementations§

source§

impl<Block: BlockT> SubspaceLink<Block>

source

pub fn new(chain_constants: ChainConstants, kzg: Kzg) -> Self

Create new instance.

+

Implementations§

source§

impl<Block: BlockT> SubspaceLink<Block>

source

pub fn new(chain_constants: ChainConstants, kzg: Kzg) -> Self

Create new instance.

source

pub fn new_slot_notification_stream( &self ) -> SubspaceNotificationStream<NewSlotNotification>

Get stream with notifications about new slot arrival with ability to send solution back.

@@ -20,7 +20,7 @@ &self, block_number: NumberFor<Block> ) -> Vec<SegmentHeader>

Get blocks that are expected to be included at specified block number.

-
source

pub fn chain_constants(&self) -> &ChainConstants

Subspace chain constants.

+
source

pub fn chain_constants(&self) -> &ChainConstants

Subspace chain constants.

source

pub fn kzg(&self) -> &Kzg

Access KZG instance

Trait Implementations§

source§

impl<Block: Clone + BlockT> Clone for SubspaceLink<Block>

source§

fn clone(&self) -> SubspaceLink<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

Auto Trait Implementations§

§

impl<Block> !RefUnwindSafe for SubspaceLink<Block>

§

impl<Block> Send for SubspaceLink<Block>

§

impl<Block> Sync for SubspaceLink<Block>

§

impl<Block> Unpin for SubspaceLink<Block>

§

impl<Block> !UnwindSafe for SubspaceLink<Block>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere diff --git a/sc_consensus_subspace/verifier/struct.SubspaceVerifier.html b/sc_consensus_subspace/verifier/struct.SubspaceVerifier.html index ec06e5d448..629da39ddb 100644 --- a/sc_consensus_subspace/verifier/struct.SubspaceVerifier.html +++ b/sc_consensus_subspace/verifier/struct.SubspaceVerifier.html @@ -5,14 +5,14 @@ Block: BlockT, BlockNumber: From<NumberFor<Block>>, Client: AuxStore + HeaderBackend<Block> + ProvideRuntimeApi<Block>, - Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>, + Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>, SelectChain: SelectChain<Block>,

source

pub fn new(options: SubspaceVerifierOptions<Block, Client, SelectChain>) -> Self

Create new instance

Trait Implementations§

source§

impl<PosTable, Block, Client, SelectChain> Verifier<Block> for SubspaceVerifier<PosTable, Block, Client, SelectChain>where PosTable: Table, Block: BlockT, BlockNumber: From<NumberFor<Block>>, Client: HeaderBackend<Block> + ProvideRuntimeApi<Block> + Send + Sync + AuxStore, - Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>, + Client::Api: BlockBuilderApi<Block> + SubspaceApi<Block, FarmerPublicKey>, SelectChain: SelectChain<Block>,

source§

fn verification_concurrency(&self) -> NonZeroUsize

How many blocks can be verified concurrently. Read more
source§

fn verify<'life0, 'async_trait>( &'life0 self, block: BlockImportParams<Block> diff --git a/sc_consensus_subspace/verifier/struct.SubspaceVerifierOptions.html b/sc_consensus_subspace/verifier/struct.SubspaceVerifierOptions.html index 1f8f6fc205..ba754f50e3 100644 --- a/sc_consensus_subspace/verifier/struct.SubspaceVerifierOptions.html +++ b/sc_consensus_subspace/verifier/struct.SubspaceVerifierOptions.html @@ -1,7 +1,7 @@ SubspaceVerifierOptions in sc_consensus_subspace::verifier - Rust
pub struct SubspaceVerifierOptions<Block, Client, SelectChain>where
     Block: BlockT,{
     pub client: Arc<Client>,
-    pub chain_constants: ChainConstants,
+    pub chain_constants: ChainConstants,
     pub kzg: Kzg,
     pub select_chain: SelectChain,
     pub telemetry: Option<TelemetryHandle>,
@@ -12,7 +12,7 @@
     pub pot_verifier: PotVerifier,
 }
Expand description

Options for Subspace block verifier

Fields§

§client: Arc<Client>

Substrate client

-
§chain_constants: ChainConstants

Subspace chain constants

+
§chain_constants: ChainConstants

Subspace chain constants

§kzg: Kzg

Kzg instance

§select_chain: SelectChain

Chain selection rule

§telemetry: Option<TelemetryHandle>

Telemetry

diff --git a/sc_consensus_subspace_rpc/struct.SubspaceRpc.html b/sc_consensus_subspace_rpc/struct.SubspaceRpc.html index b9011e3a9a..677e5bc34b 100644 --- a/sc_consensus_subspace_rpc/struct.SubspaceRpc.html +++ b/sc_consensus_subspace_rpc/struct.SubspaceRpc.html @@ -4,7 +4,7 @@

Implementations§

source§

impl<Block, Client, SO, AS> SubspaceRpc<Block, Client, SO, AS>where Block: BlockT, Client: ProvideRuntimeApi<Block> + HeaderBackend<Block>, - Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey>, + Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey>, SO: SyncOracle + Send + Sync + Clone + 'static, AS: AuxStore + Send + Sync + 'static,

SubspaceRpc is used for notifying subscribers about arrival of new slots and for submission of solutions (or lack thereof).

@@ -16,7 +16,7 @@

Trait Implementations§

source§

impl<Block, Client, SO, AS> SubspaceRpcApiServer for SubspaceRpc<Block, Client, SO, AS>where Block: BlockT, Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + BlockBackend<Block> + Send + Sync + 'static, - Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey> + ObjectsApi<Block>, + Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey> + ObjectsApi<Block>, SO: SyncOracle + Send + Sync + Clone + 'static, AS: AuxStore + Send + Sync + 'static,

source§

fn get_farmer_app_info(&self) -> RpcResult<FarmerAppInfo>

Ger metadata necessary for farmer operation
source§

fn submit_solution_response( &self, diff --git a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html index 1f56e3df6c..321a18dba7 100644 --- a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html +++ b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html @@ -90,6 +90,6 @@

Implementors§

source§

impl<Block, Client, SO, AS> SubspaceRpcApiServer for SubspaceRpc<Block, Client, SO, AS>where Block: BlockT, Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + BlockBackend<Block> + Send + Sync + 'static, - Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey> + ObjectsApi<Block>, + Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey> + ObjectsApi<Block>, SO: SyncOracle + Send + Sync + Clone + 'static, AS: AuxStore + Send + Sync + 'static,

\ No newline at end of file diff --git a/search-index.js b/search-index.js index 98aa1a977d..7e231cd30c 100644 --- a/search-index.js +++ b/search-index.js @@ -43,7 +43,7 @@ var searchIndex = JSON.parse('{\ "subspace_archiving":{"doc":"Collection of modules used for dealing with archived state …","t":"AAADENNNNNNDNNEENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMNNNNDEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNDDEENLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMM","n":["archiver","piece_reconstructor","reconstructor","Archiver","ArchiverInstantiationError","Block","BlockContinuation","BlockStart","FailedToInitializeErasureCoding","InvalidBlockSmallSize","InvalidLastArchivedBlock","NewArchivedSegment","Padding","ParentSegmentHeader","Segment","SegmentItem","V0","add_block","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","cmp","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","init","init","init","init","init","into","into","into","into","into","is_piece_valid","is_record_commitment_hash_valid","last_archived_block_number","new","object_mapping","partial_cmp","pieces","segment_header","serialize","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","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","with_initial_state","archived_block_bytes","block_bytes","items","bytes","bytes","bytes","DataShardsReconstruction","FailedToInitializeErasureCoding","IncorrectPiecePosition","InvalidInputPieceCommitment","PiecesReconstructor","ReconstructorError","ReconstructorInstantiationError","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","hash","init","init","init","into","into","into","new","partial_cmp","reconstruct_piece","reconstruct_segment","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","DataShardsReconstruction","FailedToInitializeErasureCoding","IncorrectSegmentOrder","ReconstructedContents","Reconstructor","ReconstructorError","ReconstructorInstantiationError","SegmentDecoding","add_segment","blocks","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","hash","init","init","init","init","into","into","into","into","new","partial_cmp","segment_header","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","actual_segment_index","expected_segment_index"],"q":[[0,"subspace_archiving"],[3,"subspace_archiving::archiver"],[133,"subspace_archiving::archiver::ArchiverInstantiationError"],[135,"subspace_archiving::archiver::Segment"],[136,"subspace_archiving::archiver::SegmentItem"],[139,"subspace_archiving::piece_reconstructor"],[203,"subspace_archiving::reconstructor"],[286,"subspace_archiving::reconstructor::ReconstructorError"],[288,"alloc::vec"],[289,"subspace_core_primitives::objects"],[290,"core::cmp"],[291,"parity_scale_codec::error"],[292,"core::result"],[293,"parity_scale_codec::codec"],[294,"serde::de"],[295,"parity_scale_codec::codec"],[296,"core::fmt"],[297,"core::fmt"],[298,"subspace_core_primitives::crypto::kzg"],[299,"subspace_core_primitives::pieces"],[300,"subspace_core_primitives::segments"],[301,"subspace_core_primitives::crypto"],[302,"subspace_core_primitives::pieces"],[303,"core::option"],[304,"serde::ser"],[305,"alloc::alloc"],[306,"alloc::string"],[307,"core::any"],[308,"subspace_core_primitives"]],"d":["","","","Block archiver for Subspace blockchain.","Archiver instantiation error","Contains full block inside","Continuation of the partial block spilled over into the …","Contains the beginning of the block inside, remainder will …","Failed to initialize erasure coding","Invalid block, its size is smaller than already archived …","Invalid last archived block, its size is the same as …","Newly archived segment as a combination of segment header …","Special dummy enum variant only used as an implementation …","Segment header of the parent","Segment represents a collection of items stored in …","Kinds of items that are contained within a segment","","Adds new block to internal buffer, potentially producing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Validate witness embedded within a piece produced by …","Validate witness for record commitment hash produced by …","Get last archived block if there was any","Create a new instance with specified record size and …","Mappings for objects stored in corresponding pieces.","","Segment of archived history containing pieces","Segment header","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new instance of the archiver with initial state …","Already archived portion of the block","Full block size","Segment items","Block bytes","Block bytes","Block bytes","Segment size is not bigger than record size","Failed to initialize erasure coding","Incorrect piece position provided.","Commitment of input piece is invalid.","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns the missing piece for a segment using given set of …","Returns all the pieces for a segment using given set of …","","","","","","","","","","","","","","","Error during data shards reconstruction","Failed to initialize erasure coding","Incorrect segment order, each next segment must have …","Data structure that contains information reconstructed …","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","Segment size is not bigger than record size","Given a set of pieces of a segment of the archived history …","Reconstructed encoded blocks with their block numbers","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Segment header stored in a segment","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,8,8,8,9,9,9,0,8,8,0,0,7,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,9,7,8,6,7,8,6,7,8,6,7,8,6,7,8,6,9,1,7,8,6,9,1,6,7,8,6,9,1,7,8,6,7,8,6,9,7,8,6,9,9,1,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,0,0,1,1,6,9,6,6,6,7,8,6,7,8,6,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,1,45,45,46,47,48,49,37,36,37,37,0,0,0,36,37,38,36,37,38,36,37,38,36,37,38,36,36,37,38,36,37,38,36,37,38,36,37,36,36,37,37,38,36,37,38,36,36,37,38,36,37,38,38,36,38,38,36,37,38,36,37,36,37,38,36,37,38,36,37,38,43,44,43,0,0,0,0,43,41,42,44,43,42,41,44,43,42,41,44,43,42,41,44,43,42,41,44,42,44,43,42,41,44,43,42,41,44,43,42,41,44,43,42,44,44,43,43,42,41,44,43,42,41,44,44,43,42,41,44,43,42,41,41,44,42,44,43,42,41,44,43,44,43,42,41,44,43,42,41,44,43,42,41,50,50],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,[3,[2]],4,5],[[3,[6]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,7],[8,8],[6,6],[9,9],[1,1],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[9,9],11],[-1,[[13,[7,12]]],14],[-1,[[13,[8,12]]],14],[-1,[[13,[6,12]]],14],[[[15,[2]]],[[13,[-1,12]]],[]],[[[15,[2]]],[[13,[-1,12]]],[]],[[[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,-1],[[13,[-2,12]]],14,[]],[[16,-1],[[13,[-2,12]]],14,[]],[[16,-1],[[13,[-2,12]]],14,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[-1,[[13,[6]]],18],[17,10],[17,10],[17,10],[17,10],[17,10],[[7,-1],10,[19,20]],[[8,-1],10,[19,20]],[[6,-1],10,[19,20]],[[7,7],5],[[8,8],5],[[6,6],5],[[9,9],5],[[7,21],22],[[8,21],22],[[6,21],22],[[9,21],22],[[9,21],22],[[1,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[9,-1],10,23],[[],17],[[],17],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[24,25,26,16],5],[[24,27,26,28,16],5],[1,[[30,[29]]]],[24,[[13,[1,9]]]],0,[[9,9],[[30,[11]]]],0,0,[[6,-1],13,31],[7,17],[8,17],[6,17],[[-1,[15,[2]]],[[3,[2,32]]],[]],[[-1,[15,[2]]],[[3,[2,32]]],[]],[[-1,[15,[2]]],[[3,[2,32]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[[24,35,[15,[2]],4],[[13,[1,9]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[36,36],[37,37],[38,38],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[36,36],11],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,10],[17,10],[17,10],[[36,36],5],[[37,37],5],[[36,21],22],[[36,21],22],[[37,21],22],[[37,21],22],[[38,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[36,-1],10,23],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,[[13,[38,36]]]],[[36,36],[[30,[11]]]],[[38,[15,[[30,[39]]]],17],[[13,[39,37]]]],[[38,[15,[[30,[39]]]]],[[13,[40,37]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],0,0,0,0,0,0,0,0,[[41,[15,[[30,[39]]]]],[[13,[42,43]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[43,43],[42,42],[41,41],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[44,44],11],[[],42],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,10],[17,10],[17,10],[17,10],[[44,44],5],[[43,43],5],[[42,42],5],[[44,21],22],[[44,21],22],[[43,21],22],[[43,21],22],[[42,21],22],[[41,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[44,-1],10,23],[[],17],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[13,[41,44]]]],[[44,44],[[30,[11]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],0,0],"c":[],"p":[[3,"Archiver",3],[15,"u8"],[3,"Vec",288],[3,"BlockObjectMapping",289],[15,"bool"],[3,"NewArchivedSegment",3],[4,"Segment",3],[4,"SegmentItem",3],[4,"ArchiverInstantiationError",3],[15,"tuple"],[4,"Ordering",290],[3,"Error",291],[4,"Result",292],[8,"Input",293],[15,"slice"],[15,"u32"],[15,"usize"],[8,"Deserializer",294],[8,"Output",293],[8,"Sized",295],[3,"Formatter",296],[6,"Result",296],[8,"Hasher",297],[3,"Kzg",298],[3,"PieceArray",299],[3,"SegmentCommitment",300],[3,"Scalar",301],[3,"RecordWitness",299],[6,"BlockNumber",302],[4,"Option",303],[8,"Serializer",304],[3,"Global",305],[3,"String",306],[3,"TypeId",307],[4,"SegmentHeader",302],[4,"ReconstructorInstantiationError",139],[4,"ReconstructorError",139],[3,"PiecesReconstructor",139],[3,"Piece",299],[3,"ArchivedHistorySegment",300],[3,"Reconstructor",203],[3,"ReconstructedContents",203],[4,"ReconstructorError",203],[4,"ReconstructorInstantiationError",203],[13,"InvalidBlockSmallSize",133],[13,"V0",135],[13,"Block",136],[13,"BlockStart",136],[13,"BlockContinuation",136],[13,"IncorrectSegmentOrder",286]],"b":[[77,"impl-Debug-for-ArchiverInstantiationError"],[78,"impl-Display-for-ArchiverInstantiationError"],[170,"impl-Debug-for-ReconstructorInstantiationError"],[171,"impl-Display-for-ReconstructorInstantiationError"],[172,"impl-Debug-for-ReconstructorError"],[173,"impl-Display-for-ReconstructorError"],[246,"impl-Debug-for-ReconstructorInstantiationError"],[247,"impl-Display-for-ReconstructorInstantiationError"],[248,"impl-Display-for-ReconstructorError"],[249,"impl-Debug-for-ReconstructorError"]]},\ "subspace_core_primitives":{"doc":"Core primitives for Subspace Network.","t":"EDRGGGGDNSNDDDSSSSSSSSSDESSSRNDDDDDDDDDDDRRRDDDDDDDDSSSSSSSSSSSSSSSDGDDEDGDGDNSSSSLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMALLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLMLMLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMDLLLLLLLLLLLLLLLLLLLLLLLSSDLLFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLDRDRRDDLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLEDEEDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMM","n":["ArchivedBlockProgress","ArchivedHistorySegment","BLAKE3_HASH_SIZE","Blake3Hash","BlockHash","BlockNumber","BlockWeight","ChunkWitness","Complete","ERASURE_CODING_RATE","EmptyVec","FlatPieces","HistorySize","LastArchivedBlock","MAX","MAX","MIDDLE","NUM_CHECKPOINTS","NUM_CHUNKS","NUM_CHUNKS","NUM_PIECES","NUM_RAW_RECORDS","NUM_S_BUCKETS","NonEmptyVec","NonEmptyVecErr","ONE","ONE","ONE","PUBLIC_KEY_LENGTH","Partial","Piece","PieceArray","PieceIndex","PieceOffset","PosProof","PosSeed","PotCheckpoints","PotKey","PotOutput","PotSeed","PublicKey","RANDOMNESS_LENGTH","REWARD_SIGNATURE_LENGTH","REWARD_SIGNING_CONTEXT","Randomness","RawRecord","Record","RecordCommitment","RecordWitness","RecordedHistorySegment","RewardSignature","SBucket","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SectorId","SectorIndex","SectorSlotChallenge","SegmentCommitment","SegmentHeader","SegmentIndex","SlotNumber","Solution","SolutionRange","U256","V0","ZERO","ZERO","ZERO","ZERO","add","add","add","add","add","add_assign","add_assign","add_assign","add_assign","archived_progress","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","backward_checked","backward_checked","backward_checked","backward_checked","bidirectional_distance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div","checked_mul","checked_sub","checksum","chunk","chunk_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","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_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","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","commitment","commitment_mut","crypto","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","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","derive_evaluation_seed","derive_expiration_history_size","derive_global_challenge","derive_global_randomness","derive_piece_index","derive_sector_slot_challenge","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","div","div","div","div","div","div_assign","div_assign","div_assign","div_assign","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","first","first_piece_index","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","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","forward_checked","forward_checked","forward_checked","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","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","from","from","from","from","from","from_be_bytes","from_bytes","from_genesis","from_hex","from_hex","from_hex","from_le_bytes","from_str","genesis_solution","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","history_size","in_pieces","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","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","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_reward_address_format","iter","iter_mut","key","last","last_archived_block","last_piece_index","len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","mul_assign","new","new","new","new","new_boxed","new_boxed","new_boxed","new_boxed","new_with_entry","new_zero_vec","number","objects","one","output","par_parity","par_parity_mut","par_source","par_source_mut","parity","parity_mut","partial","partial_archived","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","piece_offset","position","prev_segment_header_hash","proof_of_space","public_key","push","record","record_commitment","record_mut","record_witness","rem","reward_address","s_bucket_audit_index","saturating_add","saturating_mul","saturating_sub","sector_expiration_check","sector_index","seed","seed_with_entropy","segment_commitment","segment_index","segment_index","segment_index","segment_piece_indexes","segment_piece_indexes_source_first","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_complete","set_partial","set_partial_archived","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_to_repr","source","source_mut","split","split_mut","steps_between","steps_between","steps_between","steps_between","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","to_be_bytes","to_bytes","to_bytes","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_le_bytes","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_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","to_string","to_string","to_string","to_string","to_vec","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","witness","witness_mut","wrapping_add","wrapping_sub","zero","last_archived_block","prev_segment_header_hash","segment_commitment","segment_index","Blake3Checksummed","borrow","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","encoded_size","fmt","from","init","into","size_hint","to_keyed_vec","to_owned","try_from","try_into","type_id","FULL_BYTES","SAFE_BYTES","Scalar","as_mut","as_ref","blake3_254_hash_to_scalar","blake3_hash","blake3_hash_list","blake3_hash_parallel","blake3_hash_with_key","borrow","borrow_mut","clone","clone_into","cmp","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref_mut","deref_mut","deserialize","drop","encoded_fixed_size","encoded_size","eq","fmt","from","from","from","from","hash","init","into","kzg","max_encoded_len","partial_cmp","serialize","size_hint","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_option_from_repr","slice_option_mut_from_repr","slice_option_mut_to_repr","slice_option_to_repr","slice_to_repr","to_bytes","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","type_id","type_info","using_encoded","vec_from_repr","vec_option_from_repr","vec_option_to_repr","vec_to_repr","Commitment","EMBEDDED_KZG_SETTINGS_BYTES","Kzg","NUM_G1_POWERS","NUM_G2_POWERS","Polynomial","Witness","as_mut","as_mut","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_to_kzg_settings","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commit","create_witness","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","embedded_kzg_settings","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_fft_settings","init","init","init","init","into","into","into","into","new","normalize","poly","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_option_from_repr","slice_option_mut_from_repr","slice_option_mut_to_repr","slice_option_to_repr","slice_to_repr","to_bytes","to_bytes","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_bytes","try_from_bytes","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vec_from_repr","vec_option_from_repr","vec_option_to_repr","vec_to_repr","verify","BlockObject","BlockObjectMapping","GlobalObject","PieceObject","PieceObjectMapping","V0","V0","V0","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","cmp","cmp","cmp","cmp","cmp","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","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","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","hash","hash","hash","hash","hash","hash","init","init","init","init","init","into","into","into","into","into","objects","objects","offset","offset","offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","piece_index","serialize","serialize","serialize","serialize","serialize","set_offset","size_hint","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","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","type_info","type_info","type_info","type_info","type_info","using_encoded","using_encoded","hash","offset","offset","piece_index","hash","offset"],"q":[[0,"subspace_core_primitives"],[1415,"subspace_core_primitives::SegmentHeader"],[1419,"subspace_core_primitives::checksum"],[1443,"subspace_core_primitives::crypto"],[1507,"subspace_core_primitives::crypto::kzg"],[1626,"subspace_core_primitives::objects"],[1794,"subspace_core_primitives::objects::BlockObject"],[1796,"subspace_core_primitives::objects::GlobalObject"],[1798,"subspace_core_primitives::objects::PieceObject"],[1800,"byte_slice_cast"],[1801,"core::result"],[1802,"byte_slice_cast"],[1803,"core::option"],[1804,"num_traits::ops::wrapping"],[1805,"core::cmp"],[1806,"core::cmp"],[1807,"parity_scale_codec::codec"],[1808,"parity_scale_codec::codec"],[1809,"parity_scale_codec::decode_finished"],[1810,"serde::de"],[1811,"serde::de"],[1812,"core::iter::traits::collect"],[1813,"parity_scale_codec::codec"],[1814,"parity_scale_codec::codec"],[1815,"core::fmt"],[1816,"core::convert"],[1817,"core::hash"],[1818,"core::convert"],[1819,"alloc::boxed"],[1820,"rayon::iter"],[1821,"core::iter::traits::exact_size"],[1822,"serde::ser"],[1823,"serde::ser"],[1824,"alloc::string"],[1825,"core::any"],[1826,"scale_info::ty"],[1827,"core::ops::function"],[1828,"rust_kzg_blst::types::fr"],[1829,"rust_kzg_blst::types::g1"],[1830,"rust_kzg_blst::types::kzg_settings"],[1831,"rust_kzg_blst::types::poly"],[1832,"rust_kzg_blst::types::fft_settings"],[1833,"alloc::sync"]],"d":["Progress of an archived block.","Archived history segment after archiving is applied.","Size of BLAKE3 hash output (in bytes).","BLAKE3 hash output","Block hash in Subspace network.","Block number in Subspace network.","BlockWeight type for fork choice rules.","Witness for chunk contained within a record.","The block has been fully archived.","Erasure coding rate for records during archiving process.","Tried to create with an empty Vec","Flat representation of multiple pieces concatenated for …","Size of blockchain history in segments.","Last archived block","Max s-bucket index","Maximum value.","The middle of the piece distance field. The analogue of …","Number of PoT checkpoints produced (used to optimize …","Number of chunks (scalars) within one raw record.","Number of chunks (scalars) within one record.","Number of pieces in one segment of archived history.","Number of raw records in one segment of recorded history.","Number of s-buckets contained within one record (and by …","A Vec<> that enforces the invariant that it cannot be …","Error codes for NonEmptyVec.","Piece index 1.","Piece index 1.","Segment index 1.","Length of public key in bytes.","Number of partially archived bytes of a block.","A piece of archival history in Subspace Network.","A piece of archival history in Subspace Network.","Piece index in consensus","Piece offset in sector","Proof of space proof bytes.","Proof of space seed.","Proof of time checkpoints, result of proving","Proof of time key(input to the encryption).","Proof of time output, can be intermediate checkpoint or …","Proof of time seed","A Ristretto Schnorr public key as bytes produced by …","Byte length of a randomness type.","Length of signature in bytes","Signing context used for creating reward signatures by …","Type of randomness.","Raw record contained within recorded history segment …","Record contained within a piece.","Record commitment contained within a piece.","Record witness contained within a piece.","Recorded history segment before archiving is applied.","A Ristretto Schnorr signature as bytes produced by …","S-bucket used in consensus","Size in bytes.","Size of raw record in bytes, is guaranteed to be a …","Size of a segment record given the global piece size (in …","Size of record commitment in bytes.","Size of record witness in bytes.","Size of chunk witness in bytes.","Size of a piece (in bytes).","Size of segment commitment in bytes.","Size of recorded history segment in bytes.","Size of archived history segment in bytes.","Size of proof of space seed in bytes.","Size of proof of space proof in bytes.","Size of proof of time key in bytes","Size of proof of time seed in bytes","Size of proof of time proof in bytes","Data structure representing sector ID in farmer’s plot","Sector index in consensus","Challenge used for a particular sector for particular slot","Segment commitment contained within segment header.","Segment header for a specific segment.","Segment index type.","Slot number in Subspace network.","Farmer solution for slot challenge.","Type of solution range.","256-bit unsigned integer","V0 of the segment header data structure","S-bucket 0.","Piece index 0.","Piece index 0.","Segment index 0.","","","","","","","","","","Progress of an archived block.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the slice of the entries.","","","","","","","","","","","","","","","","","","","Bidirectional distance metric implemented on top of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Adds two numbers, checking for overflow. If overflow …","Divides two numbers, checking for underflow, overflow and …","Multiplies two numbers, checking for underflow or …","Subtracts two numbers, checking for underflow. If …","Module containing wrapper for SCALE encoding/decoding with …","Chunk at above offset","Witness for above chunk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Commitment contained within a piece.","Mutable commitment contained within a piece.","Various cryptographic utilities used across Subspace …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We assume a block can always fit into the segment …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Derive evaluation seed","Derive history size when sector created at history_size …","Derive global slot challenge from global randomness.","Derives the global randomness from the output","Derive piece index that should be stored in sector at …","Derive sector slot challenge for this sector from provided …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the first entry.","Get the first piece index in this segment.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create from big endian bytes","Create piece index from bytes.","Derive initial PoT seed from genesis block hash","","","","Create from little endian bytes","","Dummy solution for the genesis block","","","","","","","","","","","","","Proof hash.","","","","Public key hash.","","","","","Hash of the whole segment header","","","","","Size of the blockchain history at time of sector creation","Size of blockchain history in pieces.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extract internal representation.","Transform solution with one reward address type into …","Returns an iterator for the entries.","Returns a mutable iterator for the entries.","Derive key from proof of time seed","Returns the last entry.","Last archived block","Get the last piece index in this segment.","Returns the number of entries.","","","","","","","","","","","","","","","","","","","","","","","","","","","Allocate FlatPieces that will hold piece_count pieces …","Create new instance.","Create new sector ID by deriving it from public key and …","Creates the Vec.","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Creates the Vec with the entry.","Create vector filled with zeroe records without hitting …","Block number","Data structures related to objects (useful data) stored on …","One (multiplicative identity) of this type.","Get proof of time output out of checkpoints (last …","Parallel iterator over parity pieces (odd indices).","Mutable parallel iterator over parity pieces (odd indices).","Parallel iterator over source pieces (even indices).","Mutable parallel iterator over source pieces (even …","Iterator over parity pieces (odd indices).","Mutable iterator over parity pieces (odd indices).","Return the number of partially archived bytes if the …","Returns the number of partially archived bytes for a block.","","","","","","","","","","","","","","","","Pieces offset within sector","Position of a piece in a segment","Hash of the segment header of the previous segment","Proof of space for piece offset","Public key of the farmer that created the solution","Adds an entry to the end.","Record contained within a piece.","Record commitment that can use used to verify that piece …","Mutable record contained within a piece.","Witness for above record commitment","","Address for receiving block reward","Index of s-bucket within sector to be audited","Saturating addition. Computes self + other, saturating at …","Saturating multiplication. Computes self * other, …","Saturating subtraction. Computes self - other, saturating …","History size at which expiration check for sector happens.","Index of the sector where solution was found","Derive seed from proof of time in case entropy injection …","Derive seed from proof of time with entropy injection","Segment commitment of the records in a segment.","Segment index piece index corresponds to","Segment index that corresponds to this history size.","Segment index","List of piece indexes that belong to this segment.","List of piece indexes that belong to this segment with …","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the archived state of this block to …","Sets new number of partially archived bytes.","Sets new number of partially archived bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of record to …","Convenient conversion from slice of record to underlying …","Iterator over source pieces (even indices).","Mutable iterator over source pieces (even indices).","Split piece into underlying components.","Split piece into underlying mutable components.","","","","","","","","","","","","","","Convert to big endian bytes","Convert piece index to bytes.","Convert piece offset to bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert to little endian bytes","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the entries in the collection.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Witness contained within a piece.","Mutable witness contained within a piece.","","","Zero (additive identity) of this type.","Last archived block","Hash of the segment header of the previous segment","Root of commitments of all records in a segment.","Segment index","Wrapper data structure that when encoded/decoded will …","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","How many bytes Scalar contains physically, use …","How many full bytes can be stored in BLS12-381 scalar (for …","Representation of a single BLS12-381 scalar value.","","","BLAKE3 hashing of a single value truncated to 254 bits.","BLAKE3 hashing of a single value.","BLAKE3 hashing of a list of values.","BLAKE3 hashing of a single value in parallel (only useful …","BLAKE3 keyed hashing of a single value.","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","Tools for KZG commitment scheme","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of scalar to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional scalar to …","Convenient conversion from slice of scalar to underlying …","Convert scalar into bytes","","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional scalar to …","Convenient conversion from vector of scalar to underlying …","Commitment to polynomial","Embedded KZG settings as bytes, too big for no_std in most …","Wrapper data structure for working with KZG commitment …","Number of G1 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Number of G2 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Commitment to polynomial","Witness for polynomial evaluation","","","","","","","","","","","","","Function turns bytes into FsKZGSettings, it is up to the …","","","","","","","","","Computes a Commitment to polynomial","Computes a Witness of evaluation of polynomial at index","","","","","","","","","","","","","","","","","","","Embedded KZG settings","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Get FFT settings for specified number of values, uses …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create new instance with given KZG settings.","Normalize polynomial by removing trailing zeroes","Create polynomial from data. Data must be multiple of 32 …","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of commitment to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional commitment to …","Convenient conversion from slice of commitment to …","Convert commitment to raw bytes","Convert witness to raw bytes","","","","","","","","","","","","","","","","","","","","","Try to deserialize commitment from raw bytes","Try to deserialize witness from raw bytes","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional commitment …","Convenient conversion from vector of commitment to …","Verifies that value is the evaluation at index of the …","Object stored inside of the block","Mapping of objects stored inside of the block","Object stored inside in the history of the blockchain","Object stored inside of the block","Mapping of objects stored inside of the piece","V0 of object mapping data structure","V0 of object mapping data structure","V0 of object mapping data structure","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Object hash","","","","Object hash","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Objects stored inside of the block","Objects stored inside of the block","Offset of object in the encoded block.","Offset of the object","Offset of the object","","","","","","Piece index where object is contained (at least its …","","","","","","Sets new offset.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Object hash","Offset of object in the encoded block.","Offset of the object","Piece index where object is contained (at least its …","Object hash","Offset of the object"],"i":[0,0,0,0,0,0,0,0,41,19,69,0,0,0,1,5,5,40,9,10,37,19,10,0,0,2,3,4,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,10,11,12,13,14,18,19,37,38,39,21,22,23,0,0,0,0,0,0,0,0,0,0,43,1,2,3,4,1,2,3,4,5,1,2,3,4,42,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,27,28,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,1,2,3,4,0,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,5,5,5,5,0,44,44,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,14,15,17,4,36,27,28,41,42,5,45,29,15,15,0,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,15,4,18,36,37,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,19,37,20,39,21,22,23,40,27,41,5,1,2,3,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,4,18,18,36,36,19,19,37,37,20,20,38,38,39,39,21,21,22,22,23,23,40,40,27,27,28,28,41,42,43,44,5,45,45,29,30,69,1,2,3,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,4,18,18,36,36,19,19,37,37,20,38,39,39,21,21,22,22,23,23,40,40,27,28,41,42,43,44,5,45,29,30,69,29,29,20,23,29,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,27,28,41,42,43,44,29,1,2,3,4,5,1,2,3,4,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,5,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,17,18,19,20,27,28,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,30,4,1,1,2,2,3,3,9,10,11,12,13,14,15,17,4,4,18,36,36,19,37,20,38,39,21,21,22,22,23,23,40,27,27,28,41,42,43,44,5,5,45,29,30,69,1,2,3,4,1,1,2,2,3,3,9,10,11,11,11,12,12,12,13,13,13,14,14,15,17,17,4,4,18,18,18,36,36,36,19,37,20,20,38,38,39,39,21,21,22,22,23,23,40,27,27,28,28,41,42,43,44,5,5,5,5,5,5,45,29,30,69,5,2,22,15,17,39,5,21,44,1,2,3,11,12,13,14,15,17,4,18,36,39,22,23,40,27,27,28,41,42,43,43,5,45,29,44,36,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,17,44,30,30,22,30,43,4,30,1,2,3,11,12,13,15,4,18,36,37,20,39,21,22,23,40,1,2,3,4,5,1,2,3,4,17,36,29,30,9,10,15,19,30,10,42,0,5,40,17,17,17,17,17,17,41,42,1,2,3,14,15,17,4,36,27,28,41,42,5,45,29,44,2,43,44,44,30,15,44,15,44,5,44,45,5,5,5,36,44,23,23,43,2,36,43,4,4,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,27,28,41,42,43,44,29,42,41,42,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,10,10,10,10,17,17,15,15,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2,3,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,5,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,4,36,21,22,23,27,5,30,1,1,2,3,9,10,11,11,12,12,13,13,14,14,14,15,17,4,18,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,69,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,5,29,30,15,15,5,5,5,107,107,107,107,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,0,93,93,0,0,0,0,0,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,0,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,0,0,0,0,0,0,0,71,72,71,72,97,71,72,98,97,71,72,98,0,97,71,72,98,97,71,72,98,98,98,71,72,97,71,71,72,72,98,97,71,71,72,72,98,97,71,72,98,0,71,72,97,71,72,98,97,97,71,71,72,72,98,98,97,71,72,98,97,71,72,98,98,97,98,71,71,71,71,71,71,71,71,71,72,97,71,72,98,97,71,71,71,71,71,71,71,72,72,72,72,72,72,72,98,71,72,97,71,72,98,97,71,72,98,71,71,71,71,98,0,0,0,0,0,102,104,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,103,105,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,103,105,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,102,103,104,104,105,106,102,103,104,105,106,102,103,104,105,106,103,105,102,104,106,102,103,104,105,106,106,102,103,104,105,106,102,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,102,103,104,105,106,103,105,108,108,109,109,110,110],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1],6],[[2,2],6],[[3,3],6],[[4,4],6],0,[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[9,[[8,[7]]]],[10,[[8,[7]]]],[11,[[8,[7]]]],[12,[[8,[7]]]],[13,[[8,[7]]]],[14,[[8,[7]]]],[15,[[8,[7]]]],[15,[[16,[7]]]],[17,[[8,[7]]]],[18,[[8,[7]]]],[19,[[8,[7]]]],[20,[[8,[7]]]],[21,[[16,[7]]]],[22,[[16,[7]]]],[23,[[16,[7]]]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[9,[[8,[7]]]],[10,[[8,[7]]]],[11,[[8,[7]]]],[12,[[8,[7]]]],[13,[[8,[7]]]],[14,[[8,[7]]]],[15,[[8,[7]]]],[15,[[16,[7]]]],[17,[[8,[7]]]],[18,[[8,[7]]]],[19,[[8,[7]]]],[20,[[8,[7]]]],[21,[[16,[7]]]],[22,[[16,[7]]]],[23,[[16,[7]]]],[27,[[8,[7]]]],[28,[[8,[7]]]],[29,[[8,[7]]]],[[[30,[-1]]],[[8,[-1]]],31],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[[1,32],[[33,[1]]]],[[2,32],[[33,[2]]]],[[3,32],[[33,[3]]]],[[4,32],[[33,[4]]]],[[-1,-1],-1,[34,35]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],0,0,0,[1,1],[2,2],[3,3],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[17,17],[4,4],[18,18],[36,36],[19,19],[37,37],[20,20],[38,38],[39,39],[21,21],[22,22],[23,23],[40,40],[27,27],[28,28],[41,41],[42,42],[43,43],[[[44,[-1,-2]]],[[44,[-1,-2]]],31,31],[5,5],[45,45],[29,29],[[[30,[-1]]],[[30,[-1]]],31],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[1,1],46],[[2,2],46],[[3,3],46],[[14,14],46],[[15,15],46],[[17,17],46],[[4,4],46],[[36,36],46],[[27,27],46],[[28,28],46],[[41,41],46],[[42,42],46],[[5,5],46],[[45,45],46],[[29,29],46],[15,11],[15,11],0,[-1,[[25,[1,47]]],48],[-1,[[25,[2,47]]],48],[-1,[[25,[3,47]]],48],[-1,[[25,[11,47]]],48],[-1,[[25,[12,47]]],48],[-1,[[25,[13,47]]],48],[-1,[[25,[14,47]]],48],[-1,[[25,[15,47]]],48],[-1,[[25,[17,47]]],48],[-1,[[25,[4,47]]],48],[-1,[[25,[18,47]]],48],[-1,[[25,[36,47]]],48],[-1,[[25,[37,47]]],48],[-1,[[25,[20,47]]],48],[-1,[[25,[39,47]]],48],[-1,[[25,[21,47]]],48],[-1,[[25,[22,47]]],48],[-1,[[25,[23,47]]],48],[-1,[[25,[40,47]]],48],[-1,[[25,[27,47]]],48],[-1,[[25,[28,47]]],48],[-1,[[25,[41,47]]],48],[-1,[[25,[42,47]]],48],[-1,[[25,[43,47]]],48],[-1,[[25,[[44,[-2,-3]],47]]],48,49,49],[-1,[[25,[5,47]]],48],[-1,[[25,[29,47]]],48],[-1,[[25,[[30,[-2]],47]]],48,[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[-1,[51,[1]]],[[25,[52,47]]],48],[[-1,[51,[2]]],[[25,[52,47]]],48],[[-1,[51,[3]]],[[25,[52,47]]],48],[[-1,[51,[11]]],[[25,[52,47]]],48],[[-1,[51,[12]]],[[25,[52,47]]],48],[[-1,[51,[13]]],[[25,[52,47]]],48],[[-1,[51,[15]]],[[25,[52,47]]],48],[[-1,[51,[4]]],[[25,[52,47]]],48],[[-1,[51,[18]]],[[25,[52,47]]],48],[[-1,[51,[36]]],[[25,[52,47]]],48],[[-1,[51,[37]]],[[25,[52,47]]],48],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[],1],[[],2],[[],3],[[],9],[[],10],[[],11],[[],12],[[],13],[[],14],[[],15],[[],17],[[],4],[[],18],[[],19],[[],37],[[],20],[[],39],[[],21],[[],22],[[],23],[[],40],[[],27],[[],41],[[],5],[32,-1,[]],[32,-1,[]],[32,-1,[]],[9],[32,-1,[]],[32,-1,[]],[10],[32,-1,[]],[11],[32,-1,[]],[12],[32,-1,[]],[13],[14],[32,-1,[]],[15],[32,-1,[]],[17],[32,-1,[]],[32,-1,[]],[18],[32,-1,[]],[32,-1,[]],[36],[19],[32,-1,[]],[37],[32,-1,[]],[20],[32,-1,[]],[32,-1,[]],[38],[32,-1,[]],[39],[21],[32,-1,[]],[22],[32,-1,[]],[32,-1,[]],[23],[32,-1,[]],[40],[27],[32,-1,[]],[32,-1,[]],[28],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[45],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[9],[10],[32,-1,[]],[32,-1,[]],[11],[12],[32,-1,[]],[32,-1,[]],[13],[14],[32,-1,[]],[15],[32,-1,[]],[17],[32,-1,[]],[32,-1,[]],[32,-1,[]],[18],[32,-1,[]],[36],[19],[32,-1,[]],[37],[32,-1,[]],[32,-1,[]],[32,-1,[]],[39],[32,-1,[]],[21],[32,-1,[]],[22],[32,-1,[]],[32,-1,[]],[23],[32,-1,[]],[40],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[[29,3,36],38],[[29,36,18,36],[[33,[36]]]],[[20,53],54],[23,20],[[29,3,36,55,36,[6,[36,36]]],2],[[29,54],45],[-1,[[25,[1]]],56],[-1,[[25,[2]]],56],[-1,[[25,[3]]],56],[-1,[[25,[11]]],56],[-1,[[25,[12]]],56],[-1,[[25,[13]]],56],[-1,[[25,[14]]],56],[-1,[[25,[15]]],56],[-1,[[25,[17]]],56],[-1,[[25,[4]]],56],[-1,[[25,[18]]],56],[-1,[[25,[36]]],56],[-1,[[25,[37]]],56],[-1,[[25,[20]]],56],[-1,[[25,[39]]],56],[-1,[[25,[21]]],56],[-1,[[25,[22]]],56],[-1,[[25,[23]]],56],[-1,[[25,[27]]],56],[-1,[[25,[28]]],56],[-1,[[25,[41]]],56],[-1,[[25,[42]]],56],[-1,[[25,[43]]],56],[-1,[[25,[[44,[-2,-3]]]]],56,57,57],[-1,[[25,[29]]],56],[[1,-1],1,[]],[[2,-1],2,[]],[[3,-1],3,[]],[[4,-1],4,[]],[[5,-1],5,[]],[[1,-1],6,[]],[[2,-1],6,[]],[[3,-1],6,[]],[[4,-1],6,[]],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[1,[[58,[7]]]],[2,[[58,[7]]]],[3,[[58,[7]]]],[11,[[58,[7]]]],[12,[[58,[7]]]],[13,[[58,[7]]]],[14,[[58,[7]]]],[15,[[58,[7]]]],[17,[[58,[7]]]],[4,[[58,[7]]]],[18,[[58,[7]]]],[36,[[58,[7]]]],[37,[[58,[7]]]],[20,[[58,[7]]]],[39,[[58,[7]]]],[21,[[58,[7]]]],[22,[[58,[7]]]],[23,[[58,[7]]]],[40,[[58,[7]]]],[27,[[58,[7]]]],[28,[[58,[7]]]],[5,[[58,[7]]]],[29,[[58,[7]]]],[[[30,[-1]]],[[58,[7]]],[]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[-1,-2,[],[[60,[59]]]],[[1,-1],6,[61,62]],[[2,-1],6,[61,62]],[[3,-1],6,[61,62]],[[11,-1],6,[61,62]],[[12,-1],6,[61,62]],[[13,-1],6,[61,62]],[[14,-1],6,[61,62]],[[15,-1],6,[61,62]],[[17,-1],6,[61,62]],[[4,-1],6,[61,62]],[[18,-1],6,[61,62]],[[36,-1],6,[61,62]],[[37,-1],6,[61,62]],[[20,-1],6,[61,62]],[[39,-1],6,[61,62]],[[21,-1],6,[61,62]],[[22,-1],6,[61,62]],[[23,-1],6,[61,62]],[[40,-1],6,[61,62]],[[27,-1],6,[61,62]],[[28,-1],6,[61,62]],[[41,-1],6,[61,62]],[[42,-1],6,[61,62]],[[43,-1],6,[61,62]],[[[44,[-1,-2]],-3],6,63,63,[61,62]],[[5,-1],6,[61,62]],[[29,-1],6,[61,62]],[[[30,[-1]],-2],6,[],[61,62]],[[1,1],64],[[2,2],64],[[3,3],64],[[9,9],64],[[10,10],64],[[11,11],64],[[12,12],64],[[13,13],64],[[14,14],64],[[15,15],64],[[17,17],64],[[4,4],64],[[18,18],64],[[36,36],64],[[19,19],64],[[37,37],64],[[20,20],64],[[38,38],64],[[39,39],64],[[21,21],64],[[22,22],64],[[23,23],64],[[40,40],64],[[27,27],64],[[28,28],64],[[41,41],64],[[42,42],64],[[43,43],64],[[[44,[-1,-2]],[44,[-1,-2]]],64,65,65],[[5,5],64],[[45,45],64],[[29,29],64],[[[30,[-1]],[30,[-1]]],64,65],[[[30,[-1]]],-1,31],[4,2],[[1,66],67],[[1,66],67],[[2,66],67],[[2,66],67],[[3,66],67],[[3,66],67],[[9,66],67],[[10,66],67],[[11,66],67],[[12,66],67],[[13,66],67],[[14,66],67],[[15,66],67],[[17,66],67],[[4,66],67],[[4,66],67],[[18,66],67],[[36,66],67],[[36,66],67],[[19,66],67],[[37,66],67],[[20,66],67],[[38,66],67],[[39,66],67],[[21,66],67],[[21,66],67],[[22,66],67],[[22,66],67],[[23,66],67],[[23,66],67],[[40,66],67],[[27,66],67],[[27,66],67],[[28,66],67],[[41,66],67],[[42,66],67],[[43,66],67],[[[44,[-1,-2]],66],67,68,68],[[5,66],67],[[5,66],67],[[45,66],67],[[29,66],67],[[[30,[-1]],66],67,68],[[69,66],67],[[1,32],[[33,[1]]]],[[2,32],[[33,[2]]]],[[3,32],[[33,[3]]]],[[4,32],[[33,[4]]]],[55,1],[-1,-1,[]],[70,2],[-1,-1,[]],[55,3],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],11],[71,11],[-1,-1,[]],[[[16,[7]]],12],[72,12],[[[16,[7]]],13],[72,13],[-1,-1,[]],[-1,-1,[]],[15,14],[-1,-1,[]],[-1,-1,[]],[15,17],[-1,-1,[]],[70,4],[71,18],[-1,-1,[]],[[[16,[7]]],18],[-1,-1,[]],[4,36],[73,36],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],20],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],38],[[[16,[7]]],39],[-1,-1,[]],[[[16,[7]]],21],[-1,-1,[]],[[[16,[7]]],22],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],23],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],27],[-1,-1,[]],[[[16,[7]]],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[50,5],[7,5],[-1,-1,[]],[70,5],[74,5],[55,5],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],5],[[[16,[7]]],2],[[[8,[7]],[8,[7]]],22],[-1,[[25,[15]]],[[75,[[8,[7]]]]]],[-1,[[25,[17]]],[[75,[[8,[7]]]]]],[-1,[[25,[39]]],[[75,[[8,[7]]]]]],[[[16,[7]]],5],[76,[[25,[21]]]],[[-1,-2],[[44,[-1,-2]]],[],[]],[[1,-1],6,77],[[2,-1],6,77],[[3,-1],6,77],[[11,-1],6,77],[[12,-1],6,77],[[13,-1],6,77],[[14,-1],6,77],[[15,-1],6,77],[[17,-1],6,77],[[4,-1],6,77],[[18,-1],6,77],[[36,-1],6,77],[39,54],[[22,-1],6,77],[[23,-1],6,77],[[40,-1],6,77],[27,54],[[27,-1],6,77],[[28,-1],6,77],[[41,-1],6,77],[[42,-1],6,77],[43,54],[[43,-1],6,77],[[5,-1],6,77],[[45,-1],6,77],[[29,-1],6,77],0,[36,73],[[],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],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[17,[[58,[15]]]],[[[44,[-1,-4]]],[[44,[-1,-2]]],[],[],[[78,[-2]]],[[78,[-3]]]],[[[30,[-1]]],[[80,[79]]],31],[[[30,[-1]]],[[80,[79]]],31],[22,21],[[[30,[-1]]],-1,31],[43,42],[4,2],[[[30,[-1]]],32,31],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[1,-1],1,[]],[[2,-1],2,[]],[[3,-1],3,[]],[[4,-1],4,[]],[[5,-1],5,[]],[[1,-1],6,[]],[[2,-1],6,[]],[[3,-1],6,[]],[[4,-1],6,[]],[32,17],[73,36],[[54,81],29],[[[58,[-1]]],[[25,[[30,[-1]],69]]],31],[[],[[80,[9]]]],[[],[[80,[10]]]],[[],[[80,[15]]]],[[],[[80,[19]]]],[-1,[[30,[-1]]],31],[32,[[58,[10]]]],0,0,[[],5],[40,23],[17,[[0,[82]]]],[17,[[0,[82]]]],[17,[[0,[82]]]],[17,[[0,[82]]]],[17,[[0,[83]]]],[17,[[0,[83]]]],[41,[[33,[50]]]],[42,[[33,[50]]]],[[1,1],[[33,[46]]]],[[2,2],[[33,[46]]]],[[3,3],[[33,[46]]]],[[14,14],[[33,[46]]]],[[15,15],[[33,[46]]]],[[17,17],[[33,[46]]]],[[4,4],[[33,[46]]]],[[36,36],[[33,[46]]]],[[27,27],[[33,[46]]]],[[28,28],[[33,[46]]]],[[41,41],[[33,[46]]]],[[42,42],[[33,[46]]]],[[5,5],[[33,[46]]]],[[45,45],[[33,[46]]]],[[29,29],[[33,[46]]]],0,[2,50],[43,54],0,0,[[[30,[-1]],-1],6,31],[15,10],0,[15,10],0,[[5,-1],5,[]],0,[45,1],[[5,5],5],[[5,5],5],[[5,5],5],[[36,36],[[33,[36]]]],0,[23,22],[[23,54],22],[43,18],[2,4],[36,4],[43,4],[4,[[16,[2]]]],[4,[[16,[2]]]],[[1,-1],25,84],[[2,-1],25,84],[[3,-1],25,84],[[11,-1],25,84],[[12,-1],25,84],[[13,-1],25,84],[[14,-1],25,84],[[15,-1],25,84],[[17,-1],25,84],[[4,-1],25,84],[[18,-1],25,84],[[36,-1],25,84],[[37,-1],25,84],[[20,-1],25,84],[[39,-1],25,84],[[21,-1],25,84],[[22,-1],25,84],[[23,-1],25,84],[[27,-1],25,84],[[28,-1],25,84],[[41,-1],25,84],[[42,-1],25,84],[[43,-1],25,84],[[[44,[-1,-2]],-3],25,85,85,84],[[29,-1],25,84],[42,6],[[41,50],6],[[42,86],6],[1,32],[2,32],[3,32],[11,32],[12,32],[13,32],[14,32],[15,32],[17,32],[4,32],[18,32],[36,32],[37,32],[20,32],[39,32],[21,32],[22,32],[23,32],[40,32],[27,32],[28,32],[41,32],[42,32],[43,32],[[[44,[-1,-2]]],32,63,63],[5,32],[29,32],[[[30,[-1]]],32,[]],[[[8,[[16,[7]]]]],[[8,[10]]]],[[[8,[[16,[7]]]]],[[8,[10]]]],[[[8,[10]]],[[8,[[16,[7]]]]]],[[[8,[10]]],[[8,[[16,[7]]]]]],[17,[[0,[83]]]],[17,[[0,[83]]]],[15,[[6,[10,11,12]]]],[15,[[6,[10,11,12]]]],[[1,1],[[33,[32]]]],[[2,2],[[33,[32]]]],[[3,3],[[33,[32]]]],[[4,4],[[33,[32]]]],[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1],6],[[2,2],6],[[3,3],6],[[4,4],6],[5,[[16,[7]]]],[2,[[16,[7]]]],[3,[[16,[7]]]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[5,[[16,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[[[30,[-1]]],[[58,[-1]]],31],[32,[[25,[1]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[11]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[12]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[13]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[14]]]],[-1,[[25,[-2]]],[],[]],[[[58,[7]]],[[25,[14]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[18]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[],90],[[1,-1],-2,91,[]],[[2,-1],-2,91,[]],[[3,-1],-2,91,[]],[[11,-1],-2,91,[]],[[12,-1],-2,91,[]],[[13,-1],-2,91,[]],[[14,-1],-2,91,[]],[[15,-1],-2,91,[]],[[17,-1],-2,91,[]],[[4,-1],-2,91,[]],[[18,-1],-2,91,[]],[[36,-1],-2,91,[]],[[37,-1],-2,91,[]],[[20,-1],-2,91,[]],[[39,-1],-2,91,[]],[[21,-1],-2,91,[]],[[22,-1],-2,91,[]],[[23,-1],-2,91,[]],[[40,-1],-2,91,[]],[[27,-1],-2,91,[]],[[28,-1],-2,91,[]],[[5,-1],-2,91,[]],[[29,-1],-2,91,[]],[[[30,[-1]],-2],-3,[],91,[]],[15,12],[15,12],[[5,5],5],[[5,5],5],[[],5],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[92,[-1]]],[[92,[-1]]],31],[[-1,-2],6,[],[]],[-1,[[25,[[92,[-2]],47]]],48,49],[[[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,-1],[[25,[-2,47]]],48,[]],[32,-1,[]],[32,-1,[]],[32,6],[[[92,[-1]],-2],6,63,[61,62]],[[[92,[-1]]],32,63],[[[92,[-1]],66],67,68],[-1,-1,[]],[[],32],[-1,-2,[],[]],[[[92,[-1]]],32,63],[[-1,[8,[7]]],[[58,[7,87]]],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,89,[]],0,0,0,[93,94],[93,94],[[[8,[7]]],93],[[[8,[7]]],54],[[[8,[[8,[7]]]]],54],[[[8,[7]]],54],[[[16,[7]],[8,[7]]],54],[-1,-2,[],[]],[-1,-2,[],[]],[93,93],[[-1,-2],6,[],[]],[[93,93],46],[-1,[[25,[93,47]]],48],[[[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,-1],[[25,[-2,47]]],48,[]],[[],93],[32,-1,[]],[93],[32,-1,[]],[93],[-1,[[25,[93]]],56],[32,6],[[],[[33,[32]]]],[93,32],[[93,93],64],[[93,66],67],[94,93],[-1,-1,[]],[[[16,[7]]],93],[[[16,[7]]],93],[[93,-1],6,77],[[],32],[-1,-2,[],[]],0,[[],32],[[93,93],[[33,[46]]]],[[93,-1],25,84],[93,32],[[[8,[94]]],[[8,[93]]]],[[[8,[94]]],[[8,[93]]]],[[[8,[93]]],[[8,[94]]]],[[[8,[[33,[94]]]]],[[8,[[33,[93]]]]]],[[[8,[[33,[94]]]]],[[8,[[33,[93]]]]]],[[[8,[[33,[93]]]]],[[8,[[33,[94]]]]]],[[[8,[[33,[93]]]]],[[8,[[33,[94]]]]]],[[[8,[93]]],[[8,[94]]]],[93,[[16,[7]]]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[-1,-2,[],[]],[[[16,[7]]],[[25,[93]]]],[-1,[[25,[-2]]],[],[]],[[[16,[7]]],[[25,[93]]]],[-1,[[25,[-2]]],[],[]],[-1,89,[]],[[],90],[[93,-1],-2,91,[]],[[[58,[94]]],[[58,[93]]]],[[[58,[[33,[94]]]]],[[58,[[33,[93]]]]]],[[[58,[[33,[93]]]]],[[58,[[33,[94]]]]]],[[[58,[93]]],[[58,[94]]]],0,0,0,0,0,0,0,[71,95],[72,95],[71,95],[72,95],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[8,[7]],32,32],[[25,[96,88]]]],[97,97],[71,71],[72,72],[98,98],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[98,97],[[25,[71,88]]]],[[98,97,32,50],[[25,[72,88]]]],[[],71],[[],72],[32,-1,[]],[32,-1,[]],[71],[32,-1,[]],[72],[32,-1,[]],[32,-1,[]],[71],[32,-1,[]],[72],[32,-1,[]],[32,-1,[]],[32,6],[32,6],[32,6],[32,6],[[],96],[[71,71],64],[[72,72],64],[[97,66],67],[[71,66],67],[[72,66],67],[[98,66],67],[99,97],[-1,-1,[]],[95,71],[-1,-1,[]],[95,72],[-1,-1,[]],[-1,-1,[]],[[98,32],[[25,[[101,[100]],88]]]],[[],32],[[],32],[[],32],[[],32],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[96,98],[97,6],[[98,[8,[93]]],[[25,[97,88]]]],[[[8,[95]]],[[8,[71]]]],[[[8,[95]]],[[8,[71]]]],[[[8,[71]]],[[8,[95]]]],[[[8,[[33,[95]]]]],[[8,[[33,[71]]]]]],[[[8,[[33,[95]]]]],[[8,[[33,[71]]]]]],[[[8,[[33,[71]]]]],[[8,[[33,[95]]]]]],[[[8,[[33,[71]]]]],[[8,[[33,[95]]]]]],[[[8,[71]]],[[8,[95]]]],[71,[[16,[7]]]],[72,[[16,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[16,[7]]],[[25,[71]]]],[18,[[25,[71]]]],[11,[[25,[71]]]],[18,[[25,[71]]]],[[[16,[7]]],[[25,[71]]]],[11,[[25,[71]]]],[[[16,[7]]],[[25,[72]]]],[[[16,[7]]],[[25,[72]]]],[13,[[25,[72]]]],[12,[[25,[72]]]],[-1,[[25,[-2]]],[],[]],[12,[[25,[72]]]],[13,[[25,[72]]]],[-1,[[25,[-2]]],[],[]],[[[16,[7]]],[[25,[71,88]]]],[[[16,[7]]],[[25,[72,88]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[[[58,[95]]],[[58,[71]]]],[[[58,[[33,[95]]]]],[[58,[[33,[71]]]]]],[[[58,[[33,[71]]]]],[[58,[[33,[95]]]]]],[[[58,[71]]],[[58,[95]]]],[[98,71,32,50,93,72],64],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[102,102],[103,103],[104,104],[105,105],[106,106],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[102,102],46],[[103,103],46],[[104,104],46],[[105,105],46],[[106,106],46],[-1,[[25,[102,47]]],48],[-1,[[25,[103,47]]],48],[-1,[[25,[104,47]]],48],[-1,[[25,[105,47]]],48],[-1,[[25,[106,47]]],48],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,[8,[7]]],[[25,[-1,47]]],[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[50,-1],[[25,[-2,47]]],48,[]],[[],103],[[],105],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[-1,[[25,[102]]],56],[-1,[[25,[103]]],56],[-1,[[25,[104]]],56],[-1,[[25,[105]]],56],[-1,[[25,[106]]],56],[32,6],[32,6],[32,6],[32,6],[32,6],[103,[[58,[7]]]],[105,[[58,[7]]]],[[102,-1],6,[61,62]],[[103,-1],6,[61,62]],[[104,-1],6,[61,62]],[[105,-1],6,[61,62]],[[106,-1],6,[61,62]],[[102,102],64],[[103,103],64],[[104,104],64],[[105,105],64],[[106,106],64],[[102,66],67],[[103,66],67],[[104,66],67],[[105,66],67],[[106,66],67],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[102,54],[[102,-1],6,77],[[103,-1],6,77],[[104,-1],6,77],[104,54],[[105,-1],6,77],[[106,-1],6,77],[[],32],[[],32],[[],32],[[],32],[[],32],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[102,50],[104,50],[106,50],[[102,102],[[33,[46]]]],[[103,103],[[33,[46]]]],[[104,104],[[33,[46]]]],[[105,105],[[33,[46]]]],[[106,106],[[33,[46]]]],[106,2],[[102,-1],25,84],[[103,-1],25,84],[[104,-1],25,84],[[105,-1],25,84],[[106,-1],25,84],[[102,50],6],[102,32],[103,32],[104,32],[105,32],[106,32],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[[-1,[8,[7]]],[[58,[7,87]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[[],90],[[],90],[[],90],[[],90],[[],90],[[103,-1],-2,91,[]],[[105,-1],-2,91,[]],0,0,0,0,0,0],"c":[],"p":[[3,"SBucket",0],[3,"PieceIndex",0],[3,"PieceOffset",0],[3,"SegmentIndex",0],[3,"U256",0],[15,"tuple"],[15,"u8"],[15,"slice"],[3,"RawRecord",0],[3,"Record",0],[3,"RecordCommitment",0],[3,"RecordWitness",0],[3,"ChunkWitness",0],[3,"Piece",0],[3,"PieceArray",0],[15,"array"],[3,"FlatPieces",0],[3,"SegmentCommitment",0],[3,"RecordedHistorySegment",0],[3,"Randomness",0],[3,"PotKey",0],[3,"PotSeed",0],[3,"PotOutput",0],[4,"Error",1800],[4,"Result",1801],[8,"FromByteSlice",1800],[3,"PublicKey",0],[3,"RewardSignature",0],[3,"SectorId",0],[3,"NonEmptyVec",0],[8,"Clone",1802],[15,"usize"],[4,"Option",1803],[8,"WrappingSub",1804],[8,"Ord",1805],[3,"HistorySize",0],[3,"ArchivedHistorySegment",0],[3,"PosSeed",0],[3,"PosProof",0],[3,"PotCheckpoints",0],[4,"ArchivedBlockProgress",0],[3,"LastArchivedBlock",0],[4,"SegmentHeader",0],[3,"Solution",0],[3,"SectorSlotChallenge",0],[4,"Ordering",1805],[3,"Error",1806],[8,"Input",1807],[8,"Decode",1807],[15,"u32"],[19,"MaybeUninit",1808],[3,"DecodeFinished",1809],[6,"SlotNumber",0],[6,"Blake3Hash",0],[15,"u16"],[8,"Deserializer",1810],[8,"Deserialize",1810],[3,"Vec",1811],[15,"char"],[8,"FromIterator",1812],[8,"Output",1807],[8,"Sized",1813],[8,"Encode",1807],[15,"bool"],[8,"PartialEq",1805],[3,"Formatter",1814],[6,"Result",1814],[8,"Debug",1814],[4,"NonEmptyVecErr",0],[15,"u64"],[3,"Commitment",1507],[3,"Witness",1507],[3,"NonZeroU64",1815],[15,"u128"],[8,"AsRef",1816],[15,"str"],[8,"Hasher",1817],[8,"Into",1816],[8,"Iterator",1818],[3,"Box",1819],[6,"SectorIndex",0],[8,"IndexedParallelIterator",1820],[8,"ExactSizeIterator",1821],[8,"Serializer",1822],[8,"Serialize",1822],[6,"BlockNumber",0],[3,"Global",1823],[3,"String",1824],[3,"TypeId",1825],[3,"Type",1826],[8,"FnOnce",1827],[3,"Blake3Checksummed",1419],[3,"Scalar",1443],[3,"FsFr",1828],[3,"FsG1",1829],[3,"FsKZGSettings",1830],[3,"Polynomial",1507],[3,"Kzg",1507],[3,"FsPoly",1831],[3,"FsFFTSettings",1832],[3,"Arc",1833],[4,"BlockObject",1626],[3,"BlockObjectMapping",1626],[4,"PieceObject",1626],[3,"PieceObjectMapping",1626],[4,"GlobalObject",1626],[13,"V0",1415],[13,"V0",1794],[13,"V0",1796],[13,"V0",1798]],"b":[[112,"impl-AsMut%3C%5Bu8%5D%3E-for-PieceArray"],[113,"impl-AsMut%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[149,"impl-AsRef%3C%5Bu8%5D%3E-for-PieceArray"],[150,"impl-AsRef%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[783,"impl-Display-for-SBucket"],[784,"impl-Debug-for-SBucket"],[785,"impl-Display-for-PieceIndex"],[786,"impl-Debug-for-PieceIndex"],[787,"impl-Debug-for-PieceOffset"],[788,"impl-Display-for-PieceOffset"],[797,"impl-Debug-for-SegmentIndex"],[798,"impl-Display-for-SegmentIndex"],[800,"impl-Display-for-HistorySize"],[801,"impl-Debug-for-HistorySize"],[807,"impl-Debug-for-PotKey"],[808,"impl-Display-for-PotKey"],[809,"impl-Debug-for-PotSeed"],[810,"impl-Display-for-PotSeed"],[811,"impl-Display-for-PotOutput"],[812,"impl-Debug-for-PotOutput"],[814,"impl-Debug-for-PublicKey"],[815,"impl-Display-for-PublicKey"],[821,"impl-Debug-for-U256"],[822,"impl-Display-for-U256"],[840,"impl-From%3C%5Bu8;+RecordCommitment::SIZE%5D%3E-for-RecordCommitment"],[841,"impl-From%3CCommitment%3E-for-RecordCommitment"],[843,"impl-From%3C%5Bu8;+RecordWitness::SIZE%5D%3E-for-RecordWitness"],[844,"impl-From%3CWitness%3E-for-RecordWitness"],[845,"impl-From%3C%5Bu8;+ChunkWitness::SIZE%5D%3E-for-ChunkWitness"],[846,"impl-From%3CWitness%3E-for-ChunkWitness"],[855,"impl-From%3CCommitment%3E-for-SegmentCommitment"],[857,"impl-From%3C%5Bu8;+SegmentCommitment::SIZE%5D%3E-for-SegmentCommitment"],[859,"impl-From%3CSegmentIndex%3E-for-HistorySize"],[860,"impl-From%3CNonZeroU64%3E-for-HistorySize"],[884,"impl-From%3Cu32%3E-for-U256"],[885,"impl-From%3Cu8%3E-for-U256"],[887,"impl-From%3Cu64%3E-for-U256"],[888,"impl-From%3Cu128%3E-for-U256"],[889,"impl-From%3Cu16%3E-for-U256"],[919,"impl-PublicKey"],[920,"impl-Hash-for-PublicKey"],[924,"impl-SegmentHeader"],[925,"impl-Hash-for-SegmentHeader"],[1262,"impl-TryFrom%3C%26%5Bu8%5D%3E-for-Piece"],[1264,"impl-TryFrom%3CVec%3Cu8%3E%3E-for-Piece"],[1473,"impl-From%3CFsFr%3E-for-Scalar"],[1475,"impl-From%3C%26%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1476,"impl-From%3C%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1496,"impl-TryFrom%3C%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1498,"impl-TryFrom%3C%26%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1597,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1598,"impl-TryFrom%3C%26SegmentCommitment%3E-for-Commitment"],[1599,"impl-TryFrom%3C%26RecordCommitment%3E-for-Commitment"],[1600,"impl-TryFrom%3CSegmentCommitment%3E-for-Commitment"],[1601,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1602,"impl-TryFrom%3CRecordCommitment%3E-for-Commitment"],[1603,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1604,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1605,"impl-TryFrom%3C%26ChunkWitness%3E-for-Witness"],[1606,"impl-TryFrom%3CRecordWitness%3E-for-Witness"],[1608,"impl-TryFrom%3C%26RecordWitness%3E-for-Witness"],[1609,"impl-TryFrom%3CChunkWitness%3E-for-Witness"],[1723,"impl-BlockObject"],[1724,"impl-Hash-for-BlockObject"],[1726,"impl-Hash-for-PieceObject"],[1727,"impl-PieceObject"]]},\ "subspace_erasure_coding":{"doc":"","t":"DLLLLLLLLLLLLLLLLLLLLLL","n":["ErasureCoding","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","extend","extend_commitments","fmt","from","init","into","max_shards","new","recover","recover_poly","recover_source","to_owned","try_from","try_into","type_id"],"q":[[0,"subspace_erasure_coding"],[23,"subspace_core_primitives::crypto"],[24,"alloc::vec"],[25,"alloc::string"],[26,"core::result"],[27,"subspace_core_primitives::crypto::kzg"],[28,"core::fmt"],[29,"core::fmt"],[30,"core::option"],[31,"subspace_core_primitives::crypto::kzg"],[32,"core::any"]],"d":["Erasure coding abstraction.","","","","","","","","Extend sources using erasure coding.","Extend commitments using erasure coding.","","Returns the argument unchanged.","","Calls U::from(self).","Max number of shards supported (both source and parity …","Create new erasure coding instance.","Recovery of missing shards from given shards (at least 1/2 …","Recovery of missing shards from given shards (at least 1/2 …","Recovery of source shards from given shards (at least 1/2 …","","","",""],"i":[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"f":[0,[-1,-2,[],[]],[-1,-2,[],[]],[1,1],[[-1,-2],2,[],[]],[3,-1,[]],[3,-1,[]],[3,2],[[1,[5,[4]]],[[8,[[6,[4]],7]]]],[[1,[5,[9]]],[[8,[[6,[9]],7]]]],[[1,10],11],[-1,-1,[]],[[],3],[-1,-2,[],[]],[1,3],[12,[[8,[1,7]]]],[[1,[5,[[13,[4]]]]],[[8,[[6,[4]],7]]]],[[1,[5,[[13,[4]]]]],[[8,[14,7]]]],[[1,[5,[[13,[4]]]]],[[8,[[0,[15]],7]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,16,[]]],"c":[],"p":[[3,"ErasureCoding",0],[15,"tuple"],[15,"usize"],[3,"Scalar",23],[15,"slice"],[3,"Vec",24],[3,"String",25],[4,"Result",26],[3,"Commitment",27],[3,"Formatter",28],[6,"Result",28],[3,"NonZeroUsize",29],[4,"Option",30],[3,"Polynomial",27],[8,"ExactSizeIterator",31],[3,"TypeId",32]],"b":[]},\ -"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DRCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLALLLALALLLALLLLLLLLLLLLLLLLALLGIIKKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFNENNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNSNNNNNSNNENNDDEEEDEENNNNNLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLLLLMMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLMLLLLALMALLLLMMMLLMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNENNDDLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMLMAMMMLMLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLDLLLLLLALLLLLALAFAFLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLNNNNNELLLLLLLLLLFLLLLLL","n":["Identity","KNOWN_PEERS_CACHE_SIZE","NodeClient","NodeRpcClient","RpcClientError","acknowledge_archived_segment_header","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","deref","deref","deref","deref_mut","deref_mut","drop","drop","entropy","farmer_app_info","file_size","fmt","from","from","init","init","into","into","jsonrpsee","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","NodeClientExt","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_piece","init","init","into","into","new","on_sync_progress","record","replace_backing_caches","run","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","reward_signing","BackgroundDownloadingPanicked","BackgroundTaskError","BackgroundTaskPanicked","CacheCantBeOpened","CacheFileDoesNotExist","CantPreallocateMetadataFile","CantPreallocatePlotFile","Error","FailedToCreateThreadPool","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToOpenIdentity","FailedToReadBytes","FailedToSubscribeArchivedSegments","FailedToWriteBytes","FarmInfoCantBeOpened","FarmInfoFileDoesNotExist","FarmIsShuttingDown","FarmTooLarge","Farming","FarmingError","Found","IdentityCantBeOpened","IdentityFileDoesNotExist","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","LowLevel","METADATA_FILE","MetadataCantBeOpened","MetadataFileDoesNotExist","MetadataFileTooSmall","MissingArchivedSegmentHeader","NotFound","PLOT_FILE","PieceCacheError","Plotting","PlottingError","PublicKeyMismatch","RewardSigning","SectorPlottingDetails","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmOptions","SingleDiskFarmScrubError","SingleDiskFarmSummary","Ulid","UnexpectedMetadataVersion","UnexpectedMetadataVersion","V0","WrongChain","allocated_space","allocated_space","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","cache_percentage","clone","clone","clone_into","clone_into","cmp","collect_summary","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","deserialize","deserialize","directory","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encoding_semaphore","eq","equivalent","equivalent","equivalent","erasure_coding","farm_during_initial_plotting","farmer_app_info","farming","farming_thread_pool_size","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","genesis_hash","get_hash","hash","id","id","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","kzg","last_queued","load_from","max_pieces_in_sector","new","new","new","node_client","on_sector_plotted","on_sector_plotting","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","plotting_delay","plotting_thread_pool_size","progress","public_key","read_all_sectors_metadata","replotting","replotting_thread_pool_size","reward_address","run","scrub","sector_index","serialize","serialize","source","source","source","store_to","to_owned","to_owned","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_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","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","task","error","error","error","segment_index","allocated_sectors","allocated_space","allocated_space","correct_chain","correct_public_key","id","id","id","initialized_with","max_sectors","max_space","max_supported","min_space","wrong_chain","wrong_public_key","allocated_space","genesis_hash","id","pieces_in_sector","public_key","error","error","error","error","error","error","error","file","file","file","file","file","file","file","file","file","file","file","file","identity","info","offset","offset","reserved_size","size","size","size","directory","directory","directory","error","info","FailedToCreateThreadPool","FailedToGetFarmerInfo","FailedToSubscribeSlotInfo","FarmingError","Io","LowLevelProving","PlotAudit","PlotAuditOptions","audit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","erasure_coding","fmt","fmt","fmt","from","from","from","from","from","from","init","init","init","into","into","into","kzg","maybe_sector_being_modified","new","public_key","rayon_files","reward_address","sectors_metadata","slot_info","source","table_generator","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","error","error","RayonFiles","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","open","read_at","read_at","try_from","try_into","type_id","unique_saturated_into","vzip","CantPreallocateCacheFile","ChecksumMismatch","DiskPieceCache","DiskPieceCacheError","Io","Offset","OffsetOutsideOfRange","ZeroCapacity","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","into","into","into","source","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","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","max","provided","PieceReader","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read_piece","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","AsyncJoinOnDrop","borrow","borrow_mut","deref","deref_mut","drop","drop","farmer_piece_getter","from","init","into","into_future","new","piece_validator","poll","readers_and_pieces","run_future_in_dedicated_thread","ss58","tokio_rayon_spawn_handler","try_from","try_into","try_poll","type_id","unique_saturated_into","vzip","FarmerPieceGetter","borrow","borrow_mut","deref","deref_mut","drop","from","get_piece","init","into","new","try_from","try_into","type_id","unique_saturated_into","vzip","SegmentCommitmentPieceValidator","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","new","try_from","try_into","type_id","unique_saturated_into","validate_piece","vzip","ReadersAndPieces","add_sector","borrow","borrow_mut","contains_piece","delete_sector","deref","deref_mut","drop","fmt","from","init","into","new","piece_indices","read_piece","try_from","try_into","type_id","unique_saturated_into","vzip","BadBase58","BadLength","FormatNotAllowed","InvalidChecksum","InvalidPrefix","Ss58ParsingError","borrow","borrow_mut","deref","deref_mut","drop","fmt","fmt","from","init","into","parse_ss58_reward_address","to_string","try_from","try_into","type_id","unique_saturated_into","vzip"],"q":[[0,"subspace_farmer"],[65,"subspace_farmer::node_client"],[79,"subspace_farmer::piece_cache"],[118,"subspace_farmer::reward_signing"],[119,"subspace_farmer::single_disk_farm"],[402,"subspace_farmer::single_disk_farm::BackgroundTaskError"],[403,"subspace_farmer::single_disk_farm::PlottingError"],[407,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[422,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[427,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[454,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[459,"subspace_farmer::single_disk_farm::farming"],[528,"subspace_farmer::single_disk_farm::farming::FarmingError"],[530,"subspace_farmer::single_disk_farm::farming::rayon_files"],[547,"subspace_farmer::single_disk_farm::piece_cache"],[609,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[611,"subspace_farmer::single_disk_farm::piece_reader"],[630,"subspace_farmer::utils"],[655,"subspace_farmer::utils::farmer_piece_getter"],[671,"subspace_farmer::utils::piece_validator"],[687,"subspace_farmer::utils::readers_and_pieces"],[708,"subspace_farmer::utils::ss58"],[731,"subspace_core_primitives::segments"],[732,"core::future::future"],[733,"alloc::boxed"],[734,"core::pin"],[735,"core::result"],[736,"std::path"],[737,"core::convert"],[738,"core::fmt"],[739,"core::fmt"],[740,"core::option"],[741,"subspace_core_primitives::pieces"],[742,"schnorrkel::keys"],[743,"schnorrkel::keys"],[744,"schnorrkel::sign"],[745,"subspace_rpc_primitives"],[746,"subspace_rpc_primitives"],[747,"core::fmt"],[748,"subspace_core_primitives::pieces"],[749,"core::ops::function"],[750,"alloc::sync"],[751,"event_listener_primitives::handler_id"],[752,"libp2p_kad::record"],[753,"subspace_farmer_components::plotting"],[754,"core::error"],[755,"core::cmp"],[756,"std::path"],[757,"rayon_core"],[758,"subspace_farmer_components::plotting"],[759,"ulid"],[760,"core::hash"],[761,"core::marker"],[762,"core::hash"],[763,"core::marker"],[764,"core::iter::traits::iterator"],[765,"subspace_farmer_components::sector"],[766,"anyhow"],[767,"serde::ser"],[768,"alloc::string"],[769,"subspace_core_primitives"],[770,"subspace_farmer_components"],[771,"subspace_proof_of_space"],[772,"subspace_farmer_components::proving"],[773,"core::task::wake"],[774,"core::task::poll"],[775,"core::marker"],[776,"subspace_networking::node"],[777,"subspace_networking::utils::piece_provider"],[778,"subspace_core_primitives::crypto::kzg"],[779,"subspace_core_primitives::segments"],[780,"subspace_farmer_components::plotting"]],"d":["Identity struct is an abstraction of public & secret key …","Size of the LRU cache for peers.","","WsClient wrapper.","","","","","","","","","","","Creates new identity, overrides identity that might …","","","","","","","","Returns entropy used to generate keypair.","","Size of the identity file on disk","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","Create a new instance of NodeClient.","","Opens the existing identity, returns Ok(None) if it doesn…","Opens the existing identity, or creates a new one.","","","Returns the public key of the identity.","","Returns the secret key of the identity.","","Sign reward hash.","","Submit a block signature","","","","","","","","","","","","","","","","","","","To become error type agnostic","Abstraction of the Node Client","Node Client extension methods that are not necessary for …","Acknowledge segment header.","Get farmer app info","Get the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","Subscribe to cache sync notifications","","Initialize replacement of backing caches, returns …","Run the cache worker with provided piece getter","","","","","","","","","","","","","Background downloading panicked","Errors that happen in background tasks","Background task panicked","Cache can’t be opened","Cache file does not exist","Can’t preallocate metadata file, probably not enough …","Can’t preallocate plot file, probably not enough space …","Failed to open farm","Failed to create thread pool","Failed to decode metadata header","Failed to decode metadata header","Failed to decode sector metadata","Failed to determine file size","Failed to retrieve farmer info","Failed to get segment header","Failed to open or create identity","Failed to read bytes from file","Failed to subscribe to archived segments","Failed to write bytes from file","Farm info can’t be opened","Farm info file does not exist","Farm is shutting down","Farm is too large","Farming error","","Farm was found and read successfully","Identity can’t be opened","Identity file does not exist","Public key in identity doesn’t match metadata","Allocated space is not enough for one sector","Invalid number pieces in sector","I/O error occurred","I/O error occurred","Low-level plotting error","","Metadata can’t be opened","Metadata file does not exist","Metadata file too small","Missing archived segment header","Farm was not found","","Piece cache error","Plotting error","Errors that happen during plotting","Identity public key doesn’t match public key in the disk …","Reward signing","Details about sector currently being plotted","Single disk farm abstraction is a container for everything …","Errors happening when trying to create/open single disk …","An identifier for single disk farm, can be used for in …","Important information about the contents of the …","Options used to open single disk farm","Errors happening during scrubbing","Summary of single disk farm for presentational purposes","Farm ID","Unexpected metadata version","Unexpected metadata version","V0 of the info","Wrong chain (genesis hash)","How much space in bytes is allocated for this farm","How much space in bytes was allocated","","","","","","","","","","","","","","","","","","","","","Percentage of allocated space dedicated for caching …","","","","","","Collect summary of single disk farm for presentational …","","","","","","","","","","","","","","","","","","","","","","","Path to directory where farm is stored.","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","","","","Semaphore for part of the plotting when farmer encodes …","","","","","Erasure coding instance to use.","Whether to farm during initial plotting","Information necessary for farmer application","","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","ID of this farm","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Kzg instance to use.","Whether this is the last sector queued so far","Load SingleDiskFarm from path is supposed to be stored, …","How many pieces one sector is supposed to contain (max)","Create new single disk farm instance","Creates new ID","","RPC client connected to Subspace node","Subscribe to notification about plotted sectors","Subscribe to sector plotting notification","Subscribe to new solution notification","","","Get piece cache instance","Piece receiver implementation for plotting purposes.","","Get piece reader to read plotted pieces later","How many pieces does one sector contain.","Read information about sectors plotted so far","Number of sectors successfully plotted so far","Notification for plotter to start, can be used to delay …","Thread pool size used for plotting","Progress so far in % (not including this sector)","","Read all sectors metadata","Whether sector is being replotted","Thread pool size used for replotting, typically smaller …","Address where farming rewards should go","Run and wait for background threads to exit or return an …","Check the farm for corruption and repair errors (caused by …","Sector index","","","","","","Store SingleDiskFarm info to path so it can be loaded …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipe everything that belongs to this single disk farm","","Lower-level error","Lower-level error","Lower-level error","Segment index that was missing","","Current allocated space","","Hex-encoded genesis hash during farm creation","Public key used during farm creation","Farm ID","Farm ID","Farm ID","Number of pieces in sector farm is initialized with","","","Max supported pieces in sector","Minimal allocated space","Hex-encoded current genesis hash","Current public key","How much space in bytes is allocated for this farm","Genesis hash of the chain used for farm creation","ID of the farm","How many pieces does one sector contain.","Public key of identity used for farm creation","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Affected file","Affected file","Affected file","Info file","Info file","Identity file","Identity file","Metadata file","Metadata file","Metadata file","Cache file","Cache file","Identity public key","Disk farm info public key","Offset in the file","Offset in the file","Reserved size","Number of bytes to read","Number of bytes to read","File size","Path to directory where farm is stored.","Path to directory where farm is stored.","Path to directory where farm is stored.","Error itself","Farm info","Failed to create thread pool","Failed to retrieve farmer info","Failed to subscribe to slot info notifications","Errors that happen during farming","I/O error occurred","Low-level proving error","Plot auditing implementation","Plot audit options","","","","","","","","","","","","","","","","","","","Erasure coding instance","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Kzg instance","Optional sector that is currently being modified (for …","Create new instance","Public key of the farm","","Reward address to use for solutions","Metadata of all sectors plotted so far","Slot info for the audit","","Proof of space table generator","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Wrapper data structure for multiple files to be used with …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Open file at specified as many times as there is number of …","","","","","","","","Can’t preallocate cache file, probably not enough space …","Checksum mismatch","Piece cache stored on one disk","Disk piece cache open error","I/O error occurred","Offset wrapper for pieces in DiskPieceCache","Offset outsize of range","Cache size has zero capacity, this is not supported","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Max offset","Provided offset","Wrapper data structure that can be used to read pieces …","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Read piece from sector by offset, None means input …","","","","","","","Joins async join handle on drop","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Create new instance.","","","","Runs future on a dedicated thread with the specified name, …","Modified version of SS58 parser extracted from Substrate …","This function is supposed to be used with …","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","","","Base 58 requirement is violated","Length is bad","Disallowed SS58 Address Format for this datatype","Invalid checksum","Invalid SS58 prefix byte","An error type for SS58 decoding.","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Some if the string is a properly encoded SS58Check address.","","","","","",""],"i":[0,0,0,0,0,1,6,1,6,1,6,1,6,1,6,6,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,0,1,1,0,6,6,1,0,6,0,6,1,6,0,1,1,1,1,1,1,6,1,6,1,6,1,6,1,6,1,0,6,1,0,0,0,34,34,108,34,34,34,34,34,34,34,34,0,0,29,28,29,28,28,28,29,28,29,28,29,28,29,28,29,28,28,29,28,29,28,28,28,28,28,29,28,29,28,29,28,29,28,29,28,29,28,0,51,0,54,53,53,52,52,47,51,52,53,52,53,51,51,52,53,51,53,53,53,51,52,54,0,47,53,53,52,52,52,51,52,51,49,53,53,53,51,47,49,52,54,0,53,54,0,0,0,0,0,0,0,0,44,52,53,43,52,43,67,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,67,44,43,44,43,44,49,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,44,43,67,67,47,67,109,49,49,51,44,43,52,53,54,67,44,44,44,44,67,67,67,0,67,51,51,44,44,43,52,52,53,53,54,54,47,67,109,49,51,51,51,51,44,44,43,52,52,52,53,54,54,54,54,43,44,44,49,43,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,67,109,43,67,49,44,43,67,49,49,49,44,0,49,67,0,49,43,49,49,67,67,109,43,49,109,67,67,49,49,109,44,43,51,52,54,43,44,43,51,44,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,49,110,111,112,113,114,115,116,115,117,118,117,118,119,119,115,115,119,116,117,118,120,120,120,120,120,121,122,123,124,125,126,127,121,122,123,128,124,129,125,130,126,131,132,127,133,133,122,123,131,122,123,131,134,135,136,136,134,60,60,60,0,60,60,0,0,79,79,60,80,79,60,80,80,80,79,60,80,79,60,80,79,60,80,80,60,60,80,79,60,60,60,60,80,79,60,80,79,60,80,80,80,79,80,0,80,80,80,60,80,80,60,79,60,80,79,60,80,79,60,80,79,60,80,79,60,80,137,138,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,59,59,0,0,59,0,59,59,59,87,39,59,87,39,87,39,87,39,59,87,39,59,87,39,59,87,39,59,59,87,87,39,59,59,87,39,59,87,39,59,87,39,59,87,39,59,87,59,87,39,59,87,39,59,87,39,59,87,39,59,87,39,139,139,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,89,89,89,89,89,89,0,89,89,89,89,89,0,89,0,0,0,0,89,89,89,89,89,89,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,107,107,107,107,107,0,107,107,107,107,107,107,107,107,107,107,0,107,107,107,107,107,107],"f":[0,0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,6],[1,1],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[-1,[[8,[6,0]]],[[10,[9]]]],[6],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[6,[[13,[12]]]],[1,[[5,[[4,[3]]]]]],[[],11],[[1,14],15],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,16],[[5,[[4,[3]]]]]],[17,[[8,[1,18]]]],0,[-1,[[8,[[19,[6]],0]]],[[10,[9]]]],[-1,[[8,[6,0]]],[[10,[9]]]],[[1,20],[[5,[[4,[3]]]]]],0,[6,21],0,[6,22],[[1,[23,[2]]],[[5,[[4,[3]]]]]],[[6,[13,[12]]],24],0,[[1,25],[[5,[[4,[3]]]]]],[[1,26],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,2],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[[-1,16],[[5,[[4,[3]]]]],[]],[[-1,20],[[5,[[4,[3]]]]],[]],[[-1,[23,[2]]],[[5,[[4,[3]]]]],[]],[[-1,25],[[5,[[4,[3]]]]],[]],[[-1,26],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,28],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[[[29,[-1]],14],15,[30,30]],[[28,14],15],[-1,-1,[]],[-1,-1,[]],[[28,31],[[19,[32]]]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,33],[[7,[28,[29,[-1]]]]],34],[[28,[36,[35]]],37],[[28,31],[[19,[38]]]],[[28,[23,[39]]],[[40,[7]]]],[[[29,[-1]],-2],7,34,41],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,6],[[8,[[0,[3]],[4,[42]]]]],34],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[43,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[44,44],[43,43],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[44,44],45],[46,47],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[-1,[[8,[44]]],48],[-1,[[8,[43]]],48],0,0,[11,7],[11,7],[11,7],[11,7],[49,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],0,[[44,44],50],[[-1,-2],50,[],[]],[[-1,-2],50,[],[]],[[-1,-2],50,[],[]],0,0,0,0,0,[[51,14],15],[[51,14],15],[[44,14],15],[[44,14],15],[[43,14],15],[[52,14],15],[[52,14],15],[[53,14],15],[[53,14],15],[[54,14],15],[[54,14],15],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[55,51],[56,51],[57,51],[-1,-1,[]],[58,44],[-1,-1,[]],[-1,-1,[]],[59,52],[57,52],[-1,-1,[]],[-1,-1,[]],[60,54],[51,54],[[[4,[42]]],54],[43,[[61,[12]]]],[[-1,-2],16,[62,63],64],[[44,-1],7,65],[49,44],[43,44],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[9,[[66,[[19,[43]]]]]],0,[[[67,[-1,-2]],11],[[8,[49,52]]],34,[41,68,69,70]],[[],44],[[44,[61,[12]],71,72,16],43],0,[[49,[36,[35]]],37],[[49,[36,[35]]],37],[[49,[36,[35]]],37],[[44,44],[[19,[45]]]],0,[49,39],0,0,[49,73],[43,72],[49,[[0,[74]]]],[49,11],0,0,0,[43,71],[9,[[66,[[23,[75]]]]]],0,0,0,[49,[[76,[44]]]],[9,[[8,[7,53]]]],0,[[44,-1],8,77],[[43,-1],8,77],[51,[[19,[42]]]],[52,[[19,[42]]]],[54,[[19,[42]]]],[[43,9],[[66,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[9,[[66,[7]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[79,[-1]],[80,[-2]]],[[23,[[7,[81,[0,[82]]]]]]],83,84],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[80,[-1]]],[[80,[-1]]],84],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],0,[[60,14],15],[[60,14],15],[[[80,[-1]],14],15,[84,30]],[-1,-1,[]],[55,60],[85,60],[57,60],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,[[79,[-1]]],83],0,0,0,0,0,[60,[[19,[42]]]],0,[-1,-2,[],[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[9,[[66,[86]]]],[[86,[13,[12]],11],[[66,[7]]]],[[86,[13,[12]],11],[[66,[7]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[87,87],[39,39],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],[[59,14],15],[[59,14],15],[[87,14],15],[[87,14],15],[[39,14],15],[57,59],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,[[19,[42]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[73,73],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[73,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[73,81,88],[[19,[32]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[[89,[-1]]],7,[]],0,[-1,-1,[]],[[],11],[-1,-2,[],[]],[-1,[],[]],[[[90,[-1]],50],[[89,[-1]]],[]],0,[[[5,[[89,[-1]]]],91],92,[]],0,[[-1,78],[[66,[[0,[3,69]]]]],[3,93,69]],0,[[],[[0,[94]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[[[5,[-1]],91],92,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[[95,[-1,-2]],20,96],[[5,[[4,[3]]]]],[97,69],34],[[],11],[-1,-2,[],[]],[[98,[99,[-1]],28,-2,[36,[[101,[[19,[100]]]]]]],[[95,[-1,-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[98,-1,102,[101,[[104,[2,103]]]]],[[105,[-1]]],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[[[105,[-1]],33,20,32],[[5,[[4,[3]]]]],34],[-1,-2,[],[]],0,[[100,12,106],7],[-1,-2,[],[]],[-1,-2,[],[]],[[100,20],50],[[100,12,106],7],[11,-1,[]],[11,-1,[]],[11,7],[[100,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[[23,[73]]],100],[100,[[0,[74]]]],[[100,20],[[19,[[0,[3]]]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[107,14],15],[[107,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[17,[[8,[71,107]]]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NodeRpcClient",0],[3,"SegmentIndex",731],[8,"Future",732],[3,"Box",733],[3,"Pin",734],[3,"Identity",0],[15,"tuple"],[4,"Result",735],[3,"Path",736],[8,"AsRef",737],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter",738],[6,"Result",738],[15,"u64"],[15,"str"],[4,"Error",739],[4,"Option",740],[3,"PieceIndex",741],[3,"PublicKey",742],[3,"SecretKey",742],[3,"Vec",743],[3,"Signature",744],[3,"RewardSignatureResponse",745],[3,"SolutionResponse",745],[3,"TypeId",746],[3,"PieceCache",79],[3,"CacheWorker",79],[8,"Debug",738],[3,"Key",747],[3,"Piece",741],[3,"PeerId",748],[8,"NodeClient",65],[8,"Fn",749],[3,"Arc",750],[3,"HandlerId",751],[3,"ProviderRecord",747],[3,"DiskPieceCache",547],[3,"Receiver",752],[8,"PieceGetter",753],[8,"Error",754],[4,"SingleDiskFarmInfo",119],[4,"SingleDiskFarmId",119],[4,"Ordering",755],[3,"PathBuf",736],[4,"SingleDiskFarmSummary",119],[8,"Deserializer",756],[3,"SingleDiskFarm",119],[15,"bool"],[4,"PlottingError",119],[4,"SingleDiskFarmError",119],[4,"SingleDiskFarmScrubError",119],[4,"BackgroundTaskError",119],[3,"ThreadPoolBuildError",757],[4,"PlottingError",753],[3,"Error",758],[3,"Ulid",759],[4,"DiskPieceCacheError",547],[4,"FarmingError",459],[15,"array"],[8,"Hash",760],[8,"Sized",761],[8,"BuildHasher",760],[8,"Hasher",760],[6,"Result",758],[3,"SingleDiskFarmOptions",119],[8,"Clone",762],[8,"Send",761],[8,"Sync",761],[3,"PublicKey",763],[15,"u16"],[3,"PieceReader",611],[8,"Iterator",764],[3,"SectorMetadataChecksummed",765],[6,"Result",766],[8,"Serializer",767],[3,"String",768],[3,"PlotAudit",459],[3,"PlotAuditOptions",459],[6,"SectorIndex",763],[8,"ProvableSolutions",769],[8,"ReadAtSync",770],[8,"Table",771],[4,"ProvingError",769],[3,"RayonFiles",530],[3,"Offset",547],[3,"PieceOffset",741],[3,"AsyncJoinOnDrop",630],[3,"JoinHandle",772],[3,"Context",773],[4,"Poll",774],[8,"Unpin",761],[8,"FnMut",749],[3,"FarmerPieceGetter",655],[4,"PieceGetterRetryPolicy",753],[8,"PieceValidator",775],[3,"Node",776],[3,"PieceProvider",775],[3,"ReadersAndPieces",687],[6,"Mutex",777],[3,"Kzg",778],[3,"SegmentCommitment",731],[3,"LruCache",779],[3,"SegmentCommitmentPieceValidator",671],[3,"PlottedSector",753],[4,"Ss58ParsingError",708],[8,"NodeClientExt",65],[3,"SectorPlottingDetails",119],[13,"BackgroundTaskPanicked",402],[13,"FailedToGetFarmerInfo",403],[13,"FailedToGetSegmentHeader",403],[13,"FailedToSubscribeArchivedSegments",403],[13,"MissingArchivedSegmentHeader",403],[13,"FarmTooLarge",407],[13,"InsufficientAllocatedSpace",407],[13,"WrongChain",407],[13,"IdentityMismatch",407],[13,"InvalidPiecesInSector",407],[13,"V0",422],[13,"FailedToDetermineFileSize",427],[13,"FailedToReadBytes",427],[13,"FailedToWriteBytes",427],[13,"FarmInfoCantBeOpened",427],[13,"IdentityCantBeOpened",427],[13,"MetadataCantBeOpened",427],[13,"CacheCantBeOpened",427],[13,"FarmInfoFileDoesNotExist",427],[13,"IdentityFileDoesNotExist",427],[13,"MetadataFileDoesNotExist",427],[13,"MetadataFileTooSmall",427],[13,"CacheFileDoesNotExist",427],[13,"PublicKeyMismatch",427],[13,"Found",454],[13,"NotFound",454],[13,"Error",454],[13,"FailedToSubscribeSlotInfo",528],[13,"FailedToGetFarmerInfo",528],[13,"OffsetOutsideOfRange",609]],"b":[[252,"impl-Display-for-PlottingError"],[253,"impl-Debug-for-PlottingError"],[254,"impl-Debug-for-SingleDiskFarmId"],[255,"impl-Display-for-SingleDiskFarmId"],[257,"impl-Display-for-SingleDiskFarmError"],[258,"impl-Debug-for-SingleDiskFarmError"],[259,"impl-Display-for-SingleDiskFarmScrubError"],[260,"impl-Debug-for-SingleDiskFarmScrubError"],[261,"impl-Debug-for-BackgroundTaskError"],[262,"impl-Display-for-BackgroundTaskError"],[268,"impl-From%3CThreadPoolBuildError%3E-for-PlottingError"],[269,"impl-From%3CPlottingError%3E-for-PlottingError"],[270,"impl-From%3CError%3E-for-PlottingError"],[275,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[276,"impl-From%3CError%3E-for-SingleDiskFarmError"],[279,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[280,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[281,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-BackgroundTaskError"],[486,"impl-Debug-for-FarmingError"],[487,"impl-Display-for-FarmingError"],[490,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[491,"impl-From%3CProvingError%3E-for-FarmingError"],[492,"impl-From%3CError%3E-for-FarmingError"],[540,"impl-ReadAtSync-for-%26RayonFiles"],[541,"impl-ReadAtSync-for-RayonFiles"],[574,"impl-Display-for-DiskPieceCacheError"],[575,"impl-Debug-for-DiskPieceCacheError"],[576,"impl-Display-for-Offset"],[577,"impl-Debug-for-Offset"],[719,"impl-Display-for-Ss58ParsingError"],[720,"impl-Debug-for-Ss58ParsingError"]]},\ +"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DRCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLALLLALALLLALLLLLLLLLLLLLLLLALLGIIKKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFNENNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNSNNNNNSNNENNDDEEEDEENNNNNLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLLLLMMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLMLLLLALMALLLLMMMLLMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNENNDDLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMLMAMMMLMLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLDLLLLLLALLLLLALAFAFLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLNNNNNELLLLLLLLLLFLLLLLL","n":["Identity","KNOWN_PEERS_CACHE_SIZE","NodeClient","NodeRpcClient","RpcClientError","acknowledge_archived_segment_header","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","deref","deref","deref","deref_mut","deref_mut","drop","drop","entropy","farmer_app_info","file_size","fmt","from","from","init","init","into","into","jsonrpsee","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","NodeClientExt","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_piece","init","init","into","into","new","on_sync_progress","record","replace_backing_caches","run","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","reward_signing","BackgroundDownloadingPanicked","BackgroundTaskError","BackgroundTaskPanicked","CacheCantBeOpened","CacheFileDoesNotExist","CantPreallocateMetadataFile","CantPreallocatePlotFile","Error","FailedToCreateThreadPool","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToOpenIdentity","FailedToReadBytes","FailedToSubscribeArchivedSegments","FailedToWriteBytes","FarmInfoCantBeOpened","FarmInfoFileDoesNotExist","FarmIsShuttingDown","FarmTooLarge","Farming","FarmingError","Found","IdentityCantBeOpened","IdentityFileDoesNotExist","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","LowLevel","METADATA_FILE","MetadataCantBeOpened","MetadataFileDoesNotExist","MetadataFileTooSmall","MissingArchivedSegmentHeader","NotFound","PLOT_FILE","PieceCacheError","Plotting","PlottingError","PublicKeyMismatch","RewardSigning","SectorPlottingDetails","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmOptions","SingleDiskFarmScrubError","SingleDiskFarmSummary","Ulid","UnexpectedMetadataVersion","UnexpectedMetadataVersion","V0","WrongChain","allocated_space","allocated_space","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","cache_percentage","clone","clone","clone_into","clone_into","cmp","collect_summary","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","deserialize","deserialize","directory","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encoding_semaphore","eq","equivalent","equivalent","equivalent","erasure_coding","farm_during_initial_plotting","farmer_app_info","farming","farming_thread_pool_size","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","genesis_hash","get_hash","hash","id","id","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","kzg","last_queued","load_from","max_pieces_in_sector","new","new","new","node_client","on_sector_plotted","on_sector_plotting","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","plotting_delay","plotting_thread_pool_size","progress","public_key","read_all_sectors_metadata","replotting","replotting_thread_pool_size","reward_address","run","scrub","sector_index","serialize","serialize","source","source","source","store_to","to_owned","to_owned","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_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","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","task","error","error","error","segment_index","allocated_sectors","allocated_space","allocated_space","correct_chain","correct_public_key","id","id","id","initialized_with","max_sectors","max_space","max_supported","min_space","wrong_chain","wrong_public_key","allocated_space","genesis_hash","id","pieces_in_sector","public_key","error","error","error","error","error","error","error","file","file","file","file","file","file","file","file","file","file","file","file","identity","info","offset","offset","reserved_size","size","size","size","directory","directory","directory","error","info","FailedToCreateThreadPool","FailedToGetFarmerInfo","FailedToSubscribeSlotInfo","FarmingError","Io","LowLevelProving","PlotAudit","PlotAuditOptions","audit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","erasure_coding","fmt","fmt","fmt","from","from","from","from","from","from","init","init","init","into","into","into","kzg","maybe_sector_being_modified","new","public_key","rayon_files","reward_address","sectors_metadata","slot_info","source","table_generator","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","error","error","RayonFiles","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","open","read_at","read_at","try_from","try_into","type_id","unique_saturated_into","vzip","CantPreallocateCacheFile","ChecksumMismatch","DiskPieceCache","DiskPieceCacheError","Io","Offset","OffsetOutsideOfRange","ZeroCapacity","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","into","into","into","source","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","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","max","provided","PieceReader","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read_piece","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","AsyncJoinOnDrop","borrow","borrow_mut","deref","deref_mut","drop","drop","farmer_piece_getter","from","init","into","into_future","new","piece_validator","poll","readers_and_pieces","run_future_in_dedicated_thread","ss58","tokio_rayon_spawn_handler","try_from","try_into","try_poll","type_id","unique_saturated_into","vzip","FarmerPieceGetter","borrow","borrow_mut","deref","deref_mut","drop","from","get_piece","init","into","new","try_from","try_into","type_id","unique_saturated_into","vzip","SegmentCommitmentPieceValidator","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","new","try_from","try_into","type_id","unique_saturated_into","validate_piece","vzip","ReadersAndPieces","add_sector","borrow","borrow_mut","contains_piece","delete_sector","deref","deref_mut","drop","fmt","from","init","into","new","piece_indices","read_piece","try_from","try_into","type_id","unique_saturated_into","vzip","BadBase58","BadLength","FormatNotAllowed","InvalidChecksum","InvalidPrefix","Ss58ParsingError","borrow","borrow_mut","deref","deref_mut","drop","fmt","fmt","from","init","into","parse_ss58_reward_address","to_string","try_from","try_into","type_id","unique_saturated_into","vzip"],"q":[[0,"subspace_farmer"],[65,"subspace_farmer::node_client"],[79,"subspace_farmer::piece_cache"],[118,"subspace_farmer::reward_signing"],[119,"subspace_farmer::single_disk_farm"],[402,"subspace_farmer::single_disk_farm::BackgroundTaskError"],[403,"subspace_farmer::single_disk_farm::PlottingError"],[407,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[422,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[427,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[454,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[459,"subspace_farmer::single_disk_farm::farming"],[528,"subspace_farmer::single_disk_farm::farming::FarmingError"],[530,"subspace_farmer::single_disk_farm::farming::rayon_files"],[547,"subspace_farmer::single_disk_farm::piece_cache"],[609,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[611,"subspace_farmer::single_disk_farm::piece_reader"],[630,"subspace_farmer::utils"],[655,"subspace_farmer::utils::farmer_piece_getter"],[671,"subspace_farmer::utils::piece_validator"],[687,"subspace_farmer::utils::readers_and_pieces"],[708,"subspace_farmer::utils::ss58"],[731,"subspace_core_primitives::segments"],[732,"core::future::future"],[733,"alloc::boxed"],[734,"core::pin"],[735,"core::result"],[736,"std::path"],[737,"core::convert"],[738,"core::fmt"],[739,"core::fmt"],[740,"core::option"],[741,"subspace_core_primitives::pieces"],[742,"schnorrkel::keys"],[743,"schnorrkel::keys"],[744,"schnorrkel::sign"],[745,"subspace_rpc_primitives"],[746,"subspace_rpc_primitives"],[747,"core::fmt"],[748,"subspace_core_primitives::pieces"],[749,"core::ops::function"],[750,"alloc::sync"],[751,"event_listener_primitives::handler_id"],[752,"libp2p_kad::record"],[753,"subspace_farmer_components::plotting"],[754,"core::error"],[755,"core::cmp"],[756,"std::path"],[757,"rayon_core"],[758,"subspace_farmer_components::plotting"],[759,"ulid"],[760,"core::hash"],[761,"core::marker"],[762,"core::hash"],[763,"core::marker"],[764,"core::iter::traits::iterator"],[765,"subspace_farmer_components::sector"],[766,"anyhow"],[767,"serde::ser"],[768,"alloc::string"],[769,"subspace_core_primitives"],[770,"subspace_farmer_components"],[771,"subspace_proof_of_space"],[772,"subspace_farmer_components::proving"],[773,"core::task::wake"],[774,"core::task::poll"],[775,"core::ops::function"],[776,"subspace_networking::node"],[777,"subspace_networking::utils::piece_provider"],[778,"subspace_core_primitives::crypto::kzg"],[779,"subspace_core_primitives::segments"],[780,"subspace_farmer_components::plotting"]],"d":["Identity struct is an abstraction of public & secret key …","Size of the LRU cache for peers.","","WsClient wrapper.","","","","","","","","","","","Creates new identity, overrides identity that might …","","","","","","","","Returns entropy used to generate keypair.","","Size of the identity file on disk","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","Create a new instance of NodeClient.","","Opens the existing identity, returns Ok(None) if it doesn…","Opens the existing identity, or creates a new one.","","","Returns the public key of the identity.","","Returns the secret key of the identity.","","Sign reward hash.","","Submit a block signature","","","","","","","","","","","","","","","","","","","To become error type agnostic","Abstraction of the Node Client","Node Client extension methods that are not necessary for …","Acknowledge segment header.","Get farmer app info","Get the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","Subscribe to cache sync notifications","","Initialize replacement of backing caches, returns …","Run the cache worker with provided piece getter","","","","","","","","","","","","","Background downloading panicked","Errors that happen in background tasks","Background task panicked","Cache can’t be opened","Cache file does not exist","Can’t preallocate metadata file, probably not enough …","Can’t preallocate plot file, probably not enough space …","Failed to open farm","Failed to create thread pool","Failed to decode metadata header","Failed to decode metadata header","Failed to decode sector metadata","Failed to determine file size","Failed to retrieve farmer info","Failed to get segment header","Failed to open or create identity","Failed to read bytes from file","Failed to subscribe to archived segments","Failed to write bytes from file","Farm info can’t be opened","Farm info file does not exist","Farm is shutting down","Farm is too large","Farming error","","Farm was found and read successfully","Identity can’t be opened","Identity file does not exist","Public key in identity doesn’t match metadata","Allocated space is not enough for one sector","Invalid number pieces in sector","I/O error occurred","I/O error occurred","Low-level plotting error","","Metadata can’t be opened","Metadata file does not exist","Metadata file too small","Missing archived segment header","Farm was not found","","Piece cache error","Plotting error","Errors that happen during plotting","Identity public key doesn’t match public key in the disk …","Reward signing","Details about sector currently being plotted","Single disk farm abstraction is a container for everything …","Errors happening when trying to create/open single disk …","An identifier for single disk farm, can be used for in …","Important information about the contents of the …","Options used to open single disk farm","Errors happening during scrubbing","Summary of single disk farm for presentational purposes","Farm ID","Unexpected metadata version","Unexpected metadata version","V0 of the info","Wrong chain (genesis hash)","How much space in bytes is allocated for this farm","How much space in bytes was allocated","","","","","","","","","","","","","","","","","","","","","Percentage of allocated space dedicated for caching …","","","","","","Collect summary of single disk farm for presentational …","","","","","","","","","","","","","","","","","","","","","","","Path to directory where farm is stored.","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","","","","Semaphore for part of the plotting when farmer encodes …","","","","","Erasure coding instance to use.","Whether to farm during initial plotting","Information necessary for farmer application","","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","ID of this farm","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Kzg instance to use.","Whether this is the last sector queued so far","Load SingleDiskFarm from path is supposed to be stored, …","How many pieces one sector is supposed to contain (max)","Create new single disk farm instance","Creates new ID","","RPC client connected to Subspace node","Subscribe to notification about plotted sectors","Subscribe to sector plotting notification","Subscribe to new solution notification","","","Get piece cache instance","Piece receiver implementation for plotting purposes.","","Get piece reader to read plotted pieces later","How many pieces does one sector contain.","Read information about sectors plotted so far","Number of sectors successfully plotted so far","Notification for plotter to start, can be used to delay …","Thread pool size used for plotting","Progress so far in % (not including this sector)","","Read all sectors metadata","Whether sector is being replotted","Thread pool size used for replotting, typically smaller …","Address where farming rewards should go","Run and wait for background threads to exit or return an …","Check the farm for corruption and repair errors (caused by …","Sector index","","","","","","Store SingleDiskFarm info to path so it can be loaded …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipe everything that belongs to this single disk farm","","Lower-level error","Lower-level error","Lower-level error","Segment index that was missing","","Current allocated space","","Hex-encoded genesis hash during farm creation","Public key used during farm creation","Farm ID","Farm ID","Farm ID","Number of pieces in sector farm is initialized with","","","Max supported pieces in sector","Minimal allocated space","Hex-encoded current genesis hash","Current public key","How much space in bytes is allocated for this farm","Genesis hash of the chain used for farm creation","ID of the farm","How many pieces does one sector contain.","Public key of identity used for farm creation","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Low-level error","Affected file","Affected file","Affected file","Info file","Info file","Identity file","Identity file","Metadata file","Metadata file","Metadata file","Cache file","Cache file","Identity public key","Disk farm info public key","Offset in the file","Offset in the file","Reserved size","Number of bytes to read","Number of bytes to read","File size","Path to directory where farm is stored.","Path to directory where farm is stored.","Path to directory where farm is stored.","Error itself","Farm info","Failed to create thread pool","Failed to retrieve farmer info","Failed to subscribe to slot info notifications","Errors that happen during farming","I/O error occurred","Low-level proving error","Plot auditing implementation","Plot audit options","","","","","","","","","","","","","","","","","","","Erasure coding instance","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Kzg instance","Optional sector that is currently being modified (for …","Create new instance","Public key of the farm","","Reward address to use for solutions","Metadata of all sectors plotted so far","Slot info for the audit","","Proof of space table generator","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Wrapper data structure for multiple files to be used with …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Open file at specified as many times as there is number of …","","","","","","","","Can’t preallocate cache file, probably not enough space …","Checksum mismatch","Piece cache stored on one disk","Disk piece cache open error","I/O error occurred","Offset wrapper for pieces in DiskPieceCache","Offset outsize of range","Cache size has zero capacity, this is not supported","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Max offset","Provided offset","Wrapper data structure that can be used to read pieces …","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Read piece from sector by offset, None means input …","","","","","","","Joins async join handle on drop","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Create new instance.","","","","Runs future on a dedicated thread with the specified name, …","Modified version of SS58 parser extracted from Substrate …","This function is supposed to be used with …","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","","","Base 58 requirement is violated","Length is bad","Disallowed SS58 Address Format for this datatype","Invalid checksum","Invalid SS58 prefix byte","An error type for SS58 decoding.","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Some if the string is a properly encoded SS58Check address.","","","","","",""],"i":[0,0,0,0,0,1,6,1,6,1,6,1,6,1,6,6,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,0,1,1,0,6,6,1,0,6,0,6,1,6,0,1,1,1,1,1,1,6,1,6,1,6,1,6,1,6,1,0,6,1,0,0,0,34,34,108,34,34,34,34,34,34,34,34,0,0,29,28,29,28,28,28,29,28,29,28,29,28,29,28,29,28,28,29,28,29,28,28,28,28,28,29,28,29,28,29,28,29,28,29,28,29,28,0,51,0,54,53,53,52,52,47,51,52,53,52,53,51,51,52,53,51,53,53,53,51,52,54,0,47,53,53,52,52,52,51,52,51,49,53,53,53,51,47,49,52,54,0,53,54,0,0,0,0,0,0,0,0,44,52,53,43,52,43,67,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,67,44,43,44,43,44,49,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,44,43,67,67,47,67,109,49,49,51,44,43,52,53,54,67,44,44,44,44,67,67,67,0,67,51,51,44,44,43,52,52,53,53,54,54,47,67,109,49,51,51,51,51,44,44,43,52,52,52,53,54,54,54,54,43,44,44,49,43,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,67,109,43,67,49,44,43,67,49,49,49,44,0,49,67,0,49,43,49,49,67,67,109,43,49,109,67,67,49,49,109,44,43,51,52,54,43,44,43,51,44,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,47,67,109,49,51,44,43,52,53,54,49,110,111,112,113,114,115,116,115,117,118,117,118,119,119,115,115,119,116,117,118,120,120,120,120,120,121,122,123,124,125,126,127,121,122,123,128,124,129,125,130,126,131,132,127,133,133,122,123,131,122,123,131,134,135,136,136,134,60,60,60,0,60,60,0,0,79,79,60,80,79,60,80,80,80,79,60,80,79,60,80,79,60,80,80,60,60,80,79,60,60,60,60,80,79,60,80,79,60,80,80,80,79,80,0,80,80,80,60,80,80,60,79,60,80,79,60,80,79,60,80,79,60,80,79,60,80,137,138,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,59,59,0,0,59,0,59,59,59,87,39,59,87,39,87,39,87,39,59,87,39,59,87,39,59,87,39,59,59,87,87,39,59,59,87,39,59,87,39,59,87,39,59,87,39,59,87,59,87,39,59,87,39,59,87,39,59,87,39,59,87,39,139,139,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,89,89,89,89,89,89,0,89,89,89,89,89,0,89,0,0,0,0,89,89,89,89,89,89,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,107,107,107,107,107,0,107,107,107,107,107,107,107,107,107,107,0,107,107,107,107,107,107],"f":[0,0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,6],[1,1],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[-1,[[8,[6,0]]],[[10,[9]]]],[6],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[6,[[13,[12]]]],[1,[[5,[[4,[3]]]]]],[[],11],[[1,14],15],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,16],[[5,[[4,[3]]]]]],[17,[[8,[1,18]]]],0,[-1,[[8,[[19,[6]],0]]],[[10,[9]]]],[-1,[[8,[6,0]]],[[10,[9]]]],[[1,20],[[5,[[4,[3]]]]]],0,[6,21],0,[6,22],[[1,[23,[2]]],[[5,[[4,[3]]]]]],[[6,[13,[12]]],24],0,[[1,25],[[5,[[4,[3]]]]]],[[1,26],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,2],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[[-1,16],[[5,[[4,[3]]]]],[]],[[-1,20],[[5,[[4,[3]]]]],[]],[[-1,[23,[2]]],[[5,[[4,[3]]]]],[]],[[-1,25],[[5,[[4,[3]]]]],[]],[[-1,26],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,28],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[[[29,[-1]],14],15,[30,30]],[[28,14],15],[-1,-1,[]],[-1,-1,[]],[[28,31],[[19,[32]]]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,33],[[7,[28,[29,[-1]]]]],34],[[28,[36,[35]]],37],[[28,31],[[19,[38]]]],[[28,[23,[39]]],[[40,[7]]]],[[[29,[-1]],-2],7,34,41],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,6],[[8,[[0,[3]],[4,[42]]]]],34],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[43,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[44,44],[43,43],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[44,44],45],[46,47],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[-1,[[8,[44]]],48],[-1,[[8,[43]]],48],0,0,[11,7],[11,7],[11,7],[11,7],[49,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],0,[[44,44],50],[[-1,-2],50,[],[]],[[-1,-2],50,[],[]],[[-1,-2],50,[],[]],0,0,0,0,0,[[51,14],15],[[51,14],15],[[44,14],15],[[44,14],15],[[43,14],15],[[52,14],15],[[52,14],15],[[53,14],15],[[53,14],15],[[54,14],15],[[54,14],15],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[55,51],[56,51],[57,51],[-1,-1,[]],[58,44],[-1,-1,[]],[-1,-1,[]],[59,52],[57,52],[-1,-1,[]],[-1,-1,[]],[60,54],[51,54],[[[4,[42]]],54],[43,[[61,[12]]]],[[-1,-2],16,[62,63],64],[[44,-1],7,65],[49,44],[43,44],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[9,[[66,[[19,[43]]]]]],0,[[[67,[-1,-2]],11],[[8,[49,52]]],34,[41,68,69,70]],[[],44],[[44,[61,[12]],71,72,16],43],0,[[49,[36,[35]]],37],[[49,[36,[35]]],37],[[49,[36,[35]]],37],[[44,44],[[19,[45]]]],0,[49,39],0,0,[49,73],[43,72],[49,[[0,[74]]]],[49,11],0,0,0,[43,71],[9,[[66,[[23,[75]]]]]],0,0,0,[49,[[76,[44]]]],[9,[[8,[7,53]]]],0,[[44,-1],8,77],[[43,-1],8,77],[51,[[19,[42]]]],[52,[[19,[42]]]],[54,[[19,[42]]]],[[43,9],[[66,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[9,[[66,[7]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[79,[-1]],[80,[-2]]],[[23,[[7,[81,[0,[82]]]]]]],83,84],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[80,[-1]]],[[80,[-1]]],84],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],0,[[60,14],15],[[60,14],15],[[[80,[-1]],14],15,[84,30]],[-1,-1,[]],[55,60],[85,60],[57,60],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,[[79,[-1]]],83],0,0,0,0,0,[60,[[19,[42]]]],0,[-1,-2,[],[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[9,[[66,[86]]]],[[86,[13,[12]],11],[[66,[7]]]],[[86,[13,[12]],11],[[66,[7]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[87,87],[39,39],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],[[59,14],15],[[59,14],15],[[87,14],15],[[87,14],15],[[39,14],15],[57,59],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,[[19,[42]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[73,73],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[73,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[73,81,88],[[19,[32]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[[89,[-1]]],7,[]],0,[-1,-1,[]],[[],11],[-1,-2,[],[]],[-1,[],[]],[[[90,[-1]],50],[[89,[-1]]],[]],0,[[[5,[[89,[-1]]]],91],92,[]],0,[[-1,78],[[66,[[0,[3,69]]]]],[93,69]],0,[[],[[0,[94]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[[[5,[-1]],91],92,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[[95,[-1,-2]],20,96],[[5,[[4,[3]]]]],[97,69],34],[[],11],[-1,-2,[],[]],[[98,[99,[-1]],28,-2,[36,[[101,[[19,[100]]]]]]],[[95,[-1,-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[98,-1,102,[101,[[104,[2,103]]]]],[[105,[-1]]],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[[[105,[-1]],33,20,32],[[5,[[4,[3]]]]],34],[-1,-2,[],[]],0,[[100,12,106],7],[-1,-2,[],[]],[-1,-2,[],[]],[[100,20],50],[[100,12,106],7],[11,-1,[]],[11,-1,[]],[11,7],[[100,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[[23,[73]]],100],[100,[[0,[74]]]],[[100,20],[[19,[[0,[3]]]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[107,14],15],[[107,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[17,[[8,[71,107]]]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NodeRpcClient",0],[3,"SegmentIndex",731],[8,"Future",732],[3,"Box",733],[3,"Pin",734],[3,"Identity",0],[15,"tuple"],[4,"Result",735],[3,"Path",736],[8,"AsRef",737],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter",738],[6,"Result",738],[15,"u64"],[15,"str"],[4,"Error",739],[4,"Option",740],[3,"PieceIndex",741],[3,"PublicKey",742],[3,"SecretKey",742],[3,"Vec",743],[3,"Signature",744],[3,"RewardSignatureResponse",745],[3,"SolutionResponse",745],[3,"TypeId",746],[3,"PieceCache",79],[3,"CacheWorker",79],[8,"Debug",738],[3,"Key",747],[3,"Piece",741],[3,"PeerId",748],[8,"NodeClient",65],[8,"Fn",749],[3,"Arc",750],[3,"HandlerId",751],[3,"ProviderRecord",747],[3,"DiskPieceCache",547],[3,"Receiver",752],[8,"PieceGetter",753],[8,"Error",754],[4,"SingleDiskFarmInfo",119],[4,"SingleDiskFarmId",119],[4,"Ordering",755],[3,"PathBuf",736],[4,"SingleDiskFarmSummary",119],[8,"Deserializer",756],[3,"SingleDiskFarm",119],[15,"bool"],[4,"PlottingError",119],[4,"SingleDiskFarmError",119],[4,"SingleDiskFarmScrubError",119],[4,"BackgroundTaskError",119],[3,"ThreadPoolBuildError",757],[4,"PlottingError",753],[3,"Error",758],[3,"Ulid",759],[4,"DiskPieceCacheError",547],[4,"FarmingError",459],[15,"array"],[8,"Hash",760],[8,"Sized",761],[8,"BuildHasher",760],[8,"Hasher",760],[6,"Result",758],[3,"SingleDiskFarmOptions",119],[8,"Clone",762],[8,"Send",761],[8,"Sync",761],[3,"PublicKey",763],[15,"u16"],[3,"PieceReader",611],[8,"Iterator",764],[3,"SectorMetadataChecksummed",765],[6,"Result",766],[8,"Serializer",767],[3,"String",768],[3,"PlotAudit",459],[3,"PlotAuditOptions",459],[6,"SectorIndex",763],[8,"ProvableSolutions",769],[8,"ReadAtSync",770],[8,"Table",771],[4,"ProvingError",769],[3,"RayonFiles",530],[3,"Offset",547],[3,"PieceOffset",741],[3,"AsyncJoinOnDrop",630],[3,"JoinHandle",772],[3,"Context",773],[4,"Poll",774],[8,"FnOnce",749],[8,"FnMut",749],[3,"FarmerPieceGetter",655],[4,"PieceGetterRetryPolicy",753],[8,"PieceValidator",775],[3,"Node",776],[3,"PieceProvider",775],[3,"ReadersAndPieces",687],[6,"Mutex",777],[3,"Kzg",778],[3,"SegmentCommitment",731],[3,"LruCache",779],[3,"SegmentCommitmentPieceValidator",671],[3,"PlottedSector",753],[4,"Ss58ParsingError",708],[8,"NodeClientExt",65],[3,"SectorPlottingDetails",119],[13,"BackgroundTaskPanicked",402],[13,"FailedToGetFarmerInfo",403],[13,"FailedToGetSegmentHeader",403],[13,"FailedToSubscribeArchivedSegments",403],[13,"MissingArchivedSegmentHeader",403],[13,"FarmTooLarge",407],[13,"InsufficientAllocatedSpace",407],[13,"WrongChain",407],[13,"IdentityMismatch",407],[13,"InvalidPiecesInSector",407],[13,"V0",422],[13,"FailedToDetermineFileSize",427],[13,"FailedToReadBytes",427],[13,"FailedToWriteBytes",427],[13,"FarmInfoCantBeOpened",427],[13,"IdentityCantBeOpened",427],[13,"MetadataCantBeOpened",427],[13,"CacheCantBeOpened",427],[13,"FarmInfoFileDoesNotExist",427],[13,"IdentityFileDoesNotExist",427],[13,"MetadataFileDoesNotExist",427],[13,"MetadataFileTooSmall",427],[13,"CacheFileDoesNotExist",427],[13,"PublicKeyMismatch",427],[13,"Found",454],[13,"NotFound",454],[13,"Error",454],[13,"FailedToSubscribeSlotInfo",528],[13,"FailedToGetFarmerInfo",528],[13,"OffsetOutsideOfRange",609]],"b":[[252,"impl-Display-for-PlottingError"],[253,"impl-Debug-for-PlottingError"],[254,"impl-Debug-for-SingleDiskFarmId"],[255,"impl-Display-for-SingleDiskFarmId"],[257,"impl-Display-for-SingleDiskFarmError"],[258,"impl-Debug-for-SingleDiskFarmError"],[259,"impl-Display-for-SingleDiskFarmScrubError"],[260,"impl-Debug-for-SingleDiskFarmScrubError"],[261,"impl-Debug-for-BackgroundTaskError"],[262,"impl-Display-for-BackgroundTaskError"],[268,"impl-From%3CThreadPoolBuildError%3E-for-PlottingError"],[269,"impl-From%3CPlottingError%3E-for-PlottingError"],[270,"impl-From%3CError%3E-for-PlottingError"],[275,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[276,"impl-From%3CError%3E-for-SingleDiskFarmError"],[279,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[280,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[281,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-BackgroundTaskError"],[486,"impl-Debug-for-FarmingError"],[487,"impl-Display-for-FarmingError"],[490,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[491,"impl-From%3CProvingError%3E-for-FarmingError"],[492,"impl-From%3CError%3E-for-FarmingError"],[540,"impl-ReadAtSync-for-%26RayonFiles"],[541,"impl-ReadAtSync-for-RayonFiles"],[574,"impl-Display-for-DiskPieceCacheError"],[575,"impl-Debug-for-DiskPieceCacheError"],[576,"impl-Display-for-Offset"],[577,"impl-Debug-for-Offset"],[719,"impl-Display-for-Ss58ParsingError"],[720,"impl-Debug-for-Ss58ParsingError"]]},\ "subspace_farmer_components":{"doc":"Components of the reference implementation of Subspace …","t":"NDDEIDINLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLMLLLLLLLLLMMLLAAKKLLLLAMMALLLLLLLLLLLLLLLLLLLLLLLLLDFFMLLLLLLLLLLLMMLLLLLLIIKKKKKKKNNDDDNNNNIENNDDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFMMLLLLLLLFMMLMMMMLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMMMMMFMMMMMMMMMMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNIENDKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMNNNNNNDENLLLLLLMLLLLLLLLLLLLLLLLLFFFFMLLLLLLLLLLLLLMMMMMMMMMMMNDNNNNDEEEDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLMMFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMM","n":["Async","AsyncReadBytes","FarmerProtocolInfo","ReadAt","ReadAtAsync","ReadAtOffset","ReadAtSync","Sync","as_mut","as_mut_bits","as_mut_byte_slice","as_mut_slice_of","auditing","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","file_ext","fmt","fmt","from","from","from","from","from","from","from_async","from_sync","history_size","init","init","init","init","into","into","into","into","into_inner","max_pieces_in_sector","min_sector_lifetime","offset","offset","plotting","proving","read_at","read_at","read_at","read_at","read_at","read_at","reading","recent_history_fraction","recent_segments","sector","serialize","to_owned","to_owned","to_owned","try_as_mut_bits","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","AuditResult","audit_plot_sync","audit_sector_sync","best_solution_distance","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","sector_index","solution_candidates","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","FileExt","OpenOptionsExt","advise_random_access","advise_random_access","advise_sequential_access","advise_sequential_access","preallocate","read_exact_at","write_all_at","BadSectorMetadataOutputSize","BadSectorOutputSize","DownloadSectorOptions","DownloadedSector","EncodeSectorOptions","FailedToAcquirePermit","FailedToRetrievePiece","InvalidErasureCodingInstance","Limited","PieceGetter","PieceGetterRetryPolicy","PieceNotFound","PieceRecoveryFailed","PlotSectorOptions","PlottedSector","PlottingError","Unlimited","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","download_sector","downloading_semaphore","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","encode_sector","encoding_semaphore","encoding_semaphore","eq","erasure_coding","erasure_coding","farmer_protocol_info","farmer_protocol_info","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_piece","init","init","init","init","init","init","init","into","into","into","into","into","into","into","kzg","kzg","piece_getter","piece_getter","piece_getter_retry_policy","piece_getter_retry_policy","piece_indexes","pieces_in_sector","pieces_in_sector","pieces_in_sector","plot_sector","public_key","public_key","sector_id","sector_index","sector_index","sector_index","sector_index","sector_metadata","sector_metadata_output","sector_metadata_output","sector_output","sector_output","source","table_generator","table_generator","to_owned","to_owned","to_string","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","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","error","error","expected","expected","piece_index","piece_index","piece_index","provided","provided","FailedToCreateChunkWitness","FailedToCreatePolynomialForRecord","FailedToDecodeSectorContentsMap","InvalidErasureCodingInstance","Io","ProvableSolutions","ProvingError","RecordReadingError","SolutionCandidates","best_solution_distance","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","from","init","init","into","into","into_solutions","is_empty","len","source","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","chunk_offset","error","error","piece_offset","piece_offset","ChecksumMismatch","FailedToDecodeSectorContentsMap","FailedToErasureDecodeRecord","FailedToReadChunk","InvalidChunk","Io","PlotRecord","ReadingError","WrongRecordSizeAfterDecoding","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commitment","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","init","init","into","into","read_piece","read_sector_record_chunks","recover_extended_record_chunks","recover_source_record_chunks","scalars","source","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","witness","actual","chunk_location","chunk_location","encoded_chunk_used","error","error","error","expected","piece_offset","s_bucket","ChecksumMismatch","EncodedChunksUsed","InvalidBytesLength","InvalidBytesLength","InvalidEncodedRecordChunks","SBucketOutOfRange","SectorContentsMap","SectorContentsMapEncodeIntoError","SectorContentsMapFromBytesError","SectorContentsMapIterationError","SectorMetadata","SectorMetadataChecksummed","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_into","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode_into","encode_to","encode_to","encoded_size","encoded_size","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bytes","history_size","init","init","init","init","init","init","init","into","into","into","into","into","into","into","iter","iter_mut","iter_record_bitfields","iter_record_bitfields_mut","iter_record_chunk_to_plot","iter_s_bucket_encoded_record_chunks_used","iter_s_bucket_records","new","num_encoded_record_chunks","par_iter_record_chunk_to_plot","pieces_in_sector","s_bucket_offsets","s_bucket_sizes","s_bucket_sizes","sector_index","sector_record_chunks_size","sector_record_metadata_size","sector_size","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_owned","to_owned","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_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","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip","vzip","vzip","vzip","actual","expected","actual","actual","expected","max","max","provided"],"q":[[0,"subspace_farmer_components"],[102,"subspace_farmer_components::auditing"],[125,"subspace_farmer_components::file_ext"],[134,"subspace_farmer_components::plotting"],[293,"subspace_farmer_components::plotting::PlottingError"],[302,"subspace_farmer_components::proving"],[352,"subspace_farmer_components::proving::ProvingError"],[357,"subspace_farmer_components::reading"],[409,"subspace_farmer_components::reading::ReadingError"],[419,"subspace_farmer_components::sector"],[598,"subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"],[600,"subspace_farmer_components::sector::SectorContentsMapFromBytesError"],[604,"subspace_farmer_components::sector::SectorContentsMapIterationError"],[606,"core::convert"],[607,"core::marker"],[608,"bitvec::slice"],[609,"bitvec::order"],[610,"byte_slice_cast"],[611,"core::result"],[612,"byte_slice_cast"],[613,"serde::de"],[614,"core::fmt"],[615,"core::fmt"],[616,"alloc::vec"],[617,"core::marker"],[618,"core::future::future"],[619,"serde::ser"],[620,"bitvec::ptr::span"],[621,"core::any"],[622,"subspace_core_primitives"],[623,"subspace_core_primitives"],[624,"subspace_proof_of_space"],[625,"tokio::sync::batch_semaphore"],[626,"subspace_core_primitives::pieces"],[627,"core::pin"],[628,"core::error"],[629,"alloc::string"],[630,"std::io::error"],[631,"subspace_erasure_coding"],[632,"core::marker"],[633,"subspace_core_primitives::pieces"],[634,"core::iter::traits::exact_size"],[635,"parity_scale_codec::error"],[636,"parity_scale_codec::codec"],[637,"parity_scale_codec::codec"],[638,"core::iter::traits::iterator"],[639,"subspace_core_primitives::pieces"],[640,"alloc::alloc"],[641,"core::ops::function"]],"d":["Async variant","Container or asynchronously reading bytes using in …","Information about the protocol necessary for farmer …","Enum to encapsulate the selection between ReadAtSync and […","Async version of ReadAt, it is neither Send nor Sync and …","Reader with fixed offset added to all attempted reads","Sync version of ReadAt, it is both Send and Sync and is …","Sync variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","File extension trait","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Instantiate ReadAt from some ReadAtAsync implementation","Instantiate ReadAt from some ReadAtSync implementation","Size of the blockchain history","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extract inner value","How many pieces one sector is supposed to contain (max)","Minimum lifetime of a plotted sector, measured in archived …","Get implementation of ReadAtSync that add specified offset …","Get implementation of ReadAtAsync that add specified …","","","Fill the buffer by reading bytes at a specific offset","Fill the buffer by reading bytes at a specific offset and …","","","","","","Fraction of pieces from the “recent history” (…","Number of latest archived segments that are considered “…","","","","","","","","","","","","","","","","","","","","","","","","","","","Result of sector audit","Audit the whole plot and generate streams of solutions","Audit a single sector and generate a stream of solutions.","Best solution distance found","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Sector index","Solution candidates","","","","","","","Extension convenience trait that allows pre-allocating …","Extension convenience trait that allows setting some file …","Advise OS/file system that file will use random access and …","Advise OS/file system that file will use random access and …","Advise OS/file system that file will use sequential access …","Advise OS/file system that file will use sequential access …","Make sure file has specified number of bytes allocated for …","Read exact number of bytes at a specific offset","Write all provided bytes at a specific offset","Bad sector metadata output size","Bad sector output size","Options for sector downloading","Opaque sector downloaded and ready for encoding","Options for encoding a sector.","Failed to acquire permit","Failed to retrieve piece","Invalid erasure coding instance","Retry N times (including zero)","Duplicate trait for the …","Defines retry policy on error during piece acquiring.","Piece not found, can’t create sector, this should never …","Can’t recover missing piece","Options for plotting a sector.","Information about sector that was plotted","Plotting status","No restrictions on retries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Download sector for plotting.","Semaphore for part of the plotting when farmer downloads …","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","Semaphore for part of the plotting when farmer encodes …","Semaphore for part of the plotting when farmer encodes …","","Erasure coding instance","Erasure coding instance","Farmer protocol info","Farmer protocol info","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","KZG instance","KZG instance","Getter for pieces of archival history","Getter for pieces of archival history","Retry policy for piece getter","Retry policy for piece getter","Indexes of pieces that were plotted","How many pieces should sector contain","How many pieces should sector contain","How many pieces should sector contain","Plot a single sector.","Public key corresponding to sector","Public key corresponding to sector","Sector ID","Sector index","Sector index","Sector index","Sector index","Sector metadata","Where plotted sector metadata should be written, vector …","Where plotted sector metadata should be written, vector …","Where plotted sector should be written, vector must either …","Where plotted sector should be written, vector must either …","","Proof of space table generator","Proof of space table generator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Expected size","Expected size","Piece index","Piece index","Piece index","Actual size","Actual size","Failed to create chunk witness","Failed to create polynomial for record","Failed to decode sector contents map","Invalid erasure coding instance","I/O error occurred","Solutions that can be proven if necessary.","Errors that happen during proving","Record reading error","Container for solution candidates.","Best solution distance found, None in case there are no …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Turn solution candidates into actual solutions","Returns true if no candidates inside","Total number of candidates","","","","","","","","","","","","","","Chunk index","Lower-level error","Lower-level error","Piece offset","Piece offset","Checksum mismatch","Failed to decode sector contents map","Failed to erasure-decode record","Failed to read chunk.","Invalid chunk, possible disk corruption","I/O error occurred","Record contained in the plot","Errors that happen during reading","Wrong record size after decoding","","","","","","","Record commitment","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Read piece from sector.","Read sector record chunks, only plotted s-buckets are …","Given sector record chunks recover extended record chunks …","Given sector record chunks recover source record chunks in …","Record scalars","","","","","","","","","","","","","","Record witness","Actual size in bytes","Chunk location","Chunk location","Indicates whether chunk was encoded","Low-level error","Lower-level error","Lower-level error","Expected size in bytes","Piece offset","S-bucket","Checksum mismatch","Wrapper data structure that allows to iterate mutably over …","Invalid bytes length","Invalid bytes length","Invalid number of encoded record chunks","S-bucket provided is out of range","Abstraction on top of bitfields that allow making sense of …","Error happening when trying to encode SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Metadata of the plotted sector","Same as SectorMetadata, but with checksums verified during …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Encode internal contents into output","","","Size of encoded checksummed sector metadata.","Size of sector contents map when encoded and stored in the …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Reconstruct sector contents map from bytes.","Size of the blockchain history at time of sector creation","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Produces an iterator over encoded chunks bitfields.","Produces a mutable iterator over encoded chunks bitfields.","Iterate over individual record bitfields","Iterate mutably over individual record bitfields","Creates an iterator of …","Iterate over chunks of s-bucket indicating if encoded …","Creates an iterator of (piece_offset, encoded_chunk_used), …","Create new sector contents map initialized with zeroes to …","Number of encoded chunks in each record","Creates an iterator of …","Number of pieces stored in this sector","Returns offsets of each s-bucket relatively to the …","Returns sizes of each s-bucket","S-bucket sizes in a sector","Sector index","Size of the part of the plot containing record chunks …","Size of the part of the plot containing record metadata.","Exact sector plot size (sector contents map, record …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Actual length","Expected length","Actual length","Actual number of encoded record chunks","Expected length","Max supported","Max s-bucket","Provided s-bucket"],"i":[11,0,0,0,0,0,0,11,1,1,1,1,0,1,11,15,16,1,11,15,16,11,15,16,11,15,16,1,11,15,16,1,11,15,16,16,1,11,15,16,0,15,16,1,1,1,11,15,16,11,11,16,1,11,15,16,1,11,15,16,1,16,16,12,14,0,0,12,14,15,15,15,15,0,16,16,0,16,11,15,16,1,1,11,15,16,1,11,15,16,1,11,15,16,1,11,15,16,1,11,15,16,0,0,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,0,0,88,89,88,89,89,89,89,44,44,0,0,0,44,44,44,40,0,0,44,44,0,0,0,40,52,43,42,46,40,41,44,52,43,42,46,40,41,44,40,41,40,41,40,52,43,42,46,40,41,44,52,43,42,46,40,41,44,0,52,42,52,43,42,46,40,41,44,0,52,46,40,52,46,52,42,40,41,44,44,52,43,42,46,40,41,44,44,45,52,43,42,46,40,41,44,52,43,42,46,40,41,44,52,42,52,42,52,42,41,52,42,46,0,52,42,41,52,42,46,41,41,52,46,52,46,44,52,46,40,41,44,52,43,42,46,40,41,44,52,43,42,46,40,41,44,52,43,42,46,40,41,44,52,43,42,46,40,41,44,52,43,42,46,40,41,44,90,91,92,93,94,95,90,92,93,56,56,56,56,56,0,0,56,0,62,56,55,56,55,55,55,56,55,56,55,56,55,56,56,55,56,56,56,56,55,56,55,56,55,55,55,55,56,55,56,56,55,56,55,56,55,56,55,56,55,96,97,96,97,96,57,57,57,57,57,57,0,0,57,57,65,57,65,65,65,65,57,65,57,65,57,65,57,57,65,57,57,57,65,57,65,57,65,0,0,0,0,65,57,65,57,57,65,57,65,57,65,57,65,57,65,65,98,99,100,100,99,100,101,98,101,100,59,0,59,76,59,77,0,0,0,0,0,0,80,75,35,59,76,77,72,80,75,35,59,76,77,72,75,35,59,76,77,72,75,35,59,76,77,72,75,35,75,35,75,35,75,35,80,75,35,35,59,76,77,72,80,75,35,35,59,76,77,72,80,80,75,35,59,76,77,72,35,72,75,35,35,72,59,76,77,75,35,59,59,76,76,77,77,72,80,75,35,35,59,76,77,72,72,75,80,75,35,59,76,77,72,80,75,35,59,76,77,72,80,80,72,72,72,72,72,72,72,72,75,75,72,75,75,0,0,0,75,35,75,35,75,35,59,76,77,72,59,76,77,80,75,35,59,76,77,72,80,75,35,59,76,77,72,80,75,35,59,76,77,72,80,75,35,59,76,77,72,35,80,75,35,59,76,77,72,102,102,103,104,103,104,105,105],"f":[0,0,0,0,0,0,0,0,[[[1,[-1]]],[[3,[2]]],[[4,[[3,[2]]]],5]],[-1,[[6,[-2,-3]]],[],[],7],[-1,[[3,[2]]],[]],[-1,[[9,[[3,[-2]],8]]],[],10],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[11,[-1,-2]]],[[11,[-1,-2]]],[12,13],[14,13]],[[[15,[-1]]],[[15,[-1]]],13],[16,16],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[-1,[[9,[16]]],19],[18,17],[18,17],[18,17],[18,17],0,[[[15,[-1]],20],21,22],[[16,20],21],[-1,-1,[]],[[[23,[[3,[2]]]]],[[1,[[23,[[3,[2]]]]]]]],[[[24,[2]]],[[1,[[24,[2]]]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[11,[25,-1]]],14],[-1,[[11,[-1,25]]],12],0,[[],18],[[],18],[[],18],[[],18],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[1,[-1]]],-1,[[4,[[3,[2]]]],5]],0,0,[[-1,18],[[15,[-1]]],26],[[-1,18],[[15,[-1]]],26],0,0,[[-1,[3,[2]],18],[[27,[17]]],[]],[[-1,-2,18],[[0,[28]]],[],[[4,[[3,[2]]]],5]],[[[15,[-1]],[3,[2]],18],[[27,[17]]],12],[[[15,[-1]],-2,18],[[27,[-2]]],14,[[4,[[3,[2]]]],5]],[[[15,[-1]],-2,18],[[27,[-2]]],14,[[4,[[3,[2]]]],5]],[[[15,[-1]],[3,[2]],18],[[27,[17]]],12],0,0,0,0,[[16,-1],9,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[9,[[6,[-2,-3]],[30,[-2]]]]],[],[],7],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[32,33,34,-1,[3,[35]],[37,[36]]],[[24,[[38,[[15,[-1]]]]]]],12],[[32,33,34,-1,35],[[37,[[38,[-1]]]]],12],0,[-1,-2,[],[]],[-1,-2,[],[]],[[[38,[-1]]],[[38,[-1]]],13],[[-1,-2],17,[],[]],[18,-1,[]],[18,-1,[]],[18,17],[[[38,[-1]],20],21,22],[-1,-1,[]],[[],18],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[-1,[[27,[17]]],[]],[-1,-1,[]],[-1,[[27,[17]]],[]],[[-1,39],[[27,[17]]],[]],[[-1,[3,[2]],39],[[27,[17]]],[]],[[-1,[3,[2]],39],[[27,[17]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[40,40],[41,41],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[],40],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[[[42,[-1]]],[[9,[43,44]]],45],0,0,[18,17],[18,17],[18,17],[18,17],[18,17],[18,17],[18,17],[[43,[46,[-1]]],[[9,[41,44]]],47],0,0,[[40,40],48],0,0,0,0,[[40,20],21],[[41,20],21],[[44,20],21],[[44,20],21],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[49,44],[-1,-1,[]],[[-1,50,40],[[51,[[23,[28]]]]],[]],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,[[[52,[-1,-2]]],[[9,[41,44]]],47,45],0,0,0,0,0,0,0,0,0,0,0,0,[44,[[37,[53]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,54,[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[37,[34]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[55,[-1]]],[[55,[-1]]],13],[[-1,-2],17,[],[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,17],[18,17],[[56,20],21],[[56,20],21],[[[55,[-1]],20],21,22],[57,56],[58,56],[59,56],[-1,-1,[]],[-1,-1,[]],[[],18],[[],18],[-1,-2,[],[]],[-1,-2,[],[]],[[[55,[-1]],-2,60,61,-3],[[9,[[0,[62]],56]]],12,63,64],[[[55,[-1]]],48,12],[[[55,[-1]]],18,12],[56,[[37,[53]]]],[-1,-2,[],[]],[-1,54,[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[65,65],[[-1,-2],17,[],[]],0,[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,17],[18,17],[[57,20],21],[[57,20],21],[[65,20],21],[59,57],[58,57],[-1,-1,[]],[-1,-1,[]],[[],18],[[],18],[-1,-2,[],[]],[-1,-2,[],[]],[[66,67,35,[11,[-1,-2]],61],[[9,[68,57]]],12,14],[[66,69,[71,[70]],72,-1,[11,[-2,-3]]],[[9,[[23,[[71,[[37,[73]]]]]],57]]],47,12,14],[[[71,[[37,[73]]]],66,61],[[9,[[23,[[71,[73]]]],57]]]],[[[71,[[37,[73]]]],66,61],[[9,[[0,[74]],57]]]],0,[57,[[37,[53]]]],[-1,-2,[],[]],[-1,54,[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[75,75],[35,35],[59,59],[76,76],[77,77],[72,72],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[[-1,-2],17,[],[]],[-1,[[9,[75,78]]],79],[-1,[[9,[35,78]]],79],[[[3,[2]]],[[9,[-1,78]]],[]],[[[3,[2]]],[[9,[-1,78]]],[]],[[70,[3,[2]]],[[9,[-1,78]]],[]],[[70,[3,[2]]],[[9,[-1,78]]],[]],[[70,-1],[[9,[-2,78]]],79,[]],[[70,-1],[[9,[-2,78]]],79,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[35],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[35],[18,-1,[]],[18,-1,[]],[18,-1,[]],[18,-1,[]],[80,17],[18,17],[18,17],[18,17],[18,17],[18,17],[18,17],[18,17],[35,[[24,[2]]]],[[72,[3,[2]]],[[9,[17,76]]]],[[75,-1],17,[81,26]],[[35,-1],17,[81,26]],[[],18],[69,18],[[59,59],48],[[76,76],48],[[77,77],48],[[75,20],21],[[35,20],21],[[59,20],21],[[59,20],21],[[76,20],21],[[76,20],21],[[77,20],21],[[77,20],21],[[72,20],21],[-1,-1,[]],[-1,-1,[]],[75,35],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[3,[2]],69],[[9,[72,59]]]],0,[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[80,[[0,[74]]]],[80,[[0,[74]]]],[72,[[3,[[82,[[71,[2]]]]]]]],[72,[[0,[74]]]],[[72,66],[[0,[83]]]],[[72,84],[[9,[[0,[83]],77]]]],[[72,84],[[9,[[0,[83]],77]]]],[69,72],[72,[[3,[84]]]],[[72,66],[[0,[85]]]],0,[75,[[23,[[71,[70]]]]]],[72,[[23,[[71,[69]]]]]],0,0,[69,18],[69,18],[69,18],[75,18],[35,18],[[-1,[3,[2]]],[[24,[2,86]]],[]],[[-1,[3,[2]]],[[24,[2,86]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[35,-1],-2,87,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0],"c":[],"p":[[3,"AsyncReadBytes",0],[15,"u8"],[15,"slice"],[8,"AsMut",606],[8,"Unpin",607],[3,"BitSlice",608],[8,"BitOrder",609],[4,"Error",610],[4,"Result",611],[8,"FromByteSlice",610],[4,"ReadAt",0],[8,"ReadAtSync",0],[8,"Clone",612],[8,"ReadAtAsync",0],[3,"ReadAtOffset",0],[3,"FarmerProtocolInfo",0],[15,"tuple"],[15,"usize"],[8,"Deserializer",613],[3,"Formatter",614],[6,"Result",614],[8,"Debug",614],[3,"Box",615],[3,"Vec",616],[15,"never"],[8,"Sized",607],[6,"Result",617],[8,"Future",618],[8,"Serializer",619],[4,"BitSpanError",620],[3,"TypeId",621],[3,"PublicKey",622],[6,"Blake3Hash",622],[6,"SolutionRange",622],[3,"SectorMetadataChecksummed",419],[6,"SectorIndex",622],[4,"Option",623],[3,"AuditResult",102],[15,"u64"],[4,"PieceGetterRetryPolicy",134],[3,"PlottedSector",134],[3,"DownloadSectorOptions",134],[3,"DownloadedSector",134],[4,"PlottingError",134],[8,"PieceGetter",134],[3,"EncodeSectorOptions",134],[8,"Table",624],[15,"bool"],[3,"AcquireError",625],[3,"PieceIndex",626],[3,"Pin",627],[3,"PlotSectorOptions",134],[8,"Error",628],[3,"String",629],[3,"SolutionCandidates",302],[4,"ProvingError",302],[4,"ReadingError",357],[3,"Error",617],[4,"SectorContentsMapFromBytesError",419],[3,"Kzg",630],[3,"ErasureCoding",631],[8,"ProvableSolutions",302],[8,"Copy",607],[8,"FnMut",632],[3,"PlotRecord",357],[3,"PieceOffset",626],[3,"SectorId",622],[3,"Piece",626],[15,"u16"],[15,"u32"],[15,"array"],[3,"SectorContentsMap",419],[3,"Scalar",633],[8,"ExactSizeIterator",634],[3,"SectorMetadata",419],[4,"SectorContentsMapEncodeIntoError",419],[4,"SectorContentsMapIterationError",419],[3,"Error",635],[8,"Input",636],[3,"EncodedChunksUsed",419],[8,"Output",636],[3,"BitArray",637],[8,"Iterator",638],[3,"SBucket",626],[8,"IndexedParallelIterator",639],[3,"Global",640],[8,"FnOnce",632],[8,"OpenOptionsExt",125],[8,"FileExt",125],[13,"FailedToRetrievePiece",293],[13,"FailedToAcquirePermit",293],[13,"BadSectorOutputSize",293],[13,"BadSectorMetadataOutputSize",293],[13,"PieceNotFound",293],[13,"PieceRecoveryFailed",293],[13,"FailedToCreateChunkWitness",352],[13,"FailedToCreatePolynomialForRecord",352],[13,"WrongRecordSizeAfterDecoding",409],[13,"FailedToReadChunk",409],[13,"InvalidChunk",409],[13,"FailedToErasureDecodeRecord",409],[13,"InvalidBytesLength",598],[13,"InvalidBytesLength",600],[13,"InvalidEncodedRecordChunks",600],[13,"SBucketOutOfRange",604]],"b":[[44,"impl-From%3CBox%3C%5Bu8%5D%3E%3E-for-AsyncReadBytes%3CBox%3C%5Bu8%5D%3E%3E"],[45,"impl-From%3CVec%3Cu8%3E%3E-for-AsyncReadBytes%3CVec%3Cu8%3E%3E"],[69,"impl-ReadAtSync-for-ReadAtOffset%3C\'_,+T%3E"],[70,"impl-ReadAtAsync-for-%26ReadAtOffset%3C\'_,+T%3E"],[71,"impl-ReadAtAsync-for-ReadAtOffset%3C\'_,+T%3E"],[72,"impl-ReadAtSync-for-%26ReadAtOffset%3C\'_,+T%3E"],[204,"impl-Debug-for-PlottingError"],[205,"impl-Display-for-PlottingError"],[324,"impl-Debug-for-ProvingError"],[325,"impl-Display-for-ProvingError"],[327,"impl-From%3CReadingError%3E-for-ProvingError"],[328,"impl-From%3CError%3E-for-ProvingError"],[329,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ProvingError"],[379,"impl-Debug-for-ReadingError"],[380,"impl-Display-for-ReadingError"],[382,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ReadingError"],[383,"impl-From%3CError%3E-for-ReadingError"],[500,"impl-Display-for-SectorContentsMapFromBytesError"],[501,"impl-Debug-for-SectorContentsMapFromBytesError"],[502,"impl-Display-for-SectorContentsMapEncodeIntoError"],[503,"impl-Debug-for-SectorContentsMapEncodeIntoError"],[504,"impl-Debug-for-SectorContentsMapIterationError"],[505,"impl-Display-for-SectorContentsMapIterationError"]]},\ "subspace_metrics":{"doc":"This Rust module serves as a bridge between two different …","t":"NNENLLLLLLLLDLFLLLLLLLL","n":["Both","Libp2p","RegistryAdapter","Substrate","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","metrics","register","start_prometheus_metrics_server","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"subspace_metrics"],[23,"actix_web::config"],[24,"core::net::socket_addr"],[25,"alloc::vec"],[26,"core::future::future"],[27,"std::io::error"],[28,"core::result"],[29,"core::any"]],"d":["We use both Substrate and Libp2p metrics registries.","Uses only the Libp2p metrics registry.","An metrics registry adapter for Libp2p and Substrate …","Uses only the Substrate metrics registry.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","Start prometheus metrics server on the provided address.","","","","","","","",""],"i":[6,6,0,6,6,1,6,1,6,1,6,1,0,1,0,6,1,6,1,6,1,6,1],"f":[0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,2],3],[[[5,[4]],6],[[8,[[0,[7]]]]]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"metrics",0],[3,"AppService",23],[15,"tuple"],[4,"SocketAddr",24],[3,"Vec",25],[4,"RegistryAdapter",0],[8,"Future",26],[6,"Result",27],[4,"Result",28],[3,"TypeId",29]],"b":[]},\ "subspace_networking":{"doc":"Networking functionality of Subspace Network, primarily …","t":"NNNNNDENNNIDENNNEDDDEISNICDDNNDNNNDGSCDEEDEDGDNNQNGEDNNNNENENDNNDNKLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLCMMLMMMMMMMLLLLLLLLKLLLLLLLKLMFLMMLMMMMLMLLKLKLKLMMKLLMLLLLLLLLLLLLLLLMMMLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMGAAFGENILLLLLLLLLLLLKKLLLLLLNDDIENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLL","n":["BootstrapNode","BootstrapNode","CantPreallocateKnownPeersFile","Client","Client","Config","CreationError","Dynamic","Farmer","Farmer","GenericRequest","GenericRequestHandler","GetClosestPeersError","IncorrectResponseFormat","Io","Io","KademliaMode","KeyWrapper","KnownPeersManager","KnownPeersManagerConfig","KnownPeersManagerPersistenceError","KnownPeersRegistry","LOG_TARGET","LastSegmentHeaders","LocalRecordProvider","Multihash","NewPeerInfo","Node","Node","Node","NodeRunner","NodeRunnerDropped","NodeRunnerDropped","NodeRunnerDropped","Notification","NotificationHandler","PROTOCOL_NAME","PeerAddress","PeerAddressRemovedEvent","PeerDiscovered","PeerInfo","PeerInfoConfig","PeerInfoProvider","PieceByIndexRequest","PieceByIndexRequestHandler","PieceByIndexResponse","ProtocolFailure","RelayServerExpected","Response","RoutablePeer","SegmentHeaderBySegmentIndexesRequestHandler","SegmentHeaderRequest","SegmentHeaderResponse","SegmentIndexes","SendCommand","SendCommand","SendCommand","SendRequestError","Static","SubscribeError","Subscription","TopicSubscription","TransportCreationError","TransportError","UniqueRecordBinaryHeap","UnroutablePeer","add_known_peer","add_known_peer","address","allow_non_global_addresses_in_dht","ban_peer","bootstrap","bootstrap_addresses","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","boxed","cache_size","clear","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","connected_peers","connected_peers","construct","contains_key","create","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","deref","deref","deref","deref","deref","deref","deref","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","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","disable_bootstrap_on_start","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_known_peers_source","encode","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","external_addresses","external_addresses","failed_address_cache_removal_interval","failed_address_kademlia_removal_interval","file_size","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","from","from","from","from","from","from","from","from","general_connected_peers_handler","general_connected_peers_limit","general_connected_peers_target","get_closest_peers","get_providers","get_requests_batch_handle","get_value","gossipsub","id","identify","ignore_peer_list","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_random_query_interval","insert","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dynamic","is_farmer","is_static","kademlia","kademlia_mode","keypair","keys","libp2p","listen_on","listen_on_fallback_to_random_port","listeners","local_records_provider","max_established_incoming_connections","max_established_outgoing_connections","max_pending_incoming_connections","max_pending_outgoing_connections","metrics","networking_parameters_registry","new","new","new","new","new_bootstrap_node","new_client","new_farmer","new_node","next_known_addresses_batch","next_known_addresses_batch","on_connected_peer","on_disconnected_peer","on_discovered_peer","on_new_listener","on_num_established_peer_connections_change","on_peer_info","on_unreachable_address","on_unreachable_address","path","peer_id","peer_id","peer_id","peer_id","peer_info","peer_info","peer_info_provider","piece","piece_index","poll_next","protocol_version","publish","put_value","record","remove","remove_all_known_peer_addresses","remove_all_known_peer_addresses","remove_known_peer_addresses","remove_known_peer_addresses","request_response_protocols","reserved_peers","run","run","run","segment_headers","send_generic_request","set_limit","should_include_key","size","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","source","source","source","source","source","special_connected_peers_handler","special_connected_peers_limit","special_connected_peers_target","start_over_address_batching","start_over_address_batching","start_over_address_batching","subscribe","temporary_ban_backoff","temporary_bans_cache_size","timeout","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","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","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","type_id","type_id","type_id","using_encoded","using_encoded","using_encoded","utils","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_timeout","yamux_config","address","peer_id","peer_id","placeholder","segment_header_number","segment_indexes","PeerAddress","multihash","piece_provider","strip_peer_id","Multihash","MultihashCode","PieceIndex","ToMultihash","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","fmt","from","init","into","to_multihash","to_multihash_by_code","to_owned","try_from","try_from","try_into","type_id","vzip","Limited","NoPieceValidator","PieceProvider","PieceValidator","RetryPolicy","Unlimited","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","equivalent","fmt","from","from","from","get_piece","get_piece_from_peer","init","init","init","into","into","into","new","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","validate_piece","validate_piece","vzip","vzip","vzip"],"q":[[0,"subspace_networking"],[643,"subspace_networking::PeerDiscovered"],[646,"subspace_networking::PeerInfo"],[647,"subspace_networking::SegmentHeaderRequest"],[649,"subspace_networking::utils"],[653,"subspace_networking::utils::multihash"],[677,"subspace_networking::utils::piece_provider"],[732,"libp2p_identity::peer_id"],[733,"multiaddr"],[734,"alloc::vec"],[735,"core::future::future"],[736,"alloc::boxed"],[737,"core::pin"],[738,"futures_channel::mpsc"],[739,"core::result"],[740,"core::clone"],[741,"core::marker"],[742,"core::marker"],[743,"parity_scale_codec::error"],[744,"parity_scale_codec::codec"],[745,"parity_scale_codec::codec"],[746,"core::fmt"],[747,"core::fmt"],[748,"libp2p_core::transport"],[749,"futures_channel::oneshot"],[750,"libp2p_gossipsub::error"],[751,"futures_core::stream"],[752,"core::option"],[753,"core::iter::traits::exact_size"],[754,"alloc::string"],[755,"libp2p_identity::keypair"],[756,"alloc::sync"],[757,"event_listener_primitives::handler_id"],[758,"core::task::wake"],[759,"core::task::poll"],[760,"libp2p_gossipsub"],[761,"libp2p_kad::record"],[762,"libp2p_kad::record"],[763,"alloc::alloc"],[764,"core::any"],[765,"core::ops::function"],[766,"subspace_core_primitives::pieces"],[767,"subspace_core_primitives::pieces"]],"d":["DSN bootstrap node.","Provides peer-info for Boostrap Node peer type.","Can’t preallocate known peers file, probably not enough …","Unspecified client (testing, custom utilities, etc).","Provides peer-info for Client peer type.","Node configuration.","Errors that might happen during network creation.","Kademlia mode will be changed using Autonat protocol when …","DSN farmer.","Provides peer-info for Farmer peer type.","Generic request with associated response","Defines generic request-response protocol handler.","Defines errors for get-closest-peers operation.","Underlying protocol returned an incorrect format, …","I/O error.","I/O error.","Defines Kademlia mode","Wrapper data structure that allows to work with keys as …","Handles networking parameters. It manages network …","Configuration for KnownPeersManager.","Networking parameters persistence errors.","Defines operations with the networking parameters.","Specifies log-parameters for tracing.","Defines how many segment headers to return.","Trait to be implemented on providers of local records","","PeerInfo update and related data container.","Implementation of a network node on Subspace Network.","DSN node.","Provides peer-info for Node peer type.","Runner for the Node.","Node runner was dropped","Node runner was dropped","Node runner was dropped","Peer info notification stub.","Defines a subscription to a peer-info notification.","Defines request-response protocol name.","","Defines the event triggered when the peer address is …","Represents Kademlia events (RoutablePeer, …","Peer info data","The configuration for peer-info protocol.","Handles constant peer info data.","Piece-by-hash protocol request.","Create a new piece-by-hash request handler.","Piece-by-hash protocol response.","Underlying protocol returned an error, impossible to get …","Circuit relay client error.","Response type that corresponds to this request","Kademlia’s routable or pending routable peer event.","Create a new segment-header-by-segment-indexes request …","Segment header by segment indexes protocol request.","Segment header by segment indexes protocol response.","Segment headers by segment indexes.","Failed to send command to the node runner","Failed to send command to the node runner","Failed to send command to the node runner","Defines errors for send-request operation.","The Kademlia mode is static for the duration of the …","Defines errors for subscribe operation.","Failed to create subscription.","Topic subscription, will unsubscribe when last instance is …","Transport creation error.","Transport error when attempting to listen on multiaddr.","Limited-size max binary heap for Kademlia records’ keys.","Kademlia’s unroutable peer event.","Registers a peer ID and associated addresses","","Peer address","Should non-global addresses be added to the DHT?","Ban peer with specified peer ID.","Bootstraps Kademlia network","Addresses to bootstrap Kademlia network","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a reference to the NetworkingParametersRegistry …","Defines cache size.","Remove all contents, while keeping allocated capacity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a collection of currently connected peers.","Currently connected peers.","Create a new network node and node runner instances.","Checks whether the heap contains the given key.","Creates new GenericRequestHandler by given handler.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Defines whether we should run blocking Kademlia …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Defines whether we return known peers batches on …","","","","","","","","","","","","","","","","","","","","","Node’s own addresses observed remotely.","Known external addresses to the local peer. The addresses …","Defines interval before the next peer address removes …","Defines interval before the next peer address removal …","Size of the backing file on disk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Defines whether we maintain a persistent connection for …","Defines max total (in and out) connection number that …","Defines target total (in and out) connection number that …","Get closest peers by multihash key using Kademlia DHT.","Get item providers by its key. Initiate ‘providers’ …","Returns the request batch handle with common “connection …","Return a value from the Kademlia network of the DSN.","The configuration for the Gossip behaviour.","Node’s own local ID.","The configuration for the Identify behaviour.","Peer ID list to filter on address adding.","","","","","","","","","","","","","","","","","","","","","","","","","","","How frequently should random queries be done using …","Insert a key in the heap evicting (popping) if the size …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if the mode is Dynamic.","Returns whether PeerInfo is a Farmer.","Returns true if the mode is Static.","The configuration for the Kademlia behaviour.","Kademlia mode. The default value is set to Static(Client). …","Identity keypair of a node used for authenticated …","Iterator over all keys in arbitrary order","","List of Multiaddr on which to listen for incoming …","Fallback to random port if specified (or default) port is …","Node’s own addresses where it listens for incoming …","Externally provided implementation of the local records …","Established incoming swarm connection limit.","Established outgoing swarm connection limit.","Pending incoming swarm connection limit.","Pending outgoing swarm connection limit.","Optional external prometheus metrics. None will disable …","A reference to the NetworkingParametersRegistry …","Object constructor.","Creates a new Config.","Creates a new Config with the following default settings:","Constructs a heap with given PeerId and size limit.","Creates a new Bootstrap Node peer-info provider.","Creates a new Client peer-info provider.","Creates a new Farmer peer-info provider.","Creates a new Node peer-info provider.","Returns a batch of the combined collection of known …","","Callback is called when a peer is connected.","Callback is called when a peer is disconnected.","Callback is called when a routable or unraoutable peer is …","Callback is called when node starts listening on new …","Callback is called when number of established peer …","Callback is called when we receive new …","Triggers when we removed the peer address from the …","","Defines whether we enable cache persistence.","Converts public key from keypair to PeerId. It serves as …","Extracts peer ID from event.","Peer ID","Peer ID for this PeerInfo update.","Returns the peer info data.","PeerInfo update.","Specifies a source for peer information. None disables the …","Returned data.","Request key - piece index","","Defines protocol version for the network peers. Affects …","Subcribe a messgo to some topic on the DSN.","Puts a value into the Kademlia network of the DSN.","Gets a provider record for key that is stored locally","Removes a key from the heap.","Unregisters associated addresses for peer ID.","","Unregisters associated addresses for peer ID.","","The configuration for the RequestResponsesBehaviour …","Defines set of peers with a permanent connection (and …","Drive async work in the persistence provider","","Drives the main networking future forward.","Returned data.","Sends the generic request to the peer and awaits the …","Set limit to new value, decreasing to value lower than …","Checks whether we include the key.","Returns heap-size","","","","","","","","","","","","Defines whether we maintain a persistent connection for …","Defines max total (in and out) connection number that …","Defines target total (in and out) connection number that …","","Reset the batching process to the initial state.","Reset the batching process to the initial state.","Subcribe to some topic on the DSN.","Backoff policy for temporary banning of unreachable peers.","How many temporarily banned unreachable peers to keep in …","Adds a timeout to the setup and protocol upgrade process …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Miscellaneous utilities for networking.","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the protocol timeout.","Yamux multiplexing configuration.","Peer address","Peer ID","Peer ID","Backward compatibility placeholder.","Number of segment headers to return.","Segment indexes to get.","Convenience alias for peer ID and its multiaddresses.","Defines multihash codes for Subspace DSN.","Provides methods to retrieve pieces from DSN.","Helper function. Converts multiaddresses to a tuple with …","Type alias for libp2p Multihash. Constant 64 was copied …","Subspace Network multihash codes.","Piece index code.","Helper trait for converting to multihash.","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Convert to multihash by the default multihash code.","Convert to multihash by the specified multihash code.","","","","","","","Retry N times (including zero)","Stub implementation for piece validation.","Piece provider with cancellation and optional piece …","Validates piece against using its commitment.","Defines retry policy on error during piece acquiring.","No restrictions on retries","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns piece by its index. Uses retry policy for error …","Get piece from a particular peer.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Creates new piece provider.","","","","","","","","","","","Validates piece against using its commitment.","","","",""],"i":[20,51,47,20,51,0,0,17,20,51,0,0,0,50,47,29,0,0,0,0,0,0,72,23,0,0,0,0,20,51,0,48,49,50,0,0,72,0,0,0,0,0,0,0,0,0,50,29,72,25,0,0,0,23,48,49,50,0,17,0,49,0,29,29,0,25,12,7,15,27,8,8,27,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,16,13,15,16,17,8,18,19,20,21,22,23,24,25,26,13,15,16,17,8,18,19,20,21,22,23,24,25,26,13,8,52,0,13,87,20,21,22,23,24,20,21,22,23,24,20,21,22,23,24,20,21,22,23,24,27,16,20,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,27,7,7,27,28,87,15,16,47,17,29,41,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,16,21,22,24,20,21,22,23,24,21,22,23,24,21,21,22,22,23,23,24,24,8,27,16,16,7,27,28,15,16,47,47,17,29,29,41,48,48,49,49,50,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,27,28,87,15,16,47,47,17,29,29,29,41,48,48,48,49,49,49,49,50,50,50,50,8,18,19,20,51,21,22,23,24,25,52,26,13,27,27,27,8,8,8,8,27,8,27,16,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,27,13,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,17,20,17,27,27,27,13,0,27,27,8,27,27,27,27,27,27,27,7,27,18,13,51,51,51,51,12,7,8,8,8,8,8,8,12,7,16,0,25,15,52,51,52,27,22,21,41,27,8,8,30,13,12,7,12,7,27,27,12,7,28,24,8,13,13,13,41,20,21,22,23,24,47,29,48,49,50,27,27,27,7,12,12,8,27,27,27,20,21,22,23,24,15,16,17,8,18,19,20,21,22,23,24,25,26,13,47,29,48,49,50,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,21,22,24,0,7,27,28,87,15,16,47,17,29,41,48,49,50,8,18,19,20,51,21,22,23,24,25,52,26,13,18,27,88,89,88,90,91,92,0,0,0,0,0,0,79,0,79,79,79,79,79,79,79,79,79,79,79,79,93,93,79,79,79,79,79,79,81,0,0,0,0,81,86,82,81,86,82,81,81,81,81,86,82,81,86,82,81,86,82,81,81,81,81,81,86,82,81,82,82,86,82,81,86,82,81,82,81,86,82,81,86,82,81,86,82,81,85,86,86,82,81],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1,[3,[2]]],[[6,[[5,[4]]]]],[]],[[7,1,[3,[2]]],[[6,[[5,[4]]]]]],0,0,[[8,1],[[11,[9,10]]]],[8,[[11,[9,0]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,[[5,[12]]]],0,[[[13,[-1]]],9,14],[15,15],[16,16],[17,17],[8,8],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24],[25,25],[[[26,[-1]]],[[26,[-1]]],14],[[[13,[-1]]],[[13,[-1]]],14],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[8,[[11,[[3,[1]],0]]]],0,[[[27,[-1]]],[[11,[[9,[8,[28,[-1]]]],29]]],[30,31,32]],[[[13,[-1]],-1],33,14],[-1,[[5,[0]]],[34,31,32]],[-1,[[11,[20,35]]],36],[-1,[[11,[21,35]]],36],[-1,[[11,[22,35]]],36],[-1,[[11,[23,35]]],36],[-1,[[11,[24,35]]],36],[[[38,[37]]],[[11,[-1,35]]],[]],[[[38,[37]]],[[11,[-1,35]]],[]],[[[38,[37]]],[[11,[-1,35]]],[]],[[[38,[37]]],[[11,[-1,35]]],[]],[[[38,[37]]],[[11,[-1,35]]],[]],[[39,[38,[37]]],[[11,[-1,35]]],[]],[[39,[38,[37]]],[[11,[-1,35]]],[]],[[39,[38,[37]]],[[11,[-1,35]]],[]],[[39,[38,[37]]],[[11,[-1,35]]],[]],[[39,[38,[37]]],[[11,[-1,35]]],[]],[[39,-1],[[11,[-2,35]]],36,[]],[[39,-1],[[11,[-2,35]]],36,[]],[[39,-1],[[11,[-2,35]]],36,[]],[[39,-1],[[11,[-2,35]]],36,[]],[[39,-1],[[11,[-2,35]]],36,[]],[[],[[27,[9]]]],[[],16],[[],20],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],0,[40,9],[7,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[41,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],[40,9],0,[21,[[3,[37]]]],[22,[[3,[37]]]],[24,[[3,[37]]]],[[20,-1],9,[42,43]],[[21,-1],9,[42,43]],[[22,-1],9,[42,43]],[[23,-1],9,[42,43]],[[24,-1],9,[42,43]],[[21,21],33],[[22,22],33],[[23,23],33],[[24,24],33],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[8,[[3,[2]]]],0,0,0,[44,40],[[[27,[-1]],45],46,[]],[[[28,[-1]],45],46,[30,31,32]],[[15,45],46],[[16,45],46],[[47,45],46],[[47,45],46],[[17,45],46],[[29,45],46],[[29,45],46],[[41,45],46],[[48,45],46],[[48,45],46],[[49,45],46],[[49,45],46],[[50,45],46],[[50,45],46],[[8,45],46],[[18,45],46],[[19,45],46],[[20,45],46],[[51,45],46],[[21,45],46],[[22,45],46],[[23,45],46],[[24,45],46],[[25,45],46],[[52,45],46],[[[26,[-1]],45],46,53],[[[13,[-1]],45],46,53],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[54,47],[-1,-1,[]],[[[55,[54]]],29],[54,29],[-1,-1,[]],[-1,-1,[]],[56,48],[10,48],[-1,-1,[]],[10,49],[56,49],[-1,-1,[]],[57,49],[35,50],[56,50],[10,50],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,0,[[8,58],[[11,[[0,[59]],48]]]],[[8,58],[[11,[[0,[59]],0]]]],0,[[8,58],[[11,[[0,[59]],0]]]],0,[8,1],0,0,[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],[[],40],0,[[[13,[-1]],-1],[[60,[-1]]],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[17,33],[20,33],[17,33],0,0,0,[[[13,[-1]]],[[0,[61]]],14],0,0,0,[8,[[3,[2]]]],0,0,0,0,0,0,0,[16,[[11,[7,47]]]],[[62,63,-1,[60,[51]]],[[27,[-1]]],30],[64,18],[[1,40],[[13,[-1]]],14],[[],51],[[],51],[[],51],[[],51],[-1,[[6,[[5,[4]]]]],[]],[7,[[6,[[5,[4]]]]]],[[8,[65,[34]]],66],[[8,[65,[34]]],66],[[8,[65,[34]]],66],[[8,[65,[34]]],66],[[8,[65,[34]]],66],[[8,[65,[34]]],66],[[-1,[65,[34]]],[[60,[66]]],[]],[[7,[65,[34]]],[[60,[66]]]],0,[63,1],[25,1],0,0,[51,20],0,0,0,0,[[[6,[41]],67],[[68,[60]]]],0,[[8,69,[3,[37]]],[[11,[9,0]]]],[[8,58,[3,[37]]],[[11,[[0,[59]],0]]]],[[-1,70],[[60,[71]]],[]],[[[13,[-1]],-1],9,14],[[-1,1],9,[]],[[7,1],9],[[-1,1,[3,[2]]],[[6,[[5,[4]]]]],[]],[[7,1,[3,[2]]],[[6,[[5,[4]]]]]],0,0,[-1,[[6,[[5,[4]]]]],[]],[7,[[6,[[5,[4]]]]]],[[[28,[-1]]],9,[30,31,32]],0,[[8,1,-1],[[11,[50]]],72],[[[13,[-1]],40],9,14],[[[13,[-1]],-1],33,14],[[[13,[-1]]],40,14],[41,[[9,[40,[60,[40]]]]]],[20,40],[21,40],[22,40],[23,40],[24,40],[47,[[60,[73]]]],[29,[[60,[73]]]],[48,[[60,[73]]]],[49,[[60,[73]]]],[50,[[60,[73]]]],0,0,0,[7,9],[-1,9,[]],[-1,9,[]],[[8,69],[[11,[41,49]]]],0,0,0,[[-1,[38,[37]]],[[3,[37,74]]],[]],[[-1,[38,[37]]],[[3,[37,74]]],[]],[[-1,[38,[37]]],[[3,[37,74]]],[]],[[-1,[38,[37]]],[[3,[37,74]]],[]],[[-1,[38,[37]]],[[3,[37,74]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,62,[]],[-1,62,[]],[-1,62,[]],[-1,62,[]],[-1,62,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[[21,-1],-2,76,[]],[[22,-1],-2,76,[]],[[24,-1],-2,76,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[18,77],18],0,0,0,0,0,0,0,0,0,0,[[[3,[2]]],[[3,[78]]]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[79,79],[[-1,-2],9,[],[]],[40,-1,[]],[40,-1,[]],[40,9],[[79,79],33],[[79,45],46],[-1,-1,[]],[[],40],[-1,-2,[],[]],[-1,58,[]],[[-1,79],58,[]],[-1,-2,[],[]],[80,[[11,[79]]]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,75,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[81,81],[[-1,-2],9,[],[]],[[],81],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,-1,[]],[40,9],[40,9],[40,9],[[81,81],33],[[-1,-2],33,[],[]],[[-1,-2],33,[],[]],[[81,45],46],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[82,[-1]],83,81],[[11,[[60,[84]],[5,[73]]]]],85],[[[82,[-1]],1,83],[[60,[84]]],85],[[],40],[[],40],[[],40],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[8,[60,[-1]]],[[82,[-1]]],85],[-1,-2,[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,75,[]],[-1,75,[]],[-1,75,[]],[[-1,1,83,84],[[6,[[5,[4]]]]],[]],[[86,1,83,84],[[6,[[5,[4]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"PeerId",732],[3,"Multiaddr",733],[3,"Vec",734],[8,"Future",735],[3,"Box",736],[3,"Pin",737],[3,"KnownPeersManager",0],[3,"Node",0],[15,"tuple"],[3,"SendError",738],[4,"Result",739],[8,"KnownPeersRegistry",0],[3,"UniqueRecordBinaryHeap",0],[8,"Clone",740],[3,"PeerAddressRemovedEvent",0],[3,"KnownPeersManagerConfig",0],[4,"KademliaMode",0],[3,"PeerInfoConfig",0],[3,"Notification",0],[4,"PeerInfo",0],[3,"PieceByIndexRequest",0],[3,"PieceByIndexResponse",0],[4,"SegmentHeaderRequest",0],[3,"SegmentHeaderResponse",0],[4,"PeerDiscovered",0],[3,"KeyWrapper",0],[3,"Config",0],[3,"NodeRunner",0],[4,"CreationError",0],[8,"LocalRecordProvider",0],[8,"Send",741],[8,"Sync",741],[15,"bool"],[8,"Fn",742],[3,"Error",743],[8,"Input",744],[15,"u8"],[15,"slice"],[15,"u32"],[15,"usize"],[3,"TopicSubscription",0],[8,"Output",744],[8,"Sized",741],[3,"NonZeroUsize",745],[3,"Formatter",746],[6,"Result",746],[4,"KnownPeersManagerPersistenceError",0],[4,"GetClosestPeersError",0],[4,"SubscribeError",0],[4,"SendRequestError",0],[4,"PeerInfoProvider",0],[3,"NewPeerInfo",0],[8,"Debug",746],[3,"Error",747],[4,"TransportError",748],[3,"Canceled",749],[4,"SubscriptionError",750],[6,"Multihash",653],[8,"Stream",751],[4,"Option",752],[8,"ExactSizeIterator",753],[3,"String",754],[3,"Keypair",755],[15,"str"],[3,"Arc",756],[3,"HandlerId",757],[3,"Context",758],[4,"Poll",759],[6,"Sha256Topic",760],[3,"Key",761],[3,"ProviderRecord",761],[8,"GenericRequest",0],[8,"Error",762],[3,"Global",763],[3,"TypeId",764],[8,"FnOnce",742],[3,"Duration",765],[6,"PeerAddress",649],[4,"MultihashCode",653],[15,"u64"],[4,"RetryPolicy",677],[3,"PieceProvider",677],[3,"PieceIndex",766],[3,"Piece",766],[8,"PieceValidator",677],[3,"NoPieceValidator",677],[3,"GenericRequestHandler",0],[13,"RoutablePeer",643],[13,"UnroutablePeer",643],[13,"Farmer",646],[13,"LastSegmentHeaders",647],[13,"SegmentIndexes",647],[8,"ToMultihash",653]],"b":[[295,"impl-Display-for-KnownPeersManagerPersistenceError"],[296,"impl-Debug-for-KnownPeersManagerPersistenceError"],[298,"impl-Debug-for-CreationError"],[299,"impl-Display-for-CreationError"],[301,"impl-Debug-for-GetClosestPeersError"],[302,"impl-Display-for-GetClosestPeersError"],[303,"impl-Display-for-SubscribeError"],[304,"impl-Debug-for-SubscribeError"],[305,"impl-Display-for-SendRequestError"],[306,"impl-Debug-for-SendRequestError"],[329,"impl-From%3CTransportError%3CError%3E%3E-for-CreationError"],[330,"impl-From%3CError%3E-for-CreationError"],[333,"impl-From%3CCanceled%3E-for-GetClosestPeersError"],[334,"impl-From%3CSendError%3E-for-GetClosestPeersError"],[336,"impl-From%3CSendError%3E-for-SubscribeError"],[337,"impl-From%3CCanceled%3E-for-SubscribeError"],[339,"impl-From%3CSubscriptionError%3E-for-SubscribeError"],[340,"impl-From%3CError%3E-for-SendRequestError"],[341,"impl-From%3CCanceled%3E-for-SendRequestError"],[342,"impl-From%3CSendError%3E-for-SendRequestError"]]},\ diff --git a/settings.html b/settings.html index 671c9451d8..9f289baca8 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/subspace_farmer/utils.rs.html b/src/subspace_farmer/utils.rs.html index e923d0022e..0b9ab4f9d0 100644 --- a/src/subspace_farmer/utils.rs.html +++ b/src/subspace_farmer/utils.rs.html @@ -156,6 +156,9 @@ 156 157 158 +159 +160 +161
pub mod farmer_piece_getter;
 pub mod piece_validator;
 pub mod readers_and_pieces;
@@ -169,7 +172,7 @@
 use rayon::ThreadBuilder;
 use std::future::Future;
 use std::ops::Deref;
-use std::pin::Pin;
+use std::pin::{pin, Pin};
 use std::task::{Context, Poll};
 use std::{io, thread};
 use tokio::runtime::Handle;
@@ -252,12 +255,13 @@
 
 /// Runs future on a dedicated thread with the specified name, will block on drop until background
 /// thread with future is stopped too, ensuring nothing is left in memory
-pub fn run_future_in_dedicated_thread<Fut, T>(
-    future: Fut,
+pub fn run_future_in_dedicated_thread<CreateFut, Fut, T>(
+    create_future: CreateFut,
     thread_name: String,
 ) -> io::Result<impl Future<Output = Result<T, Canceled>> + Send>
 where
-    Fut: Future<Output = T> + Unpin + Send + 'static,
+    CreateFut: (FnOnce() -> Fut) + Send + 'static,
+    Fut: Future<Output = T> + 'static,
     T: Send + 'static,
 {
     let (drop_tx, drop_rx) = oneshot::channel::<()>();
@@ -266,6 +270,8 @@
     let join_handle = thread::Builder::new().name(thread_name).spawn(move || {
         let _tokio_handle_guard = handle.enter();
 
+        let future = pin!(create_future());
+
         let result = match handle.block_on(futures::future::select(future, drop_rx)) {
             Either::Left((result, _)) => result,
             Either::Right(_) => {
diff --git a/subspace_farmer/node_client/trait.NodeClient.html b/subspace_farmer/node_client/trait.NodeClient.html
index 1ec6f639d3..476b48dff6 100644
--- a/subspace_farmer/node_client/trait.NodeClient.html
+++ b/subspace_farmer/node_client/trait.NodeClient.html
@@ -2,28 +2,28 @@
     // Required methods
     fn farmer_app_info<'life0, 'async_trait>(
         &'life0 self
-    ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
+    ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
     fn subscribe_slot_info<'life0, 'async_trait>(
         &'life0 self
-    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
     fn submit_solution_response<'life0, 'async_trait>(
         &'life0 self,
-        solution_response: SolutionResponse
+        solution_response: SolutionResponse
     ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
     fn subscribe_reward_signing<'life0, 'async_trait>(
         &'life0 self
-    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
     fn submit_reward_signature<'life0, 'async_trait>(
         &'life0 self,
-        reward_signature: RewardSignatureResponse
+        reward_signature: RewardSignatureResponse
     ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
@@ -34,7 +34,7 @@
              'life0: 'async_trait;
     fn subscribe_node_sync_status_change<'life0, 'async_trait>(
         &'life0 self
-    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
+    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
        where Self: 'async_trait,
              'life0: 'async_trait;
     fn segment_headers<'life0, 'async_trait>(
@@ -58,28 +58,28 @@
 }
Expand description

Abstraction of the Node Client

Required Methods§

source

fn farmer_app_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get farmer app info

source

fn subscribe_slot_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to slot

source

fn submit_solution_response<'life0, 'async_trait>( &'life0 self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submit a slot solution

source

fn subscribe_reward_signing<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to block signing request

source

fn submit_reward_signature<'life0, 'async_trait>( &'life0 self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submit a block signature

@@ -90,7 +90,7 @@ 'life0: 'async_trait,

Subscribe to archived segment headers

source

fn subscribe_node_sync_status_change<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to node sync status change

source

fn segment_headers<'life0, 'async_trait>( diff --git a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html index 685ca04577..d6fb99dabf 100644 --- a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html +++ b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html @@ -2,7 +2,7 @@ PosTable: Table,{ pub public_key: &'a PublicKey, pub reward_address: &'a PublicKey, - pub slot_info: SlotInfo, + pub slot_info: SlotInfo, pub sectors_metadata: &'a [SectorMetadataChecksummed], pub kzg: &'a Kzg, pub erasure_coding: &'a ErasureCoding, @@ -11,7 +11,7 @@ }
Expand description

Plot audit options

Fields§

§public_key: &'a PublicKey

Public key of the farm

§reward_address: &'a PublicKey

Reward address to use for solutions

-
§slot_info: SlotInfo

Slot info for the audit

+
§slot_info: SlotInfo

Slot info for the audit

§sectors_metadata: &'a [SectorMetadataChecksummed]

Metadata of all sectors plotted so far

§kzg: &'a Kzg

Kzg instance

§erasure_coding: &'a ErasureCoding

Erasure coding instance

diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html index 9173e24645..6b7bcbe8b1 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html @@ -30,7 +30,7 @@ ) -> HandlerId

Subscribe to notification about plotted sectors

source

pub fn on_solution( &self, - callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static> + callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static> ) -> HandlerId

Subscribe to new solution notification

source

pub async fn run(self) -> Result<SingleDiskFarmId>

Run and wait for background threads to exit or return an error

source

pub fn wipe(directory: &Path) -> Result<()>

Wipe everything that belongs to this single disk farm

diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html index a65169892f..5bb9210eaa 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html @@ -1,6 +1,6 @@ SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust
pub struct SingleDiskFarmOptions<NC, PG> {
Show 17 fields pub directory: PathBuf, - pub farmer_app_info: FarmerAppInfo, + pub farmer_app_info: FarmerAppInfo, pub allocated_space: u64, pub max_pieces_in_sector: u16, pub node_client: NC, @@ -18,7 +18,7 @@ pub plotting_delay: Option<Receiver<()>>,
}
Expand description

Options used to open single disk farm

Fields§

§directory: PathBuf

Path to directory where farm is stored.

-
§farmer_app_info: FarmerAppInfo

Information necessary for farmer application

+
§farmer_app_info: FarmerAppInfo

Information necessary for farmer application

§allocated_space: u64

How much space in bytes was allocated

§max_pieces_in_sector: u16

How many pieces one sector is supposed to contain (max)

§node_client: NC

RPC client connected to Subspace node

diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html index 61c33cb17a..b16239c5b0 100644 --- a/subspace_farmer/struct.NodeRpcClient.html +++ b/subspace_farmer/struct.NodeRpcClient.html @@ -2,26 +2,26 @@

Implementations§

source§

impl NodeRpcClient

source

pub async fn new(url: &str) -> Result<Self, JsonError>

Create a new instance of NodeClient.

Trait Implementations§

source§

impl Clone for NodeRpcClient

source§

fn clone(&self) -> NodeRpcClient

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for NodeRpcClient

source§

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

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

impl NodeClient for NodeRpcClient

source§

fn submit_reward_signature<'life0, 'async_trait>( &'life0 self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submit a block signature

source§

fn farmer_app_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get farmer app info
source§

fn subscribe_slot_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to slot
source§

fn submit_solution_response<'life0, 'async_trait>( &'life0 self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submit a slot solution
source§

fn subscribe_reward_signing<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to block signing request
source§

fn subscribe_archived_segment_headers<'life0, 'async_trait>( &'life0 self @@ -29,7 +29,7 @@ Self: 'async_trait, 'life0: 'async_trait,

Subscribe to archived segment headers
source§

fn subscribe_node_sync_status_change<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to node sync status change
source§

fn segment_headers<'life0, 'async_trait>( &'life0 self, diff --git a/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html b/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html index 1af0c14c87..7bb35bba54 100644 --- a/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html +++ b/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html @@ -1,8 +1,9 @@ -run_future_in_dedicated_thread in subspace_farmer::utils - Rust
pub fn run_future_in_dedicated_thread<Fut, T>(
-    future: Fut,
+run_future_in_dedicated_thread in subspace_farmer::utils - Rust
pub fn run_future_in_dedicated_thread<CreateFut, Fut, T>(
+    create_future: CreateFut,
     thread_name: String
 ) -> Result<impl Future<Output = Result<T, Canceled>> + Send>where
-    Fut: Future<Output = T> + Unpin + Send + 'static,
+    CreateFut: FnOnce() -> Fut + Send + 'static,
+    Fut: Future<Output = T> + 'static,
     T: Send + 'static,
Expand description

Runs future on a dedicated thread with the specified name, will block on drop until background thread with future is stopped too, ensuring nothing is left in memory

\ No newline at end of file diff --git a/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html b/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html index 2bc9df419c..2d26ce2cfd 100644 --- a/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html +++ b/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html @@ -1,3 +1,3 @@ -tokio_rayon_spawn_handler in subspace_farmer::utils - Rust
pub fn tokio_rayon_spawn_handler() -> impl FnMut(ThreadBuilder) -> Result<()>
Expand description

This function is supposed to be used with [rayon::ThreadPoolBuilder::spawn_handler()] to +tokio_rayon_spawn_handler in subspace_farmer::utils - Rust

pub fn tokio_rayon_spawn_handler() -> impl FnMut(ThreadBuilder) -> Result<()>
Expand description

This function is supposed to be used with [rayon::ThreadPoolBuilder::spawn_handler()] to inherit current tokio runtime.

\ No newline at end of file diff --git a/subspace_farmer/utils/index.html b/subspace_farmer/utils/index.html index 12a3c63a92..9d71bfb9ab 100644 --- a/subspace_farmer/utils/index.html +++ b/subspace_farmer/utils/index.html @@ -1,4 +1,4 @@ -subspace_farmer::utils - Rust

Module subspace_farmer::utils

source ·

Modules

  • Modified version of SS58 parser extracted from Substrate in order to not pull the whole +subspace_farmer::utils - Rust

    Module subspace_farmer::utils

    source ·

    Modules

    Structs

    Functions

    • Runs future on a dedicated thread with the specified name, will block on drop until background thread with future is stopped too, ensuring nothing is left in memory
    • This function is supposed to be used with [rayon::ThreadPoolBuilder::spawn_handler()] to inherit current tokio runtime.
    \ No newline at end of file diff --git a/subspace_service/fn.new_full.html b/subspace_service/fn.new_full.html index 19fe3c092b..9963c6275b 100644 --- a/subspace_service/fn.new_full.html +++ b/subspace_service/fn.new_full.html @@ -6,6 +6,6 @@ ) -> Result<NewFull<FullClient<RuntimeApi, ExecutorDispatch>>, Error>where PosTable: Table, RuntimeApi: ConstructRuntimeApi<Block, FullClient<RuntimeApi, ExecutorDispatch>> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: ApiExt<Block> + Metadata<Block> + AccountNonceApi<Block, AccountId, Nonce> + BlockBuilder<Block> + OffchainWorkerApi<Block> + SessionKeys<Block> + TaggedTransactionQueue<Block> + TransactionPaymentApi<Block, Balance> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + ObjectsApi<Block>, + RuntimeApi::RuntimeApi: ApiExt<Block> + Metadata<Block> + AccountNonceApi<Block, AccountId, Nonce> + BlockBuilder<Block> + OffchainWorkerApi<Block> + SessionKeys<Block> + TaggedTransactionQueue<Block> + TransactionPaymentApi<Block, Balance> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + ObjectsApi<Block>, ExecutorDispatch: NativeExecutionDispatch + 'static,
Expand description

Builds a new service for a full client.

\ No newline at end of file diff --git a/subspace_service/fn.new_partial.html b/subspace_service/fn.new_partial.html index 6962240a1d..d7fd88f356 100644 --- a/subspace_service/fn.new_partial.html +++ b/subspace_service/fn.new_partial.html @@ -4,6 +4,6 @@ ) -> Result<PartialComponents<FullClient<RuntimeApi, ExecutorDispatch>, FullBackend, FullSelectChain, DefaultImportQueue<Block>, FullPool<FullClient<RuntimeApi, ExecutorDispatch>, Block, Header>, OtherPartialComponents<RuntimeApi, ExecutorDispatch>>, Error>where PosTable: Table, RuntimeApi: ConstructRuntimeApi<Block, FullClient<RuntimeApi, ExecutorDispatch>> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: ApiExt<Block> + Metadata<Block> + BlockBuilder<Block> + OffchainWorkerApi<Block> + SessionKeys<Block> + TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + BundleProducerElectionApi<Block, Balance> + ObjectsApi<Block>, + RuntimeApi::RuntimeApi: ApiExt<Block> + Metadata<Block> + BlockBuilder<Block> + OffchainWorkerApi<Block> + SessionKeys<Block> + TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + BundleProducerElectionApi<Block, Balance> + ObjectsApi<Block>, ExecutorDispatch: NativeExecutionDispatch + 'static,
Expand description

Creates PartialComponents for Subspace client.

\ No newline at end of file diff --git a/subspace_service/rpc/fn.create_full.html b/subspace_service/rpc/fn.create_full.html index 29e35136c3..5d2e8516e8 100644 --- a/subspace_service/rpc/fn.create_full.html +++ b/subspace_service/rpc/fn.create_full.html @@ -2,7 +2,7 @@ deps: FullDeps<C, P, SO, AS> ) -> Result<RpcModule<()>, Box<dyn Error + Send + Sync>>where C: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, - C::Api: AccountNonceApi<Block, AccountId, Nonce> + TransactionPaymentRuntimeApi<Block, Balance> + BlockBuilder<Block> + SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, + C::Api: AccountNonceApi<Block, AccountId, Nonce> + TransactionPaymentRuntimeApi<Block, Balance> + BlockBuilder<Block> + SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, P: TransactionPool + 'static, SO: SyncOracle + Send + Sync + Clone + 'static, AS: AuxStore + Send + Sync + 'static,
Expand description

Instantiate all full RPC extensions.

diff --git a/subspace_service/struct.NewFull.html b/subspace_service/struct.NewFull.html index 7473e4dfda..f48bba8e86 100644 --- a/subspace_service/struct.NewFull.html +++ b/subspace_service/struct.NewFull.html @@ -1,6 +1,6 @@ NewFull in subspace_service - Rust
pub struct NewFull<Client>where
     Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + 'static,
-    Client::Api: TaggedTransactionQueue<Block> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + SubspaceApi<Block, FarmerPublicKey>,{
Show 13 fields + Client::Api: TaggedTransactionQueue<Block> + DomainsApi<Block, Header> + FraudProofApi<Block, Header> + SubspaceApi<Block, FarmerPublicKey>,{
Show 13 fields pub task_manager: TaskManager, pub client: Arc<Client>, pub select_chain: FullSelectChain, diff --git a/subspace_service/transaction_pool/fn.new_full.html b/subspace_service/transaction_pool/fn.new_full.html index d19b7a68bc..a80e147eb2 100644 --- a/subspace_service/transaction_pool/fn.new_full.html +++ b/subspace_service/transaction_pool/fn.new_full.html @@ -8,4 +8,4 @@ <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug, Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + ExecutorProvider<Block> + UsageProvider<Block> + BlockIdTo<Block> + Send + Sync + 'static, DomainHeader: HeaderT, - Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,
\ No newline at end of file + Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,
\ No newline at end of file diff --git a/subspace_service/transaction_pool/struct.BasicPoolWrapper.html b/subspace_service/transaction_pool/struct.BasicPoolWrapper.html index d21f8fc807..121b69ea5c 100644 --- a/subspace_service/transaction_pool/struct.BasicPoolWrapper.html +++ b/subspace_service/transaction_pool/struct.BasicPoolWrapper.html @@ -8,7 +8,7 @@ <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug, DomainHeader: HeaderT, Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, - Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,
§

type Block = Block

Block type.
§

type Hash = <<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type Error = <FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Error

Error type.
source§

fn submit_local( + Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,

§

type Block = Block

Block type.
§

type Hash = <<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type Error = <FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Error

Error type.
source§

fn submit_local( &self, at: Block::Hash, xt: LocalTransactionFor<Self> diff --git a/subspace_service/transaction_pool/struct.FullChainApiWrapper.html b/subspace_service/transaction_pool/struct.FullChainApiWrapper.html index a70345ddca..5aa437a35d 100644 --- a/subspace_service/transaction_pool/struct.FullChainApiWrapper.html +++ b/subspace_service/transaction_pool/struct.FullChainApiWrapper.html @@ -3,7 +3,7 @@ <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug, Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, DomainHeader: Header, - Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, DomainHeader>,

§

type Block = Block

Block type.
§

type Error = Error

Error type.
§

type ValidationFuture = Pin<Box<dyn Future<Output = Result<Result<ValidTransaction, TransactionValidityError>, Error>> + Send, Global>>

Validate transaction future.
§

type BodyFuture = Ready<Result<Option<Vec<<<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Extrinsic, Global>>, Error>>

Body future (since block body might be remote)
source§

fn validate_transaction( + Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + DomainsApi<Block, DomainHeader>,

§

type Block = Block

Block type.
§

type Error = Error

Error type.
§

type ValidationFuture = Pin<Box<dyn Future<Output = Result<Result<ValidTransaction, TransactionValidityError>, Error>> + Send, Global>>

Validate transaction future.
§

type BodyFuture = Ready<Result<Option<Vec<<<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Extrinsic, Global>>, Error>>

Body future (since block body might be remote)
source§

fn validate_transaction( &self, at: &BlockId<Self::Block>, source: TransactionSource, diff --git a/subspace_service/transaction_pool/type.FullPool.html b/subspace_service/transaction_pool/type.FullPool.html index f8d552c8d6..2ac25333f6 100644 --- a/subspace_service/transaction_pool/type.FullPool.html +++ b/subspace_service/transaction_pool/type.FullPool.html @@ -7,7 +7,7 @@ <<<Block as BlockT>::Header as HeaderT>::Number as TryInto<u32>>::Error: Debug, DomainHeader: HeaderT, Client: ProvideRuntimeApi<Block> + AuxStore + BlockBackend<Block> + BlockIdTo<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, - Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,

§

type Block = Block

Block type.
§

type Hash = <<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type Error = <FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Error

Error type.
source§

fn submit_local( + Client::Api: TaggedTransactionQueue<Block> + SubspaceApi<Block, FarmerPublicKey> + FraudProofApi<Block, DomainHeader> + DomainsApi<Block, DomainHeader>,

§

type Block = Block

Block type.
§

type Hash = <<FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type Error = <FullChainApiWrapper<Client, Block, DomainHeader> as ChainApi>::Error

Error type.
source§

fn submit_local( &self, at: Block::Hash, xt: LocalTransactionFor<Self> diff --git a/subspace_test_service/struct.MockConsensusNode.html b/subspace_test_service/struct.MockConsensusNode.html index b401b342d8..90e679cb0a 100644 --- a/subspace_test_service/struct.MockConsensusNode.html +++ b/subspace_test_service/struct.MockConsensusNode.html @@ -1,9 +1,9 @@ MockConsensusNode in subspace_test_service - Rust
pub struct MockConsensusNode {
     pub task_manager: TaskManager,
-    pub client: Arc<Client>,
-    pub backend: Arc<Backend>,
-    pub executor: NativeElseWasmExecutor<TestExecutorDispatch>,
-    pub transaction_pool: Arc<FullPool<Client, Block, Header>>,
+    pub client: Arc<Client>,
+    pub backend: Arc<Backend>,
+    pub executor: NativeElseWasmExecutor<TestExecutorDispatch>,
+    pub transaction_pool: Arc<FullPool<Client, Block, Header>>,
     pub select_chain: FullSelectChain,
     pub network_service: Arc<NetworkService<Block, <Block as BlockT>::Hash>>,
     pub sync_service: Arc<SyncingService<Block>>,
@@ -12,10 +12,10 @@
     /* private fields */
 }
Expand description

A mock Subspace consensus node instance used for testing.

Fields§

§task_manager: TaskManager

TaskManager’s instance.

-
§client: Arc<Client>

Client’s instance.

-
§backend: Arc<Backend>

Backend.

-
§executor: NativeElseWasmExecutor<TestExecutorDispatch>

Code executor.

-
§transaction_pool: Arc<FullPool<Client, Block, Header>>

Transaction pool.

+
§client: Arc<Client>

Client’s instance.

+
§backend: Arc<Backend>

Backend.

+
§executor: NativeElseWasmExecutor<TestExecutorDispatch>

Code executor.

+
§transaction_pool: Arc<FullPool<Client, Block, Header>>

Transaction pool.

§select_chain: FullSelectChain

The SelectChain Strategy

§network_service: Arc<NetworkService<Block, <Block as BlockT>::Hash>>

Network service.

§sync_service: Arc<SyncingService<Block>>

Sync service.