diff --git a/domain_test_service/domain/struct.DomainNode.html b/domain_test_service/domain/struct.DomainNode.html index b211010c1a..9ef4667e99 100644 --- a/domain_test_service/domain/struct.DomainNode.html +++ b/domain_test_service/domain/struct.DomainNode.html @@ -50,7 +50,7 @@ &mut self, nonce: u32, function: impl Into<<Runtime as Config>::RuntimeCall> -) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>

Construct an extrinsic.

+) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>

Construct an extrinsic.

source

pub async fn send_extrinsic( &self, extrinsic: impl Into<OpaqueExtrinsic> diff --git a/domain_test_service/domain/struct.DomainNodeBuilder.html b/domain_test_service/domain/struct.DomainNodeBuilder.html index c5a8bf6154..4e9ac47186 100644 --- a/domain_test_service/domain/struct.DomainNodeBuilder.html +++ b/domain_test_service/domain/struct.DomainNodeBuilder.html @@ -13,7 +13,7 @@ self, role: Role, domain_id: DomainId, - mock_consensus_node: &mut MockConsensusNode + mock_consensus_node: &mut MockConsensusNode ) -> EvmDomainNode

Build a evm domain node

Auto Trait Implementations§

§

impl !RefUnwindSafe for DomainNodeBuilder

§

impl Send for DomainNodeBuilder

§

impl Sync for DomainNodeBuilder

§

impl Unpin for DomainNodeBuilder

§

impl !UnwindSafe for DomainNodeBuilder

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/domain_test_service/domain/trait.FromKeyring.html b/domain_test_service/domain/trait.FromKeyring.html index 237db6feed..d4345a8f96 100644 --- a/domain_test_service/domain/trait.FromKeyring.html +++ b/domain_test_service/domain/trait.FromKeyring.html @@ -3,4 +3,4 @@ fn from_keyring(key: EcdsaKeyring) -> Self; }
Expand description

Trait for convert keyring to account id

Required Methods§

source

fn from_keyring(key: EcdsaKeyring) -> Self

Convert keyring to account id

-

Implementations on Foreign Types§

source§

impl FromKeyring for AccountId20

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

source§

impl FromKeyring for AccountId20

source§

fn from_keyring(key: EcdsaKeyring) -> Self

Implementors§

\ No newline at end of file diff --git a/domain_test_service/domain/type.EvmDomainClient.html b/domain_test_service/domain/type.EvmDomainClient.html index 780180e4e1..4c0f3452ba 100644 --- a/domain_test_service/domain/type.EvmDomainClient.html +++ b/domain_test_service/domain/type.EvmDomainClient.html @@ -1,2 +1,2 @@ -EvmDomainClient in domain_test_service::domain - Rust
pub type EvmDomainClient = FullClient<Block, RuntimeApi, EVMDomainExecutorDispatch>;
Expand description

The evm domain client

+EvmDomainClient in domain_test_service::domain - Rust
pub type EvmDomainClient = FullClient<Block, RuntimeApi, EVMDomainExecutorDispatch>;
Expand description

The evm domain client

\ 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 e8cd6afc9c..c8c0cddfc5 100644 --- a/domain_test_service/domain/type.EvmDomainNode.html +++ b/domain_test_service/domain/type.EvmDomainNode.html @@ -1,2 +1,2 @@ -EvmDomainNode in domain_test_service::domain - Rust
pub type EvmDomainNode = DomainNode<Runtime, RuntimeApi, EVMDomainExecutorDispatch, AccountId20>;
Expand description

The evm domain node

+EvmDomainNode in domain_test_service::domain - Rust
pub type EvmDomainNode = DomainNode<Runtime, RuntimeApi, EVMDomainExecutorDispatch, AccountId20>;
Expand description

The evm domain node

\ No newline at end of file diff --git a/domain_test_service/fn.construct_extrinsic_generic.html b/domain_test_service/fn.construct_extrinsic_generic.html index 36d58031cb..c8547770a4 100644 --- a/domain_test_service/fn.construct_extrinsic_generic.html +++ b/domain_test_service/fn.construct_extrinsic_generic.html @@ -4,7 +4,7 @@ caller: EcdsaKeyring, immortal: bool, nonce: u32 -) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>where +) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>where Runtime: Config<Hash = H256, BlockNumber = u32> + Config + Send + Sync, Runtime::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + Send + Sync, <<Runtime as Config>::OnChargeTransaction as OnChargeTransaction<Runtime>>::Balance: Send + Sync + From<u64> + FixedPointOperand, diff --git a/domain_test_service/fn.construct_unsigned_extrinsic.html b/domain_test_service/fn.construct_unsigned_extrinsic.html index 858bb01d0f..879500da2f 100644 --- a/domain_test_service/fn.construct_unsigned_extrinsic.html +++ b/domain_test_service/fn.construct_unsigned_extrinsic.html @@ -1,6 +1,6 @@ construct_unsigned_extrinsic in domain_test_service - Rust
pub fn construct_unsigned_extrinsic<Runtime>(
     function: impl Into<<Runtime as Config>::RuntimeCall>
-) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>where
+) -> UncheckedExtrinsic<Address, <Runtime as Config>::RuntimeCall, Signature, (CheckNonZeroSender<Runtime>, CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>where
     Runtime: Config<Hash = H256, BlockNumber = u32> + Config + Send + Sync,
     Runtime::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + Send + Sync,
     <<Runtime as Config>::OnChargeTransaction as OnChargeTransaction<Runtime>>::Balance: Send + Sync + From<u64> + FixedPointOperand,
Expand description

Construct an unsigned extrinsic that can be applied to the test runtime.

diff --git a/domain_test_service/index.html b/domain_test_service/index.html index abcc829d4b..1b2a737c4f 100644 --- a/domain_test_service/index.html +++ b/domain_test_service/index.html @@ -1,2 +1,2 @@ domain_test_service - Rust
Expand description

Crate used for testing with Domain.

-

Re-exports

Modules

  • Chain specification for the domain test runtime.
  • Utilities used for testing with the domain.
  • Set of test accounts.

Enums

Constants

Functions

\ No newline at end of file +

Re-exports

  • pub use keyring::Keyring as EcdsaKeyring;
  • pub use evm_domain_test_runtime;
  • pub use domain::*;

Modules

  • Chain specification for the domain test runtime.
  • Utilities used for testing with the domain.
  • Set of test accounts.

Enums

Constants

Functions

\ No newline at end of file diff --git a/help.html b/help.html index 091d019ec6..b22b2f67bb 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index b23a310238..f4b7c72f0c 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -33,7 +33,7 @@ "subspace_archiving":[["impl Clone for PiecesReconstructor"],["impl Clone for Reconstructor"],["impl Clone for Segment"],["impl Clone for Archiver"],["impl Clone for ReconstructedContents"],["impl Clone for ReconstructorError"],["impl Clone for SegmentItem"],["impl Clone for ReconstructorInstantiationError"],["impl Clone for ReconstructorError"],["impl Clone for ArchiverInstantiationError"],["impl Clone for ReconstructorInstantiationError"],["impl Clone for NewArchivedSegment"]], "subspace_core_primitives":[["impl Clone for SBucket"],["impl Clone for Record"],["impl<T: Clone> Clone for NonEmptyVec<T>"],["impl Clone for Polynomial"],["impl Clone for SegmentHeader"],["impl Clone for RecordWitness"],["impl Clone for PotProof"],["impl Clone for Kzg"],["impl Clone for FlatPieces"],["impl Clone for RecordedHistorySegment"],["impl Clone for SectorId"],["impl Clone for BlockObject"],["impl Clone for Commitment"],["impl Clone for PotKey"],["impl Clone for PotSeed"],["impl<PublicKey: Clone, RewardAddress: Clone> Clone for Solution<PublicKey, RewardAddress>"],["impl Clone for BlockObjectMapping"],["impl Clone for PublicKey"],["impl Clone for PieceArray"],["impl Clone for ArchivedBlockProgress"],["impl Clone for HistorySize"],["impl<T: Clone> Clone for Blake3Checksummed<T>"],["impl Clone for Piece"],["impl Clone for PosQualityBytes"],["impl Clone for PieceOffset"],["impl Clone for ArchivedHistorySegment"],["impl Clone for RawRecord"],["impl Clone for SegmentIndex"],["impl Clone for PosSeed"],["impl Clone for PotCheckpoint"],["impl Clone for SectorSlotChallenge"],["impl Clone for RewardSignature"],["impl Clone for PieceObjectMapping"],["impl Clone for LastArchivedBlock"],["impl Clone for PieceObject"],["impl Clone for GlobalObject"],["impl Clone for U256"],["impl Clone for Randomness"],["impl Clone for Witness"],["impl Clone for RecordCommitment"],["impl Clone for PieceIndex"],["impl Clone for Scalar"],["impl Clone for PosProof"]], "subspace_erasure_coding":[["impl Clone for ErasureCoding"]], -"subspace_farmer":[["impl Clone for ArchivalStoragePieces"],["impl Clone for PieceCache"],["impl Clone for Offset"],["impl Clone for SingleDiskSemaphore"],["impl Clone for NodeRpcClient"],["impl Clone for SingleDiskFarmId"],["impl Clone for DiskPieceCache"],["impl Clone for ArchivalStorageInfo"],["impl Clone for PieceReader"],["impl Clone for SingleDiskFarmInfo"],["impl Clone for Identity"]], +"subspace_farmer":[["impl Clone for ArchivalStoragePieces"],["impl Clone for Offset"],["impl Clone for PieceReader"],["impl Clone for PieceCache"],["impl Clone for DiskPieceCache"],["impl Clone for Identity"],["impl Clone for SingleDiskSemaphore"],["impl Clone for SingleDiskFarmId"],["impl Clone for SingleDiskFarmInfo"],["impl Clone for ArchivalStorageInfo"],["impl Clone for NodeRpcClient"]], "subspace_farmer_components":[["impl Clone for SectorMetadata"],["impl Clone for SectorContentsMapFromBytesError"],["impl Clone for PlottedSector"],["impl Clone for FarmerProtocolInfo"],["impl Clone for PlotRecord"],["impl<'a> Clone for SolutionCandidates<'a>"],["impl Clone for SectorContentsMapEncodeIntoError"],["impl Clone for SectorContentsMapIterationError"],["impl Clone for SectorMetadataChecksummed"],["impl Clone for SectorContentsMap"],["impl Clone for PieceGetterRetryPolicy"]], "subspace_fraud_proof":[["impl<VerifierBlock, ITPVerifier, ISTPVerifier> Clone for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>"],["impl<CBlock, CClient, Hash, Exec, VerifierClient> Clone for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n VerifierClient: Clone,"],["impl<Client, Block> Clone for VerifierClient<Client, Block>"],["impl<CBlock, CClient, Exec, Hash, VerifierClient> Clone for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n Exec: Clone,\n VerifierClient: Clone,"]], "subspace_networking":[["impl Clone for CuckooFilterDTO"],["impl Clone for RetryPolicy"],["impl<T: Clone> Clone for KeyWrapper<T>"],["impl Clone for PieceByIndexRequest"],["impl Clone for MultihashCode"],["impl Clone for SegmentHeaderRequest"],["impl Clone for Notification"],["impl<K: Clone> Clone for UniqueRecordBinaryHeap<K>"],["impl Clone for Config"],["impl Clone for Box<dyn RequestHandler>"],["impl Clone for PeerInfo"],["impl Clone for Node"],["impl Clone for SegmentHeaderResponse"],["impl Clone for PieceByIndexResponse"]], diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 84bedbab4f..b98f77da0c 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -23,7 +23,7 @@ "sp_lightclient":[["impl<Header: HeaderT> From<Error> for ImportError<Header>"]], "sp_messenger":[["impl From<u32> for ChainId"],["impl From<DomainId> for ChainId"]], "subspace_core_primitives":[["impl From<u16> for SBucket"],["impl From<PieceOffset> for u32"],["impl From<&Scalar> for [u8; 32]"],["impl From<SBucket> for u32"],["impl From<RewardSignature> for [u8; 64]"],["impl From<PieceOffset> for usize"],["impl From<PotKey> for PotBytes"],["impl From<Commitment> for FsG1"],["impl From<[u8; 31]> for Scalar"],["impl From<PieceOffset> for u16"],["impl From<&PieceArray> for Piece"],["impl From<Witness> for [u8; 48]"],["impl From<PotCheckpoint> for PotBytes"],["impl From<Scalar> for FsFr"],["impl From<u64> for SegmentIndex"],["impl From<PosSeed> for [u8; 32]"],["impl From<Randomness> for [u8; 32]"],["impl From<RecordCommitment> for [u8; 48]"],["impl From<PieceIndex> for u64"],["impl From<[u8; 48]> for RecordWitness"],["impl From<SBucket> for u16"],["impl From<u16> for PieceOffset"],["impl From<Commitment> for [u8; 48]"],["impl From<FsG1> for Witness"],["impl From<[u8; 64]> for RewardSignature"],["impl From<[u8; 16]> for PotSeed"],["impl From<[u8; 32]> for PosQualityBytes"],["impl From<&[u8; 31]> for Scalar"],["impl From<u16> for U256"],["impl From<Witness> for FsG1"],["impl From<PosProof> for [u8; 136]"],["impl From<PotSeed> for PotBytes"],["impl From<Piece> for Vec<u8>"],["impl From<u64> for PieceIndex"],["impl From<PublicKey> for [u8; 32]"],["impl From<Scalar> for [u8; 32]"],["impl From<[u8; 16]> for PotKey"],["impl From<PosQualityBytes> for [u8; 32]"],["impl From<u32> for U256"],["impl From<NonZeroU64> for HistorySize"],["impl From<HistorySize> for NonZeroU64"],["impl From<PieceOffset> for u64"],["impl From<u64> for U256"],["impl From<PieceArray> for FlatPieces"],["impl From<SegmentIndex> for u64"],["impl From<&Commitment> for [u8; 48]"],["impl From<u8> for U256"],["impl From<SBucket> for usize"],["impl From<[u8; 32]> for PublicKey"],["impl From<[u8; 48]> for RecordCommitment"],["impl From<[u8; 136]> for PosProof"],["impl From<&Witness> for [u8; 48]"],["impl From<FsG1> for Commitment"],["impl From<SegmentIndex> for HistorySize"],["impl From<FsPoly> for Polynomial"],["impl From<[u8; 16]> for PotCheckpoint"],["impl From<FsFr> for Scalar"],["impl From<RecordWitness> for [u8; 48]"],["impl From<[u8; 32]> for Randomness"],["impl From<[u8; 32]> for PosSeed"],["impl From<u128> for U256"]], -"subspace_farmer":[["impl From<Error> for SingleDiskFarmError"],["impl From<FarmingError> for BackgroundTaskError"],["impl From<ProvingError> for FarmingError"],["impl From<Ulid> for SingleDiskFarmId"],["impl From<PlottingError> for PlottingError"],["impl From<Error> for PlottingError"],["impl From<Error> for DiskPieceCacheError"],["impl From<PlottingError> for BackgroundTaskError"],["impl From<Error> for FarmingError"],["impl From<DiskPieceCacheError> for SingleDiskFarmError"]], +"subspace_farmer":[["impl From<FarmingError> for BackgroundTaskError"],["impl From<Ulid> for SingleDiskFarmId"],["impl From<Error> for FarmingError"],["impl From<Error> for SingleDiskFarmError"],["impl From<DiskPieceCacheError> for SingleDiskFarmError"],["impl From<Error> for DiskPieceCacheError"],["impl From<ProvingError> for FarmingError"],["impl From<PlottingError> for BackgroundTaskError"],["impl From<Error> for PlottingError"],["impl From<PlottingError> for PlottingError"]], "subspace_farmer_components":[["impl From<SectorContentsMapFromBytesError> for ReadingError"],["impl From<SectorContentsMapFromBytesError> for ProvingError"],["impl From<ReadingError> for ProvingError"],["impl From<SectorMetadata> for SectorMetadataChecksummed"]], "subspace_networking":[["impl From<Canceled> for SendRequestError"],["impl From<Error> for CreationError"],["impl From<SubscriptionError> for SubscribeError"],["impl From<MultihashCode> for u64"],["impl From<KeyWrapper<PieceIndex>> for Key"],["impl From<TransportError<Error>> for CreationError"],["impl From<Error> for NetworkParametersPersistenceError"],["impl From<Canceled> for SubscribeError"],["impl From<SendError> for SendRequestError"],["impl From<Error> for SendRequestError"],["impl From<SendError> for GetClosestPeersError"],["impl From<SendError> for SubscribeError"],["impl From<Canceled> for GetClosestPeersError"]], "subspace_runtime":[["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<RuntimeOrigin> for Result<Origin<Runtime>, RuntimeOrigin>"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for OriginCaller"],["impl From<Event> for RuntimeEvent"],["impl From<Event> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime, ()>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<OriginCaller> for RuntimeOrigin"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Option<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"]], diff --git a/implementors/core/error/trait.Error.js b/implementors/core/error/trait.Error.js index 2d080847a4..e1822f9d44 100644 --- a/implementors/core/error/trait.Error.js +++ b/implementors/core/error/trait.Error.js @@ -4,7 +4,7 @@ "sp_consensus_subspace":[["impl<Header: HeaderT> Error for VerificationError<Header>where\n Self: Debug + Display,"],["impl Error for Error"]], "sp_domains":[["impl Error for VerificationError"]], "subspace_archiving":[["impl Error for ReconstructorError"],["impl Error for ReconstructorError"],["impl Error for ReconstructorInstantiationError"],["impl Error for ArchiverInstantiationError"],["impl Error for ReconstructorInstantiationError"]], -"subspace_farmer":[["impl Error for FarmingError"],["impl Error for SingleDiskFarmError"],["impl Error for DiskPieceCacheError"],["impl Error for PlottingError"],["impl Error for BackgroundTaskError"]], +"subspace_farmer":[["impl Error for SingleDiskFarmScrubError"],["impl Error for SingleDiskFarmError"],["impl Error for DiskPieceCacheError"],["impl Error for BackgroundTaskError"],["impl Error for FarmingError"],["impl Error for PlottingError"]], "subspace_farmer_components":[["impl Error for ReadingError"],["impl Error for SectorContentsMapFromBytesError"],["impl Error for PlottingError"],["impl Error for SectorContentsMapEncodeIntoError"],["impl Error for ProvingError"],["impl Error for SectorContentsMapIterationError"]], "subspace_networking":[["impl Error for SendRequestError"],["impl Error for NetworkParametersPersistenceError"],["impl Error for SubscribeError"],["impl Error for CreationError"],["impl Error for GetClosestPeersError"]], "subspace_proof_of_time":[["impl Error for PotVerificationError"],["impl Error for PotInitError"]], diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 71c670d520..ee938887d3 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -31,7 +31,7 @@ "subspace_archiving":[["impl Debug for ReconstructedContents"],["impl Debug for NewArchivedSegment"],["impl Debug for PiecesReconstructor"],["impl Debug for ReconstructorInstantiationError"],["impl Debug for Reconstructor"],["impl Debug for Segment"],["impl Debug for ReconstructorError"],["impl Debug for Archiver"],["impl Debug for ArchiverInstantiationError"],["impl Debug for ReconstructorInstantiationError"],["impl Debug for ReconstructorError"],["impl Debug for SegmentItem"]], "subspace_core_primitives":[["impl<PublicKey: Debug, RewardAddress: Debug> Debug for Solution<PublicKey, RewardAddress>"],["impl Debug for ArchivedHistorySegment"],["impl Debug for Scalar"],["impl Debug for RecordWitness"],["impl Debug for PieceIndex"],["impl Debug for PieceArray"],["impl<T: Debug> Debug for NonEmptyVec<T>"],["impl Debug for PosProof"],["impl Debug for SegmentIndex"],["impl Debug for HistorySize"],["impl Debug for PotCheckpoint"],["impl Debug for NonEmptyVecErr"],["impl Debug for PieceObjectMapping"],["impl Debug for Polynomial"],["impl Debug for SectorSlotChallenge"],["impl Debug for BlockObjectMapping"],["impl Debug for RecordCommitment"],["impl Debug for PublicKey"],["impl Debug for PosQualityBytes"],["impl Debug for SBucket"],["impl Debug for SegmentHeader"],["impl Debug for PieceOffset"],["impl Debug for PotSeed"],["impl Debug for RecordedHistorySegment"],["impl Debug for Piece"],["impl Debug for Kzg"],["impl Debug for PosSeed"],["impl Debug for RewardSignature"],["impl<T: Debug> Debug for Blake3Checksummed<T>"],["impl Debug for LastArchivedBlock"],["impl Debug for PieceObject"],["impl Debug for PotProof"],["impl Debug for GlobalObject"],["impl Debug for ArchivedBlockProgress"],["impl Debug for SectorId"],["impl Debug for RawRecord"],["impl Debug for U256"],["impl Debug for PotKey"],["impl Debug for Witness"],["impl Debug for FlatPieces"],["impl Debug for Commitment"],["impl Debug for BlockObject"],["impl Debug for Randomness"],["impl Debug for Record"]], "subspace_erasure_coding":[["impl Debug for ErasureCoding"]], -"subspace_farmer":[["impl Debug for PlottingError"],["impl Debug for ReadersAndPieces"],["impl Debug for DiskPieceCache"],["impl Debug for DiskPieceCacheError"],["impl Debug for PieceReader"],["impl Debug for BackgroundTaskError"],["impl Debug for SingleDiskFarmInfo"],["impl Debug for ArchivalStorageInfo"],["impl Debug for ArchivalStoragePieces"],["impl Debug for SingleDiskFarmId"],["impl Debug for FarmingError"],["impl Debug for PieceCache"],["impl Debug for SingleDiskSemaphore"],["impl Debug for SingleDiskFarmError"],["impl Debug for NodeRpcClient"],["impl Debug for Offset"]], +"subspace_farmer":[["impl Debug for DiskPieceCacheError"],["impl Debug for ReadersAndPieces"],["impl Debug for SingleDiskFarmError"],["impl Debug for NodeRpcClient"],["impl Debug for SingleDiskFarmInfo"],["impl Debug for ArchivalStoragePieces"],["impl Debug for ArchivalStorageInfo"],["impl Debug for BackgroundTaskError"],["impl Debug for PieceCache"],["impl Debug for SingleDiskFarmScrubError"],["impl Debug for SingleDiskSemaphore"],["impl Debug for PlottingError"],["impl Debug for PieceReader"],["impl Debug for DiskPieceCache"],["impl Debug for FarmingError"],["impl Debug for SingleDiskFarmId"],["impl Debug for Offset"]], "subspace_farmer_components":[["impl Debug for SectorContentsMapEncodeIntoError"],["impl Debug for ReadingError"],["impl Debug for SectorContentsMap"],["impl<'a> Debug for SolutionCandidates<'a>"],["impl Debug for PlotRecord"],["impl Debug for SectorContentsMapIterationError"],["impl Debug for PieceGetterRetryPolicy"],["impl Debug for PlottedSector"],["impl Debug for SectorMetadataChecksummed"],["impl Debug for FarmerProtocolInfo"],["impl Debug for SectorContentsMapFromBytesError"],["impl Debug for PlottingError"],["impl Debug for ProvingError"],["impl Debug for SectorMetadata"]], "subspace_networking":[["impl Debug for CreationError"],["impl Debug for Node"],["impl Debug for SendRequestError"],["impl<T: Debug> Debug for KeyWrapper<T>"],["impl Debug for NewPeerInfo"],["impl Debug for GetClosestPeersError"],["impl<K: Debug> Debug for UniqueRecordBinaryHeap<K>"],["impl Debug for PieceByIndexResponse"],["impl Debug for RetryPolicy"],["impl Debug for SegmentHeaderResponse"],["impl Debug for MultihashCode"],["impl Debug for CuckooFilterDTO"],["impl Debug for PeerInfo"],["impl Debug for Config"],["impl Debug for PeerInfoProvider"],["impl Debug for PieceByIndexRequest"],["impl Debug for TopicSubscription"],["impl<LocalRecordProvider> Debug for Config<LocalRecordProvider>"],["impl Debug for Notification"],["impl Debug for NetworkParametersPersistenceError"],["impl Debug for SubscribeError"],["impl Debug for SegmentHeaderRequest"]], "subspace_node":[["impl Debug for Cli"],["impl Debug for PurgeChainCmd"],["impl Debug for DomainCli"],["impl Debug for CliPotRole"],["impl Debug for Subcommand"],["impl Debug for Subcommand"]], diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index cc6c6a3393..070595090d 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -5,7 +5,7 @@ "sp_domains":[["impl Display for VerificationError"]], "subspace_archiving":[["impl Display for ReconstructorError"],["impl Display for ReconstructorInstantiationError"],["impl Display for ReconstructorInstantiationError"],["impl Display for ReconstructorError"],["impl Display for ArchiverInstantiationError"]], "subspace_core_primitives":[["impl Display for PotProof"],["impl Display for PieceOffset"],["impl Display for PieceIndex"],["impl Display for U256"],["impl Display for SBucket"],["impl Display for PublicKey"],["impl Display for SegmentIndex"],["impl Display for HistorySize"]], -"subspace_farmer":[["impl Display for DiskPieceCacheError"],["impl Display for SingleDiskFarmId"],["impl Display for Offset"],["impl Display for BackgroundTaskError"],["impl Display for PlottingError"],["impl Display for FarmingError"],["impl Display for SingleDiskFarmError"]], +"subspace_farmer":[["impl Display for BackgroundTaskError"],["impl Display for PlottingError"],["impl Display for SingleDiskFarmError"],["impl Display for FarmingError"],["impl Display for Offset"],["impl Display for SingleDiskFarmScrubError"],["impl Display for SingleDiskFarmId"],["impl Display for DiskPieceCacheError"]], "subspace_farmer_components":[["impl Display for PlottingError"],["impl Display for ReadingError"],["impl Display for SectorContentsMapFromBytesError"],["impl Display for SectorContentsMapEncodeIntoError"],["impl Display for ProvingError"],["impl Display for SectorContentsMapIterationError"]], "subspace_networking":[["impl Display for SendRequestError"],["impl Display for NetworkParametersPersistenceError"],["impl Display for GetClosestPeersError"],["impl Display for CreationError"],["impl Display for SubscribeError"]], "subspace_proof_of_time":[["impl Display for PotInitError"],["impl Display for PotVerificationError"]], diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 1d9dd3a9f8..a6ba810f72 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl Freeze for Segment",1,["subspace_archiving::archiver::Segment"]],["impl Freeze for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl Freeze for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl Freeze for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl Freeze for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl Freeze for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl Freeze for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl Freeze for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl Freeze for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl Freeze for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl Freeze for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl Freeze for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> Freeze for Blake3Checksummed<T>where\n T: Freeze,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl Freeze for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl Freeze for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl Freeze for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl Freeze for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl Freeze for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl Freeze for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl Freeze for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl Freeze for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl Freeze for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl Freeze for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl Freeze for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl Freeze for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl Freeze for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl Freeze for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl Freeze for Record",1,["subspace_core_primitives::pieces::Record"]],["impl Freeze for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl Freeze for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl Freeze for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl Freeze for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl Freeze for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl Freeze for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl Freeze for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl Freeze for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl Freeze for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl Freeze for Randomness",1,["subspace_core_primitives::Randomness"]],["impl Freeze for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl Freeze for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl Freeze for PosProof",1,["subspace_core_primitives::PosProof"]],["impl Freeze for PotKey",1,["subspace_core_primitives::PotKey"]],["impl Freeze for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl Freeze for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl Freeze for PotProof",1,["subspace_core_primitives::PotProof"]],["impl Freeze for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl Freeze for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl Freeze for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl Freeze for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl Freeze for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> Freeze for Solution<PublicKey, RewardAddress>where\n PublicKey: Freeze,\n RewardAddress: Freeze,",1,["subspace_core_primitives::Solution"]],["impl Freeze for U256",1,["subspace_core_primitives::U256"]],["impl Freeze for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl Freeze for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> Freeze for NonEmptyVec<T>",1,["subspace_core_primitives::NonEmptyVec"]],["impl Freeze for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl Freeze for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl Freeze for Identity",1,["subspace_farmer::identity::Identity"]],["impl Freeze for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Freeze for CacheWorker<NC>where\n NC: Freeze,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Freeze for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Freeze for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Freeze for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Freeze for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Freeze for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Freeze for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Freeze for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Freeze for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Freeze for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Freeze for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Freeze for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Freeze for SingleDiskFarmOptions<NC, PG>where\n NC: Freeze,\n PG: Freeze,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Freeze for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Freeze for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !Freeze for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Freeze for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Freeze for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Freeze for FarmerPieceGetter<PV, NC>where\n NC: Freeze,\n PV: Freeze,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !Freeze for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Freeze for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl Freeze for Identity",1,["subspace_farmer::identity::Identity"]],["impl Freeze for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Freeze for CacheWorker<NC>where\n NC: Freeze,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Freeze for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Freeze for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Freeze for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Freeze for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Freeze for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Freeze for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Freeze for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Freeze for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Freeze for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Freeze for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Freeze for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Freeze for SingleDiskFarmOptions<NC, PG>where\n NC: Freeze,\n PG: Freeze,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Freeze for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Freeze for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl Freeze for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !Freeze for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Freeze for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Freeze for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Freeze for FarmerPieceGetter<PV, NC>where\n NC: Freeze,\n PV: Freeze,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !Freeze for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Freeze for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl Freeze for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl Freeze for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl Freeze for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl Freeze for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> Freeze for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl Freeze for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl Freeze for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl Freeze for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl Freeze for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> Freeze for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl Freeze for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl Freeze for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl Freeze for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl Freeze for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl Freeze for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> Freeze for ExecutionProver<Block, B, Exec>",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> Freeze for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n Exec: Freeze,\n VerifierClient: Freeze,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> Freeze for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n VerifierClient: Freeze,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> Freeze for VerifierClient<Client, Block>",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> Freeze for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl Freeze for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl Freeze for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> Freeze for Config<LocalRecordProvider>where\n LocalRecordProvider: Freeze,",1,["subspace_networking::create::Config"]],["impl Freeze for CreationError",1,["subspace_networking::create::CreationError"]],["impl Freeze for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl Freeze for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl Freeze for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl Freeze for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl Freeze for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !Freeze for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl Freeze for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl Freeze for Notification",1,["subspace_networking::peer_info::Notification"]],["impl Freeze for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl Freeze for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl Freeze for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> Freeze for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl Freeze for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl Freeze for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl Freeze for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl Freeze for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl Freeze for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl Freeze for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl Freeze for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl Freeze for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> Freeze for PieceProvider<PV>where\n PV: Freeze,",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> Freeze for KeyWrapper<T>where\n T: Freeze,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> Freeze for UniqueRecordBinaryHeap<K>",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index ba65adf16d..9d27576c4e 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl Send for Segment",1,["subspace_archiving::archiver::Segment"]],["impl Send for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl Send for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl Send for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl Send for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl Send for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl Send for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl Send for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl Send for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl Send for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl Send for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl Send for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> Send for Blake3Checksummed<T>where\n T: Send,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl Send for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl Send for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl Send for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl Send for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl Send for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl Send for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl Send for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl Send for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl Send for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl Send for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl Send for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl Send for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl Send for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl Send for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl Send for Record",1,["subspace_core_primitives::pieces::Record"]],["impl Send for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl Send for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl Send for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl Send for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl Send for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl Send for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl Send for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl Send for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl Send for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl Send for Randomness",1,["subspace_core_primitives::Randomness"]],["impl Send for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl Send for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl Send for PosProof",1,["subspace_core_primitives::PosProof"]],["impl Send for PotKey",1,["subspace_core_primitives::PotKey"]],["impl Send for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl Send for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl Send for PotProof",1,["subspace_core_primitives::PotProof"]],["impl Send for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl Send for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl Send for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl Send for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl Send for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> Send for Solution<PublicKey, RewardAddress>where\n PublicKey: Send,\n RewardAddress: Send,",1,["subspace_core_primitives::Solution"]],["impl Send for U256",1,["subspace_core_primitives::U256"]],["impl Send for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl Send for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> Send for NonEmptyVec<T>where\n T: Send,",1,["subspace_core_primitives::NonEmptyVec"]],["impl Send for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl Send for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl Send for Identity",1,["subspace_farmer::identity::Identity"]],["impl Send for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Send for CacheWorker<NC>where\n NC: Send,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Send for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Send for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Send for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Send for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Send for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Send for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Send for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Send for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Send for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Send for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Send for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Send for SingleDiskFarmOptions<NC, PG>where\n NC: Send,\n PG: Send,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Send for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Send for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl Send for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Send for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Send for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Send for FarmerPieceGetter<PV, NC>where\n NC: Send,\n PV: Send,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Send for SegmentCommitmentPieceValidator<NC>where\n NC: Send,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Send for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl Send for Identity",1,["subspace_farmer::identity::Identity"]],["impl Send for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Send for CacheWorker<NC>where\n NC: Send,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Send for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Send for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Send for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Send for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Send for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Send for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Send for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Send for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Send for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Send for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Send for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Send for SingleDiskFarmOptions<NC, PG>where\n NC: Send,\n PG: Send,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Send for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Send for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl Send for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl Send for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Send for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Send for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Send for FarmerPieceGetter<PV, NC>where\n NC: Send,\n PV: Send,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Send for SegmentCommitmentPieceValidator<NC>where\n NC: Send,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Send for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl Send for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl Send for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl Send for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl Send for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> Send for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl Send for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl Send for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl Send for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl Send for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> Send for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl Send for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl Send for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl Send for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl Send for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl Send for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> Send for ExecutionProver<Block, B, Exec>where\n B: Send + Sync,\n Block: Send,\n Exec: Send + Sync,",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> Send for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n CBlock: Send,\n CClient: Send + Sync,\n Exec: Send,\n Hash: Send,\n VerifierClient: Send,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> Send for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n CBlock: Send,\n CClient: Send + Sync,\n Exec: Send + Sync,\n Hash: Send,\n VerifierClient: Send,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> Send for VerifierClient<Client, Block>where\n Block: Send,\n Client: Send + Sync,",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> Send for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>where\n ISTPVerifier: Send + Sync,\n ITPVerifier: Send + Sync,\n VerifierBlock: Send,",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl Send for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl Send for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> Send for Config<LocalRecordProvider>where\n LocalRecordProvider: Send,",1,["subspace_networking::create::Config"]],["impl Send for CreationError",1,["subspace_networking::create::CreationError"]],["impl Send for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl Send for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl Send for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl Send for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl Send for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> Send for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl Send for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl Send for Notification",1,["subspace_networking::peer_info::Notification"]],["impl Send for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl Send for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl Send for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> Send for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl Send for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl Send for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl Send for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl Send for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl Send for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl Send for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl Send for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl Send for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> Send for PieceProvider<PV>where\n PV: Send,",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> Send for KeyWrapper<T>where\n T: Send,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> Send for UniqueRecordBinaryHeap<K>where\n K: Send,",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 8516947a11..20f6fc78fe 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl Sync for Segment",1,["subspace_archiving::archiver::Segment"]],["impl Sync for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl Sync for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl Sync for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl Sync for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl Sync for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl Sync for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl Sync for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl Sync for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl Sync for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl Sync for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl Sync for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> Sync for Blake3Checksummed<T>where\n T: Sync,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl Sync for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl Sync for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl Sync for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl Sync for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl Sync for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl Sync for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl Sync for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl Sync for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl Sync for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl Sync for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl Sync for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl Sync for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl Sync for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl Sync for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl Sync for Record",1,["subspace_core_primitives::pieces::Record"]],["impl Sync for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl Sync for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl Sync for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl Sync for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl Sync for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl Sync for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl Sync for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl Sync for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl Sync for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl Sync for Randomness",1,["subspace_core_primitives::Randomness"]],["impl Sync for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl Sync for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl Sync for PosProof",1,["subspace_core_primitives::PosProof"]],["impl Sync for PotKey",1,["subspace_core_primitives::PotKey"]],["impl Sync for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl Sync for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl Sync for PotProof",1,["subspace_core_primitives::PotProof"]],["impl Sync for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl Sync for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl Sync for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl Sync for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl Sync for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> Sync for Solution<PublicKey, RewardAddress>where\n PublicKey: Sync,\n RewardAddress: Sync,",1,["subspace_core_primitives::Solution"]],["impl Sync for U256",1,["subspace_core_primitives::U256"]],["impl Sync for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl Sync for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> Sync for NonEmptyVec<T>where\n T: Sync,",1,["subspace_core_primitives::NonEmptyVec"]],["impl Sync for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl Sync for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl Sync for Identity",1,["subspace_farmer::identity::Identity"]],["impl Sync for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Sync for CacheWorker<NC>where\n NC: Sync,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Sync for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Sync for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Sync for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Sync for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Sync for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Sync for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Sync for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Sync for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Sync for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Sync for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Sync for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Sync for SingleDiskFarmOptions<NC, PG>where\n NC: Sync,\n PG: Sync,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Sync for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Sync for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !Sync for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Sync for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Sync for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Sync for FarmerPieceGetter<PV, NC>where\n NC: Sync,\n PV: Sync,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Sync for SegmentCommitmentPieceValidator<NC>where\n NC: Sync,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Sync for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl Sync for Identity",1,["subspace_farmer::identity::Identity"]],["impl Sync for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Sync for CacheWorker<NC>where\n NC: Sync,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Sync for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Sync for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Sync for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Sync for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Sync for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Sync for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Sync for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Sync for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Sync for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Sync for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Sync for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Sync for SingleDiskFarmOptions<NC, PG>where\n NC: Sync,\n PG: Sync,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Sync for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Sync for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl Sync for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !Sync for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Sync for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Sync for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Sync for FarmerPieceGetter<PV, NC>where\n NC: Sync,\n PV: Sync,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Sync for SegmentCommitmentPieceValidator<NC>where\n NC: Sync,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Sync for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl Sync for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl Sync for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl Sync for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl Sync for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> Sync for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl Sync for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl Sync for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl Sync for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl Sync for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> Sync for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl Sync for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl Sync for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl Sync for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl Sync for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl Sync for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> Sync for ExecutionProver<Block, B, Exec>where\n B: Send + Sync,\n Block: Sync,\n Exec: Send + Sync,",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> Sync for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n CBlock: Sync,\n CClient: Send + Sync,\n Exec: Sync,\n Hash: Sync,\n VerifierClient: Sync,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> Sync for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n CBlock: Sync,\n CClient: Send + Sync,\n Exec: Send + Sync,\n Hash: Sync,\n VerifierClient: Sync,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> Sync for VerifierClient<Client, Block>where\n Block: Sync,\n Client: Send + Sync,",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> Sync for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>where\n ISTPVerifier: Send + Sync,\n ITPVerifier: Send + Sync,\n VerifierBlock: Sync,",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl Sync for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl Sync for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> !Sync for Config<LocalRecordProvider>",1,["subspace_networking::create::Config"]],["impl Sync for CreationError",1,["subspace_networking::create::CreationError"]],["impl Sync for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl Sync for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl Sync for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl Sync for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl Sync for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !Sync for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl Sync for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl Sync for Notification",1,["subspace_networking::peer_info::Notification"]],["impl Sync for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl Sync for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl !Sync for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> Sync for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl Sync for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl Sync for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl Sync for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl Sync for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl Sync for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl Sync for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl Sync for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl Sync for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> Sync for PieceProvider<PV>where\n PV: Sync,",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> Sync for KeyWrapper<T>where\n T: Sync,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> Sync for UniqueRecordBinaryHeap<K>where\n K: Sync,",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index cef70b07fd..488c89ba1c 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl Unpin for Segment",1,["subspace_archiving::archiver::Segment"]],["impl Unpin for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl Unpin for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl Unpin for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl Unpin for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl Unpin for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl Unpin for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl Unpin for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl Unpin for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl Unpin for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl Unpin for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl Unpin for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> Unpin for Blake3Checksummed<T>where\n T: Unpin,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl Unpin for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl Unpin for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl Unpin for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl Unpin for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl Unpin for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl Unpin for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl Unpin for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl Unpin for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl Unpin for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl Unpin for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl Unpin for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl Unpin for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl Unpin for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl Unpin for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl Unpin for Record",1,["subspace_core_primitives::pieces::Record"]],["impl Unpin for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl Unpin for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl Unpin for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl Unpin for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl Unpin for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl Unpin for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl Unpin for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl Unpin for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl Unpin for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl Unpin for Randomness",1,["subspace_core_primitives::Randomness"]],["impl Unpin for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl Unpin for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl Unpin for PosProof",1,["subspace_core_primitives::PosProof"]],["impl Unpin for PotKey",1,["subspace_core_primitives::PotKey"]],["impl Unpin for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl Unpin for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl Unpin for PotProof",1,["subspace_core_primitives::PotProof"]],["impl Unpin for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl Unpin for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl Unpin for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl Unpin for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl Unpin for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> Unpin for Solution<PublicKey, RewardAddress>where\n PublicKey: Unpin,\n RewardAddress: Unpin,",1,["subspace_core_primitives::Solution"]],["impl Unpin for U256",1,["subspace_core_primitives::U256"]],["impl Unpin for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl Unpin for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> Unpin for NonEmptyVec<T>where\n T: Unpin,",1,["subspace_core_primitives::NonEmptyVec"]],["impl Unpin for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl Unpin for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl Unpin for Identity",1,["subspace_farmer::identity::Identity"]],["impl Unpin for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Unpin for CacheWorker<NC>where\n NC: Unpin,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Unpin for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Unpin for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Unpin for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Unpin for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Unpin for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Unpin for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Unpin for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Unpin for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Unpin for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Unpin for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Unpin for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Unpin for SingleDiskFarmOptions<NC, PG>where\n NC: Unpin,\n PG: Unpin,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Unpin for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Unpin for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl Unpin for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Unpin for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Unpin for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Unpin for FarmerPieceGetter<PV, NC>where\n NC: Unpin,\n PV: Unpin,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Unpin for SegmentCommitmentPieceValidator<NC>where\n NC: Unpin,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Unpin for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl Unpin for Identity",1,["subspace_farmer::identity::Identity"]],["impl Unpin for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> Unpin for CacheWorker<NC>where\n NC: Unpin,",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl Unpin for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl Unpin for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl Unpin for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl Unpin for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl Unpin for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl Unpin for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl Unpin for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl Unpin for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl Unpin for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl Unpin for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl Unpin for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> Unpin for SingleDiskFarmOptions<NC, PG>where\n NC: Unpin,\n PG: Unpin,",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl Unpin for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl Unpin for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl Unpin for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl Unpin for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Unpin for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl Unpin for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> Unpin for FarmerPieceGetter<PV, NC>where\n NC: Unpin,\n PV: Unpin,",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> Unpin for SegmentCommitmentPieceValidator<NC>where\n NC: Unpin,",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl Unpin for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl Unpin for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl Unpin for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl Unpin for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl Unpin for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> Unpin for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl Unpin for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl Unpin for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl Unpin for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl Unpin for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> Unpin for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl Unpin for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl Unpin for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl Unpin for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl Unpin for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl Unpin for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> Unpin for ExecutionProver<Block, B, Exec>where\n Block: Unpin,",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> Unpin for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n CBlock: Unpin,\n Exec: Unpin,\n Hash: Unpin,\n VerifierClient: Unpin,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> Unpin for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n CBlock: Unpin,\n Hash: Unpin,\n VerifierClient: Unpin,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> Unpin for VerifierClient<Client, Block>where\n Block: Unpin,",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> Unpin for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>where\n VerifierBlock: Unpin,",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl Unpin for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl Unpin for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> Unpin for Config<LocalRecordProvider>where\n LocalRecordProvider: Unpin,",1,["subspace_networking::create::Config"]],["impl Unpin for CreationError",1,["subspace_networking::create::CreationError"]],["impl Unpin for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl Unpin for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl Unpin for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl Unpin for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> Unpin for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl Unpin for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl Unpin for Notification",1,["subspace_networking::peer_info::Notification"]],["impl Unpin for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl Unpin for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl Unpin for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> Unpin for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl Unpin for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl Unpin for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl Unpin for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl Unpin for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl Unpin for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl Unpin for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl Unpin for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl Unpin for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> Unpin for PieceProvider<PV>where\n PV: Unpin,",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> Unpin for KeyWrapper<T>where\n T: Unpin,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> Unpin for UniqueRecordBinaryHeap<K>",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]],["impl<'pin> Unpin for TopicSubscriptionwhere\n __TopicSubscription<'pin>: Unpin,"]], diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index e43ae9e8a7..4b85ce751f 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl RefUnwindSafe for Segment",1,["subspace_archiving::archiver::Segment"]],["impl RefUnwindSafe for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl RefUnwindSafe for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl RefUnwindSafe for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl !RefUnwindSafe for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl RefUnwindSafe for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl RefUnwindSafe for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl !RefUnwindSafe for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl RefUnwindSafe for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl RefUnwindSafe for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl RefUnwindSafe for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl RefUnwindSafe for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> RefUnwindSafe for Blake3Checksummed<T>where\n T: RefUnwindSafe,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl RefUnwindSafe for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl RefUnwindSafe for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl RefUnwindSafe for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl !RefUnwindSafe for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl RefUnwindSafe for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl RefUnwindSafe for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl RefUnwindSafe for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl RefUnwindSafe for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl RefUnwindSafe for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl RefUnwindSafe for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl RefUnwindSafe for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl RefUnwindSafe for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl RefUnwindSafe for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl RefUnwindSafe for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl RefUnwindSafe for Record",1,["subspace_core_primitives::pieces::Record"]],["impl RefUnwindSafe for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl RefUnwindSafe for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl RefUnwindSafe for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl RefUnwindSafe for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl RefUnwindSafe for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl RefUnwindSafe for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl RefUnwindSafe for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl RefUnwindSafe for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl RefUnwindSafe for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl RefUnwindSafe for Randomness",1,["subspace_core_primitives::Randomness"]],["impl RefUnwindSafe for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl RefUnwindSafe for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl RefUnwindSafe for PosProof",1,["subspace_core_primitives::PosProof"]],["impl RefUnwindSafe for PotKey",1,["subspace_core_primitives::PotKey"]],["impl RefUnwindSafe for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl RefUnwindSafe for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl RefUnwindSafe for PotProof",1,["subspace_core_primitives::PotProof"]],["impl RefUnwindSafe for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl RefUnwindSafe for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl RefUnwindSafe for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl RefUnwindSafe for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl RefUnwindSafe for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> RefUnwindSafe for Solution<PublicKey, RewardAddress>where\n PublicKey: RefUnwindSafe,\n RewardAddress: RefUnwindSafe,",1,["subspace_core_primitives::Solution"]],["impl RefUnwindSafe for U256",1,["subspace_core_primitives::U256"]],["impl RefUnwindSafe for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl RefUnwindSafe for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> RefUnwindSafe for NonEmptyVec<T>where\n T: RefUnwindSafe,",1,["subspace_core_primitives::NonEmptyVec"]],["impl RefUnwindSafe for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl RefUnwindSafe for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl RefUnwindSafe for Identity",1,["subspace_farmer::identity::Identity"]],["impl !RefUnwindSafe for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> !RefUnwindSafe for CacheWorker<NC>",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl !RefUnwindSafe for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl !RefUnwindSafe for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl !RefUnwindSafe for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl RefUnwindSafe for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl RefUnwindSafe for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl !RefUnwindSafe for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl !RefUnwindSafe for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl RefUnwindSafe for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl RefUnwindSafe for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl RefUnwindSafe for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl !RefUnwindSafe for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> !RefUnwindSafe for SingleDiskFarmOptions<NC, PG>",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl !RefUnwindSafe for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl !RefUnwindSafe for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !RefUnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl !RefUnwindSafe for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl !RefUnwindSafe for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> !RefUnwindSafe for FarmerPieceGetter<PV, NC>",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !RefUnwindSafe for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl !RefUnwindSafe for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl RefUnwindSafe for Identity",1,["subspace_farmer::identity::Identity"]],["impl !RefUnwindSafe for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> !RefUnwindSafe for CacheWorker<NC>",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl !RefUnwindSafe for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl !RefUnwindSafe for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl !RefUnwindSafe for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl RefUnwindSafe for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl RefUnwindSafe for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl !RefUnwindSafe for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl !RefUnwindSafe for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl RefUnwindSafe for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl RefUnwindSafe for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl RefUnwindSafe for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl !RefUnwindSafe for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> !RefUnwindSafe for SingleDiskFarmOptions<NC, PG>",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl !RefUnwindSafe for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl !RefUnwindSafe for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl !RefUnwindSafe for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !RefUnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl !RefUnwindSafe for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl !RefUnwindSafe for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> !RefUnwindSafe for FarmerPieceGetter<PV, NC>",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !RefUnwindSafe for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl !RefUnwindSafe for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl RefUnwindSafe for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl RefUnwindSafe for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl !RefUnwindSafe for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl RefUnwindSafe for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> RefUnwindSafe for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl RefUnwindSafe for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl RefUnwindSafe for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl RefUnwindSafe for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl RefUnwindSafe for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> RefUnwindSafe for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl RefUnwindSafe for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl RefUnwindSafe for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl RefUnwindSafe for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl RefUnwindSafe for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl RefUnwindSafe for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> RefUnwindSafe for ExecutionProver<Block, B, Exec>where\n B: RefUnwindSafe,\n Block: RefUnwindSafe,\n Exec: RefUnwindSafe,",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> RefUnwindSafe for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n CBlock: RefUnwindSafe,\n CClient: RefUnwindSafe,\n Exec: RefUnwindSafe,\n Hash: RefUnwindSafe,\n VerifierClient: RefUnwindSafe,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> RefUnwindSafe for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n CBlock: RefUnwindSafe,\n CClient: RefUnwindSafe,\n Exec: RefUnwindSafe,\n Hash: RefUnwindSafe,\n VerifierClient: RefUnwindSafe,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> RefUnwindSafe for VerifierClient<Client, Block>where\n Block: RefUnwindSafe,\n Client: RefUnwindSafe,",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> RefUnwindSafe for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>where\n ISTPVerifier: RefUnwindSafe,\n ITPVerifier: RefUnwindSafe,\n VerifierBlock: RefUnwindSafe,",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl !RefUnwindSafe for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl !RefUnwindSafe for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> !RefUnwindSafe for Config<LocalRecordProvider>",1,["subspace_networking::create::Config"]],["impl !RefUnwindSafe for CreationError",1,["subspace_networking::create::CreationError"]],["impl !RefUnwindSafe for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl RefUnwindSafe for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl !RefUnwindSafe for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl RefUnwindSafe for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl !RefUnwindSafe for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !RefUnwindSafe for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl RefUnwindSafe for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl RefUnwindSafe for Notification",1,["subspace_networking::peer_info::Notification"]],["impl RefUnwindSafe for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl RefUnwindSafe for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl !RefUnwindSafe for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> !RefUnwindSafe for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl RefUnwindSafe for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl RefUnwindSafe for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl RefUnwindSafe for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl RefUnwindSafe for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl RefUnwindSafe for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl RefUnwindSafe for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl RefUnwindSafe for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl RefUnwindSafe for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> !RefUnwindSafe for PieceProvider<PV>",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> RefUnwindSafe for KeyWrapper<T>where\n T: RefUnwindSafe,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> RefUnwindSafe for UniqueRecordBinaryHeap<K>where\n K: RefUnwindSafe,",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index d9adedb722..aeaba4298e 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -39,7 +39,7 @@ "subspace_archiving":[["impl UnwindSafe for Segment",1,["subspace_archiving::archiver::Segment"]],["impl UnwindSafe for SegmentItem",1,["subspace_archiving::archiver::SegmentItem"]],["impl UnwindSafe for NewArchivedSegment",1,["subspace_archiving::archiver::NewArchivedSegment"]],["impl UnwindSafe for ArchiverInstantiationError",1,["subspace_archiving::archiver::ArchiverInstantiationError"]],["impl !UnwindSafe for Archiver",1,["subspace_archiving::archiver::Archiver"]],["impl UnwindSafe for ReconstructorInstantiationError",1,["subspace_archiving::piece_reconstructor::ReconstructorInstantiationError"]],["impl UnwindSafe for ReconstructorError",1,["subspace_archiving::piece_reconstructor::ReconstructorError"]],["impl !UnwindSafe for PiecesReconstructor",1,["subspace_archiving::piece_reconstructor::PiecesReconstructor"]],["impl UnwindSafe for ReconstructorInstantiationError",1,["subspace_archiving::reconstructor::ReconstructorInstantiationError"]],["impl UnwindSafe for ReconstructorError",1,["subspace_archiving::reconstructor::ReconstructorError"]],["impl UnwindSafe for ReconstructedContents",1,["subspace_archiving::reconstructor::ReconstructedContents"]],["impl UnwindSafe for Reconstructor",1,["subspace_archiving::reconstructor::Reconstructor"]]], "subspace_core_primitives":[["impl<T> UnwindSafe for Blake3Checksummed<T>where\n T: UnwindSafe,",1,["subspace_core_primitives::checksum::Blake3Checksummed"]],["impl UnwindSafe for Polynomial",1,["subspace_core_primitives::crypto::kzg::Polynomial"]],["impl UnwindSafe for Commitment",1,["subspace_core_primitives::crypto::kzg::Commitment"]],["impl UnwindSafe for Witness",1,["subspace_core_primitives::crypto::kzg::Witness"]],["impl !UnwindSafe for Kzg",1,["subspace_core_primitives::crypto::kzg::Kzg"]],["impl UnwindSafe for Scalar",1,["subspace_core_primitives::crypto::Scalar"]],["impl UnwindSafe for BlockObject",1,["subspace_core_primitives::objects::BlockObject"]],["impl UnwindSafe for BlockObjectMapping",1,["subspace_core_primitives::objects::BlockObjectMapping"]],["impl UnwindSafe for PieceObject",1,["subspace_core_primitives::objects::PieceObject"]],["impl UnwindSafe for PieceObjectMapping",1,["subspace_core_primitives::objects::PieceObjectMapping"]],["impl UnwindSafe for GlobalObject",1,["subspace_core_primitives::objects::GlobalObject"]],["impl UnwindSafe for SBucket",1,["subspace_core_primitives::pieces::SBucket"]],["impl UnwindSafe for PieceIndex",1,["subspace_core_primitives::pieces::PieceIndex"]],["impl UnwindSafe for PieceOffset",1,["subspace_core_primitives::pieces::PieceOffset"]],["impl UnwindSafe for RawRecord",1,["subspace_core_primitives::pieces::RawRecord"]],["impl UnwindSafe for Record",1,["subspace_core_primitives::pieces::Record"]],["impl UnwindSafe for RecordCommitment",1,["subspace_core_primitives::pieces::RecordCommitment"]],["impl UnwindSafe for RecordWitness",1,["subspace_core_primitives::pieces::RecordWitness"]],["impl UnwindSafe for Piece",1,["subspace_core_primitives::pieces::Piece"]],["impl UnwindSafe for PieceArray",1,["subspace_core_primitives::pieces::PieceArray"]],["impl UnwindSafe for FlatPieces",1,["subspace_core_primitives::pieces::FlatPieces"]],["impl UnwindSafe for SegmentIndex",1,["subspace_core_primitives::segments::SegmentIndex"]],["impl UnwindSafe for HistorySize",1,["subspace_core_primitives::segments::HistorySize"]],["impl UnwindSafe for RecordedHistorySegment",1,["subspace_core_primitives::segments::RecordedHistorySegment"]],["impl UnwindSafe for ArchivedHistorySegment",1,["subspace_core_primitives::segments::ArchivedHistorySegment"]],["impl UnwindSafe for Randomness",1,["subspace_core_primitives::Randomness"]],["impl UnwindSafe for PosSeed",1,["subspace_core_primitives::PosSeed"]],["impl UnwindSafe for PosQualityBytes",1,["subspace_core_primitives::PosQualityBytes"]],["impl UnwindSafe for PosProof",1,["subspace_core_primitives::PosProof"]],["impl UnwindSafe for PotKey",1,["subspace_core_primitives::PotKey"]],["impl UnwindSafe for PotSeed",1,["subspace_core_primitives::PotSeed"]],["impl UnwindSafe for PotCheckpoint",1,["subspace_core_primitives::PotCheckpoint"]],["impl UnwindSafe for PotProof",1,["subspace_core_primitives::PotProof"]],["impl UnwindSafe for PublicKey",1,["subspace_core_primitives::PublicKey"]],["impl UnwindSafe for RewardSignature",1,["subspace_core_primitives::RewardSignature"]],["impl UnwindSafe for ArchivedBlockProgress",1,["subspace_core_primitives::ArchivedBlockProgress"]],["impl UnwindSafe for LastArchivedBlock",1,["subspace_core_primitives::LastArchivedBlock"]],["impl UnwindSafe for SegmentHeader",1,["subspace_core_primitives::SegmentHeader"]],["impl<PublicKey, RewardAddress> UnwindSafe for Solution<PublicKey, RewardAddress>where\n PublicKey: UnwindSafe,\n RewardAddress: UnwindSafe,",1,["subspace_core_primitives::Solution"]],["impl UnwindSafe for U256",1,["subspace_core_primitives::U256"]],["impl UnwindSafe for SectorSlotChallenge",1,["subspace_core_primitives::SectorSlotChallenge"]],["impl UnwindSafe for SectorId",1,["subspace_core_primitives::SectorId"]],["impl<T> UnwindSafe for NonEmptyVec<T>where\n T: UnwindSafe,",1,["subspace_core_primitives::NonEmptyVec"]],["impl UnwindSafe for NonEmptyVecErr",1,["subspace_core_primitives::NonEmptyVecErr"]]], "subspace_erasure_coding":[["impl UnwindSafe for ErasureCoding",1,["subspace_erasure_coding::ErasureCoding"]]], -"subspace_farmer":[["impl UnwindSafe for Identity",1,["subspace_farmer::identity::Identity"]],["impl !UnwindSafe for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> !UnwindSafe for CacheWorker<NC>",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl !UnwindSafe for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl !UnwindSafe for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl !UnwindSafe for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl UnwindSafe for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl UnwindSafe for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl !UnwindSafe for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl !UnwindSafe for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl UnwindSafe for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl UnwindSafe for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl UnwindSafe for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl !UnwindSafe for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> !UnwindSafe for SingleDiskFarmOptions<NC, PG>",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl !UnwindSafe for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl !UnwindSafe for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !UnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl !UnwindSafe for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl !UnwindSafe for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> !UnwindSafe for FarmerPieceGetter<PV, NC>",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !UnwindSafe for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl !UnwindSafe for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], +"subspace_farmer":[["impl UnwindSafe for Identity",1,["subspace_farmer::identity::Identity"]],["impl !UnwindSafe for NodeRpcClient",1,["subspace_farmer::node_client::node_rpc_client::NodeRpcClient"]],["impl<NC> !UnwindSafe for CacheWorker<NC>",1,["subspace_farmer::piece_cache::CacheWorker"]],["impl !UnwindSafe for PieceCache",1,["subspace_farmer::piece_cache::PieceCache"]],["impl !UnwindSafe for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl !UnwindSafe for DiskPieceCacheError",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"]],["impl UnwindSafe for Offset",1,["subspace_farmer::single_disk_farm::piece_cache::Offset"]],["impl UnwindSafe for DiskPieceCache",1,["subspace_farmer::single_disk_farm::piece_cache::DiskPieceCache"]],["impl !UnwindSafe for PieceReader",1,["subspace_farmer::single_disk_farm::piece_reader::PieceReader"]],["impl !UnwindSafe for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl UnwindSafe for SingleDiskSemaphore",1,["subspace_farmer::single_disk_farm::SingleDiskSemaphore"]],["impl UnwindSafe for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl UnwindSafe for SingleDiskFarmInfo",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfo"]],["impl !UnwindSafe for SingleDiskFarmSummary",1,["subspace_farmer::single_disk_farm::SingleDiskFarmSummary"]],["impl<NC, PG> !UnwindSafe for SingleDiskFarmOptions<NC, PG>",1,["subspace_farmer::single_disk_farm::SingleDiskFarmOptions"]],["impl !UnwindSafe for SingleDiskFarmError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmError"]],["impl !UnwindSafe for SingleDiskFarmScrubError",1,["subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"]],["impl !UnwindSafe for BackgroundTaskError",1,["subspace_farmer::single_disk_farm::BackgroundTaskError"]],["impl !UnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl !UnwindSafe for ArchivalStorageInfo",1,["subspace_farmer::utils::archival_storage_info::ArchivalStorageInfo"]],["impl !UnwindSafe for ArchivalStoragePieces",1,["subspace_farmer::utils::archival_storage_pieces::ArchivalStoragePieces"]],["impl<PV, NC> !UnwindSafe for FarmerPieceGetter<PV, NC>",1,["subspace_farmer::utils::farmer_piece_getter::FarmerPieceGetter"]],["impl<NC> !UnwindSafe for SegmentCommitmentPieceValidator<NC>",1,["subspace_farmer::utils::piece_validator::SegmentCommitmentPieceValidator"]],["impl !UnwindSafe for ReadersAndPieces",1,["subspace_farmer::utils::readers_and_pieces::ReadersAndPieces"]]], "subspace_farmer_components":[["impl UnwindSafe for PieceGetterRetryPolicy",1,["subspace_farmer_components::plotting::PieceGetterRetryPolicy"]],["impl UnwindSafe for PlottedSector",1,["subspace_farmer_components::plotting::PlottedSector"]],["impl !UnwindSafe for PlottingError",1,["subspace_farmer_components::plotting::PlottingError"]],["impl UnwindSafe for ProvingError",1,["subspace_farmer_components::proving::ProvingError"]],["impl<'a> UnwindSafe for SolutionCandidates<'a>",1,["subspace_farmer_components::proving::SolutionCandidates"]],["impl UnwindSafe for ReadingError",1,["subspace_farmer_components::reading::ReadingError"]],["impl UnwindSafe for PlotRecord",1,["subspace_farmer_components::reading::PlotRecord"]],["impl UnwindSafe for SectorMetadata",1,["subspace_farmer_components::sector::SectorMetadata"]],["impl UnwindSafe for SectorMetadataChecksummed",1,["subspace_farmer_components::sector::SectorMetadataChecksummed"]],["impl<'a> !UnwindSafe for EncodedChunksUsed<'a>",1,["subspace_farmer_components::sector::EncodedChunksUsed"]],["impl UnwindSafe for SectorContentsMapFromBytesError",1,["subspace_farmer_components::sector::SectorContentsMapFromBytesError"]],["impl UnwindSafe for SectorContentsMapEncodeIntoError",1,["subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"]],["impl UnwindSafe for SectorContentsMapIterationError",1,["subspace_farmer_components::sector::SectorContentsMapIterationError"]],["impl UnwindSafe for SectorContentsMap",1,["subspace_farmer_components::sector::SectorContentsMap"]],["impl UnwindSafe for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_fraud_proof":[["impl<Block, B, Exec> UnwindSafe for ExecutionProver<Block, B, Exec>where\n B: RefUnwindSafe,\n Block: UnwindSafe,\n Exec: RefUnwindSafe,",1,["subspace_fraud_proof::invalid_state_transition_proof::ExecutionProver"]],["impl<CBlock, CClient, Exec, Hash, VerifierClient> UnwindSafe for InvalidStateTransitionProofVerifier<CBlock, CClient, Exec, Hash, VerifierClient>where\n CBlock: UnwindSafe,\n CClient: RefUnwindSafe,\n Exec: UnwindSafe,\n Hash: UnwindSafe,\n VerifierClient: UnwindSafe,",1,["subspace_fraud_proof::invalid_state_transition_proof::InvalidStateTransitionProofVerifier"]],["impl<CBlock, CClient, Hash, Exec, VerifierClient> UnwindSafe for InvalidTransactionProofVerifier<CBlock, CClient, Hash, Exec, VerifierClient>where\n CBlock: UnwindSafe,\n CClient: RefUnwindSafe,\n Exec: RefUnwindSafe,\n Hash: UnwindSafe,\n VerifierClient: UnwindSafe,",1,["subspace_fraud_proof::invalid_transaction_proof::InvalidTransactionProofVerifier"]],["impl<Client, Block> UnwindSafe for VerifierClient<Client, Block>where\n Block: UnwindSafe,\n Client: RefUnwindSafe,",1,["subspace_fraud_proof::verifier_api::VerifierClient"]],["impl<VerifierBlock, ITPVerifier, ISTPVerifier> UnwindSafe for ProofVerifier<VerifierBlock, ITPVerifier, ISTPVerifier>where\n ISTPVerifier: RefUnwindSafe,\n ITPVerifier: RefUnwindSafe,\n VerifierBlock: UnwindSafe,",1,["subspace_fraud_proof::ProofVerifier"]]], "subspace_networking":[["impl !UnwindSafe for NetworkParametersPersistenceError",1,["subspace_networking::behavior::persistent_parameters::NetworkParametersPersistenceError"]],["impl !UnwindSafe for NetworkingParametersManager",1,["subspace_networking::behavior::persistent_parameters::NetworkingParametersManager"]],["impl<LocalRecordProvider> !UnwindSafe for Config<LocalRecordProvider>",1,["subspace_networking::create::Config"]],["impl !UnwindSafe for CreationError",1,["subspace_networking::create::CreationError"]],["impl !UnwindSafe for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl UnwindSafe for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl !UnwindSafe for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl UnwindSafe for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl !UnwindSafe for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !UnwindSafe for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl UnwindSafe for Config",1,["subspace_networking::peer_info::handler::Config"]],["impl UnwindSafe for Notification",1,["subspace_networking::peer_info::Notification"]],["impl UnwindSafe for CuckooFilterDTO",1,["subspace_networking::peer_info::CuckooFilterDTO"]],["impl UnwindSafe for PeerInfo",1,["subspace_networking::peer_info::PeerInfo"]],["impl !UnwindSafe for PeerInfoProvider",1,["subspace_networking::peer_info::PeerInfoProvider"]],["impl<Request> !UnwindSafe for GenericRequestHandler<Request>",1,["subspace_networking::request_handlers::generic_request_handler::GenericRequestHandler"]],["impl UnwindSafe for PieceByIndexRequest",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexRequest"]],["impl UnwindSafe for PieceByIndexResponse",1,["subspace_networking::request_handlers::piece_by_index::PieceByIndexResponse"]],["impl UnwindSafe for SegmentHeaderRequest",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderRequest"]],["impl UnwindSafe for SegmentHeaderResponse",1,["subspace_networking::request_handlers::segment_header::SegmentHeaderResponse"]],["impl UnwindSafe for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl UnwindSafe for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl UnwindSafe for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl UnwindSafe for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> !UnwindSafe for PieceProvider<PV>",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> UnwindSafe for KeyWrapper<T>where\n T: UnwindSafe,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> UnwindSafe for UniqueRecordBinaryHeap<K>where\n K: RefUnwindSafe,",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index ab5c566c8a..266c90f24d 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -13,7 +13,7 @@ "sp_messenger":[["impl Serialize for ChainId"]], "subspace_archiving":[["impl Serialize for NewArchivedSegment"]], "subspace_core_primitives":[["impl Serialize for LastArchivedBlock"],["impl Serialize for PieceIndex"],["impl Serialize for Piece"],["impl Serialize for ArchivedBlockProgress"],["impl Serialize for SectorId"],["impl Serialize for PosProof"],["impl Serialize for HistorySize"],["impl Serialize for SBucket"],["impl<PublicKey, RewardAddress> Serialize for Solution<PublicKey, RewardAddress>where\n PublicKey: Serialize,\n RewardAddress: Serialize,"],["impl Serialize for SegmentHeader"],["impl Serialize for Witness"],["impl Serialize for RewardSignature"],["impl Serialize for BlockObject"],["impl Serialize for FlatPieces"],["impl Serialize for SegmentIndex"],["impl Serialize for PieceObjectMapping"],["impl Serialize for PieceArray"],["impl Serialize for Randomness"],["impl Serialize for Scalar"],["impl Serialize for PieceOffset"],["impl Serialize for PublicKey"],["impl Serialize for BlockObjectMapping"],["impl Serialize for ArchivedHistorySegment"],["impl Serialize for Commitment"],["impl Serialize for PieceObject"],["impl Serialize for GlobalObject"]], -"subspace_farmer":[["impl Serialize for SingleDiskFarmId"],["impl Serialize for SingleDiskFarmInfo"]], +"subspace_farmer":[["impl Serialize for SingleDiskFarmInfo"],["impl Serialize for SingleDiskFarmId"]], "subspace_farmer_components":[["impl Serialize for FarmerProtocolInfo"]], "subspace_rpc_primitives":[["impl Serialize for SlotInfo"],["impl Serialize for NodeSyncStatus"],["impl Serialize for RewardSignatureResponse"],["impl Serialize for RewardSigningInfo"],["impl Serialize for SolutionResponse"],["impl Serialize for FarmerAppInfo"]], "subspace_runtime":[["impl Serialize for RuntimeGenesisConfig"],["impl Serialize for SessionKeys"]], diff --git a/index.html b/index.html index 63377f355f..e8d63df0a3 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/search-index.js b/search-index.js index 4d1451185f..42a1695b27 100644 --- a/search-index.js +++ b/search-index.js @@ -42,8 +42,8 @@ var searchIndex = JSON.parse('{\ "subspace_archiving":{"doc":"Collection of modules used for dealing with archived state …","t":"AAADENNNNNNDNNEENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLMLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMNNNNDEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNDDEENLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMM","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","equivalent","equivalent","equivalent","equivalent","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","provide","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","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","hash","init","init","init","into","into","into","new","partial_cmp","provide","provide","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","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","hash","init","init","init","init","into","into","into","into","new","partial_cmp","provide","provide","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"],[138,"subspace_archiving::archiver::ArchiverInstantiationError"],[140,"subspace_archiving::archiver::Segment"],[141,"subspace_archiving::archiver::SegmentItem"],[144,"subspace_archiving::piece_reconstructor"],[211,"subspace_archiving::reconstructor"],[298,"subspace_archiving::reconstructor::ReconstructorError"]],"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,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,9,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,36,37,37,38,36,37,38,36,36,37,38,36,37,38,38,36,36,37,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,42,44,44,43,43,42,41,44,43,42,41,44,44,43,42,41,44,43,42,41,41,44,44,43,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]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,7],[8,8],[6,6],[9,9],[1,1],[[]],[[]],[[]],[[]],[[]],[[9,9],10],[11,[[13,[7,12]]]],[11,[[13,[8,12]]]],[11,[[13,[6,12]]]],[[[14,[2]]],[[13,[12]]]],[[[14,[2]]],[[13,[12]]]],[[[14,[2]]],[[13,[12]]]],[[15,[14,[2]]],[[13,[12]]]],[[15,[14,[2]]],[[13,[12]]]],[[15,[14,[2]]],[[13,[12]]]],[[15,11],[[13,[12]]]],[[15,11],[[13,[12]]]],[[15,11],[[13,[12]]]],[16],[16],[16],[16],[16],[16],[16],[16],[16],[16],[17,[[13,[6]]]],[16],[16],[16],[16],[16],[[7,[0,[18,19]]]],[[8,[0,[18,19]]]],[[6,[0,[18,19]]]],[[7,7],5],[[8,8],5],[[6,6],5],[[9,9],5],[[],5],[[],5],[[],5],[[],5],[[7,20],21],[[8,20],21],[[6,20],21],[[9,20],21],[[9,20],21],[[1,20],21],[[]],[[]],[[]],[[]],[[]],[[9,22]],[[],16],[[],16],[[],16],[[],16],[[],16],[[]],[[]],[[]],[[]],[[]],[[23,24,25,15],5],[[23,26,25,27,15],5],[1,[[29,[28]]]],[23,[[13,[1,9]]]],0,[[9,9],[[29,[10]]]],0,[30],0,[[6,31],13],[7,16],[8,16],[6,16],[[[14,[2]]],[[3,[2,32]]]],[[[14,[2]]],[[3,[2,32]]]],[[[14,[2]]],[[3,[2,32]]]],[[]],[[]],[[]],[[]],[[]],[[],33],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],34],[[],34],[[],34],[[],34],[[],34],[[23,35,[14,[2]],4],[[13,[1,9]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[36,36],[37,37],[38,38],[[]],[[]],[[]],[[36,36],10],[16],[16],[16],[16],[16],[16],[16],[16],[16],[[36,36],5],[[37,37],5],[[],5],[[36,20],21],[[36,20],21],[[37,20],21],[[37,20],21],[[38,20],21],[[]],[[]],[[]],[[36,22]],[[],16],[[],16],[[],16],[[]],[[]],[[]],[23,[[13,[38,36]]]],[[36,36],[[29,[10]]]],[30],[30],[[38,[14,[[29,[39]]]],16],[[13,[39,37]]]],[[38,[14,[[29,[39]]]]],[[13,[40,37]]]],[[]],[[]],[[]],[[],33],[[],33],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],34],[[],34],[[],34],0,0,0,0,0,0,0,0,[[41,[14,[[29,[39]]]]],[[13,[42,43]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[44,44],[43,43],[42,42],[41,41],[[]],[[]],[[]],[[]],[[44,44],10],[[],42],[16],[16],[16],[16],[16],[16],[16],[16],[16],[16],[16],[16],[[44,44],5],[[43,43],5],[[42,42],5],[[],5],[[],5],[[44,20],21],[[44,20],21],[[43,20],21],[[43,20],21],[[42,20],21],[[41,20],21],[[]],[[]],[[]],[[]],[[44,22]],[[],16],[[],16],[[],16],[[],16],[[]],[[]],[[]],[[]],[[],[[13,[41,44]]]],[[44,44],[[29,[10]]]],[30],[30],0,[[]],[[]],[[]],[[]],[[],33],[[],33],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],34],[[],34],[[],34],[[],34],0,0],"c":[],"p":[[3,"Archiver"],[15,"u8"],[3,"Vec"],[3,"BlockObjectMapping"],[15,"bool"],[3,"NewArchivedSegment"],[4,"Segment"],[4,"SegmentItem"],[4,"ArchiverInstantiationError"],[4,"Ordering"],[8,"Input"],[3,"Error"],[4,"Result"],[15,"slice"],[15,"u32"],[15,"usize"],[8,"Deserializer"],[8,"Output"],[8,"Sized"],[3,"Formatter"],[6,"Result"],[8,"Hasher"],[3,"Kzg"],[3,"PieceArray"],[6,"SegmentCommitment"],[3,"Scalar"],[3,"Witness"],[6,"BlockNumber"],[4,"Option"],[3,"Demand"],[8,"Serializer"],[3,"Global"],[3,"String"],[3,"TypeId"],[4,"SegmentHeader"],[4,"ReconstructorInstantiationError"],[4,"ReconstructorError"],[3,"PiecesReconstructor"],[3,"Piece"],[3,"ArchivedHistorySegment"],[3,"Reconstructor"],[3,"ReconstructedContents"],[4,"ReconstructorError"],[4,"ReconstructorInstantiationError"],[13,"InvalidBlockSmallSize"],[13,"V0"],[13,"Block"],[13,"BlockStart"],[13,"BlockContinuation"],[13,"IncorrectSegmentOrder"]]},\ "subspace_core_primitives":{"doc":"Core primitives for Subspace Network.","t":"EDRRGGGGGNSNDDDSSSSSSSSDESSSRNDDDDDDDGDDDDDRRDDDDDDDDSSSSSSSSSSSDGDGEDGDGDNSSSSLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMALLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLMLMLMLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMDLLLLLLLLLLLLLLLLLLLLLLLSSDLLFFFFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLDRDRRDDLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLEDEEDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMM","n":["ArchivedBlockProgress","ArchivedHistorySegment","BLAKE2B_256_HASH_SIZE","BLAKE3_HASH_SIZE","Blake2b256Hash","Blake3Hash","BlockHash","BlockNumber","BlockWeight","Complete","ERASURE_CODING_RATE","EmptyVec","FlatPieces","HistorySize","LastArchivedBlock","MAX","MAX","MIDDLE","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","PosQualityBytes","PosSeed","PotBytes","PotCheckpoint","PotKey","PotProof","PotSeed","PublicKey","RANDOMNESS_LENGTH","REWARD_SIGNATURE_LENGTH","Randomness","RawRecord","Record","RecordCommitment","RecordWitness","RecordedHistorySegment","RewardSignature","SBucket","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_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_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_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","audit_chunk_offset","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_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","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","checkpoints","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_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_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_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","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_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","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","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_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","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","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","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_be_bytes","from_block_hash","from_bytes","from_hex","from_hex","from_hex","from_le_bytes","genesis_solution","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","injected_block_hash","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","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","mul_assign","new","new","new","new","new","new_boxed","new_boxed","new_boxed","new_boxed","new_with_entry","new_zero_vec","next_key","next_seed","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","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","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","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_to_repr","slot_number","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_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_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_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","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_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","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","blake2b_256_254_hash","blake2b_256_254_hash_to_scalar","blake2b_256_hash","blake2b_256_hash_list","blake2b_256_hash_with_key","blake3_hash","blake3_hash_list","blake3_hash_parallel","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","equivalent","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","decode","decode","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","embedded_kzg_settings","encoded_fixed_size","encoded_fixed_size","encoded_size","encoded_size","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_fft_settings","hash","init","init","init","init","into","into","into","into","max_encoded_len","max_encoded_len","new","normalize","poly","serialize","serialize","size_hint","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_bytes","to_keyed_vec","to_keyed_vec","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_bytes","try_from_bytes","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_info","type_info","using_encoded","using_encoded","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","equivalent","equivalent","equivalent","equivalent","equivalent","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"],[1346,"subspace_core_primitives::SegmentHeader"],[1350,"subspace_core_primitives::checksum"],[1374,"subspace_core_primitives::crypto"],[1442,"subspace_core_primitives::crypto::kzg"],[1582,"subspace_core_primitives::objects"],[1755,"subspace_core_primitives::objects::BlockObject"],[1757,"subspace_core_primitives::objects::GlobalObject"],[1759,"subspace_core_primitives::objects::PieceObject"]],"d":["Progress of an archived block.","Archived history segment after archiving is applied.","Size of BLAKE2b-256 hash output (in bytes).","Size of BLAKE3 hash output (in bytes).","BLAKE2b-256 hash output","BLAKE3 hash output","Block hash (the bytes from H256)","Block number in Subspace network.","BlockWeight type for fork choice rules.","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 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 quality.","Proof of space seed.","128 bits for the proof of time data types.","Proof of time ciphertext (output from the encryption).","Proof of time key(input to the encryption).","Proof of time. TODO: versioning.","Proof of time seed (input to the encryption).","A Ristretto Schnorr public key as bytes produced by …","Byte length of a randomness type.","Length of signature in bytes","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 a piece (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 quality in bytes.","Size of proof of space 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 type.","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.","","","","","","","","","","","","","Audit chunk offset within above chunk","","","","","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 …","The encrypted outputs from each stage.","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.","Create from big endian bytes","Builds the seed from block hash (e.g) used to create …","Create piece index from bytes.","","","","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.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Hash of last block at injection point.","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.","The key used for evaluation.","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 the proof.","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 …","Derives the next key from the hash of the current seed.","Derives the next seed based on the injected randomness.","Block number","Data structures related to objects (useful data) stored on …","One (multiplicative identity) of this type.","Returns the last check point.","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","The seed used for evaluation.","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 …","Slot the proof was evaluated for.","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.","","","BLAKE2b-256 hashing of a single value truncated to 254 …","BLAKE2b-256 hashing of a single value truncated to 254 …","BLAKE2b-256 hashing of a single value.","BLAKE2b-256 hashing of a list of values.","BLAKE2b-256 keyed hashing of a single value.","BLAKE3 hashing of a single value.","BLAKE3 hashing of a list of values.","BLAKE3 hashing of a single value in parallel (only useful …","","","","","","","","","","","","","","","","","","","","","","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,0,40,16,69,0,0,0,1,5,5,8,9,35,16,9,0,0,2,3,4,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,9,10,11,12,16,35,36,37,38,0,0,0,0,0,0,0,0,0,0,42,1,2,3,4,1,2,3,4,5,1,2,3,4,41,8,9,10,11,12,13,15,16,17,25,26,27,8,9,10,11,12,13,13,15,16,17,18,20,21,8,9,10,11,12,13,15,16,17,8,9,10,11,12,13,15,16,17,8,9,10,11,12,13,13,15,16,17,18,20,21,25,26,27,29,8,9,10,11,12,13,15,16,17,25,26,27,43,1,2,3,4,0,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,5,5,5,5,39,0,43,43,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,1,2,3,12,13,15,4,34,25,26,40,41,5,44,27,13,13,0,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,1,2,3,10,11,13,4,34,35,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,1,2,3,8,9,10,11,12,13,15,4,16,35,17,38,18,20,21,25,40,5,1,2,3,8,8,9,9,10,10,11,11,12,12,13,13,15,15,4,34,34,16,16,35,35,17,17,36,36,37,37,38,38,18,20,21,39,25,25,26,26,40,41,42,43,5,44,44,27,29,69,1,2,3,8,8,9,9,10,10,11,11,12,12,13,13,15,15,4,34,34,16,16,35,35,17,36,37,38,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,27,27,17,39,27,27,1,2,3,12,13,15,4,34,35,17,38,25,26,40,41,42,43,27,1,2,3,4,5,1,2,3,4,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,25,26,5,27,29,8,9,10,11,12,13,15,16,17,25,26,27,8,9,10,11,12,13,15,16,17,25,26,27,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,29,4,1,1,2,2,3,3,8,9,10,11,12,13,15,4,4,34,34,16,35,17,36,37,38,18,20,21,39,39,25,25,26,40,41,42,43,5,5,44,27,29,69,1,2,3,4,19,19,19,1,1,2,2,3,3,8,9,10,10,11,11,12,12,13,15,15,4,4,34,34,34,16,35,17,17,36,36,37,37,38,38,18,18,20,20,21,21,39,25,25,26,26,40,41,42,43,5,5,5,5,5,5,44,27,29,69,5,20,2,13,15,38,5,43,1,2,3,12,13,15,4,34,38,25,25,26,40,41,42,42,5,44,27,43,34,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,39,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,15,43,29,29,39,29,42,4,29,1,2,3,10,11,13,4,34,35,17,38,18,20,21,1,2,3,4,5,1,2,3,4,15,34,39,27,29,8,9,13,16,29,9,39,39,41,0,5,39,15,15,15,15,15,15,40,41,1,2,3,12,13,15,4,34,25,26,40,41,5,44,27,43,2,42,43,43,29,13,43,13,43,5,43,44,5,5,5,34,43,39,42,2,34,42,4,4,1,2,3,12,13,15,4,34,35,17,38,25,26,40,41,42,43,27,41,40,41,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,9,9,9,9,39,15,15,13,13,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2,3,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,39,25,26,40,41,42,43,5,27,29,5,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,1,2,3,4,34,39,25,5,29,1,1,2,3,8,9,10,10,11,11,12,12,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,1,2,3,8,9,10,11,12,13,15,4,34,16,35,17,36,37,38,18,20,21,39,25,26,40,41,42,43,5,44,27,29,69,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,25,26,40,41,42,43,5,27,1,2,3,10,11,12,13,15,4,34,35,17,38,18,20,21,25,26,5,27,29,13,13,5,5,5,108,108,108,108,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,91,91,0,91,91,0,0,0,0,0,0,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,0,0,0,0,0,0,94,96,94,96,98,94,96,99,98,94,96,99,0,98,94,96,99,98,94,96,99,99,99,94,96,94,96,94,96,94,96,94,96,98,94,94,96,96,99,98,94,94,96,96,99,94,96,98,94,96,99,0,94,96,94,96,94,96,94,96,98,94,96,99,98,98,94,94,96,96,99,99,94,98,94,96,99,98,94,96,99,94,96,99,98,99,94,96,94,96,94,94,94,94,94,94,94,94,94,96,94,96,98,94,96,99,98,94,94,94,96,96,96,99,94,96,98,94,96,99,98,94,96,99,94,96,94,96,94,94,94,94,99,0,0,0,0,0,103,105,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,104,106,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,104,106,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,103,104,105,105,106,107,103,104,105,106,107,103,104,105,106,107,104,106,103,105,107,103,104,105,106,107,107,103,104,105,106,107,103,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,103,104,105,106,107,104,106,109,109,110,110,111,111],"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,[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1]],[[2,2]],[[3,3]],[[4,4]],0,[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[8,[[7,[6]]]],[9,[[7,[6]]]],[10,[[7,[6]]]],[11,[[7,[6]]]],[12,[[7,[6]]]],[13,[[14,[6]]]],[13,[[7,[6]]]],[15,[[7,[6]]]],[16,[[7,[6]]]],[17,[[7,[6]]]],[18,19],[20,19],[21,19],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[7,[6]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[8,[[7,[6]]]],[9,[[7,[6]]]],[10,[[7,[6]]]],[11,[[7,[6]]]],[12,[[7,[6]]]],[13,[[14,[6]]]],[13,[[7,[6]]]],[15,[[7,[6]]]],[16,[[7,[6]]]],[17,[[7,[6]]]],[18,19],[20,19],[21,19],[25,[[7,[6]]]],[26,[[7,[6]]]],[27,[[7,[6]]]],[[[29,[28]]],[[7,[28]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],[[],[[24,[[7,[22]],23]]]],0,[[1,30],[[31,[1]]]],[[2,30],[[31,[2]]]],[[3,30],[[31,[3]]]],[[4,30],[[31,[4]]]],[[[0,[32,33]],[0,[32,33]]],[[0,[32,33]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[5,5],[[31,[5]]]],[[5,5],[[31,[5]]]],[[5,5],[[31,[5]]]],[[5,5],[[31,[5]]]],0,0,0,0,[1,1],[2,2],[3,3],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[15,15],[4,4],[34,34],[16,16],[35,35],[17,17],[36,36],[37,37],[38,38],[18,18],[20,20],[21,21],[39,39],[25,25],[26,26],[40,40],[41,41],[42,42],[[[43,[28,28]]],[[43,[28,28]]]],[5,5],[44,44],[27,27],[[[29,[28]]],[[29,[28]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,1],45],[[2,2],45],[[3,3],45],[[12,12],45],[[13,13],45],[[15,15],45],[[4,4],45],[[34,34],45],[[25,25],45],[[26,26],45],[[40,40],45],[[41,41],45],[[5,5],45],[[44,44],45],[[27,27],45],[13,10],[13,10],0,[46,[[24,[1,47]]]],[46,[[24,[2,47]]]],[46,[[24,[3,47]]]],[46,[[24,[10,47]]]],[46,[[24,[11,47]]]],[46,[[24,[12,47]]]],[46,[[24,[13,47]]]],[46,[[24,[15,47]]]],[46,[[24,[4,47]]]],[46,[[24,[34,47]]]],[46,[[24,[35,47]]]],[46,[[24,[17,47]]]],[46,[[24,[38,47]]]],[46,[[24,[18,47]]]],[46,[[24,[20,47]]]],[46,[[24,[21,47]]]],[46,[[24,[39,47]]]],[46,[[24,[25,47]]]],[46,[[24,[26,47]]]],[46,[[24,[40,47]]]],[46,[[24,[41,47]]]],[46,[[24,[42,47]]]],[46,[[24,[[43,[48,48]],47]]]],[46,[[24,[5,47]]]],[46,[[24,[27,47]]]],[46,[[24,[29,47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[46,[50,[1]]],[[24,[51,47]]]],[[46,[50,[2]]],[[24,[51,47]]]],[[46,[50,[3]]],[[24,[51,47]]]],[[46,[50,[10]]],[[24,[51,47]]]],[[46,[50,[11]]],[[24,[51,47]]]],[[46,[50,[13]]],[[24,[51,47]]]],[[46,[50,[4]]],[[24,[51,47]]]],[[46,[50,[34]]],[[24,[51,47]]]],[[46,[50,[35]]],[[24,[51,47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[],1],[[],2],[[],3],[[],8],[[],9],[[],10],[[],11],[[],12],[[],13],[[],15],[[],4],[[],16],[[],35],[[],17],[[],38],[[],18],[[],20],[[],21],[[],25],[[],40],[[],5],[30],[30],[30],[8],[30],[30],[9],[10],[30],[30],[11],[30],[12],[30],[13],[30],[15],[30],[30],[34],[16],[30],[30],[35],[30],[17],[36],[30],[30],[37],[30],[38],[30],[30],[30],[30],[25],[30],[30],[26],[30],[30],[30],[30],[30],[30],[44],[30],[30],[30],[30],[30],[30],[30],[8],[30],[9],[30],[10],[11],[30],[12],[30],[30],[13],[15],[30],[30],[34],[30],[30],[16],[35],[30],[30],[30],[30],[30],[38],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[[27,3,34],36],[[27,34,52,34],[[31,[34]]]],[[17,53],54],[39,54],[[27,3,34,55,34],2],[[27,54],44],[56,[[24,[1]]]],[56,[[24,[2]]]],[56,[[24,[3]]]],[56,[[24,[12]]]],[56,[[24,[13]]]],[56,[[24,[15]]]],[56,[[24,[4]]]],[56,[[24,[34]]]],[56,[[24,[35]]]],[56,[[24,[17]]]],[56,[[24,[38]]]],[56,[[24,[25]]]],[56,[[24,[26]]]],[56,[[24,[40]]]],[56,[[24,[41]]]],[56,[[24,[42]]]],[56,[[24,[[43,[57,57]]]]]],[56,[[24,[27]]]],[1,1],[2,2],[3,3],[4,4],[5,5],[1],[2],[3],[4],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[1,[[58,[6]]]],[2,[[58,[6]]]],[3,[[58,[6]]]],[10,[[58,[6]]]],[11,[[58,[6]]]],[12,[[58,[6]]]],[13,[[58,[6]]]],[15,[[58,[6]]]],[4,[[58,[6]]]],[34,[[58,[6]]]],[35,[[58,[6]]]],[17,[[58,[6]]]],[38,[[58,[6]]]],[18,[[58,[6]]]],[20,[[58,[6]]]],[21,[[58,[6]]]],[25,[[58,[6]]]],[26,[[58,[6]]]],[5,[[58,[6]]]],[27,[[58,[6]]]],[29,[[58,[6]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[],[[60,[59]]]],[[1,[0,[61,62]]]],[[2,[0,[61,62]]]],[[3,[0,[61,62]]]],[[10,[0,[61,62]]]],[[11,[0,[61,62]]]],[[12,[0,[61,62]]]],[[13,[0,[61,62]]]],[[15,[0,[61,62]]]],[[4,[0,[61,62]]]],[[34,[0,[61,62]]]],[[35,[0,[61,62]]]],[[17,[0,[61,62]]]],[[38,[0,[61,62]]]],[[18,[0,[61,62]]]],[[20,[0,[61,62]]]],[[21,[0,[61,62]]]],[[39,[0,[61,62]]]],[[25,[0,[61,62]]]],[[26,[0,[61,62]]]],[[40,[0,[61,62]]]],[[41,[0,[61,62]]]],[[42,[0,[61,62]]]],[[[43,[63,63]],[0,[61,62]]]],[[5,[0,[61,62]]]],[[27,[0,[61,62]]]],[[29,[0,[61,62]]]],[[1,1],64],[[2,2],64],[[3,3],64],[[8,8],64],[[9,9],64],[[10,10],64],[[11,11],64],[[12,12],64],[[13,13],64],[[15,15],64],[[4,4],64],[[34,34],64],[[16,16],64],[[35,35],64],[[17,17],64],[[36,36],64],[[37,37],64],[[38,38],64],[[18,18],64],[[20,20],64],[[21,21],64],[[39,39],64],[[25,25],64],[[26,26],64],[[40,40],64],[[41,41],64],[[42,42],64],[[[43,[65,65]],[43,[65,65]]],64],[[5,5],64],[[44,44],64],[[27,27],64],[[[29,[65]],[29,[65]]],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[[29,[28]]],28],[4,2],[[1,66],67],[[1,66],67],[[2,66],67],[[2,66],67],[[3,66],67],[[3,66],67],[[8,66],67],[[9,66],67],[[10,66],67],[[11,66],67],[[12,66],67],[[13,66],67],[[15,66],67],[[4,66],67],[[4,66],67],[[34,66],67],[[34,66],67],[[16,66],67],[[35,66],67],[[17,66],67],[[36,66],67],[[37,66],67],[[38,66],67],[[18,66],67],[[20,66],67],[[21,66],67],[[39,66],67],[[39,66],67],[[25,66],67],[[25,66],67],[[26,66],67],[[40,66],67],[[41,66],67],[[42,66],67],[[[43,[68,68]],66],67],[[5,66],67],[[5,66],67],[[44,66],67],[[27,66],67],[[[29,[68]],66],67],[[69,66],67],[[1,30],[[31,[1]]]],[[2,30],[[31,[2]]]],[[3,30],[[31,[3]]]],[[4,30],[[31,[4]]]],[20,19],[21,19],[18,19],[55,1],[[]],[[]],[70,2],[55,3],[[]],[[]],[[]],[[]],[[[14,[6]]],10],[[[14,[6]]],11],[[]],[13,12],[[]],[[]],[[]],[13,15],[[]],[70,4],[[]],[4,34],[71,34],[[]],[[]],[[]],[[[14,[6]]],17],[[]],[[[14,[6]]],36],[[[14,[6]]],37],[[]],[[[14,[6]]],38],[[]],[[]],[19,18],[[]],[19,20],[19,21],[[]],[[]],[[]],[[[14,[6]]],25],[[[14,[6]]],26],[[]],[[]],[[]],[[]],[[]],[55,5],[[]],[70,5],[49,5],[72,5],[6,5],[[]],[[]],[[]],[[]],[[[14,[6]]],5],[73,20],[[[14,[6]]],2],[[[74,[[7,[6]]]]],[[24,[13]]]],[[[74,[[7,[6]]]]],[[24,[15]]]],[[[74,[[7,[6]]]]],[[24,[38]]]],[[[14,[6]]],5],[[],43],[[1,75]],[[2,75]],[[3,75]],[[12,75]],[[13,75]],[[15,75]],[[4,75]],[[34,75]],[38,54],[25,54],[[25,75]],[[26,75]],[[40,75]],[[41,75]],[42,54],[[42,75]],[[5,75]],[[44,75]],[[27,75]],0,[34,71],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[15,[[58,[13]]]],[[[43,[[76,[76]]]]],43],[[[29,[28]]],[[78,[77]]]],[[[29,[28]]],[[78,[77]]]],0,[[[29,[28]]],28],[42,41],[4,2],[[[29,[28]]],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[1,1],[2,2],[3,3],[4,4],[5,5],[1],[2],[3],[4],[30,15],[71,34],[[53,20,18,[29,[21]],73],39],[[54,79],27],[[[58,[28]]],[[24,[[29,[28]],69]]]],[[],[[78,[8]]]],[[],[[78,[9]]]],[[],[[78,[13]]]],[[],[[78,[16]]]],[28,[[29,[28]]]],[30,[[58,[9]]]],[39,18],[[39,[31,[73]]],20],0,0,[[],5],[39,21],[15,80],[15,80],[15,80],[15,80],[15,81],[15,81],[40,[[31,[49]]]],[41,[[31,[49]]]],[[1,1],[[31,[45]]]],[[2,2],[[31,[45]]]],[[3,3],[[31,[45]]]],[[12,12],[[31,[45]]]],[[13,13],[[31,[45]]]],[[15,15],[[31,[45]]]],[[4,4],[[31,[45]]]],[[34,34],[[31,[45]]]],[[25,25],[[31,[45]]]],[[26,26],[[31,[45]]]],[[40,40],[[31,[45]]]],[[41,41],[[31,[45]]]],[[5,5],[[31,[45]]]],[[44,44],[[31,[45]]]],[[27,27],[[31,[45]]]],0,[2,49],[42,54],0,0,[[[29,[28]],28]],[13,9],0,[13,9],0,[5,5],0,[44,1],[[5,5],5],[[5,5],5],[[5,5],5],[[34,34],[[31,[34]]]],0,0,[42,52],[2,4],[34,4],[42,4],[4,[[14,[2]]]],[4,[[14,[2]]]],[[1,82],24],[[2,82],24],[[3,82],24],[[12,82],24],[[13,82],24],[[15,82],24],[[4,82],24],[[34,82],24],[[35,82],24],[[17,82],24],[[38,82],24],[[25,82],24],[[26,82],24],[[40,82],24],[[41,82],24],[[42,82],24],[[[43,[83,83]],82],24],[[27,82],24],[41],[[40,49]],[[41,84]],[1,30],[2,30],[3,30],[10,30],[11,30],[12,30],[13,30],[15,30],[4,30],[34,30],[35,30],[17,30],[38,30],[18,30],[20,30],[21,30],[39,30],[25,30],[26,30],[40,30],[41,30],[42,30],[[[43,[63,63]]],30],[5,30],[27,30],[29,30],[[[7,[[14,[6]]]]],[[7,[9]]]],[[[7,[[14,[6]]]]],[[7,[9]]]],[[[7,[9]]],[[7,[[14,[6]]]]]],[[[7,[9]]],[[7,[[14,[6]]]]]],0,[15,81],[15,81],[13],[13],[[1,1],[[31,[30]]]],[[2,2],[[31,[30]]]],[[3,3],[[31,[30]]]],[[4,4],[[31,[30]]]],[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1]],[[2,2]],[[3,3]],[[4,4]],[5,[[14,[6]]]],[2,[[14,[6]]]],[3,[[14,[6]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[5,[[14,[6]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],86],[[],86],[[],86],[[],86],[[],86],[[],86],[[],86],[[],86],[[[29,[28]]],[[58,[28]]]],[[],24],[30,[[24,[1]]]],[[],24],[[],24],[[],24],[[],24],[[],24],[[[7,[6]]],[[24,[10]]]],[[],24],[[[7,[6]]],[[24,[11]]]],[[[58,[6]]],[[24,[12]]]],[[[7,[6]]],[[24,[12]]]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],87],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[],88],[[1,89]],[[2,89]],[[3,89]],[[10,89]],[[11,89]],[[12,89]],[[13,89]],[[15,89]],[[4,89]],[[34,89]],[[35,89]],[[17,89]],[[38,89]],[[18,89]],[[20,89]],[[21,89]],[[25,89]],[[26,89]],[[5,89]],[[27,89]],[[29,89]],[13,11],[13,11],[[5,5],5],[[5,5],5],[[],5],0,0,0,0,0,[[]],[[]],[[[90,[28]]],[[90,[28]]]],[[]],[46,[[24,[[90,[48]],47]]]],[[[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,46],[[24,[47]]]],[30],[30],[30],[[[90,[63]],[0,[61,62]]]],[[[90,[63]]],30],[[[90,[68]],66],67],[[]],[[],30],[[]],[[[90,[63]]],30],[[[7,[6]]],[[58,[6,85]]]],[[]],[[],24],[[],24],[[],87],0,0,0,[91,92],[91,92],[[[7,[6]]],54],[[[7,[6]]],91],[[[7,[6]]],54],[[[7,[[7,[6]]]]],54],[[[7,[6]],[7,[6]]],54],[[[7,[6]]],93],[[[7,[[7,[6]]]]],93],[[[7,[6]]],93],[[]],[[]],[91,91],[[]],[[91,91],45],[46,[[24,[91,47]]]],[[[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,46],[[24,[47]]]],[[],91],[30],[91],[91],[30],[56,[[24,[91]]]],[30],[[],[[31,[30]]]],[91,30],[[91,91],64],[[],64],[[91,66],67],[[]],[92,91],[[[14,[6]]],91],[[[14,[6]]],91],[[91,75]],[[],30],[[]],0,[[],30],[[91,91],[[31,[45]]]],[[91,82],24],[91,30],[[[7,[92]]],[[7,[91]]]],[[[7,[92]]],[[7,[91]]]],[[[7,[91]]],[[7,[92]]]],[[[7,[[31,[92]]]]],[[7,[[31,[91]]]]]],[[[7,[[31,[92]]]]],[[7,[[31,[91]]]]]],[[[7,[[31,[91]]]]],[[7,[[31,[92]]]]]],[[[7,[[31,[91]]]]],[[7,[[31,[92]]]]]],[[[7,[91]]],[[7,[92]]]],[91,[[14,[6]]]],[[[7,[6]]],[[58,[6,85]]]],[[]],[[[14,[6]]],[[24,[91]]]],[[],24],[[[14,[6]]],[[24,[91]]]],[[],24],[[],87],[[],88],[[91,89]],[[[58,[92]]],[[58,[91]]]],[[[58,[[31,[92]]]]],[[58,[[31,[91]]]]]],[[[58,[[31,[91]]]]],[[58,[[31,[92]]]]]],[[[58,[91]]],[[58,[92]]]],0,0,0,0,0,0,0,[94,95],[96,95],[94,95],[96,95],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[7,[6]],30,30],[[24,[97,86]]]],[98,98],[94,94],[96,96],[99,99],[[]],[[]],[[]],[[]],[[99,98],[[24,[94,86]]]],[[99,98,30,49],[[24,[96,86]]]],[46,[[24,[94,47]]]],[46,[[24,[96,47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[],94],[[],96],[30],[30],[94],[96],[30],[30],[30],[30],[94],[30],[96],[30],[56,[[24,[94]]]],[56,[[24,[96]]]],[30],[30],[30],[30],[[],97],[[],[[31,[30]]]],[[],[[31,[30]]]],[94,30],[96,30],[[94,94],64],[[96,96],64],[[],64],[[],64],[[98,66],67],[[94,66],67],[[96,66],67],[[99,66],67],[[]],[100,98],[95,94],[[]],[[]],[95,96],[[]],[[99,30],[[24,[[102,[101]],86]]]],[[94,75]],[[],30],[[],30],[[],30],[[],30],[[]],[[]],[[]],[[]],[[],30],[[],30],[97,99],[98],[[99,[7,[91]]],[[24,[98,86]]]],[[94,82],24],[[96,82],24],[94,30],[96,30],[[[7,[95]]],[[7,[94]]]],[[[7,[95]]],[[7,[94]]]],[[[7,[94]]],[[7,[95]]]],[[[7,[[31,[95]]]]],[[7,[[31,[94]]]]]],[[[7,[[31,[95]]]]],[[7,[[31,[94]]]]]],[[[7,[[31,[94]]]]],[[7,[[31,[95]]]]]],[[[7,[[31,[94]]]]],[[7,[[31,[95]]]]]],[[[7,[94]]],[[7,[95]]]],[94,[[14,[6]]]],[96,[[14,[6]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[[14,[6]]],[[24,[94]]]],[[[14,[6]]],[[24,[94]]]],[[[14,[6]]],[[24,[96]]]],[[],24],[[[14,[6]]],[[24,[96]]]],[[],24],[[[14,[6]]],[[24,[94,86]]]],[[[14,[6]]],[[24,[96,86]]]],[[],24],[[],24],[[],24],[[],24],[[],87],[[],87],[[],87],[[],87],[[],88],[[],88],[[94,89]],[[96,89]],[[[58,[95]]],[[58,[94]]]],[[[58,[[31,[95]]]]],[[58,[[31,[94]]]]]],[[[58,[[31,[94]]]]],[[58,[[31,[95]]]]]],[[[58,[94]]],[[58,[95]]]],[[99,94,30,49,91,96],64],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[103,103],[104,104],[105,105],[106,106],[107,107],[[]],[[]],[[]],[[]],[[]],[[103,103],45],[[104,104],45],[[105,105],45],[[106,106],45],[[107,107],45],[46,[[24,[103,47]]]],[46,[[24,[104,47]]]],[46,[[24,[105,47]]]],[46,[[24,[106,47]]]],[46,[[24,[107,47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,[7,[6]]],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[49,46],[[24,[47]]]],[[],104],[[],106],[30],[30],[30],[30],[30],[30],[30],[30],[30],[30],[56,[[24,[103]]]],[56,[[24,[104]]]],[56,[[24,[105]]]],[56,[[24,[106]]]],[56,[[24,[107]]]],[30],[30],[30],[30],[30],[104,[[58,[6]]]],[106,[[58,[6]]]],[[103,[0,[61,62]]]],[[104,[0,[61,62]]]],[[105,[0,[61,62]]]],[[106,[0,[61,62]]]],[[107,[0,[61,62]]]],[[103,103],64],[[104,104],64],[[105,105],64],[[106,106],64],[[107,107],64],[[],64],[[],64],[[],64],[[],64],[[],64],[[103,66],67],[[104,66],67],[[105,66],67],[[106,66],67],[[107,66],67],[[]],[[]],[[]],[[]],[[]],[[103,75]],[103,54],[[104,75]],[[105,75]],[105,54],[[106,75]],[[107,75]],[[],30],[[],30],[[],30],[[],30],[[],30],[[]],[[]],[[]],[[]],[[]],0,0,[103,49],[105,49],[107,49],[[103,103],[[31,[45]]]],[[104,104],[[31,[45]]]],[[105,105],[[31,[45]]]],[[106,106],[[31,[45]]]],[[107,107],[[31,[45]]]],[107,2],[[103,82],24],[[104,82],24],[[105,82],24],[[106,82],24],[[107,82],24],[[103,49]],[103,30],[104,30],[105,30],[106,30],[107,30],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[[7,[6]]],[[58,[6,85]]]],[[]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],87],[[],87],[[],87],[[],87],[[],87],[[],88],[[],88],[[],88],[[],88],[[],88],[[104,89]],[[106,89]],0,0,0,0,0,0],"c":[],"p":[[3,"SBucket"],[3,"PieceIndex"],[3,"PieceOffset"],[3,"SegmentIndex"],[3,"U256"],[15,"u8"],[15,"slice"],[3,"RawRecord"],[3,"Record"],[3,"RecordCommitment"],[3,"RecordWitness"],[3,"Piece"],[3,"PieceArray"],[15,"array"],[3,"FlatPieces"],[3,"RecordedHistorySegment"],[3,"Randomness"],[3,"PotKey"],[6,"PotBytes"],[3,"PotSeed"],[3,"PotCheckpoint"],[8,"FromByteSlice"],[4,"Error"],[4,"Result"],[3,"PublicKey"],[3,"RewardSignature"],[3,"SectorId"],[8,"Clone"],[3,"NonEmptyVec"],[15,"usize"],[4,"Option"],[8,"WrappingSub"],[8,"Ord"],[3,"HistorySize"],[3,"ArchivedHistorySegment"],[3,"PosSeed"],[3,"PosQualityBytes"],[3,"PosProof"],[3,"PotProof"],[4,"ArchivedBlockProgress"],[3,"LastArchivedBlock"],[4,"SegmentHeader"],[3,"Solution"],[3,"SectorSlotChallenge"],[4,"Ordering"],[8,"Input"],[3,"Error"],[8,"Decode"],[15,"u32"],[19,"MaybeUninit"],[3,"DecodeFinished"],[6,"SegmentCommitment"],[6,"SlotNumber"],[6,"Blake2b256Hash"],[15,"u16"],[8,"Deserializer"],[8,"Deserialize"],[3,"Vec"],[15,"char"],[8,"FromIterator"],[8,"Output"],[8,"Sized"],[8,"Encode"],[15,"bool"],[8,"PartialEq"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[4,"NonEmptyVecErr"],[15,"u64"],[3,"NonZeroU64"],[15,"u128"],[6,"BlockHash"],[8,"AsRef"],[8,"Hasher"],[8,"Into"],[8,"Iterator"],[3,"Box"],[6,"SectorIndex"],[8,"IndexedParallelIterator"],[8,"ExactSizeIterator"],[8,"Serializer"],[8,"Serialize"],[6,"BlockNumber"],[3,"Global"],[3,"String"],[3,"TypeId"],[3,"Type"],[8,"FnOnce"],[3,"Blake3Checksummed"],[3,"Scalar"],[3,"FsFr"],[6,"Blake3Hash"],[3,"Commitment"],[3,"FsG1"],[3,"Witness"],[3,"FsKZGSettings"],[3,"Polynomial"],[3,"Kzg"],[3,"FsPoly"],[3,"FsFFTSettings"],[3,"Arc"],[4,"BlockObject"],[3,"BlockObjectMapping"],[4,"PieceObject"],[3,"PieceObjectMapping"],[4,"GlobalObject"],[13,"V0"],[13,"V0"],[13,"V0"],[13,"V0"]]},\ "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"]],"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,1],[[]],[2],[2],[2],[[1,[4,[3]]],[[7,[[5,[3]],6]]]],[[1,[4,[8]]],[[7,[[5,[8]],6]]]],[[1,9],10],[[]],[[],2],[[]],[1,2],[11,[[7,[1,6]]]],[[1,[4,[[12,[3]]]]],[[7,[[5,[3]],6]]]],[[1,[4,[[12,[3]]]]],[[7,[13,6]]]],[[1,[4,[[12,[3]]]]],[[7,[14,6]]]],[[]],[[],7],[[],7],[[],15]],"c":[],"p":[[3,"ErasureCoding"],[15,"usize"],[3,"Scalar"],[15,"slice"],[3,"Vec"],[3,"String"],[4,"Result"],[3,"Commitment"],[3,"Formatter"],[6,"Result"],[3,"NonZeroUsize"],[4,"Option"],[3,"Polynomial"],[8,"ExactSizeIterator"],[3,"TypeId"]]},\ -"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLALLLALALLLALLLLLLLLLLLLLLLLALLGIKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFENNNNNNNNNNNNNNENNNNNNNNNNNNNEDEEEDEDNNNNLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLALMALLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLAAAAAFDLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLL","n":["Identity","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","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","acknowledge_archived_segment_header","farmer_app_info","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","from","from","get_piece","init","init","into","into","new","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","BackgroundTaskError","CantPreallocateMetadataFile","CantPreallocatePlotFile","Error","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToGetFarmerInfo","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToMapMetadata","FailedToSubmitSolutionsResponse","FailedToSubscribeArchivedSegments","FailedToSubscribeSlotInfo","FarmTooLarge","Farming","FarmingError","Found","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","Io","LowLevel","LowLevelProving","MissingArchivedSegmentHeader","NotFound","PieceCacheError","Plotting","PlottingError","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmOptions","SingleDiskFarmSummary","SingleDiskSemaphore","Ulid","UnexpectedMetadataVersion","V0","WrongChain","acquire","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","clone_into","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","erasure_coding","farmer_app_info","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","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","load_from","max_pieces_in_sector","new","new","new","new","node_client","on_sector_plotted","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","provide","provide","provide","provide","public_key","reward_address","run","serialize","serialize","source","source","source","source","store_to","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_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","error","error","error","error","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","directory","directory","directory","error","info","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","provide","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","archival_storage_info","archival_storage_pieces","farmer_piece_getter","piece_validator","readers_and_pieces","run_future_in_dedicated_thread","ArchivalStorageInfo","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","fmt","from","init","into","peers_contain_piece","remove_peer_filter","to_owned","try_from","try_into","type_id","unique_saturated_into","update_cuckoo_filter","vzip","ArchivalStoragePieces","add_pieces","borrow","borrow_mut","clone","clone_into","cuckoo_filter","delete_pieces","deref","deref_mut","drop","fmt","from","init","into","new","on_notification","to_owned","try_from","try_into","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"],"q":[[0,"subspace_farmer"],[63,"subspace_farmer::node_client"],[75,"subspace_farmer::piece_cache"],[112,"subspace_farmer::reward_signing"],[113,"subspace_farmer::single_disk_farm"],[374,"subspace_farmer::single_disk_farm::FarmingError"],[378,"subspace_farmer::single_disk_farm::PlottingError"],[382,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[397,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[402,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[407,"subspace_farmer::single_disk_farm::piece_cache"],[470,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[472,"subspace_farmer::single_disk_farm::piece_reader"],[491,"subspace_farmer::utils"],[497,"subspace_farmer::utils::archival_storage_info"],[519,"subspace_farmer::utils::archival_storage_pieces"],[542,"subspace_farmer::utils::farmer_piece_getter"],[558,"subspace_farmer::utils::piece_validator"],[574,"subspace_farmer::utils::readers_and_pieces"]],"d":["Identity struct is an abstraction of public & secret key …","","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","Acknowledge segment header.","Get farmer app info","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.","","","Run the cache worker with provided piece getter","","","","","","","","","","","","","Errors that happen in background tasks","Can’t preallocate metadata file, probably not enough …","Can’t preallocate plot file, probably not enough space …","Failed to open farm","Failed to decode metadata header","Failed to decode sector metadata","Failed to retrieve farmer info","Failed to retrieve farmer info","Failed to get segment header","Failed to create memory mapping for metadata","Failed to submit solutions response","Failed to subscribe to archived segments","Failed to subscribe to slot info notifications","Farm is too large","Farming error","Errors that happen during farming","Farm was found and read successfully","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","I/O error occurred","Low-level plotting error","Low-level proving error","Missing archived segment header","Farm was not found","Piece cache error","Plotting error","Errors that happen during plotting","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","Summary of single disk farm for presentational purposes","Semaphore that limits disk access concurrency in strategic …","Farm ID","Unexpected metadata version","V0 of the info","Wrong chain (genesis hash)","Acquire access, will block current thread until previously …","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.","","","","","","","","","","","","","","","","Erasure coding instance to use.","Information necessary for farmer application","","","","","","","","","","","","","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.","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","Create new semaphore for limiting concurrency of the major …","Creates new ID","","RPC client connected to Subspace node","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","","","","","","Address where farming rewards should go","Run and wait for background threads to exit or return an …","","","","","","","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","Lower-level error","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","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","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 …","","","","","","","","","","","","Runs future on a dedicated thread with the specified name, …","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","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.","","","","",""],"i":[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,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,30,30,30,30,30,30,30,30,30,30,0,0,34,27,34,27,27,27,34,27,34,27,34,27,27,34,27,27,34,27,34,27,27,27,27,34,27,34,27,34,27,34,27,34,27,34,27,0,0,50,50,44,50,50,48,49,49,48,48,49,48,50,51,0,44,50,50,50,48,49,50,49,48,49,44,50,51,0,0,0,0,0,0,0,0,41,50,39,50,37,39,64,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,64,37,41,39,37,41,39,41,46,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,41,39,64,44,64,46,46,48,49,37,41,39,50,51,41,41,41,41,64,64,48,48,49,49,37,41,41,39,50,50,51,51,44,64,46,48,48,48,49,49,49,37,41,41,39,50,50,50,51,51,51,39,41,41,46,39,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,64,39,64,46,37,41,39,64,46,46,41,0,46,64,0,46,39,46,46,48,49,50,51,39,64,46,41,39,48,49,50,51,39,37,41,39,48,49,41,50,51,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,44,64,46,48,49,37,41,39,50,51,46,97,98,99,100,101,102,103,104,105,106,105,107,108,107,108,109,109,105,105,109,106,107,108,110,110,110,110,110,111,112,113,113,111,56,56,0,0,56,0,56,56,56,77,33,56,77,33,77,33,77,33,56,77,33,56,77,33,56,77,33,56,56,77,77,33,56,56,77,33,56,77,33,56,77,33,56,56,77,33,56,77,56,77,33,56,77,33,56,77,33,56,77,33,56,77,33,114,114,0,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,0,0,0,0,0,0,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90],"f":[0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[[]],[[]],[[]],[[]],[6,6],[1,1],[[]],[[]],[[[8,[7]]],[[10,[6,9]]]],[11],[6],[11],[11],[11],[11],[11],[6,[[13,[12]]]],[1,[[5,[[4,[3]]]]]],[[],11],[[1,14],15],[[]],[[]],[[],11],[[],11],[[]],[[]],0,[16,[[10,[1,17]]]],0,[[[8,[7]]],[[10,[[18,[6]],9]]]],[[[8,[7]]],[[10,[6,9]]]],[[1,19],[[5,[[4,[3]]]]]],0,[6,20],0,[6,21],[[1,[22,[2]]],[[5,[[4,[3]]]]]],[[6,[13,[12]]],23],0,[[1,24],[[5,[[4,[3]]]]]],[[1,25],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[]],[[]],0,[[]],[[]],0,0,[2,[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[19,[[5,[[4,[3]]]]]],[[[22,[2]]],[[5,[[4,[3]]]]]],[24,[[5,[[4,[3]]]]]],[25,[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],0,0,[[]],[[]],[[]],[[]],[27,27],[[]],[11],[11],[11],[11],[11],[11],[[27,14],15],[[]],[[]],[[27,28],[[18,[29]]]],[[],11],[[],11],[[]],[[]],[[30,31]],[[27,28],[[18,[32]]]],[[27,[22,[33]]]],[[[34,[30]],35]],[[]],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[]],[[]],[[]],[[]],[[30,6],[[10,[3,[4,[36]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[37,38],[39,40],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[37,37],[41,41],[39,39],[[]],[[]],[[]],[[41,41],42],[43,44],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[45,[[10,[41]]]],[45,[[10,[39]]]],0,[11],[11],[11],[46],[11],[11],[11],[11],[11],[11],[11],[[41,41],47],[[],47],[[],47],[[],47],0,0,[[48,14],15],[[48,14],15],[[49,14],15],[[49,14],15],[[37,14],15],[[41,14],15],[[41,14],15],[[39,14],15],[[50,14],15],[[50,14],15],[[51,14],15],[[51,14],15],[[]],[[]],[[]],[[]],[52,48],[53,48],[[]],[54,49],[53,49],[[]],[55,41],[[]],[[]],[56,50],[[]],[53,50],[48,51],[[]],[49,51],[39,[[57,[12]]]],[[[0,[58,59]],60],40],[[41,61]],[46,41],[39,41],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[7,[[62,[[18,[39]]]]]],0,[[[64,[30,[0,[35,63]]]],11],[[10,[46,50]]]],[65,37],[[],41],[[41,[57,[12]],66,67,40],39],0,[[46,[69,[68]]],70],[[46,[69,[68]]],70],[[41,41],[[18,[42]]]],0,[46,33],0,0,[46,71],[39,67],[46,72],[46,11],[73],[73],[73],[73],[39,66],0,[46,74],[[41,75],10],[[39,75],10],[48,[[18,[36]]]],[49,[[18,[36]]]],[50,[[18,[36]]]],[51,[[18,[36]]]],[[39,7],62],[[]],[[]],[[]],[[],76],[[],76],[[],76],[[],76],[[],76],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,62],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[77,77],[33,33],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[56,14],15],[[56,14],15],[[77,14],15],[[77,14],15],[[33,14],15],[53,56],[[]],[[]],[[]],[[],11],[[],11],[[],11],[[]],[[]],[[]],[73],[56,[[18,[36]]]],[[]],[[]],[[],76],[[],76],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[71,71],[[]],[11],[11],[11],[[71,14],15],[[]],[[],11],[[]],[[71,78,79],[[18,[29]]]],[[]],[[],10],[[],10],[[],26],[[]],[[]],0,0,0,0,0,[[[0,[3,80,63]],76],[[62,[[0,[3,63]]]]]],0,[[]],[[]],[81,81],[[]],[[],81],[11],[11],[11],[[81,14],15],[[]],[[],11],[[]],[[81,19],[[22,[31]]]],[[81,31],47],[[]],[[],10],[[],10],[[],26],[[]],[[81,31,[69,[82]]]],[[]],0,[[83,[13,[19]]]],[[]],[[]],[83,83],[[]],[83,82],[[83,[13,[19]]]],[11],[11],[11],[[83,14],15],[[]],[[],11],[[]],[11,83],[[83,84],[[18,[70]]]],[[]],[[],10],[[],10],[[],26],[[]],[[]],0,[[]],[[]],[11],[11],[11],[[]],[[[86,[[0,[85,63]],30]],19,87],[[5,[[4,[3]]]]]],[[],11],[[]],[[88,89,27,81,[69,[[91,[[18,[90]]]]]]],86],[[],10],[[],10],[[],26],[[]],[[]],0,[[]],[[]],[11],[11],[11],[[]],[[],11],[[]],[[88,92,[91,[[94,[2,93]]]]],95],[[],10],[[],10],[[],26],[[]],[[[95,[30]],31,19,29],[[5,[[4,[3]]]]]],[[]],0,[[90,12,96]],[[]],[[]],[[90,19],47],[[90,12,96]],[11],[11],[11],[[90,14],15],[[]],[[],11],[[]],[[[22,[71]],83],90],[90,72],[[90,19],[[18,[3]]]],[[],10],[[],10],[[],26],[[]],[[]]],"c":[],"p":[[3,"NodeRpcClient"],[3,"SegmentIndex"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"Identity"],[3,"Path"],[8,"AsRef"],[3,"Error"],[4,"Result"],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter"],[6,"Result"],[15,"str"],[4,"Error"],[4,"Option"],[3,"PieceIndex"],[3,"PublicKey"],[3,"SecretKey"],[3,"Vec"],[3,"Signature"],[3,"RewardSignatureResponse"],[3,"SolutionResponse"],[3,"TypeId"],[3,"PieceCache"],[3,"Key"],[3,"Piece"],[8,"NodeClient"],[3,"PeerId"],[3,"ProviderRecord"],[3,"DiskPieceCache"],[3,"CacheWorker"],[8,"PieceGetter"],[8,"Error"],[3,"SingleDiskSemaphore"],[3,"SemaphoreGuard"],[4,"SingleDiskFarmInfo"],[15,"u64"],[4,"SingleDiskFarmId"],[4,"Ordering"],[3,"PathBuf"],[4,"SingleDiskFarmSummary"],[8,"Deserializer"],[3,"SingleDiskFarm"],[15,"bool"],[4,"FarmingError"],[4,"PlottingError"],[4,"SingleDiskFarmError"],[4,"BackgroundTaskError"],[4,"ProvingError"],[3,"Error"],[4,"PlottingError"],[3,"Ulid"],[4,"DiskPieceCacheError"],[15,"array"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[6,"Result"],[8,"Send"],[3,"SingleDiskFarmOptions"],[3,"NonZeroU16"],[3,"PublicKey"],[15,"u16"],[8,"Fn"],[3,"Arc"],[3,"HandlerId"],[3,"PieceReader"],[8,"Iterator"],[3,"Demand"],[6,"Result"],[8,"Serializer"],[3,"String"],[3,"Offset"],[6,"SectorIndex"],[3,"PieceOffset"],[8,"Unpin"],[3,"ArchivalStorageInfo"],[3,"CuckooFilterDTO"],[3,"ArchivalStoragePieces"],[6,"NotificationHandler"],[8,"PieceValidator"],[3,"FarmerPieceGetter"],[4,"PieceGetterRetryPolicy"],[3,"Node"],[3,"PieceProvider"],[3,"ReadersAndPieces"],[6,"Mutex"],[3,"Kzg"],[6,"SegmentCommitment"],[3,"LruCache"],[3,"SegmentCommitmentPieceValidator"],[3,"PlottedSector"],[13,"FailedToSubscribeSlotInfo"],[13,"FailedToGetFarmerInfo"],[13,"FailedToMapMetadata"],[13,"FailedToSubmitSolutionsResponse"],[13,"FailedToGetFarmerInfo"],[13,"FailedToGetSegmentHeader"],[13,"FailedToSubscribeArchivedSegments"],[13,"MissingArchivedSegmentHeader"],[13,"FarmTooLarge"],[13,"InsufficientAllocatedSpace"],[13,"WrongChain"],[13,"IdentityMismatch"],[13,"InvalidPiecesInSector"],[13,"V0"],[13,"Found"],[13,"NotFound"],[13,"Error"],[13,"OffsetOutsideOfRange"]]},\ -"subspace_farmer_components":{"doc":"Components of the reference implementation of Subspace …","t":"DALLLLLLLLALLMLLMMAAAMMALLLLLLLFIKKKKNNNNNIENNDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLMFLMMMLLLLLLLLLLLLLLLLLLMMMMMMMMNNNNNENDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMNNNNNDENNLLLLLLMLLLLLLLLLLLLLLLLLFFFFMLLLLLLLLLLLLLMMMMMMMMMMMMNDNNNNDEEEDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMMFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMM","n":["FarmerProtocolInfo","auditing","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","file_ext","fmt","from","history_size","init","into","max_pieces_in_sector","min_sector_lifetime","plotting","proving","reading","recent_history_fraction","recent_segments","sector","serialize","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","audit_sector","FileExt","advise_random_access","preallocate","read_exact_at","write_all_at","BadSectorMetadataOutputSize","BadSectorOutputSize","FailedToRetrievePiece","InvalidErasureCodingInstance","Limited","PieceGetter","PieceGetterRetryPolicy","PieceNotFound","PieceRecoveryFailed","PlottedSector","PlottingError","Unlimited","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","fmt","fmt","fmt","from","from","from","get_piece","init","init","init","into","into","into","piece_indexes","plot_sector","provide","sector_id","sector_index","sector_metadata","to_owned","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","expected","expected","piece_index","piece_index","piece_index","provided","provided","FailedToCreateChunkWitness","FailedToCreatePolynomialForRecord","FailedToDecodeMetadataForRecord","FailedToDecodeSectorContentsMap","InvalidErasureCodingInstance","ProvingError","RecordReadingError","SolutionCandidates","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","init","init","into","into","into_iter","is_empty","len","provide","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","error","piece_offset","piece_offset","piece_offset","ChecksumMismatch","FailedToDecodeSectorContentsMap","FailedToErasureDecodeRecord","FailedToReadChunk","InvalidChunk","PlotRecord","ReadingError","WrongRecordSizeAfterDecoding","WrongSectorSize","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commitment","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","init","init","into","into","provide","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","actual","chunk_location","chunk_location","encoded_chunk_used","error","error","expected","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","equivalent","equivalent","equivalent","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","provide","provide","provide","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"],[31,"subspace_farmer_components::auditing"],[32,"subspace_farmer_components::file_ext"],[37,"subspace_farmer_components::plotting"],[109,"subspace_farmer_components::plotting::PlottingError"],[117,"subspace_farmer_components::proving"],[165,"subspace_farmer_components::proving::ProvingError"],[172,"subspace_farmer_components::reading"],[224,"subspace_farmer_components::reading::ReadingError"],[235,"subspace_farmer_components::sector"],[420,"subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"],[422,"subspace_farmer_components::sector::SectorContentsMapFromBytesError"],[426,"subspace_farmer_components::sector::SectorContentsMapIterationError"]],"d":["Information about the protocol necessary for farmer …","","","","","","","","","","File extension trait","","Returns the argument unchanged.","Size of the blockchain history","","Calls U::from(self).","How many pieces one sector is supposed to contain (max)","Minimum lifetime of a plotted sector, measured in archived …","","","","Fraction of pieces from the “recent history” (…","Number of latest archived segments that are considered “…","","","","","","","","","Audit a single sector and generate a stream of solutions, …","Extension convenience trait that allows pre-allocating …","Advise OS/file system that file will use random access and …","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","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","Information about sector that was plotted","Plotting status","No restrictions on retries","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Indexes of pieces that were plotted","Plot a single sector, where sector and sector_metadata …","","Sector ID","Sector index","Sector metadata","","","","","","","","","","","","","","","","","","","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 metadata for record","Failed to decode sector contents map","Invalid erasure coding instance","Errors that happen during proving","Record reading error","Container for solutions","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Returns true if no candidates inside","Total number of candidates","","","","","","","","","","","","","","","Chunk index","Lower-level error","Lower-level error","Lower-level error","Piece offset","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","Record contained in the plot","Errors that happen during reading","Wrong record size after decoding","Wrong sector size","","","","","","","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","Actual size in bytes","Chunk location","Chunk location","Indicates whether chunk was encoded","Lower-level error","Lower-level error","Expected size in bytes","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":[0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,64,64,64,64,23,23,23,23,20,0,0,23,23,0,0,20,20,21,23,20,21,23,20,21,20,21,20,20,21,23,20,21,23,20,21,23,20,20,20,21,23,23,20,21,23,28,20,21,23,20,21,23,21,0,23,21,21,21,20,21,23,20,21,23,20,21,23,20,21,23,20,21,23,20,21,23,65,66,67,68,69,65,66,67,34,34,34,34,34,0,34,0,34,16,34,16,16,16,34,16,34,16,34,16,34,34,16,34,34,34,16,34,16,34,16,16,16,16,34,34,16,34,34,16,34,16,34,16,34,16,34,16,70,71,72,70,71,72,70,35,35,35,35,35,0,0,35,35,35,40,35,40,40,40,40,35,40,35,40,35,40,35,35,40,35,35,40,35,40,35,40,35,0,0,0,0,40,35,40,35,35,40,35,40,35,40,35,40,35,40,40,73,74,75,76,76,76,77,73,74,77,76,36,0,36,50,36,51,0,0,0,0,0,0,54,49,15,36,50,51,46,54,49,15,36,50,51,46,49,15,36,50,51,46,49,15,36,50,51,46,49,15,49,15,49,15,49,15,54,49,15,15,36,50,51,46,54,49,15,15,36,50,51,46,54,54,49,15,36,50,51,46,15,46,49,15,15,46,36,50,51,36,50,51,49,15,36,36,50,50,51,51,46,54,49,15,15,36,50,51,46,46,49,54,49,15,36,50,51,46,54,49,15,36,50,51,46,54,54,46,46,46,46,46,46,46,46,49,36,50,51,49,46,49,49,0,0,0,49,15,49,15,49,15,36,50,51,46,36,50,51,54,49,15,36,50,51,46,54,49,15,36,50,51,46,54,49,15,36,50,51,46,54,49,15,36,50,51,46,15,54,49,15,36,50,51,46,78,78,79,80,79,80,81,81],"f":[0,0,[[]],[[]],[1,1],[[]],[2],[2],[3,[[4,[1]]]],[2],0,[[1,5],6],[[]],0,[[],2],[[]],0,0,0,0,0,0,0,0,[[1,7],4],[[]],[[],4],[[],4],[[],8],[[]],[[]],[[9,10,11,12,[14,[13]],15],[[17,[16]]]],0,[[],18],[19,18],[[[14,[13]],19],18],[[[14,[13]],19],18],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[21,21],[[]],[[]],[[],20],[2],[2],[2],[2],[2],[2],[2],[2],[2],[[20,20],22],[[],22],[[20,5],6],[[21,5],6],[[23,5],6],[[23,5],6],[[]],[[]],[[]],[[24,20],[[27,[[26,[25]]]]]],[[],2],[[],2],[[],2],[[]],[[]],[[]],0,[[9,10,28,20,1,29,30,31,[14,[13]],[14,[13]]],[[4,[21,23]]]],[32],0,0,0,[[]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[16,16],[[]],[2],[2],[2],[2],[2],[2],[[34,5],6],[[34,5],6],[[16,5],6],[35,34],[36,34],[[]],[[]],[[],2],[[],2],[[]],[[]],[[16,37,29,30],[[4,[38,34]]]],[16,22],[16,2],[32],[34,[[17,[39]]]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[40,40],[[]],0,[2],[2],[2],[2],[2],[2],[[35,5],6],[[35,5],6],[[40,5],6],[36,35],[[]],[[]],[[],2],[[],2],[[]],[[]],[32],[[41,42,15,[14,[13]],30],[[4,[43,35]]]],[[41,31,[45,[44]],46,47,[14,[13]]],[[4,[[26,[[45,[[17,[48]]]]]],35]]]],[[[45,[[17,[48]]]],41,30],[[4,[[26,[[45,[48]]]],35]]]],[[[45,[[17,[48]]]],41,30],[[4,[38,35]]]],0,[35,[[17,[39]]]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[49,49],[15,15],[36,36],[50,50],[51,51],[46,46],[[]],[[]],[[]],[[]],[[]],[[]],[52,[[4,[49,53]]]],[52,[[4,[15,53]]]],[[[14,[13]]],[[4,[53]]]],[[[14,[13]]],[[4,[53]]]],[[44,[14,[13]]],[[4,[53]]]],[[44,[14,[13]]],[[4,[53]]]],[[44,52],[[4,[53]]]],[[44,52],[[4,[53]]]],[2],[2],[2],[15],[2],[2],[2],[2],[2],[2],[2],[15],[2],[2],[2],[2],[2],[54],[2],[2],[2],[2],[2],[2],[15,[[55,[13]]]],[[46,[14,[13]]],[[4,[50]]]],[[49,[0,[56,57]]]],[[15,[0,[56,57]]]],[[],2],[31,2],[[36,36],22],[[50,50],22],[[51,51],22],[[],22],[[],22],[[],22],[[49,5],6],[[15,5],6],[[36,5],6],[[36,5],6],[[50,5],6],[[50,5],6],[[51,5],6],[[51,5],6],[[46,5],6],[[]],[[]],[[]],[49,15],[[]],[[]],[[]],[[]],[[[14,[13]],31],[[4,[46,36]]]],0,[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,38],[54,38],[46,[[14,[[58,[[45,[13]]]]]]]],[46,38],[[46,41],59],[[46,60],[[4,[59,51]]]],[[46,60],[[4,[59,51]]]],[31,46],[46,[[14,[60]]]],[[46,41],61],0,[32],[32],[32],[49,[[26,[[45,[44]]]]]],[46,[[26,[[45,[31]]]]]],0,0,[31,2],[31,2],[31,2],[49,2],[15,2],[[[14,[13]]],[[55,[13,62]]]],[[[14,[13]]],[[55,[13,62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],33],[[],33],[[],33],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[15,63]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0],"c":[],"p":[[3,"FarmerProtocolInfo"],[15,"usize"],[8,"Deserializer"],[4,"Result"],[3,"Formatter"],[6,"Result"],[8,"Serializer"],[3,"TypeId"],[3,"PublicKey"],[6,"SectorIndex"],[6,"Blake2b256Hash"],[6,"SolutionRange"],[15,"u8"],[15,"slice"],[3,"SectorMetadataChecksummed"],[3,"SolutionCandidates"],[4,"Option"],[6,"Result"],[15,"u64"],[4,"PieceGetterRetryPolicy"],[3,"PlottedSector"],[15,"bool"],[4,"PlottingError"],[3,"PieceIndex"],[8,"Future"],[3,"Box"],[3,"Pin"],[8,"PieceGetter"],[3,"Kzg"],[3,"ErasureCoding"],[15,"u16"],[3,"Demand"],[3,"String"],[4,"ProvingError"],[4,"ReadingError"],[4,"SectorContentsMapFromBytesError"],[8,"Copy"],[8,"ExactSizeIterator"],[8,"Error"],[3,"PlotRecord"],[3,"PieceOffset"],[3,"SectorId"],[3,"Piece"],[15,"u32"],[15,"array"],[3,"SectorContentsMap"],[8,"Table"],[3,"Scalar"],[3,"SectorMetadata"],[4,"SectorContentsMapEncodeIntoError"],[4,"SectorContentsMapIterationError"],[8,"Input"],[3,"Error"],[3,"EncodedChunksUsed"],[3,"Vec"],[8,"Output"],[8,"Sized"],[3,"BitArray"],[8,"Iterator"],[3,"SBucket"],[8,"IndexedParallelIterator"],[3,"Global"],[8,"FnOnce"],[8,"FileExt"],[13,"FailedToRetrievePiece"],[13,"BadSectorOutputSize"],[13,"BadSectorMetadataOutputSize"],[13,"PieceNotFound"],[13,"PieceRecoveryFailed"],[13,"FailedToCreateChunkWitness"],[13,"FailedToCreatePolynomialForRecord"],[13,"FailedToDecodeMetadataForRecord"],[13,"WrongSectorSize"],[13,"WrongRecordSizeAfterDecoding"],[13,"FailedToReadChunk"],[13,"InvalidChunk"],[13,"FailedToErasureDecodeRecord"],[13,"InvalidBytesLength"],[13,"InvalidBytesLength"],[13,"InvalidEncodedRecordChunks"],[13,"SBucketOutOfRange"]]},\ +"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLALLLALALLLALLLLLLLLLLLLLLLLALLGIKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFENNNNNNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNNNENDEEEDEEDNNNNNLLMLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLALMALLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLAAAAAFDLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLL","n":["Identity","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","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","acknowledge_archived_segment_header","farmer_app_info","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","from","from","get_piece","init","init","into","into","new","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","BackgroundTaskError","CacheCantBeOpened","CacheFileDoesNotExist","CantPreallocateMetadataFile","CantPreallocatePlotFile","Error","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToMapMetadata","FailedToReadBytes","FailedToSubmitSolutionsResponse","FailedToSubscribeArchivedSegments","FailedToSubscribeSlotInfo","FailedToWriteBytes","FarmInfoCantBeOpened","FarmInfoFileDoesNotExist","FarmTooLarge","Farming","FarmingError","Found","IdentityCantBeOpened","IdentityFileDoesNotExist","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","Io","LowLevel","LowLevelProving","MetadataCantBeOpened","MetadataFileDoesNotExist","MetadataFileTooSmall","MissingArchivedSegmentHeader","NotFound","PieceCacheError","Plotting","PlottingError","PublicKeyMismatch","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmOptions","SingleDiskFarmScrubError","SingleDiskFarmSummary","SingleDiskSemaphore","Ulid","UnexpectedMetadataVersion","UnexpectedMetadataVersion","V0","WrongChain","acquire","allocated_space","allocated_space","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","cache_percentage","clone","clone","clone","clone_into","clone_into","clone_into","cmp","collect_summary","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","deserialize","deserialize","directory","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","erasure_coding","farmer_app_info","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","genesis_hash","get_hash","hash","id","id","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","kzg","load_from","max_pieces_in_sector","new","new","new","new","node_client","on_sector_plotted","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","provide","provide","provide","provide","provide","public_key","reward_address","run","scrub","serialize","serialize","source","source","source","source","store_to","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","error","error","error","error","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","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","provide","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","archival_storage_info","archival_storage_pieces","farmer_piece_getter","piece_validator","readers_and_pieces","run_future_in_dedicated_thread","ArchivalStorageInfo","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","fmt","from","init","into","peers_contain_piece","remove_peer_filter","to_owned","try_from","try_into","type_id","unique_saturated_into","update_cuckoo_filter","vzip","ArchivalStoragePieces","add_pieces","borrow","borrow_mut","clone","clone_into","cuckoo_filter","delete_pieces","deref","deref_mut","drop","fmt","from","init","into","new","on_notification","to_owned","try_from","try_into","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"],"q":[[0,"subspace_farmer"],[63,"subspace_farmer::node_client"],[75,"subspace_farmer::piece_cache"],[112,"subspace_farmer::reward_signing"],[113,"subspace_farmer::single_disk_farm"],[408,"subspace_farmer::single_disk_farm::FarmingError"],[412,"subspace_farmer::single_disk_farm::PlottingError"],[416,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[431,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[436,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[463,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[468,"subspace_farmer::single_disk_farm::piece_cache"],[531,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[533,"subspace_farmer::single_disk_farm::piece_reader"],[552,"subspace_farmer::utils"],[558,"subspace_farmer::utils::archival_storage_info"],[580,"subspace_farmer::utils::archival_storage_pieces"],[603,"subspace_farmer::utils::farmer_piece_getter"],[619,"subspace_farmer::utils::piece_validator"],[635,"subspace_farmer::utils::readers_and_pieces"]],"d":["Identity struct is an abstraction of public & secret key …","","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","Acknowledge segment header.","Get farmer app info","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.","","","Run the cache worker with provided piece getter","","","","","","","","","","","","","Errors that happen in background tasks","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 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 retrieve farmer info","Failed to get segment header","Failed to create memory mapping for metadata","Failed to read bytes from file","Failed to submit solutions response","Failed to subscribe to archived segments","Failed to subscribe to slot info notifications","Failed to write bytes from file","Farm info can’t be opened","Farm info file does not exist","Farm is too large","Farming error","Errors that happen during farming","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","I/O error occurred","Low-level plotting error","Low-level proving 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 …","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","Semaphore that limits disk access concurrency in strategic …","Farm ID","Unexpected metadata version","Unexpected metadata version","V0 of the info","Wrong chain (genesis hash)","Acquire access, will block current thread until previously …","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.","","","","","","","","","","","","","","","","","Erasure coding instance to use.","Information necessary for farmer application","","","","","","","","","","","","","","","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.","","","","","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).","Calls U::from(self).","Kzg instance to use.","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","Create new semaphore for limiting concurrency of the major …","Creates new ID","","RPC client connected to Subspace node","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","","","","","","","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 …","","","","","","","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","Lower-level error","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","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 …","","","","","","","","","","","","Runs future on a dedicated thread with the specified name, …","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","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.","","","","",""],"i":[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,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,29,29,29,29,29,29,29,29,29,29,0,0,33,26,33,26,26,26,33,26,33,26,33,26,26,33,26,26,33,26,33,26,26,26,26,33,26,33,26,33,26,33,26,33,26,33,26,0,0,50,50,49,49,43,49,50,49,50,47,48,48,47,50,47,48,47,50,50,50,49,51,0,43,50,50,49,49,49,47,48,49,48,47,50,50,50,48,43,49,51,0,50,0,0,0,0,0,0,0,0,40,49,50,38,49,36,38,64,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,64,36,40,38,36,40,38,40,45,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,40,38,64,43,64,45,45,47,48,36,40,38,49,50,51,40,40,40,40,64,64,47,47,48,48,36,40,40,38,49,49,50,50,51,51,43,64,45,47,47,47,48,48,48,36,40,40,38,49,49,49,50,51,51,51,38,40,40,45,38,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,64,38,64,45,36,40,38,64,45,45,40,0,45,64,0,45,38,45,45,47,48,49,50,51,38,64,45,45,40,38,47,48,49,51,38,36,40,38,47,48,40,49,50,51,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,43,64,45,47,48,36,40,38,49,50,51,45,97,98,99,100,101,102,103,104,105,106,105,107,108,107,108,109,109,105,105,109,106,107,108,110,110,110,110,110,111,112,113,114,115,116,117,111,112,113,118,114,119,115,120,116,121,122,117,123,123,112,113,121,112,113,121,124,125,126,126,124,56,56,0,0,56,0,56,56,56,77,32,56,77,32,77,32,77,32,56,77,32,56,77,32,56,77,32,56,56,77,77,32,56,56,77,32,56,77,32,56,77,32,56,56,77,32,56,77,56,77,32,56,77,32,56,77,32,56,77,32,56,77,32,127,127,0,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,0,0,0,0,0,0,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90],"f":[0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[[]],[[]],[[]],[[]],[6,6],[1,1],[[]],[[]],[[[8,[7]]],[[9,[6,0]]]],[10],[6],[10],[10],[10],[10],[10],[6,[[12,[11]]]],[1,[[5,[[4,[3]]]]]],[[],10],[[1,13],14],[[]],[[]],[[],10],[[],10],[[]],[[]],0,[15,[[9,[1,16]]]],0,[[[8,[7]]],[[9,[[17,[6]],0]]]],[[[8,[7]]],[[9,[6,0]]]],[[1,18],[[5,[[4,[3]]]]]],0,[6,19],0,[6,20],[[1,[21,[2]]],[[5,[[4,[3]]]]]],[[6,[12,[11]]],22],0,[[1,23],[[5,[[4,[3]]]]]],[[1,24],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[]],[[]],0,[[]],[[]],0,0,[2,[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[18,[[5,[[4,[3]]]]]],[[[21,[2]]],[[5,[[4,[3]]]]]],[23,[[5,[[4,[3]]]]]],[24,[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],[[],[[5,[[4,[3]]]]]],0,0,[[]],[[]],[[]],[[]],[26,26],[[]],[10],[10],[10],[10],[10],[10],[[26,13],14],[[]],[[]],[[26,27],[[17,[28]]]],[[],10],[[],10],[[]],[[]],[[29,30]],[[26,27],[[17,[31]]]],[[26,[21,[32]]]],[[[33,[29]],34]],[[]],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[]],[[]],[[]],[[]],[[29,6],[[9,[3,[4,[35]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[36,37],[38,39],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[36,36],[40,40],[38,38],[[]],[[]],[[]],[[40,40],41],[42,43],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[44,[[9,[40]]]],[44,[[9,[38]]]],0,[10],[10],[10],[45],[10],[10],[10],[10],[10],[10],[10],[10],[[40,40],46],[[],46],[[],46],[[],46],0,0,[[47,13],14],[[47,13],14],[[48,13],14],[[48,13],14],[[36,13],14],[[40,13],14],[[40,13],14],[[38,13],14],[[49,13],14],[[49,13],14],[[50,13],14],[[50,13],14],[[51,13],14],[[51,13],14],[[]],[[]],[[]],[52,47],[[]],[53,47],[52,48],[[]],[54,48],[[]],[55,40],[[]],[[]],[52,49],[56,49],[[]],[[]],[48,51],[[]],[47,51],[38,[[57,[11]]]],[[[0,[58,59]],60],39],[[40,61]],[45,40],[38,40],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[7,[[62,[[17,[38]]]]]],0,[[[64,[29,[0,[34,63]]]],10],[[9,[45,49]]]],[65,36],[[],40],[[40,[57,[11]],66,67,39],38],0,[[45,[69,[68]]],70],[[45,[69,[68]]],70],[[40,40],[[17,[41]]]],0,[45,32],0,0,[45,71],[38,67],[45,72],[45,10],[73],[73],[73],[73],[73],[38,66],0,[45,74],[7,[[9,[50]]]],[[40,75],9],[[38,75],9],[47,[[17,[35]]]],[48,[[17,[35]]]],[49,[[17,[35]]]],[51,[[17,[35]]]],[[38,7],62],[[]],[[]],[[]],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,62],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[77,77],[32,32],[[]],[[]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[56,13],14],[[56,13],14],[[77,13],14],[[77,13],14],[[32,13],14],[52,56],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[]],[[]],[[]],[73],[56,[[17,[35]]]],[[]],[[]],[[],76],[[],76],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[],25],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[71,71],[[]],[10],[10],[10],[[71,13],14],[[]],[[],10],[[]],[[71,78,79],[[17,[28]]]],[[]],[[],9],[[],9],[[],25],[[]],[[]],0,0,0,0,0,[[[0,[3,80,63]],76],[[62,[[0,[3,63]]]]]],0,[[]],[[]],[81,81],[[]],[[],81],[10],[10],[10],[[81,13],14],[[]],[[],10],[[]],[[81,18],[[21,[30]]]],[[81,30],46],[[]],[[],9],[[],9],[[],25],[[]],[[81,30,[69,[82]]]],[[]],0,[[83,[12,[18]]]],[[]],[[]],[83,83],[[]],[83,82],[[83,[12,[18]]]],[10],[10],[10],[[83,13],14],[[]],[[],10],[[]],[10,83],[[83,84],[[17,[70]]]],[[]],[[],9],[[],9],[[],25],[[]],[[]],0,[[]],[[]],[10],[10],[10],[[]],[[[86,[[0,[85,63]],29]],18,87],[[5,[[4,[3]]]]]],[[],10],[[]],[[88,89,26,81,[69,[[91,[[17,[90]]]]]]],86],[[],9],[[],9],[[],25],[[]],[[]],0,[[]],[[]],[10],[10],[10],[[]],[[],10],[[]],[[88,92,[91,[[94,[2,93]]]]],95],[[],9],[[],9],[[],25],[[]],[[[95,[29]],30,18,28],[[5,[[4,[3]]]]]],[[]],0,[[90,11,96]],[[]],[[]],[[90,18],46],[[90,11,96]],[10],[10],[10],[[90,13],14],[[]],[[],10],[[]],[[[21,[71]],83],90],[90,72],[[90,18],[[17,[3]]]],[[],9],[[],9],[[],25],[[]],[[]]],"c":[],"p":[[3,"NodeRpcClient"],[3,"SegmentIndex"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"Identity"],[3,"Path"],[8,"AsRef"],[4,"Result"],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter"],[6,"Result"],[15,"str"],[4,"Error"],[4,"Option"],[3,"PieceIndex"],[3,"PublicKey"],[3,"SecretKey"],[3,"Vec"],[3,"Signature"],[3,"RewardSignatureResponse"],[3,"SolutionResponse"],[3,"TypeId"],[3,"PieceCache"],[3,"Key"],[3,"Piece"],[8,"NodeClient"],[3,"PeerId"],[3,"ProviderRecord"],[3,"DiskPieceCache"],[3,"CacheWorker"],[8,"PieceGetter"],[8,"Error"],[3,"SingleDiskSemaphore"],[3,"SemaphoreGuard"],[4,"SingleDiskFarmInfo"],[15,"u64"],[4,"SingleDiskFarmId"],[4,"Ordering"],[3,"PathBuf"],[4,"SingleDiskFarmSummary"],[8,"Deserializer"],[3,"SingleDiskFarm"],[15,"bool"],[4,"FarmingError"],[4,"PlottingError"],[4,"SingleDiskFarmError"],[4,"SingleDiskFarmScrubError"],[4,"BackgroundTaskError"],[3,"Error"],[4,"ProvingError"],[4,"PlottingError"],[3,"Ulid"],[4,"DiskPieceCacheError"],[15,"array"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[6,"Result"],[8,"Send"],[3,"SingleDiskFarmOptions"],[3,"NonZeroU16"],[3,"PublicKey"],[15,"u16"],[8,"Fn"],[3,"Arc"],[3,"HandlerId"],[3,"PieceReader"],[8,"Iterator"],[3,"Demand"],[6,"Result"],[8,"Serializer"],[3,"String"],[3,"Offset"],[6,"SectorIndex"],[3,"PieceOffset"],[8,"Unpin"],[3,"ArchivalStorageInfo"],[3,"CuckooFilterDTO"],[3,"ArchivalStoragePieces"],[6,"NotificationHandler"],[8,"PieceValidator"],[3,"FarmerPieceGetter"],[4,"PieceGetterRetryPolicy"],[3,"Node"],[3,"PieceProvider"],[3,"ReadersAndPieces"],[6,"Mutex"],[3,"Kzg"],[6,"SegmentCommitment"],[3,"LruCache"],[3,"SegmentCommitmentPieceValidator"],[3,"PlottedSector"],[13,"FailedToSubscribeSlotInfo"],[13,"FailedToGetFarmerInfo"],[13,"FailedToMapMetadata"],[13,"FailedToSubmitSolutionsResponse"],[13,"FailedToGetFarmerInfo"],[13,"FailedToGetSegmentHeader"],[13,"FailedToSubscribeArchivedSegments"],[13,"MissingArchivedSegmentHeader"],[13,"FarmTooLarge"],[13,"InsufficientAllocatedSpace"],[13,"WrongChain"],[13,"IdentityMismatch"],[13,"InvalidPiecesInSector"],[13,"V0"],[13,"FailedToDetermineFileSize"],[13,"FailedToReadBytes"],[13,"FailedToWriteBytes"],[13,"FarmInfoCantBeOpened"],[13,"IdentityCantBeOpened"],[13,"MetadataCantBeOpened"],[13,"CacheCantBeOpened"],[13,"FarmInfoFileDoesNotExist"],[13,"IdentityFileDoesNotExist"],[13,"MetadataFileDoesNotExist"],[13,"MetadataFileTooSmall"],[13,"CacheFileDoesNotExist"],[13,"PublicKeyMismatch"],[13,"Found"],[13,"NotFound"],[13,"Error"],[13,"OffsetOutsideOfRange"]]},\ +"subspace_farmer_components":{"doc":"Components of the reference implementation of Subspace …","t":"DALLLLLLLLALLMLLMMAAAMMALLLLLLLFIKKKKKNNNNNIENNDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLMFLMMMLLLLLLLLLLLLLLLLLLMMMMMMMMNNNNNENDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMNNNNNDENNLLLLLLMLLLLLLLLLLLLLLLLLFFFFMLLLLLLLLLLLLLMMMMMMMMMMMMNDNNNNDEEEDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMMFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMM","n":["FarmerProtocolInfo","auditing","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","file_ext","fmt","from","history_size","init","into","max_pieces_in_sector","min_sector_lifetime","plotting","proving","reading","recent_history_fraction","recent_segments","sector","serialize","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","audit_sector","FileExt","advise_random_access","advise_sequential_access","preallocate","read_exact_at","write_all_at","BadSectorMetadataOutputSize","BadSectorOutputSize","FailedToRetrievePiece","InvalidErasureCodingInstance","Limited","PieceGetter","PieceGetterRetryPolicy","PieceNotFound","PieceRecoveryFailed","PlottedSector","PlottingError","Unlimited","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","fmt","fmt","fmt","from","from","from","get_piece","init","init","init","into","into","into","piece_indexes","plot_sector","provide","sector_id","sector_index","sector_metadata","to_owned","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","expected","expected","piece_index","piece_index","piece_index","provided","provided","FailedToCreateChunkWitness","FailedToCreatePolynomialForRecord","FailedToDecodeMetadataForRecord","FailedToDecodeSectorContentsMap","InvalidErasureCodingInstance","ProvingError","RecordReadingError","SolutionCandidates","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","init","init","into","into","into_iter","is_empty","len","provide","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","error","piece_offset","piece_offset","piece_offset","ChecksumMismatch","FailedToDecodeSectorContentsMap","FailedToErasureDecodeRecord","FailedToReadChunk","InvalidChunk","PlotRecord","ReadingError","WrongRecordSizeAfterDecoding","WrongSectorSize","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commitment","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","init","init","into","into","provide","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","actual","chunk_location","chunk_location","encoded_chunk_used","error","error","expected","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","equivalent","equivalent","equivalent","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","provide","provide","provide","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"],[31,"subspace_farmer_components::auditing"],[32,"subspace_farmer_components::file_ext"],[38,"subspace_farmer_components::plotting"],[110,"subspace_farmer_components::plotting::PlottingError"],[118,"subspace_farmer_components::proving"],[166,"subspace_farmer_components::proving::ProvingError"],[173,"subspace_farmer_components::reading"],[225,"subspace_farmer_components::reading::ReadingError"],[236,"subspace_farmer_components::sector"],[421,"subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"],[423,"subspace_farmer_components::sector::SectorContentsMapFromBytesError"],[427,"subspace_farmer_components::sector::SectorContentsMapIterationError"]],"d":["Information about the protocol necessary for farmer …","","","","","","","","","","File extension trait","","Returns the argument unchanged.","Size of the blockchain history","","Calls U::from(self).","How many pieces one sector is supposed to contain (max)","Minimum lifetime of a plotted sector, measured in archived …","","","","Fraction of pieces from the “recent history” (…","Number of latest archived segments that are considered “…","","","","","","","","","Audit a single sector and generate a stream of solutions, …","Extension convenience trait that allows pre-allocating …","Advise OS/file system that file will use random access and …","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","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","Information about sector that was plotted","Plotting status","No restrictions on retries","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Indexes of pieces that were plotted","Plot a single sector, where sector and sector_metadata …","","Sector ID","Sector index","Sector metadata","","","","","","","","","","","","","","","","","","","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 metadata for record","Failed to decode sector contents map","Invalid erasure coding instance","Errors that happen during proving","Record reading error","Container for solutions","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Returns true if no candidates inside","Total number of candidates","","","","","","","","","","","","","","","Chunk index","Lower-level error","Lower-level error","Lower-level error","Piece offset","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","Record contained in the plot","Errors that happen during reading","Wrong record size after decoding","Wrong sector size","","","","","","","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","Actual size in bytes","Chunk location","Chunk location","Indicates whether chunk was encoded","Lower-level error","Lower-level error","Expected size in bytes","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":[0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,64,64,64,64,64,23,23,23,23,20,0,0,23,23,0,0,20,20,21,23,20,21,23,20,21,20,21,20,20,21,23,20,21,23,20,21,23,20,20,20,21,23,23,20,21,23,28,20,21,23,20,21,23,21,0,23,21,21,21,20,21,23,20,21,23,20,21,23,20,21,23,20,21,23,20,21,23,65,66,67,68,69,65,66,67,34,34,34,34,34,0,34,0,34,16,34,16,16,16,34,16,34,16,34,16,34,34,16,34,34,34,16,34,16,34,16,16,16,16,34,34,16,34,34,16,34,16,34,16,34,16,34,16,70,71,72,70,71,72,70,36,36,36,36,36,0,0,36,36,36,40,36,40,40,40,40,36,40,36,40,36,40,36,36,40,36,36,40,36,40,36,40,36,0,0,0,0,40,36,40,36,36,40,36,40,36,40,36,40,36,40,40,73,74,75,76,76,76,77,73,74,77,76,35,0,35,50,35,51,0,0,0,0,0,0,54,49,15,35,50,51,46,54,49,15,35,50,51,46,49,15,35,50,51,46,49,15,35,50,51,46,49,15,49,15,49,15,49,15,54,49,15,15,35,50,51,46,54,49,15,15,35,50,51,46,54,54,49,15,35,50,51,46,15,46,49,15,15,46,35,50,51,35,50,51,49,15,35,35,50,50,51,51,46,54,49,15,15,35,50,51,46,46,49,54,49,15,35,50,51,46,54,49,15,35,50,51,46,54,54,46,46,46,46,46,46,46,46,49,35,50,51,49,46,49,49,0,0,0,49,15,49,15,49,15,35,50,51,46,35,50,51,54,49,15,35,50,51,46,54,49,15,35,50,51,46,54,49,15,35,50,51,46,54,49,15,35,50,51,46,15,54,49,15,35,50,51,46,78,78,79,80,79,80,81,81],"f":[0,0,[[]],[[]],[1,1],[[]],[2],[2],[3,[[4,[1]]]],[2],0,[[1,5],6],[[]],0,[[],2],[[]],0,0,0,0,0,0,0,0,[[1,7],4],[[]],[[],4],[[],4],[[],8],[[]],[[]],[[9,10,11,12,[14,[13]],15],[[17,[16]]]],0,[[],18],[[],18],[19,18],[[[14,[13]],19],18],[[[14,[13]],19],18],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[21,21],[[]],[[]],[[],20],[2],[2],[2],[2],[2],[2],[2],[2],[2],[[20,20],22],[[],22],[[20,5],6],[[21,5],6],[[23,5],6],[[23,5],6],[[]],[[]],[[]],[[24,20],[[27,[[26,[25]]]]]],[[],2],[[],2],[[],2],[[]],[[]],[[]],0,[[9,10,28,20,1,29,30,31,[14,[13]],[14,[13]]],[[4,[21,23]]]],[32],0,0,0,[[]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[16,16],[[]],[2],[2],[2],[2],[2],[2],[[34,5],6],[[34,5],6],[[16,5],6],[35,34],[[]],[36,34],[[]],[[],2],[[],2],[[]],[[]],[[16,37,29,30],[[4,[38,34]]]],[16,22],[16,2],[32],[34,[[17,[39]]]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[40,40],[[]],0,[2],[2],[2],[2],[2],[2],[[36,5],6],[[36,5],6],[[40,5],6],[[]],[35,36],[[]],[[],2],[[],2],[[]],[[]],[32],[[41,42,15,[14,[13]],30],[[4,[43,36]]]],[[41,31,[45,[44]],46,47,[14,[13]]],[[4,[[26,[[45,[[17,[48]]]]]],36]]]],[[[45,[[17,[48]]]],41,30],[[4,[[26,[[45,[48]]]],36]]]],[[[45,[[17,[48]]]],41,30],[[4,[38,36]]]],0,[36,[[17,[39]]]],[[]],[[],33],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[49,49],[15,15],[35,35],[50,50],[51,51],[46,46],[[]],[[]],[[]],[[]],[[]],[[]],[52,[[4,[49,53]]]],[52,[[4,[15,53]]]],[[[14,[13]]],[[4,[53]]]],[[[14,[13]]],[[4,[53]]]],[[44,[14,[13]]],[[4,[53]]]],[[44,[14,[13]]],[[4,[53]]]],[[44,52],[[4,[53]]]],[[44,52],[[4,[53]]]],[2],[2],[2],[15],[2],[2],[2],[2],[2],[2],[2],[15],[2],[2],[2],[2],[54],[2],[2],[2],[2],[2],[2],[2],[15,[[55,[13]]]],[[46,[14,[13]]],[[4,[50]]]],[[49,[0,[56,57]]]],[[15,[0,[56,57]]]],[[],2],[31,2],[[35,35],22],[[50,50],22],[[51,51],22],[[],22],[[],22],[[],22],[[49,5],6],[[15,5],6],[[35,5],6],[[35,5],6],[[50,5],6],[[50,5],6],[[51,5],6],[[51,5],6],[[46,5],6],[[]],[[]],[49,15],[[]],[[]],[[]],[[]],[[]],[[[14,[13]],31],[[4,[46,35]]]],0,[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,38],[54,38],[46,[[14,[[58,[[45,[13]]]]]]]],[46,38],[[46,41],59],[[46,60],[[4,[59,51]]]],[[46,60],[[4,[59,51]]]],[31,46],[46,[[14,[60]]]],[[46,41],61],0,[32],[32],[32],[49,[[26,[[45,[44]]]]]],[46,[[26,[[45,[31]]]]]],0,0,[31,2],[31,2],[31,2],[49,2],[15,2],[[[14,[13]]],[[55,[13,62]]]],[[[14,[13]]],[[55,[13,62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],33],[[],33],[[],33],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[15,63]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0],"c":[],"p":[[3,"FarmerProtocolInfo"],[15,"usize"],[8,"Deserializer"],[4,"Result"],[3,"Formatter"],[6,"Result"],[8,"Serializer"],[3,"TypeId"],[3,"PublicKey"],[6,"SectorIndex"],[6,"Blake2b256Hash"],[6,"SolutionRange"],[15,"u8"],[15,"slice"],[3,"SectorMetadataChecksummed"],[3,"SolutionCandidates"],[4,"Option"],[6,"Result"],[15,"u64"],[4,"PieceGetterRetryPolicy"],[3,"PlottedSector"],[15,"bool"],[4,"PlottingError"],[3,"PieceIndex"],[8,"Future"],[3,"Box"],[3,"Pin"],[8,"PieceGetter"],[3,"Kzg"],[3,"ErasureCoding"],[15,"u16"],[3,"Demand"],[3,"String"],[4,"ProvingError"],[4,"SectorContentsMapFromBytesError"],[4,"ReadingError"],[8,"Copy"],[8,"ExactSizeIterator"],[8,"Error"],[3,"PlotRecord"],[3,"PieceOffset"],[3,"SectorId"],[3,"Piece"],[15,"u32"],[15,"array"],[3,"SectorContentsMap"],[8,"Table"],[3,"Scalar"],[3,"SectorMetadata"],[4,"SectorContentsMapEncodeIntoError"],[4,"SectorContentsMapIterationError"],[8,"Input"],[3,"Error"],[3,"EncodedChunksUsed"],[3,"Vec"],[8,"Output"],[8,"Sized"],[3,"BitArray"],[8,"Iterator"],[3,"SBucket"],[8,"IndexedParallelIterator"],[3,"Global"],[8,"FnOnce"],[8,"FileExt"],[13,"FailedToRetrievePiece"],[13,"BadSectorOutputSize"],[13,"BadSectorMetadataOutputSize"],[13,"PieceNotFound"],[13,"PieceRecoveryFailed"],[13,"FailedToCreateChunkWitness"],[13,"FailedToCreatePolynomialForRecord"],[13,"FailedToDecodeMetadataForRecord"],[13,"WrongSectorSize"],[13,"WrongRecordSizeAfterDecoding"],[13,"FailedToReadChunk"],[13,"InvalidChunk"],[13,"FailedToErasureDecodeRecord"],[13,"InvalidBytesLength"],[13,"InvalidBytesLength"],[13,"InvalidEncodedRecordChunks"],[13,"SBucketOutOfRange"]]},\ "subspace_fraud_proof":{"doc":"Subspace fraud proof","t":"DILLLLLLLLLLLLLLLLLAALLLLLLLFALKLLDDILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLDILLLLLLLLLLLLLLLLLLLLLLLLLKLLIDLLLLLLLLLLLLLLLLLLKLKLLLLLLLKLKLL","n":["ProofVerifier","VerifyFraudProof","__clone_box","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","from_mut","from_mut","from_ref","from_ref","init","into","into_mut","into_ref","invalid_state_transition_proof","invalid_transaction_proof","new","to_owned","try_from","try_into","type_id","unchecked_into","unique_saturated_into","validate_fraud_proof_in_tx_pool","verifier_api","verify","verify_fraud_proof","verify_fraud_proof","vzip","ExecutionProver","InvalidStateTransitionProofVerifier","VerifyInvalidStateTransitionProof","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check_execution_proof","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","init","init","into","into","into_mut","into_mut","into_ref","into_ref","new","new","prove_execution","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","verify","verify_invalid_state_transition_proof","verify_invalid_state_transition_proof","vzip","vzip","InvalidTransactionProofVerifier","VerifyInvalidTransactionProof","__clone_box","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","from_mut","from_mut","from_ref","from_ref","init","into","into_mut","into_ref","new","to_owned","try_from","try_into","type_id","unchecked_into","unique_saturated_into","verify","verify_invalid_transaction_proof","verify_invalid_transaction_proof","vzip","VerifierApi","VerifierClient","__clone_box","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","from_mut","from_mut","from_ref","from_ref","init","into","into_mut","into_ref","new","primary_hash","primary_hash","state_root","state_root","to_owned","try_from","try_into","type_id","unchecked_into","unique_saturated_into","verify_post_state_root","verify_post_state_root","verify_pre_state_root","verify_pre_state_root","vzip"],"q":[[0,"subspace_fraud_proof"],[34,"subspace_fraud_proof::invalid_state_transition_proof"],[88,"subspace_fraud_proof::invalid_transaction_proof"],[118,"subspace_fraud_proof::verifier_api"]],"d":["Fraud proof verifier.","Verify fraud proof.","","","","","","","","","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","","Get a reference to the inner from the outer.","","Calls U::from(self).","","","Invalid state transition proof","Invalid transaction proof.","Constructs a new instance of ProofVerifier.","","","","","","","Verifies the fraud proof extracted from extrinsic in the …","This module derives an trait VerifierApi from the runtime …","Verifies the fraud proof.","Verifies fraud proof.","","","Creates storage proof for verifying an execution without …","Invalid state transition proof verifier.","Verifies invalid state transition proof.","","","","","","Runs the execution using the partial state constructed …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","Calls U::from(self).","Calls U::from(self).","","","","","Constructs a new instance of ExecutionProver.","Constructs a new instance of …","Returns a storage proof which can be used to reconstruct a …","","","","","","","","","","","","Verifies the invalid state transition proof.","Returns Ok(()) if given invalid_state_transition_proof is …","","","","Invalid transaction proof verifier.","Verifies invalid transaction proof.","","","","","","","","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","","","Get a reference to the inner from the outer.","","Calls U::from(self).","","","Constructs a new instance of …","","","","","","","Verifies the invalid transaction proof.","Returns Ok(()) if given invalid_transaction_proof is …","","","This trait abstracts convenient APIs for the fraud proof …","A wrapper of primary chain client/system domain client in …","","","","","","","","","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Calls U::from(self).","","","Constructs a new instance of VerifierClient.","Returns the hash of primary block at height …","","Returns the state root of specified domain block.","","","","","","","","Verifies whether post_state_root declared in the proof is …","","Verifies whether pre_state_root declared in the proof is …","",""],"i":[0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,0,0,2,11,2,2,0,0,0,27,18,27,18,27,18,27,27,18,27,18,27,18,27,18,27,18,18,27,27,18,18,27,27,18,27,18,27,18,27,18,27,18,27,18,27,18,27,18,27,18,27,18,27,18,27,27,6,27,18,27,0,0,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,4,35,35,0,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,30,38,30,38,38,38,38,38,38,38,30,38,30,38,38],"f":[0,0,[1],[[]],[[]],[2,2],[[]],[3],[3],[3],[[]],[[]],[[]],[[]],[[]],[[],3],[[]],[[]],[[]],0,0,[[[5,[4]],[5,[6]]],[[2,[7,4,6]]]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[10,[0,[[11,[7]],12]],[14,[[13,[7]]]]],[[8,[15]]]],0,[[[2,[7,4,6]],[14,[[13,[7]]]]],[[8,[15]]]],[[[14,[13]]],[[8,[15]]]],[[[2,[7,4,6]],[14,[[13,[7]]]]],[[8,[15]]]],[[]],0,0,0,[1],[[]],[[]],[[]],[[]],[[[18,[7,[16,[7]],17]],19,[21,[20]],22,23],[[25,[[24,[20]]]]]],[[[27,[26,26]]],[[27,[26,26]]]],[[]],[3],[3],[3],[3],[3],[3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[],3],[[]],[[]],[[]],[[]],[[]],[[]],[[[5,[[16,[7]]]],[5,[17]]],[[18,[7,[16,[7]],17]]]],[[[5,[[0,[[28,[7]],12,29]]]],[0,[17,26]],30],[[27,[7,[0,[[28,[7]],12,29]],[0,[17,26]],[0,[31,32]],30]]]],[[[18,[7,[16,[7]],17]],19,[21,[20]],33],[[25,[23]]]],[[]],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[]],[[]],[[]],[[]],[[[27,[7,[0,[[28,[7]],12,29]],[0,[17,26]],[0,[31,32]],30]],34],[[8,[15]]]],[34,[[8,[15]]]],[[[27,[7,[0,[[28,[7]],12,29]],[0,[17,26]],[0,[31,32]],30]],34],[[8,[15]]]],[[]],[[]],0,0,[1],[[]],[[]],[[[35,[26]]],[[35,[26]]]],[[]],[3],[3],[3],[[]],[[]],[[]],[[]],[[]],[[],3],[[]],[[]],[[]],[[[5,[[0,[[36,[7]],[28,[7]],12,29]]]],[5,[17]],30],[[35,[7,[0,[[36,[7]],[28,[7]],12,29]],[0,[31,32]],17,30]]]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[[35,[7,[0,[[36,[7]],[28,[7]],12,29]],[0,[31,32]],17,30]],37],[[8,[15]]]],[37,[[8,[15]]]],[[[35,[7,[0,[[36,[7]],[28,[7]],12,29]],[0,[31,32]],17,30]],37],[[8,[15]]]],[[]],0,0,[1],[[]],[[]],[38,38],[[]],[3],[3],[3],[[]],[[]],[[]],[[]],[[]],[[],3],[[]],[[]],[[]],[5,38],[[39,40],[[8,[22,15]]]],[[[38,[[0,[[28,[7]],[36,[7]]]],7]],39,40],[[8,[22,15]]]],[[39,40,22],[[8,[41,15]]]],[[[38,[[0,[[28,[7]],[36,[7]]]],7]],39,40,22],[[8,[41,15]]]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[34,[[8,[15]]]],[[[38,[[0,[[28,[7]],[36,[7]]]],7]],34],[[8,[15]]]],[34,[[8,[15]]]],[[[38,[[0,[[28,[7]],[36,[7]]]],7]],34],[[8,[15]]]],[[]]],"c":[],"p":[[3,"Private"],[3,"ProofVerifier"],[15,"usize"],[8,"VerifyInvalidTransactionProof"],[3,"Arc"],[8,"VerifyInvalidStateTransitionProof"],[8,"Block"],[4,"Result"],[3,"TypeId"],[8,"SpawnNamed"],[8,"VerifyFraudProof"],[8,"Send"],[6,"NumberFor"],[4,"FraudProof"],[4,"VerificationError"],[8,"Backend"],[8,"CodeExecutor"],[3,"ExecutionProver"],[4,"ExecutionPhase"],[15,"u8"],[15,"slice"],[3,"H256"],[3,"StorageProof"],[3,"Vec"],[6,"Result"],[8,"Clone"],[3,"InvalidStateTransitionProofVerifier"],[8,"ProvideRuntimeApi"],[8,"Sync"],[8,"VerifierApi"],[8,"Encode"],[8,"Decode"],[4,"Option"],[3,"InvalidStateTransitionProof"],[3,"InvalidTransactionProofVerifier"],[8,"HeaderBackend"],[3,"InvalidTransactionProof"],[3,"VerifierClient"],[3,"DomainId"],[15,"u32"],[6,"Hash"]]},\ "subspace_networking":{"doc":"Networking functionality of Subspace Network, primarily …","t":"NNNNNDEDINNIDENNNDSNICEDDDNNDNNNDGSEDEDGDNNQGEDNNNNEENDNDMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLFLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMCMMLMMMMMMMLLLLLLLLLLLKLLLFMLMMMMLMLLLLLLLKLMMLMLLLLLLLLLLLLLLLLMMFLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLLLLLLMMMMAAFGENILLLLLLLLLLLLKKLLLLLLNDDIENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLL","n":["BootstrapNode","BootstrapNode","CantPreallocateKnownPeersFile","Client","Client","Config","CreationError","CuckooFilterDTO","CuckooFilterProvider","Farmer","Farmer","GenericRequest","GenericRequestHandler","GetClosestPeersError","IncorrectResponseFormat","Io","Io","KeyWrapper","LOG_TARGET","LastSegmentHeaders","LocalRecordProvider","Multihash","NetworkParametersPersistenceError","NetworkingParametersManager","NewPeerInfo","Node","Node","Node","NodeRunner","NodeRunnerDropped","NodeRunnerDropped","NodeRunnerDropped","Notification","NotificationHandler","PROTOCOL_NAME","PeerInfo","PeerInfoConfig","PeerInfoProvider","PieceByIndexRequest","PieceByIndexRequestHandler","PieceByIndexResponse","ProtocolFailure","RelayServerExpected","Response","SegmentHeaderBySegmentIndexesRequestHandler","SegmentHeaderRequest","SegmentHeaderResponse","SegmentIndexes","SendCommand","SendCommand","SendCommand","SendRequestError","SubscribeError","Subscription","TopicSubscription","TransportError","UniqueRecordBinaryHeap","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_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","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","clear","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","connected_peers","connected_peers","contains_key","create","create","cuckoo_filter","decode","decode","decode","decode","decode","decode","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_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_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","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_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","external_addresses","external_addresses","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","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_target_connections","get_closest_peers","get_providers","get_value","gossipsub","id","identify","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","is_farmer","kademlia","kademlia_mode","keypair","keys","length","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","on_connected_peer","on_disconnected_peer","on_new_listener","on_notification","on_notification","on_num_established_peer_connections_change","on_peer_info","peer_id","peer_id","peer_info","peer_info","peer_info_provider","piece","piece_index","poll_next","protocol_version","provide","provide","provide","provide","provide","publish","put_value","record","remove","request_response_protocols","reserved_peers","run","segment_headers","send_generic_request","set_limit","should_include_key","size","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","source","source","source","source","source","special_connected_peers_handler","special_target_connections","start_prometheus_metrics_server","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_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_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_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","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","using_encoded","using_encoded","using_encoded","utils","values","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","cuckoo_filter","segment_header_number","segment_indexes","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","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"],[576,"subspace_networking::PeerInfo"],[577,"subspace_networking::SegmentHeaderRequest"],[579,"subspace_networking::utils"],[582,"subspace_networking::utils::multihash"],[606,"subspace_networking::utils::piece_provider"]],"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.","Cuckoo filter data transfer object.","Provides the current cuckoo-filter data.","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.","Wrapper data structure that allows to work with keys as …","Specifies log-parameters for tracing.","Defines how many segment headers to return.","Trait to be implemented on providers of local records","","Networking parameters persistence errors.","Handles networking parameters. It manages network …","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.","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","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.","Defines errors for subscribe operation.","Failed to create subscription.","Topic subscription, will unsubscribe when last instance is …","Transport error when attempting to listen on multiaddr.","Limited-size max binary heap for Kademlia records’ keys.","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 …","Remove all contents, while keeping allocated capacity","","","","","","","","","","","","","","","","","","","","","","","Returns a collection of currently connected peers.","Currently connected peers.","Checks whether the heap contains the given key.","Create a new network node and node runner instances.","Creates new GenericRequestHandler by given handler.","Returns the current cuckoo filter data.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Node’s own addresses observed remotely.","Known external addresses to the local peer. The addresses …","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.","Defines whether we maintain a persistent connection for …","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’ …","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.","","","","","","","","","","","","","","","","","","","","","","","","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).","Returns whether PeerInfo is a Farmer.","The configuration for the Kademlia behaviour.","Kademlia mode. None means “automatic mode”.","Identity keypair of a node used for authenticated …","Iterator over all keys in arbitrary order","Cuckoo filter items.","","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. It accepts NetworkingParametersProvider…","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.","Callback is called when a peer is connected.","Callback is called when a peer is disconnected.","Callback is called when node starts listening on new …","Subscribe to cuckoo filter updates and invoke provided …","Subscribe to peer info updates and invoke provided …","Callback is called when number of established peer …","Callback is called when we receive new …","Converts public key from keypair to PeerId. It serves as …","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.","The configuration for the RequestResponsesBehaviour …","Defines set of peers with a permanent connection (and …","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 target total (in and out) connection number that …","Start prometheus metrics server on the provided address.","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.","Exported cuckoo filter values.","","","","","","","","","","","","","","","","","","","","","","","","Sets the protocol timeout.","Yamux multiplexing configuration.","Peer info data.","Number of segment headers to return.","Segment indexes to get.","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":[12,42,38,12,42,0,0,0,0,12,42,0,0,0,41,38,24,0,70,15,0,0,0,0,0,0,12,42,0,39,40,41,0,0,70,0,0,0,0,0,0,41,24,70,0,0,0,15,39,40,41,0,0,40,0,24,0,23,1,1,23,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,8,1,9,10,11,12,13,14,15,16,17,8,1,9,10,11,12,13,14,15,16,17,8,1,43,8,0,88,58,11,12,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,23,11,12,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,5,23,69,88,38,24,32,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,13,14,16,11,12,13,14,15,16,13,14,15,16,13,13,13,14,14,14,15,15,15,16,16,16,1,23,5,23,38,38,24,24,32,39,39,40,40,41,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,23,69,88,38,38,24,24,24,32,39,39,39,40,40,40,40,41,41,41,41,1,9,10,11,12,42,13,14,15,16,43,17,8,23,23,1,1,1,23,1,23,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,23,8,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,12,23,23,23,8,11,0,23,23,1,23,23,23,23,23,23,23,5,23,9,8,42,42,42,42,1,1,1,58,42,1,1,0,43,42,43,23,14,13,32,23,38,24,39,40,41,1,1,20,8,23,23,69,16,1,8,8,8,32,11,12,13,14,15,16,38,24,39,40,41,23,23,0,1,23,23,23,11,12,13,14,15,16,1,9,10,11,12,13,14,15,16,17,8,38,24,39,40,41,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,13,14,16,0,11,5,23,69,88,38,24,32,39,40,41,1,9,10,11,12,42,13,14,15,16,43,17,8,9,23,89,90,91,0,0,0,0,0,79,0,79,79,79,79,79,79,79,79,79,79,79,79,92,92,79,79,79,79,79,79,81,0,0,0,0,81,87,83,81,87,83,81,81,81,81,87,83,81,87,83,81,87,83,81,81,81,81,81,81,87,83,81,83,83,87,83,81,87,83,81,83,81,87,83,81,87,83,81,87,83,81,82,87,87,83,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,[[1,2],[[4,[3]]]],[1,[[4,[0]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[5,[[6,[0]]]],[[[8,[7]]]],[1,1],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[[[17,[7]]],[[17,[7]]]],[[[8,[7]]],[[8,[7]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,[[4,[[18,[2]],0]]]],0,[[[8,[7]],7],19],[[[23,[[0,[20,21,22]]]]],[[4,[24]]]],[[[0,[25,21,22]]],[[6,[0]]]],[[],11],[26,[[4,[11,27]]]],[26,[[4,[12,27]]]],[26,[[4,[13,27]]]],[26,[[4,[14,27]]]],[26,[[4,[15,27]]]],[26,[[4,[16,27]]]],[[[29,[28]]],[[4,[27]]]],[[[29,[28]]],[[4,[27]]]],[[[29,[28]]],[[4,[27]]]],[[[29,[28]]],[[4,[27]]]],[[[29,[28]]],[[4,[27]]]],[[[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,[29,[28]]],[[4,[27]]]],[[30,26],[[4,[27]]]],[[30,26],[[4,[27]]]],[[30,26],[[4,[27]]]],[[30,26],[[4,[27]]]],[[30,26],[[4,[27]]]],[[30,26],[[4,[27]]]],[[],23],[[],11],[[],12],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[5],[31],[31],[31],[31],[31],[31],[31],[32],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[31],[13,[[18,[28]]]],[14,[[18,[28]]]],[16,[[18,[28]]]],[[11,[0,[33,34]]]],[[12,[0,[33,34]]]],[[13,[0,[33,34]]]],[[14,[0,[33,34]]]],[[15,[0,[33,34]]]],[[16,[0,[33,34]]]],[[13,13],19],[[14,14],19],[[15,15],19],[[16,16],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[1,[[18,[35]]]],0,[[],31],[[23,36],37],[[38,36],37],[[38,36],37],[[24,36],37],[[24,36],37],[[32,36],37],[[39,36],37],[[39,36],37],[[40,36],37],[[40,36],37],[[41,36],37],[[41,36],37],[[1,36],37],[[9,36],37],[[10,36],37],[[11,36],37],[[12,36],37],[[42,36],37],[[13,36],37],[[14,36],37],[[15,36],37],[[16,36],37],[[43,36],37],[[[17,[44]],36],37],[[[8,[44]],36],37],[[]],[[]],[[]],[[]],[45,38],[[]],[45,24],[[[46,[45]]],24],[[]],[[]],[3,39],[47,39],[[]],[47,40],[48,40],[[]],[3,40],[3,41],[27,41],[[]],[47,41],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[1,49],[[4,[50,39]]]],[[1,49],[[4,[50,0]]]],[[1,49],[[4,[50,0]]]],0,[1,2],0,[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],0,[[[8,[7]],7],[[51,[7]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[12,19],0,0,0,[[[8,[7]]],52],0,0,0,0,[1,[[18,[35]]]],0,0,0,0,0,0,0,[[53,[54,[2]]],[[4,[5,38]]]],[[55,56,20,[51,[42]]],[[23,[20]]]],[57,9],[[2,31],[[8,[7]]]],[[],42],[[],42],[[[6,[58]]],42],[[],42],[[1,[59,[25]]],60],[[1,[59,[25]]],60],[[1,[59,[25]]],60],[61,[[51,[60]]]],[[42,61],[[51,[60]]]],[[1,[59,[25]]],60],[[1,[59,[25]]],60],[56,2],0,[42,12],0,0,0,0,[[[62,[32]],63],[[64,[51]]]],0,[65],[65],[65],[65],[65],[[1,66,[18,[28]]],[[4,[0]]]],[[1,49,[18,[28]]],[[4,[50,0]]]],[67,[[51,[68]]]],[[[8,[7]],7]],0,0,[[[69,[[0,[20,21,22]]]]]],0,[[1,2,70],[[4,[41]]]],[[[8,[7]],31]],[[[8,[7]],7],19],[[[8,[7]]],31],[32],[11,31],[12,31],[13,31],[14,31],[15,31],[16,31],[38,[[51,[71]]]],[24,[[51,[71]]]],[39,[[51,[71]]]],[40,[[51,[71]]]],[41,[[51,[71]]]],0,0,[[72,73],74],[[1,66],[[4,[32,40]]]],0,0,0,[[[29,[28]]],[[18,[28,75]]]],[[[29,[28]]],[[18,[28,75]]]],[[[29,[28]]],[[18,[28,75]]]],[[[29,[28]]],[[18,[28,75]]]],[[[29,[28]]],[[18,[28,75]]]],[[[29,[28]]],[[18,[28,75]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],55],[[],55],[[],55],[[],55],[[],55],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[],76],[[13,77]],[[14,77]],[[16,77]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[9,78],9],0,0,0,0,0,0,[[[18,[35]]],18],0,0,0,0,[[]],[[]],[79,79],[[]],[31],[31],[31],[[79,79],19],[[79,36],37],[[]],[[],31],[[]],[[],49],[79,49],[[]],[80,[[4,[79]]]],[[],4],[[],4],[[],76],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[81,81],[[]],[[],81],[31],[31],[31],[31],[31],[31],[31],[31],[31],[[81,81],19],[[],19],[[],19],[[],19],[[81,36],37],[[]],[[]],[[]],[[[83,[82]],84,81],[[4,[[51,[85]],[6,[71]]]]]],[[[83,[82]],2,84],[[51,[85]]]],[[],31],[[],31],[[],31],[[]],[[]],[[]],[[1,[51,[82]]],[[83,[82]]]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],76],[[],76],[[],76],[[2,84,85],[[62,[[6,[86]]]]]],[[87,2,84,85],[[62,[[6,[86]]]]]],[[]],[[]],[[]]],"c":[],"p":[[3,"Node"],[3,"PeerId"],[3,"SendError"],[4,"Result"],[3,"NetworkingParametersManager"],[3,"Box"],[8,"Clone"],[3,"UniqueRecordBinaryHeap"],[3,"PeerInfoConfig"],[3,"Notification"],[3,"CuckooFilterDTO"],[4,"PeerInfo"],[3,"PieceByIndexRequest"],[3,"PieceByIndexResponse"],[4,"SegmentHeaderRequest"],[3,"SegmentHeaderResponse"],[3,"KeyWrapper"],[3,"Vec"],[15,"bool"],[8,"LocalRecordProvider"],[8,"Send"],[8,"Sync"],[3,"Config"],[4,"CreationError"],[8,"Fn"],[8,"Input"],[3,"Error"],[15,"u8"],[15,"slice"],[15,"u32"],[15,"usize"],[3,"TopicSubscription"],[8,"Output"],[8,"Sized"],[3,"Multiaddr"],[3,"Formatter"],[6,"Result"],[4,"NetworkParametersPersistenceError"],[4,"GetClosestPeersError"],[4,"SubscribeError"],[4,"SendRequestError"],[4,"PeerInfoProvider"],[3,"NewPeerInfo"],[8,"Debug"],[3,"Error"],[4,"TransportError"],[3,"Canceled"],[4,"SubscriptionError"],[6,"Multihash"],[8,"Stream"],[4,"Option"],[8,"ExactSizeIterator"],[3,"Path"],[3,"HashSet"],[3,"String"],[3,"Keypair"],[15,"str"],[8,"CuckooFilterProvider"],[3,"Arc"],[3,"HandlerId"],[6,"NotificationHandler"],[3,"Pin"],[3,"Context"],[4,"Poll"],[3,"Demand"],[6,"Sha256Topic"],[3,"Key"],[3,"ProviderRecord"],[3,"NodeRunner"],[8,"GenericRequest"],[8,"Error"],[4,"SocketAddr"],[3,"Registry"],[6,"Result"],[3,"Global"],[3,"TypeId"],[8,"FnOnce"],[3,"Duration"],[4,"MultihashCode"],[15,"u64"],[4,"RetryPolicy"],[8,"PieceValidator"],[3,"PieceProvider"],[3,"PieceIndex"],[3,"Piece"],[8,"Future"],[3,"NoPieceValidator"],[3,"GenericRequestHandler"],[13,"Farmer"],[13,"LastSegmentHeaders"],[13,"SegmentIndexes"],[8,"ToMultihash"]]},\ "subspace_node":{"doc":"Subspace Node library.","t":"NNNNDENDNNNNNNNDNENLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNDDDEDNNLLLLLLLLMLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLLMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["Benchmark","BuildSpec","ChainInfo","CheckBlock","Cli","CliPotRole","Domain","ExecutorDispatch","ExportBlocks","ExportState","ImportBlocks","Key","NodeClient","None","PurgeChain","PurgeChainCmd","Revert","Subcommand","TimeKeeper","__clone_box","__clone_box","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","author","base","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command","command_for_update","command_for_update","copyright_start_year","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","dispatch","domain","domain_args","drop","drop","drop","drop","drop","dsn_bootstrap_nodes","dsn_enable_private_ips","dsn_external_addresses","dsn_in_connections","dsn_listen_on","dsn_out_connections","dsn_pending_in_connections","dsn_pending_out_connections","dsn_reserved_peers","dsn_target_connections","enable_subspace_block_relay","eq","equivalent","equivalent","equivalent","executable_name","fmt","fmt","fmt","fmt","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","from_subset","from_subset","from_subset","group_id","group_id","has_subcommand","impl_name","impl_version","init","init","init","init","init","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_mut","into_mut","into_mut","into_ref","into_ref","into_ref","into_ref","into_ref","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_pot_enabled","is_time_keeper","load_spec","native_runtime_version","native_version","pot_role","run","run","storage_monitor","subcommand","support_url","sync_from_dsn","to_owned","to_owned","to_possible_value","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","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_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","value_variants","vzip","vzip","vzip","vzip","vzip","AccountId32ToAccountId20Converter","Benchmark","DomainCli","DomainGenesisBlockBuilder","DomainInstanceStarter","DomainSubcommand","EVMDomainExecutorDispatch","ExportState","Revert","additional_args","announce_block","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","author","base_path","block_importing_notification_stream","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","command","command_for_update","consensus_client","consensus_network_service","consensus_sync_service","convert","copyright_start_year","create_domain_configuration","default_heap_pages","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","dev_key_seed","disable_grandpa","dispatch","domain_cli","domain_id","drop","drop","drop","drop","drop","drop","executable_name","fmt","fmt","force_authoring","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","generate_genesis_block","generate_genesis_state_root","group_id","has_subcommand","impl_name","impl_version","import_params","init","init","init","init","init","init","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_mut","into_mut","into_mut","into_mut","into_ref","into_ref","into_ref","into_ref","into_ref","into_ref","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","keystore_params","load_spec","max_runtime_instances","maybe_relayer_id","native_runtime_version","native_version","network_params","new","new","new_slot_notification_stream","operator","p2p_listen_port","prometheus_config","prometheus_listen_port","relayer_id","role","rpc_addr","rpc_cors","rpc_listen_port","rpc_max_connections","rpc_methods","run","select_chain","shared_params","start","support_url","telemetry_endpoints","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","tokio_handle","transaction_pool","trie_cache_maximum_size","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_name","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"subspace_node"],[235,"subspace_node::domain"]],"d":["Sub-commands concerned with benchmarking.","Build a chain specification.","Db meta columns information.","Validate blocks.","Subspace Cli.","Assigned proof of time role.","Run domain sub-commands.","Executor dispatch for subspace runtime","Export blocks.","Export the state of a given block into a chain spec.","Import blocks.","Key management cli utilities","Listens to proofs from time keepers.","Proof of time is disabled.","Remove the whole chain.","This purge-chain command used to remove both consensus …","Revert the chain to a previous state.","Utilities for working with a node.","Time keeper role of producing proofs.","","","","","","","","","","The base struct of the purge-chain command.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Domain arguments","","","","","","Bootstrap nodes for DSN.","Determines whether we allow keeping non-global (private, …","Known external addresses","Defines max established incoming connection limit for DSN.","Where local DSN node will listen for incoming connections.","Defines max established outgoing swarm connection limit …","Defines max pending incoming connection limit for DSN.","Defines max pending outgoing swarm connection limit for …","Reserved peers for DSN.","Defines target total (in and out) connection number for …","Use the block request handler implementation from subspace …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","","","Get a mutable reference to the inner from the outer.","","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Checks if PoT is enabled.","Checks if PoT role is time keeper.","","","","Assigned PoT role for this node.","Run the purge command","Run a node.","Parameters used to create the storage monitor.","Various utility commands.","","Enables DSN-sync on startup.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sub-commands concerned with benchmarking.","","DomainGenesisBlockBuilder is used on the consensus node …","DomainInstanceStarter used to start a domain instance node …","Sub-commands supported by the executor.","EVM domain executor instance.","Export the state of a given block into a chain spec.","Revert the chain to a previous state.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates domain configuration from domain cli.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","","","Constructs the genesis domain block from a serialized …","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Constructs a new instance of DomainGenesisBlockBuilder.","Constructs a new instance of DomainCli.","","Run the node as an Operator","","","","Optional relayer address to relay messages on behalf.","","","","","","","Run a domain node.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[16,16,16,16,0,0,16,0,16,16,16,16,5,5,16,0,16,0,5,4,5,4,17,4,17,16,16,17,4,72,4,16,5,17,72,4,16,5,17,4,5,4,5,4,17,4,17,17,72,4,16,5,17,72,4,16,5,17,17,72,0,17,72,4,16,5,17,17,17,17,17,17,17,17,17,17,17,17,5,5,5,5,17,4,16,5,17,72,4,16,5,17,4,16,17,4,16,17,72,72,4,4,16,16,5,5,17,17,72,72,4,4,16,16,5,5,17,17,72,4,16,5,17,4,17,16,17,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,5,5,17,17,72,17,4,17,17,17,17,17,4,5,5,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,72,4,16,5,17,4,16,17,4,16,17,5,72,4,16,5,17,0,43,0,0,0,0,0,43,43,34,34,34,34,43,43,34,34,66,66,73,74,48,43,34,66,73,74,48,43,34,34,34,34,66,66,66,73,34,34,34,66,73,74,48,43,34,66,73,74,48,43,34,34,34,34,74,66,34,66,73,74,48,43,34,34,43,34,34,66,73,74,48,43,34,43,34,43,34,66,66,73,73,74,74,48,48,43,43,34,34,66,66,73,73,74,74,48,48,43,43,34,34,66,73,74,48,43,34,48,48,34,43,34,34,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,34,34,34,34,34,74,34,48,34,66,34,34,34,34,34,34,34,34,34,34,34,34,66,34,66,34,34,66,73,74,48,43,34,66,73,74,48,43,34,66,34,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,66,73,74,48,43,34,43,34,43,34,66,73,74,48,43,34],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[[],3],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[4,4],[5,5],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],6],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[],3],[[8,[10,[9]]],[[12,[[11,[9]]]]]],0,0,[7],[7],[7],[7],[7],0,0,0,0,0,0,0,0,0,0,0,[[5,5],13],[[],13],[[],13],[[],13],[[],3],[[4,14],15],[[16,14],15],[[5,14],15],[[17,14],15],[[]],[[]],[[]],[[]],[[]],[18,[[20,[4,19]]]],[18,[[20,[16,19]]]],[18,[[20,[17,19]]]],[18,[[20,[4,19]]]],[18,[[20,[16,19]]]],[18,[[20,[17,19]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[12,[21]]]],[[],[[12,[21]]]],[8,13],[[],3],[[],3],[[],7],[[],7],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[]],[[]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],13],[[],13],[[],13],[[],13],[[],13],[5,13],[5,13],[[17,8],[[20,[[23,[27]],3]]]],[[[23,[27]]],28],[[],29],0,[[4,30,30],31],0,0,0,[[],3],0,[[]],[[]],[5,[[12,[32]]]],[[],12],[[],12],[[],12],[[],12],[[],12],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],33],[[],33],[[],33],[[],33],[[],33],[[],8],[[],8],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[4,18],[[20,[19]]]],[[16,18],[[20,[19]]]],[[17,18],[[20,[19]]]],[[4,18],[[20,[19]]]],[[16,18],[[20,[19]]]],[[17,18],[[20,[19]]]],[[],[[10,[5]]]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[34,35],[34,[[31,[13]]]],[2,2],[2,2],[2,2],[2,2],[[],3],[34,[[31,[[12,[36]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[34,13],[[31,[3]]]],[[],2],[[],2],0,0,0,[37,38],[[],6],[[34,39],[[31,[[41,[40]]]]]],[34,[[31,[[12,[42]]]]]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[],3],[[34,13],[[31,[[12,[3]]]]]],[34,[[31,[13]]]],[[8,[10,[9]]],[[12,[[11,[9]]]]]],0,0,[7],[7],[7],[7],[7],[7],[[],3],[[43,14],15],[[34,14],15],[34,[[31,[13]]]],[[]],[[]],[[]],[[]],[[]],[[]],[18,[[20,[43,19]]]],[18,[[20,[34,19]]]],[18,[[20,[43,19]]]],[18,[[20,[34,19]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[48,[44,[45,[44]],[0,[46,47]]]],49,50],[[51,[44]]]],[[[48,[44,[45,[44]],[0,[46,47,52,53]]]],49,50],[[12,[54]]]],[[],[[12,[21]]]],[8,13],[[],3],[[],3],[34,[[12,[55]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[]],[[]],[[]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[23,[22]]],[[23,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[25,[22]]],[[25,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[[26,[22]]],[[26,[24,22]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[34,[[12,[56]]]],[[34,8],[[20,[[23,[27]],3]]]],[34,[[31,[[12,[7]]]]]],[34,[[31,[[12,[40]]]]]],[[[23,[27]]],28],[[],29],[34,[[12,[57]]]],[[[25,[[45,[44]]]],[0,[46,47]]],[[48,[44,[45,[44]],[0,[46,47]]]]]],[[[12,[58]],35],34],0,0,[[],59],[[34,59,[23,[27]]],[[31,[[12,[60]]]]]],[[],59],0,[[34,13],[[31,[61]]]],[[34,59],[[31,[[12,[62]]]]]],[[34,13],[[31,[[12,[[11,[3]]]]]]]],[[],59],[34,[[31,[63]]]],[34,[[31,[64]]]],0,0,[34,65],[[66,[68,[67]]],[[20,[[23,[69]]]]]],[[],3],[[34,[23,[27]]],[[31,[[12,[70]]]]]],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[34,13],[[31,[71]]]],[34,[[31,[[12,[7]]]]]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,18],[[20,[19]]]],[[34,18],[[20,[19]]]],[[43,18],[[20,[19]]]],[[34,18],[[20,[19]]]],[[]],[[]],[[]],[[]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"String"],[3,"PurgeChainCmd"],[4,"CliPotRole"],[15,"i32"],[15,"usize"],[15,"str"],[15,"u8"],[15,"slice"],[3,"Vec"],[4,"Option"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Subcommand"],[3,"Cli"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[3,"Global"],[3,"Box"],[8,"Any"],[3,"Arc"],[3,"Rc"],[8,"ChainSpec"],[3,"RuntimeVersion"],[3,"NativeVersion"],[3,"Configuration"],[6,"Result"],[3,"PossibleValue"],[3,"TypeId"],[3,"DomainCli"],[8,"Iterator"],[3,"BasePath"],[3,"AccountId32"],[6,"AccountId"],[3,"Handle"],[8,"FromStr"],[3,"DomainConfiguration"],[15,"u64"],[4,"DomainSubcommand"],[8,"Block"],[8,"Backend"],[8,"RuntimeVersionOf"],[8,"Clone"],[3,"DomainGenesisBlockBuilder"],[3,"DomainId"],[3,"DomainInstanceData"],[6,"Result"],[8,"Send"],[8,"Sync"],[3,"H256"],[3,"ImportParams"],[3,"KeystoreParams"],[3,"NetworkParams"],[3,"PathBuf"],[15,"u16"],[3,"PrometheusConfig"],[4,"Role"],[4,"SocketAddr"],[15,"u32"],[4,"RpcMethods"],[3,"SharedParams"],[3,"DomainInstanceStarter"],[6,"Block"],[3,"BootstrapResult"],[8,"Error"],[3,"TelemetryEndpoints"],[3,"Options"],[3,"ExecutorDispatch"],[3,"AccountId32ToAccountId20Converter"],[3,"EVMDomainExecutorDispatch"]]},\ diff --git a/settings.html b/settings.html index ae347a4561..1def9f5eff 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/subspace_farmer/identity.rs.html b/src/subspace_farmer/identity.rs.html index 82750f5d3b..a7cd2ddd49 100644 --- a/src/subspace_farmer/identity.rs.html +++ b/src/subspace_farmer/identity.rs.html @@ -143,15 +143,28 @@ 143 144 145 -
use anyhow::Error;
-use parity_scale_codec::{Decode, Encode};
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+
use parity_scale_codec::{Decode, Encode};
 use schnorrkel::context::SigningContext;
 use schnorrkel::{ExpansionMode, Keypair, PublicKey, SecretKey, Signature};
-use std::fs;
 use std::ops::Deref;
 use std::path::Path;
+use std::{fs, io};
 use subspace_solving::REWARD_SIGNING_CONTEXT;
 use substrate_bip39::mini_secret_from_entropy;
+use thiserror::Error;
 use tracing::debug;
 use zeroize::Zeroizing;
 
@@ -169,6 +182,17 @@
         .expand_to_keypair(ExpansionMode::Ed25519)
 }
 
+/// Errors happening when trying to create/open single disk farm
+#[derive(Debug, Error)]
+pub enum IdentityError {
+    /// I/O error occurred
+    #[error("I/O error: {0}")]
+    Io(#[from] io::Error),
+    /// Decoding error
+    #[error("Decoding error: {0}")]
+    Decoding(#[from] parity_scale_codec::Error),
+}
+
 /// `Identity` struct is an abstraction of public & secret key related operations.
 ///
 /// It is basically a wrapper of the keypair (which holds public & secret keys)
@@ -190,6 +214,8 @@
 }
 
 impl Identity {
+    pub(crate) const FILE_NAME: &'static str = "identity.bin";
+
     /// Size of the identity file on disk
     pub fn file_size() -> usize {
         IdentityFileContents {
@@ -199,7 +225,7 @@
     }
 
     /// Opens the existing identity, or creates a new one.
-    pub fn open_or_create<B: AsRef<Path>>(base_directory: B) -> Result<Self, Error> {
+    pub fn open_or_create<B: AsRef<Path>>(base_directory: B) -> Result<Self, IdentityError> {
         if let Some(identity) = Self::open(base_directory.as_ref())? {
             Ok(identity)
         } else {
@@ -208,8 +234,8 @@
     }
 
     /// Opens the existing identity, returns `Ok(None)` if it doesn't exist.
-    pub fn open<B: AsRef<Path>>(base_directory: B) -> Result<Option<Self>, Error> {
-        let identity_file = base_directory.as_ref().join("identity.bin");
+    pub fn open<B: AsRef<Path>>(base_directory: B) -> Result<Option<Self>, IdentityError> {
+        let identity_file = base_directory.as_ref().join(Self::FILE_NAME);
         if identity_file.exists() {
             debug!("Opening existing keypair");
             let bytes = Zeroizing::new(fs::read(identity_file)?);
@@ -228,8 +254,8 @@
     }
 
     /// Creates new identity, overrides identity that might already exist.
-    pub fn create<B: AsRef<Path>>(base_directory: B) -> Result<Self, Error> {
-        let identity_file = base_directory.as_ref().join("identity.bin");
+    pub fn create<B: AsRef<Path>>(base_directory: B) -> Result<Self, IdentityError> {
+        let identity_file = base_directory.as_ref().join(Self::FILE_NAME);
         debug!("Generating new keypair");
         let entropy = rand::random::<[u8; ENTROPY_LENGTH]>().to_vec();
 
@@ -252,8 +278,8 @@
     pub fn from_entropy<B: AsRef<Path>>(
         base_directory: B,
         entropy: Vec<u8>,
-    ) -> Result<Self, Error> {
-        let identity_file = base_directory.as_ref().join("identity.bin");
+    ) -> Result<Self, IdentityError> {
+        let identity_file = base_directory.as_ref().join(Self::FILE_NAME);
         debug!("Creating identity from provided entropy");
 
         let identity_file_contents = IdentityFileContents { entropy };
diff --git a/src/subspace_farmer/single_disk_farm.rs.html b/src/subspace_farmer/single_disk_farm.rs.html
index 3bd93479be..4696284de6 100644
--- a/src/subspace_farmer/single_disk_farm.rs.html
+++ b/src/subspace_farmer/single_disk_farm.rs.html
@@ -1101,12 +1101,683 @@
 1101
 1102
 1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
 
mod farming;
 pub mod piece_cache;
 pub mod piece_reader;
 mod plotting;
 
-use crate::identity::Identity;
+use crate::identity::{Identity, IdentityError};
 use crate::node_client::NodeClient;
 use crate::reward_signing::reward_signing;
 use crate::single_disk_farm::farming::farming;
@@ -1125,23 +1796,29 @@
 use memmap2::{Mmap, MmapOptions};
 use parity_scale_codec::{Decode, Encode};
 use parking_lot::{Mutex, RwLock};
+use rayon::prelude::*;
 use serde::{Deserialize, Serialize};
 use static_assertions::const_assert;
-use std::fs::OpenOptions;
+use std::fs::{File, OpenOptions};
 use std::future::Future;
 use std::io::{Seek, SeekFrom};
 use std::num::{NonZeroU16, NonZeroU8};
 use std::path::{Path, PathBuf};
 use std::pin::Pin;
+use std::sync::atomic::{AtomicUsize, Ordering};
 use std::sync::Arc;
-use std::{fmt, fs, io, thread};
+use std::{fmt, fs, io, mem, thread};
 use std_semaphore::{Semaphore, SemaphoreGuard};
+use subspace_core_primitives::crypto::blake3_hash;
 use subspace_core_primitives::crypto::kzg::Kzg;
-use subspace_core_primitives::{PieceOffset, PublicKey, SectorId, SectorIndex};
+use subspace_core_primitives::{
+    Blake3Hash, HistorySize, Piece, PieceOffset, PublicKey, Record, SectorId, SectorIndex,
+    SegmentIndex,
+};
 use subspace_erasure_coding::ErasureCoding;
 use subspace_farmer_components::file_ext::FileExt;
 use subspace_farmer_components::plotting::{PieceGetter, PlottedSector};
-use subspace_farmer_components::sector::{sector_size, SectorMetadataChecksummed};
+use subspace_farmer_components::sector::{sector_size, SectorMetadata, SectorMetadataChecksummed};
 use subspace_farmer_components::FarmerProtocolInfo;
 use subspace_networking::NetworkingParametersManager;
 use subspace_proof_of_space::Table;
@@ -1149,7 +1826,7 @@
 use thiserror::Error;
 use tokio::runtime::Handle;
 use tokio::sync::broadcast;
-use tracing::{debug, error, info, info_span, warn, Instrument, Span};
+use tracing::{debug, error, info, info_span, trace, warn, Instrument, Span};
 use ulid::Ulid;
 
 // Refuse to compile on non-64-bit platforms, offsets may fail on those when converting from u64 to
@@ -1250,15 +1927,15 @@
 
     /// Load `SingleDiskFarm` from path is supposed to be stored, `None` means no info file was
     /// found, happens during first start.
-    pub fn load_from(path: &Path) -> io::Result<Option<Self>> {
+    pub fn load_from(directory: &Path) -> io::Result<Option<Self>> {
         // TODO: Remove this compatibility hack after enough time has passed
-        if path.join("single_disk_plot.json").exists() {
+        if directory.join("single_disk_plot.json").exists() {
             fs::rename(
-                path.join("single_disk_plot.json"),
-                path.join(Self::FILE_NAME),
+                directory.join("single_disk_plot.json"),
+                directory.join(Self::FILE_NAME),
             )?;
         }
-        let bytes = match fs::read(path.join(Self::FILE_NAME)) {
+        let bytes = match fs::read(directory.join(Self::FILE_NAME)) {
             Ok(bytes) => bytes,
             Err(error) => {
                 return if error.kind() == io::ErrorKind::NotFound {
@@ -1343,7 +2020,7 @@
 #[derive(Debug, Encode, Decode)]
 struct PlotMetadataHeader {
     version: u8,
-    sector_count: SectorIndex,
+    plotted_sector_count: SectorIndex,
 }
 
 impl PlotMetadataHeader {
@@ -1351,7 +2028,7 @@
     fn encoded_size() -> usize {
         let default = PlotMetadataHeader {
             version: 0,
-            sector_count: 0,
+            plotted_sector_count: 0,
         };
 
         default.encoded_size()
@@ -1473,6 +2150,128 @@
     },
 }
 
+/// Errors happening during scrubbing
+#[derive(Debug, Error)]
+pub enum SingleDiskFarmScrubError {
+    /// Failed to determine file size
+    #[error("Failed to file size of {file}: {error}")]
+    FailedToDetermineFileSize {
+        /// Affected file
+        file: PathBuf,
+        /// Low-level error
+        error: io::Error,
+    },
+    /// Failed to read bytes from file
+    #[error("Failed to read {size} bytes from {file} at offset {offset}: {error}")]
+    FailedToReadBytes {
+        /// Affected file
+        file: PathBuf,
+        /// Number of bytes to read
+        size: u64,
+        /// Offset in the file
+        offset: u64,
+        /// Low-level error
+        error: io::Error,
+    },
+    /// Failed to write bytes from file
+    #[error("Failed to write {size} bytes from {file} at offset {offset}: {error}")]
+    FailedToWriteBytes {
+        /// Affected file
+        file: PathBuf,
+        /// Number of bytes to read
+        size: u64,
+        /// Offset in the file
+        offset: u64,
+        /// Low-level error
+        error: io::Error,
+    },
+    /// Farm info file does not exist
+    #[error("Farm info file does not exist at {file}")]
+    FarmInfoFileDoesNotExist {
+        /// Info file
+        file: PathBuf,
+    },
+    /// Farm info can't be opened
+    #[error("Farm info at {file} can't be opened: {error}")]
+    FarmInfoCantBeOpened {
+        /// Info file
+        file: PathBuf,
+        /// Low-level error
+        error: io::Error,
+    },
+    /// Identity file does not exist
+    #[error("Identity file does not exist at {file}")]
+    IdentityFileDoesNotExist {
+        /// Identity file
+        file: PathBuf,
+    },
+    /// Identity can't be opened
+    #[error("Identity at {file} can't be opened: {error}")]
+    IdentityCantBeOpened {
+        /// Identity file
+        file: PathBuf,
+        /// Low-level error
+        error: IdentityError,
+    },
+    /// Identity public key doesn't match public key in the disk farm info
+    #[error(
+        "Identity public key {identity} doesn't match public key in the disk farm info {info}"
+    )]
+    PublicKeyMismatch {
+        /// Identity public key
+        identity: PublicKey,
+        /// Disk farm info public key
+        info: PublicKey,
+    },
+    /// Metadata file does not exist
+    #[error("Metadata file does not exist at {file}")]
+    MetadataFileDoesNotExist {
+        /// Metadata file
+        file: PathBuf,
+    },
+    /// Metadata can't be opened
+    #[error("Metadata at {file} can't be opened: {error}")]
+    MetadataCantBeOpened {
+        /// Metadata file
+        file: PathBuf,
+        /// Low-level error
+        error: io::Error,
+    },
+    /// Metadata file too small
+    #[error(
+        "Metadata file at {file} is too small: reserved size is {reserved_size} bytes, file size \
+        is {size}"
+    )]
+    MetadataFileTooSmall {
+        /// Metadata file
+        file: PathBuf,
+        /// Reserved size
+        reserved_size: u64,
+        /// File size
+        size: u64,
+    },
+    /// Failed to decode metadata header
+    #[error("Failed to decode metadata header: {0}")]
+    FailedToDecodeMetadataHeader(parity_scale_codec::Error),
+    /// Unexpected metadata version
+    #[error("Unexpected metadata version {0}")]
+    UnexpectedMetadataVersion(u8),
+    /// Cache file does not exist
+    #[error("Cache file does not exist at {file}")]
+    CacheFileDoesNotExist {
+        /// Cache file
+        file: PathBuf,
+    },
+    /// Cache can't be opened
+    #[error("Cache at {file} can't be opened: {error}")]
+    CacheCantBeOpened {
+        /// Cache file
+        file: PathBuf,
+        /// Low-level error
+        error: io::Error,
+    },
+}
+
 /// Errors that happen in background tasks
 #[derive(Debug, Error)]
 pub enum BackgroundTaskError {
@@ -1645,7 +2444,7 @@
         };
 
         let pieces_in_sector = single_disk_farm_info.pieces_in_sector();
-        let sector_size = sector_size(max_pieces_in_sector);
+        let sector_size = sector_size(pieces_in_sector);
         let sector_metadata_size = SectorMetadataChecksummed::encoded_size();
         let single_sector_overhead = (sector_size + sector_metadata_size) as u64;
         // Fixed space usage regardless of plot size
@@ -1718,7 +2517,7 @@
         let (metadata_header, metadata_header_mmap) = if metadata_size == 0 {
             let metadata_header = PlotMetadataHeader {
                 version: 0,
-                sector_count: 0,
+                plotted_sector_count: 0,
             };
 
             metadata_file
@@ -1759,8 +2558,8 @@
                 ));
             }
 
-            if metadata_header.sector_count > target_sector_count {
-                metadata_header.sector_count = target_sector_count;
+            if metadata_header.plotted_sector_count > target_sector_count {
+                metadata_header.plotted_sector_count = target_sector_count;
                 metadata_header.encode_to(&mut metadata_header_mmap.as_mut());
             }
 
@@ -1780,7 +2579,7 @@
 
             for mut sector_metadata_bytes in metadata_mmap
                 .chunks_exact(sector_metadata_size)
-                .take(metadata_header.sector_count as usize)
+                .take(metadata_header.plotted_sector_count as usize)
             {
                 sectors_metadata.push(
                     SectorMetadataChecksummed::decode(&mut sector_metadata_bytes)
@@ -1828,7 +2627,8 @@
         let modifying_sector_index = Arc::<RwLock<Option<SectorIndex>>>::default();
         let (sectors_to_plot_sender, sectors_to_plot_receiver) = mpsc::channel(0);
         // Some sectors may already be plotted, skip them
-        let sectors_indices_left_to_plot = metadata_header.sector_count..target_sector_count;
+        let sectors_indices_left_to_plot =
+            metadata_header.plotted_sector_count..target_sector_count;
 
         let span = info_span!("single_disk_farm", %disk_farm_index);
 
@@ -2203,5 +3003,547 @@
             fs::remove_file(single_disk_info_info_path)
         }
     }
+
+    /// Check the farm for corruption and repair errors (caused by disk errors or something else),
+    /// returns an error when irrecoverable errors occur.
+    pub fn scrub(directory: &Path) -> Result<(), SingleDiskFarmScrubError> {
+        let info = {
+            let file = directory.join(SingleDiskFarmInfo::FILE_NAME);
+            info!(path = %file.display(), "Checking info file");
+
+            match SingleDiskFarmInfo::load_from(directory) {
+                Ok(Some(info)) => info,
+                Ok(None) => {
+                    return Err(SingleDiskFarmScrubError::FarmInfoFileDoesNotExist { file });
+                }
+                Err(error) => {
+                    return Err(SingleDiskFarmScrubError::FarmInfoCantBeOpened { file, error });
+                }
+            }
+        };
+        let identity = {
+            let file = directory.join(Identity::FILE_NAME);
+            info!(path = %file.display(), "Checking identity file");
+
+            match Identity::open(directory) {
+                Ok(Some(identity)) => identity,
+                Ok(None) => {
+                    return Err(SingleDiskFarmScrubError::IdentityFileDoesNotExist { file });
+                }
+                Err(error) => {
+                    return Err(SingleDiskFarmScrubError::IdentityCantBeOpened { file, error });
+                }
+            }
+        };
+
+        if PublicKey::from(identity.public.to_bytes()) != *info.public_key() {
+            return Err(SingleDiskFarmScrubError::PublicKeyMismatch {
+                identity: PublicKey::from(identity.public.to_bytes()),
+                info: *info.public_key(),
+            });
+        }
+
+        let sector_metadata_size = SectorMetadataChecksummed::encoded_size();
+
+        let metadata_file_path = directory.join(Self::METADATA_FILE);
+        let (metadata_file, mut metadata_header) = {
+            info!(path = %metadata_file_path.display(), "Checking metadata file");
+
+            let mut metadata_file = match OpenOptions::new()
+                .read(true)
+                .write(true)
+                .open(&metadata_file_path)
+            {
+                Ok(metadata_file) => metadata_file,
+                Err(error) => {
+                    return Err(if error.kind() == io::ErrorKind::NotFound {
+                        SingleDiskFarmScrubError::MetadataFileDoesNotExist {
+                            file: metadata_file_path,
+                        }
+                    } else {
+                        SingleDiskFarmScrubError::MetadataCantBeOpened {
+                            file: metadata_file_path,
+                            error,
+                        }
+                    });
+                }
+            };
+
+            // Error doesn't matter here
+            let _ = metadata_file.advise_sequential_access();
+
+            let metadata_size = match metadata_file.seek(SeekFrom::End(0)) {
+                Ok(metadata_size) => metadata_size,
+                Err(error) => {
+                    return Err(SingleDiskFarmScrubError::FailedToDetermineFileSize {
+                        file: metadata_file_path,
+                        error,
+                    });
+                }
+            };
+
+            if metadata_size < RESERVED_PLOT_METADATA {
+                return Err(SingleDiskFarmScrubError::MetadataFileTooSmall {
+                    file: metadata_file_path,
+                    reserved_size: RESERVED_PLOT_METADATA,
+                    size: metadata_size,
+                });
+            }
+
+            let mut metadata_header = {
+                let mut reserved_metadata = vec![0; RESERVED_PLOT_METADATA as usize];
+
+                if let Err(error) = metadata_file.read_exact_at(&mut reserved_metadata, 0) {
+                    return Err(SingleDiskFarmScrubError::FailedToReadBytes {
+                        file: metadata_file_path,
+                        size: RESERVED_PLOT_METADATA,
+                        offset: 0,
+                        error,
+                    });
+                }
+
+                PlotMetadataHeader::decode(&mut reserved_metadata.as_slice())
+                    .map_err(SingleDiskFarmScrubError::FailedToDecodeMetadataHeader)?
+            };
+
+            if metadata_header.version != Self::SUPPORTED_PLOT_VERSION {
+                return Err(SingleDiskFarmScrubError::UnexpectedMetadataVersion(
+                    metadata_header.version,
+                ));
+            }
+
+            let plotted_sector_count = metadata_header.plotted_sector_count;
+
+            let expected_metadata_size = RESERVED_PLOT_METADATA
+                + sector_metadata_size as u64 * u64::from(plotted_sector_count);
+
+            if metadata_size < expected_metadata_size {
+                warn!(
+                    %metadata_size,
+                    %expected_metadata_size,
+                    "Metadata file size is smaller than expected, shrinking number of plotted \
+                    sectors to correct value"
+                );
+
+                metadata_header.plotted_sector_count = ((metadata_size - RESERVED_PLOT_METADATA)
+                    / sector_metadata_size as u64)
+                    as SectorIndex;
+                let metadata_header_bytes = metadata_header.encode();
+                if let Err(error) = metadata_file.write_all_at(&metadata_header_bytes, 0) {
+                    return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                        file: metadata_file_path,
+                        size: metadata_header_bytes.len() as u64,
+                        offset: 0,
+                        error,
+                    });
+                }
+            }
+
+            (metadata_file, metadata_header)
+        };
+
+        let pieces_in_sector = info.pieces_in_sector();
+        let sector_size = sector_size(pieces_in_sector) as u64;
+
+        let plot_file_path = directory.join(Self::PLOT_FILE);
+        let plot_file = {
+            let plot_file_path = directory.join(Self::PLOT_FILE);
+            info!(path = %plot_file_path.display(), "Checking plot file");
+
+            let mut plot_file = match OpenOptions::new()
+                .read(true)
+                .write(true)
+                .open(&plot_file_path)
+            {
+                Ok(plot_file) => plot_file,
+                Err(error) => {
+                    return Err(if error.kind() == io::ErrorKind::NotFound {
+                        SingleDiskFarmScrubError::MetadataFileDoesNotExist {
+                            file: plot_file_path,
+                        }
+                    } else {
+                        SingleDiskFarmScrubError::MetadataCantBeOpened {
+                            file: plot_file_path,
+                            error,
+                        }
+                    });
+                }
+            };
+
+            // Error doesn't matter here
+            let _ = plot_file.advise_sequential_access();
+
+            let plot_size = match plot_file.seek(SeekFrom::End(0)) {
+                Ok(metadata_size) => metadata_size,
+                Err(error) => {
+                    return Err(SingleDiskFarmScrubError::FailedToDetermineFileSize {
+                        file: plot_file_path,
+                        error,
+                    });
+                }
+            };
+
+            let min_expected_plot_size =
+                u64::from(metadata_header.plotted_sector_count) * sector_size;
+            if plot_size < min_expected_plot_size {
+                warn!(
+                    %plot_size,
+                    %min_expected_plot_size,
+                    "Plot file size is smaller than expected, shrinking number of plotted \
+                    sectors to correct value"
+                );
+
+                metadata_header.plotted_sector_count = (plot_size / sector_size) as SectorIndex;
+                let metadata_header_bytes = metadata_header.encode();
+                if let Err(error) = metadata_file.write_all_at(&metadata_header_bytes, 0) {
+                    return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                        file: plot_file_path,
+                        size: metadata_header_bytes.len() as u64,
+                        offset: 0,
+                        error,
+                    });
+                }
+            }
+
+            plot_file
+        };
+
+        info!("Checking sectors and corresponding metadata");
+        (0..metadata_header.plotted_sector_count)
+            .into_par_iter()
+            .map_init(
+                || {
+                    let sector_metadata_bytes = vec![0; sector_metadata_size];
+                    let piece = Piece::default();
+
+                    (sector_metadata_bytes, piece)
+                },
+                |(sector_metadata_bytes, piece), sector_index| {
+                    let offset = RESERVED_PLOT_METADATA
+                        + u64::from(sector_index) * sector_metadata_size as u64;
+                    if let Err(error) = metadata_file.read_exact_at(sector_metadata_bytes, offset) {
+                        warn!(
+                            path = %metadata_file_path.display(),
+                            %error,
+                            %sector_index,
+                            %offset,
+                            "Failed to read sector metadata, replacing with dummy expired sector \
+                            metadata"
+                        );
+
+                        write_dummy_sector_metadata(
+                            &metadata_file,
+                            &metadata_file_path,
+                            sector_index,
+                            pieces_in_sector,
+                        )?;
+                        return Ok(());
+                    }
+
+                    let sector_metadata = match SectorMetadataChecksummed::decode(
+                        &mut sector_metadata_bytes.as_slice(),
+                    ) {
+                        Ok(sector_metadata) => sector_metadata,
+                        Err(error) => {
+                            warn!(
+                                path = %metadata_file_path.display(),
+                                %error,
+                                %sector_index,
+                                "Failed to decode sector metadata, replacing with dummy expired \
+                                sector metadata"
+                            );
+
+                            write_dummy_sector_metadata(
+                                &metadata_file,
+                                &metadata_file_path,
+                                sector_index,
+                                pieces_in_sector,
+                            )?;
+                            return Ok(());
+                        }
+                    };
+
+                    if sector_metadata.sector_index != sector_index {
+                        warn!(
+                            path = %metadata_file_path.display(),
+                            %sector_index,
+                            found_sector_index = sector_metadata.sector_index,
+                            "Sector index mismatch, replacing with dummy expired sector metadata"
+                        );
+
+                        write_dummy_sector_metadata(
+                            &metadata_file,
+                            &metadata_file_path,
+                            sector_index,
+                            pieces_in_sector,
+                        )?;
+                        return Ok(());
+                    }
+
+                    if sector_metadata.pieces_in_sector != pieces_in_sector {
+                        warn!(
+                            path = %metadata_file_path.display(),
+                            %sector_index,
+                            %pieces_in_sector,
+                            found_pieces_in_sector = sector_metadata.pieces_in_sector,
+                            "Pieces in sector mismatch, replacing with dummy expired sector \
+                            metadata"
+                        );
+
+                        write_dummy_sector_metadata(
+                            &metadata_file,
+                            &metadata_file_path,
+                            sector_index,
+                            pieces_in_sector,
+                        )?;
+                        return Ok(());
+                    }
+
+                    let mut hasher = blake3::Hasher::new();
+                    for piece_offset in 0..pieces_in_sector {
+                        let offset = u64::from(sector_index) * sector_size
+                            + u64::from(piece_offset) * Piece::SIZE as u64;
+
+                        if let Err(error) = plot_file.read_exact_at(piece.as_mut(), offset) {
+                            warn!(
+                                path = %plot_file_path.display(),
+                                %error,
+                                %sector_index,
+                                %piece_offset,
+                                size = %piece.len() as u64,
+                                %offset,
+                                "Failed to read piece bytes"
+                            );
+                            return Err(SingleDiskFarmScrubError::FailedToReadBytes {
+                                file: plot_file_path.clone(),
+                                size: piece.len() as u64,
+                                offset,
+                                error,
+                            });
+                        }
+
+                        hasher.update(piece.as_ref());
+                    }
+
+                    let actual_checksum = *hasher.finalize().as_bytes();
+                    let mut expected_checksum = [0; mem::size_of::<Blake3Hash>()];
+                    {
+                        let offset = u64::from(sector_index) * sector_size
+                            + u64::from(pieces_in_sector) * Piece::SIZE as u64;
+                        if let Err(error) = plot_file.read_exact_at(&mut expected_checksum, offset)
+                        {
+                            return Err(SingleDiskFarmScrubError::FailedToReadBytes {
+                                file: plot_file_path.clone(),
+                                size: expected_checksum.len() as u64,
+                                offset,
+                                error,
+                            });
+                        }
+                    }
+
+                    // Verify checksum
+                    if actual_checksum != expected_checksum {
+                        debug!(
+                            path = %plot_file_path.display(),
+                            %sector_index,
+                            actual_checksum = %hex::encode(actual_checksum),
+                            expected_checksum = %hex::encode(expected_checksum),
+                            "Plotted sector checksum mismatch, replacing with dummy expired sector"
+                        );
+
+                        write_dummy_sector_metadata(
+                            &metadata_file,
+                            &metadata_file_path,
+                            sector_index,
+                            pieces_in_sector,
+                        )?;
+
+                        *piece = Piece::default();
+
+                        // Write dummy pieces
+                        let mut hasher = blake3::Hasher::new();
+                        for piece_offset in 0..pieces_in_sector {
+                            let offset = u64::from(sector_index) * sector_size
+                                + u64::from(piece_offset) * Piece::SIZE as u64;
+
+                            if let Err(error) = plot_file.write_all_at(piece.as_ref(), offset) {
+                                return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                                    file: plot_file_path.clone(),
+                                    size: piece.len() as u64,
+                                    offset,
+                                    error,
+                                });
+                            }
+
+                            hasher.update(piece.as_ref());
+                        }
+
+                        let offset = u64::from(sector_index) * sector_size
+                            + u64::from(pieces_in_sector) * Piece::SIZE as u64;
+
+                        // Write checksum
+                        if let Err(error) =
+                            plot_file.write_all_at(hasher.finalize().as_bytes(), offset)
+                        {
+                            return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                                file: plot_file_path.clone(),
+                                size: hasher.finalize().as_bytes().len() as u64,
+                                offset,
+                                error,
+                            });
+                        }
+
+                        return Ok(());
+                    }
+
+                    trace!(%sector_index, "Sector is in good shape");
+
+                    Ok(())
+                },
+            )
+            .try_for_each({
+                let checked_sectors = AtomicUsize::new(0);
+
+                move |result| {
+                    let checked_sectors = checked_sectors.fetch_add(1, Ordering::Relaxed);
+                    if checked_sectors > 1 && checked_sectors % 10 == 0 {
+                        info!(
+                            "Checked {}/{} sectors",
+                            checked_sectors, metadata_header.plotted_sector_count
+                        );
+                    }
+
+                    result
+                }
+            })?;
+
+        {
+            let file = directory.join(DiskPieceCache::FILE_NAME);
+            info!(path = %file.display(), "Checking cache file");
+
+            let mut cache_file = match OpenOptions::new().read(true).write(true).open(&file) {
+                Ok(plot_file) => plot_file,
+                Err(error) => {
+                    return Err(if error.kind() == io::ErrorKind::NotFound {
+                        SingleDiskFarmScrubError::CacheFileDoesNotExist { file }
+                    } else {
+                        SingleDiskFarmScrubError::CacheCantBeOpened { file, error }
+                    });
+                }
+            };
+
+            // Error doesn't matter here
+            let _ = cache_file.advise_sequential_access();
+
+            let cache_size = match cache_file.seek(SeekFrom::End(0)) {
+                Ok(metadata_size) => metadata_size,
+                Err(error) => {
+                    return Err(SingleDiskFarmScrubError::FailedToDetermineFileSize {
+                        file,
+                        error,
+                    });
+                }
+            };
+
+            let element_size = DiskPieceCache::element_size();
+            let number_of_cached_elements = cache_size / element_size as u64;
+            let dummy_element = vec![0; element_size];
+            (0..number_of_cached_elements)
+                .into_par_iter()
+                .map_with(vec![0; element_size], |element, cache_offset| {
+                    let offset = cache_offset * element_size as u64;
+                    if let Err(error) = cache_file.read_exact_at(element, offset) {
+                        warn!(
+                            path = %file.display(),
+                            %cache_offset,
+                            size = %element.len() as u64,
+                            %offset,
+                            %error,
+                            "Failed to read cached piece, replacing with dummy element"
+                        );
+
+                        if let Err(error) = cache_file.write_all_at(&dummy_element, offset) {
+                            return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                                file: file.clone(),
+                                size: element_size as u64,
+                                offset,
+                                error,
+                            });
+                        }
+
+                        return Ok(());
+                    }
+
+                    let (index_and_piece_bytes, expected_checksum) =
+                        element.split_at(element_size - mem::size_of::<Blake3Hash>());
+                    let actual_checksum = blake3_hash(index_and_piece_bytes);
+                    if actual_checksum != expected_checksum && element != &dummy_element {
+                        warn!(
+                            %cache_offset,
+                            actual_checksum = %hex::encode(actual_checksum),
+                            expected_checksum = %hex::encode(expected_checksum),
+                            "Cached piece checksum mismatch, replacing with dummy element"
+                        );
+
+                        if let Err(error) = cache_file.write_all_at(&dummy_element, offset) {
+                            return Err(SingleDiskFarmScrubError::FailedToWriteBytes {
+                                file: file.clone(),
+                                size: element_size as u64,
+                                offset,
+                                error,
+                            });
+                        }
+
+                        return Ok(());
+                    }
+
+                    Ok(())
+                })
+                .try_for_each({
+                    let checked_elements = AtomicUsize::new(0);
+
+                    move |result| {
+                        let checked_elements = checked_elements.fetch_add(1, Ordering::Relaxed);
+                        if checked_elements > 1 && checked_elements % 1000 == 0 {
+                            info!(
+                                "Checked {}/{} cache elements",
+                                checked_elements, number_of_cached_elements
+                            );
+                        }
+
+                        result
+                    }
+                })?;
+        }
+
+        info!("Farm check completed");
+
+        Ok(())
+    }
+}
+
+fn write_dummy_sector_metadata(
+    metadata_file: &File,
+    metadata_file_path: &Path,
+    sector_index: SectorIndex,
+    pieces_in_sector: u16,
+) -> Result<(), SingleDiskFarmScrubError> {
+    let dummy_sector_bytes = SectorMetadataChecksummed::from(SectorMetadata {
+        sector_index,
+        pieces_in_sector,
+        s_bucket_sizes: Box::new([0; Record::NUM_S_BUCKETS]),
+        history_size: HistorySize::from(SegmentIndex::ZERO),
+    })
+    .encode();
+    let sector_offset = RESERVED_PLOT_METADATA
+        + u64::from(sector_index) * SectorMetadataChecksummed::encoded_size() as u64;
+    metadata_file
+        .write_all_at(&dummy_sector_bytes, sector_offset)
+        .map_err(|error| SingleDiskFarmScrubError::FailedToWriteBytes {
+            file: metadata_file_path.to_path_buf(),
+            size: dummy_sector_bytes.len() as u64,
+            offset: sector_offset,
+            error,
+        })
 }
 
\ No newline at end of file diff --git a/src/subspace_farmer/single_disk_farm/piece_cache.rs.html b/src/subspace_farmer/single_disk_farm/piece_cache.rs.html index 5d5016c8f7..b0de30de32 100644 --- a/src/subspace_farmer/single_disk_farm/piece_cache.rs.html +++ b/src/subspace_farmer/single_disk_farm/piece_cache.rs.html @@ -278,7 +278,7 @@ } impl DiskPieceCache { - const PIECE_CACHE_FILE: &'static str = "piece_cache.bin"; + pub(super) const FILE_NAME: &'static str = "piece_cache.bin"; pub(super) fn open(directory: &Path, capacity: usize) -> Result<Self, DiskPieceCacheError> { if capacity == 0 { @@ -289,7 +289,7 @@ .read(true) .write(true) .create(true) - .open(directory.join(Self::PIECE_CACHE_FILE))?; + .open(directory.join(Self::FILE_NAME))?; let expected_size = Self::element_size() * capacity; // Allocating the whole file (`set_len` below can create a sparse file, which will cause @@ -441,7 +441,7 @@ } pub(crate) fn wipe(directory: &Path) -> io::Result<()> { - let piece_cache = directory.join(Self::PIECE_CACHE_FILE); + let piece_cache = directory.join(Self::FILE_NAME); info!("Deleting piece cache file at {}", piece_cache.display()); fs::remove_file(piece_cache) } diff --git a/src/subspace_farmer/single_disk_farm/plotting.rs.html b/src/subspace_farmer/single_disk_farm/plotting.rs.html index f7c59292f5..36278a4b29 100644 --- a/src/subspace_farmer/single_disk_farm/plotting.rs.html +++ b/src/subspace_farmer/single_disk_farm/plotting.rs.html @@ -775,8 +775,8 @@ sector.flush()?; sector_metadata.flush()?; - if sector_index + 1 > metadata_header.sector_count { - metadata_header.sector_count = sector_index + 1; + if sector_index + 1 > metadata_header.plotted_sector_count { + metadata_header.plotted_sector_count = sector_index + 1; metadata_header.encode_to(&mut metadata_header_mmap.as_mut()); } { diff --git a/src/subspace_farmer_components/file_ext.rs.html b/src/subspace_farmer_components/file_ext.rs.html index 81acfa4dec..996bd90454 100644 --- a/src/subspace_farmer_components/file_ext.rs.html +++ b/src/subspace_farmer_components/file_ext.rs.html @@ -118,6 +118,38 @@ 118 119 120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152
//! File extension trait
 
 use std::fs::File;
@@ -133,6 +165,10 @@
     /// undesirable
     fn advise_random_access(&self) -> Result<()>;
 
+    /// Advise OS/file system that file will use sequential access and read-ahead behavior is
+    /// desirable
+    fn advise_sequential_access(&self) -> Result<()>;
+
     /// Read exact number of bytes at a specific offset
     fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>;
 
@@ -172,6 +208,34 @@
         Ok(())
     }
 
+    #[cfg(target_os = "linux")]
+    fn advise_sequential_access(&self) -> Result<()> {
+        use std::os::unix::io::AsRawFd;
+        let err =
+            unsafe { libc::posix_fadvise(self.as_raw_fd(), 0, 0, libc::POSIX_FADV_SEQUENTIAL) };
+        if err != 0 {
+            Err(std::io::Error::from_raw_os_error(err))
+        } else {
+            Ok(())
+        }
+    }
+
+    #[cfg(target_os = "macos")]
+    fn advise_sequential_access(&self) -> Result<()> {
+        use std::os::unix::io::AsRawFd;
+        if unsafe { libc::fcntl(self.as_raw_fd(), libc::F_RDAHEAD, 1) } != 0 {
+            Err(std::io::Error::last_os_error())
+        } else {
+            Ok(())
+        }
+    }
+
+    #[cfg(not(any(target_os = "macos", target_os = "linux")))]
+    fn advise_sequential_access(&self) -> Result<()> {
+        // Not supported
+        Ok(())
+    }
+
     #[cfg(unix)]
     fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()> {
         std::os::unix::fs::FileExt::read_exact_at(self, buf, offset)
diff --git a/subspace_farmer/all.html b/subspace_farmer/all.html
index a84ed204f0..97204d77f0 100644
--- a/subspace_farmer/all.html
+++ b/subspace_farmer/all.html
@@ -1 +1 @@
-List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/subspace_farmer/single_disk_farm/enum.BackgroundTaskError.html b/subspace_farmer/single_disk_farm/enum.BackgroundTaskError.html index 29eaf52699..72d8dd9052 100644 --- a/subspace_farmer/single_disk_farm/enum.BackgroundTaskError.html +++ b/subspace_farmer/single_disk_farm/enum.BackgroundTaskError.html @@ -1,10 +1,10 @@ -BackgroundTaskError in subspace_farmer::single_disk_farm - Rust
pub enum BackgroundTaskError {
+BackgroundTaskError in subspace_farmer::single_disk_farm - Rust
pub enum BackgroundTaskError {
     Plotting(PlottingError),
     Farming(FarmingError),
 }
Expand description

Errors that happen in background tasks

Variants§

§

Plotting(PlottingError)

Plotting error

§

Farming(FarmingError)

Farming error

-

Trait Implementations§

source§

impl Debug for BackgroundTaskError

source§

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

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

impl Display for BackgroundTaskError

source§

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

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

impl Error for BackgroundTaskError

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, demand: &mut Demand<'a>)

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

impl From<FarmingError> for BackgroundTaskError

source§

fn from(source: FarmingError) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for BackgroundTaskError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for BackgroundTaskError

source§

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

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

impl Display for BackgroundTaskError

source§

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

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

impl Error for BackgroundTaskError

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, demand: &mut Demand<'a>)

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

impl From<FarmingError> for BackgroundTaskError

source§

fn from(source: FarmingError) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for BackgroundTaskError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/enum.FarmingError.html b/subspace_farmer/single_disk_farm/enum.FarmingError.html index 50e6a0589a..749d0c968c 100644 --- a/subspace_farmer/single_disk_farm/enum.FarmingError.html +++ b/subspace_farmer/single_disk_farm/enum.FarmingError.html @@ -24,7 +24,7 @@

Failed to submit solutions response

§

LowLevelProving(ProvingError)

Low-level proving error

§

Io(Error)

I/O error occurred

-

Trait Implementations§

source§

impl Debug for FarmingError

source§

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

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

impl Display for FarmingError

source§

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

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

impl Error for FarmingError

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, demand: &mut Demand<'a>)

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

impl From<Error> for FarmingError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<FarmingError> for BackgroundTaskError

source§

fn from(source: FarmingError) -> Self

Converts to this type from the input type.
source§

impl From<ProvingError> for FarmingError

source§

fn from(source: ProvingError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for FarmingError

source§

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

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

impl Display for FarmingError

source§

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

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

impl Error for FarmingError

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, demand: &mut Demand<'a>)

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

impl From<Error> for FarmingError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<FarmingError> for BackgroundTaskError

source§

fn from(source: FarmingError) -> Self

Converts to this type from the input type.
source§

impl From<ProvingError> for FarmingError

source§

fn from(source: ProvingError) -> Self

Converts to this type from the input type.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/enum.PlottingError.html b/subspace_farmer/single_disk_farm/enum.PlottingError.html index afa7d949a3..fc7735c999 100644 --- a/subspace_farmer/single_disk_farm/enum.PlottingError.html +++ b/subspace_farmer/single_disk_farm/enum.PlottingError.html @@ -24,7 +24,7 @@

Failed to subscribe to archived segments

§

Io(Error)

I/O error occurred

§

LowLevel(PlottingError)

Low-level plotting error

-

Trait Implementations§

source§

impl Debug for PlottingError

source§

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

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

impl Display for PlottingError

source§

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

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

impl Error for PlottingError

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, demand: &mut Demand<'a>)

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

impl From<Error> for PlottingError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for BackgroundTaskError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for PlottingError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for PlottingError

source§

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

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

impl Display for PlottingError

source§

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

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

impl Error for PlottingError

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, demand: &mut Demand<'a>)

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

impl From<Error> for PlottingError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for BackgroundTaskError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.
source§

impl From<PlottingError> for PlottingError

source§

fn from(source: PlottingError) -> Self

Converts to this type from the input type.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmError.html b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmError.html index 8cc7e0d388..3dcbb2ede3 100644 --- a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmError.html +++ b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmError.html @@ -1,4 +1,4 @@ -SingleDiskFarmError in subspace_farmer::single_disk_farm - Rust
§allocated_space: u64

Current allocated space

Allocated space is not enough for one sector

§

FarmTooLarge

Fields

§allocated_space: u64
§allocated_sectors: u64
§max_space: u64
§max_sectors: u16

Farm is too large

-

Trait Implementations§

source§

impl Debug for SingleDiskFarmError

source§

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

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

impl Display for SingleDiskFarmError

source§

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

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

impl Error for SingleDiskFarmError

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, demand: &mut Demand<'a>)

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

impl From<DiskPieceCacheError> for SingleDiskFarmError

source§

fn from(source: DiskPieceCacheError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for SingleDiskFarmError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for SingleDiskFarmError

source§

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

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

impl Display for SingleDiskFarmError

source§

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

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

impl Error for SingleDiskFarmError

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, demand: &mut Demand<'a>)

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

impl From<DiskPieceCacheError> for SingleDiskFarmError

source§

fn from(source: DiskPieceCacheError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for SingleDiskFarmError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmId.html b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmId.html index 52c4ebbfcb..21741d1dbb 100644 --- a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmId.html +++ b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmId.html @@ -1,20 +1,20 @@ -SingleDiskFarmId in subspace_farmer::single_disk_farm - Rust
pub enum SingleDiskFarmId {
+SingleDiskFarmId in subspace_farmer::single_disk_farm - Rust
pub enum SingleDiskFarmId {
     Ulid(Ulid),
 }
Expand description

An identifier for single disk farm, can be used for in logs, thread names, etc.

Variants§

§

Ulid(Ulid)

Farm ID

-

Implementations§

source§

impl SingleDiskFarmId

source

pub fn new() -> Self

Creates new ID

-

Trait Implementations§

source§

impl Clone for SingleDiskFarmId

source§

fn clone(&self) -> SingleDiskFarmId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskFarmId

source§

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

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

impl<'de> Deserialize<'de> for SingleDiskFarmId

source§

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

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

impl Display for SingleDiskFarmId

source§

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

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

impl From<Ulid> for SingleDiskFarmId

source§

fn from(original: Ulid) -> SingleDiskFarmId

Converts to this type from the input type.
source§

impl Hash for SingleDiskFarmId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Implementations§

source§

impl SingleDiskFarmId

source

pub fn new() -> Self

Creates new ID

+

Trait Implementations§

source§

impl Clone for SingleDiskFarmId

source§

fn clone(&self) -> SingleDiskFarmId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskFarmId

source§

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

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

impl<'de> Deserialize<'de> for SingleDiskFarmId

source§

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

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

impl Display for SingleDiskFarmId

source§

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

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

impl From<Ulid> for SingleDiskFarmId

source§

fn from(original: Ulid) -> SingleDiskFarmId

Converts to this type from the input type.
source§

impl Hash for SingleDiskFarmId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

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

impl Ord for SingleDiskFarmId

source§

fn cmp(&self, other: &SingleDiskFarmId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

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

impl Ord for SingleDiskFarmId

source§

fn cmp(&self, other: &SingleDiskFarmId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SingleDiskFarmId> for SingleDiskFarmId

source§

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

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SingleDiskFarmId> for SingleDiskFarmId

source§

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

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

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

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

impl PartialOrd<SingleDiskFarmId> for SingleDiskFarmId

source§

fn partial_cmp(&self, other: &SingleDiskFarmId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SingleDiskFarmId> for SingleDiskFarmId

source§

fn partial_cmp(&self, other: &SingleDiskFarmId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for SingleDiskFarmId

source§

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

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for SingleDiskFarmId

source§

impl Eq for SingleDiskFarmId

source§

impl StructuralEq for SingleDiskFarmId

source§

impl StructuralPartialEq for SingleDiskFarmId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Serialize for SingleDiskFarmId

source§

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

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for SingleDiskFarmId

source§

impl Eq for SingleDiskFarmId

source§

impl StructuralEq for SingleDiskFarmId

source§

impl StructuralPartialEq for SingleDiskFarmId

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmInfo.html b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmInfo.html index 9d45350516..ab63e0a679 100644 --- a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmInfo.html +++ b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmInfo.html @@ -1,4 +1,4 @@ -SingleDiskFarmInfo in subspace_farmer::single_disk_farm - Rust
§pieces_in_sector: u16

How many pieces does one sector contain.

§allocated_space: u64

How much space in bytes is allocated for this farm

V0 of the info

-

Implementations§

Implementations§

source§

impl SingleDiskFarmInfo

source

pub fn new( id: SingleDiskFarmId, genesis_hash: [u8; 32], public_key: PublicKey, pieces_in_sector: u16, allocated_space: u64 -) -> Self

source

pub fn load_from(path: &Path) -> Result<Option<Self>>

Load SingleDiskFarm from path is supposed to be stored, None means no info file was +) -> Self

source

pub fn load_from(directory: &Path) -> Result<Option<Self>>

Load SingleDiskFarm from path is supposed to be stored, None means no info file was found, happens during first start.

-
source

pub fn store_to(&self, directory: &Path) -> Result<()>

Store SingleDiskFarm info to path so it can be loaded again upon restart.

-
source

pub fn id(&self) -> &SingleDiskFarmId

source

pub fn genesis_hash(&self) -> &[u8; 32]

source

pub fn public_key(&self) -> &PublicKey

source

pub fn pieces_in_sector(&self) -> u16

How many pieces does one sector contain.

-
source

pub fn allocated_space(&self) -> u64

How much space in bytes is allocated for this farm

-

Trait Implementations§

source§

impl Clone for SingleDiskFarmInfo

source§

fn clone(&self) -> SingleDiskFarmInfo

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskFarmInfo

source§

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

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

impl<'de> Deserialize<'de> for SingleDiskFarmInfo

source§

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

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

impl Serialize for SingleDiskFarmInfo

source§

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

source

pub fn store_to(&self, directory: &Path) -> Result<()>

Store SingleDiskFarm info to path so it can be loaded again upon restart.

+
source

pub fn id(&self) -> &SingleDiskFarmId

source

pub fn genesis_hash(&self) -> &[u8; 32]

source

pub fn public_key(&self) -> &PublicKey

source

pub fn pieces_in_sector(&self) -> u16

How many pieces does one sector contain.

+
source

pub fn allocated_space(&self) -> u64

How much space in bytes is allocated for this farm

+

Trait Implementations§

source§

impl Clone for SingleDiskFarmInfo

source§

fn clone(&self) -> SingleDiskFarmInfo

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskFarmInfo

source§

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

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

impl<'de> Deserialize<'de> for SingleDiskFarmInfo

source§

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

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

impl Serialize for SingleDiskFarmInfo

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere diff --git a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmScrubError.html b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmScrubError.html new file mode 100644 index 0000000000..e191d10a65 --- /dev/null +++ b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmScrubError.html @@ -0,0 +1,210 @@ +SingleDiskFarmScrubError in subspace_farmer::single_disk_farm - Rust
pub enum SingleDiskFarmScrubError {
+
Show 15 variants FailedToDetermineFileSize { + file: PathBuf, + error: Error, + }, + FailedToReadBytes { + file: PathBuf, + size: u64, + offset: u64, + error: Error, + }, + FailedToWriteBytes { + file: PathBuf, + size: u64, + offset: u64, + error: Error, + }, + FarmInfoFileDoesNotExist { + file: PathBuf, + }, + FarmInfoCantBeOpened { + file: PathBuf, + error: Error, + }, + IdentityFileDoesNotExist { + file: PathBuf, + }, + IdentityCantBeOpened { + file: PathBuf, + error: IdentityError, + }, + PublicKeyMismatch { + identity: PublicKey, + info: PublicKey, + }, + MetadataFileDoesNotExist { + file: PathBuf, + }, + MetadataCantBeOpened { + file: PathBuf, + error: Error, + }, + MetadataFileTooSmall { + file: PathBuf, + reserved_size: u64, + size: u64, + }, + FailedToDecodeMetadataHeader(Error), + UnexpectedMetadataVersion(u8), + CacheFileDoesNotExist { + file: PathBuf, + }, + CacheCantBeOpened { + file: PathBuf, + error: Error, + }, +
}
Expand description

Errors happening during scrubbing

+

Variants§

§

FailedToDetermineFileSize

Fields

§file: PathBuf

Affected file

+
§error: Error

Low-level error

+

Failed to determine file size

+
§

FailedToReadBytes

Fields

§file: PathBuf

Affected file

+
§size: u64

Number of bytes to read

+
§offset: u64

Offset in the file

+
§error: Error

Low-level error

+

Failed to read bytes from file

+
§

FailedToWriteBytes

Fields

§file: PathBuf

Affected file

+
§size: u64

Number of bytes to read

+
§offset: u64

Offset in the file

+
§error: Error

Low-level error

+

Failed to write bytes from file

+
§

FarmInfoFileDoesNotExist

Fields

§file: PathBuf

Info file

+

Farm info file does not exist

+
§

FarmInfoCantBeOpened

Fields

§file: PathBuf

Info file

+
§error: Error

Low-level error

+

Farm info can’t be opened

+
§

IdentityFileDoesNotExist

Fields

§file: PathBuf

Identity file

+

Identity file does not exist

+
§

IdentityCantBeOpened

Fields

§file: PathBuf

Identity file

+
§error: IdentityError

Low-level error

+

Identity can’t be opened

+
§

PublicKeyMismatch

Fields

§identity: PublicKey

Identity public key

+
§info: PublicKey

Disk farm info public key

+

Identity public key doesn’t match public key in the disk farm info

+
§

MetadataFileDoesNotExist

Fields

§file: PathBuf

Metadata file

+

Metadata file does not exist

+
§

MetadataCantBeOpened

Fields

§file: PathBuf

Metadata file

+
§error: Error

Low-level error

+

Metadata can’t be opened

+
§

MetadataFileTooSmall

Fields

§file: PathBuf

Metadata file

+
§reserved_size: u64

Reserved size

+
§size: u64

File size

+

Metadata file too small

+
§

FailedToDecodeMetadataHeader(Error)

Failed to decode metadata header

+
§

UnexpectedMetadataVersion(u8)

Unexpected metadata version

+
§

CacheFileDoesNotExist

Fields

§file: PathBuf

Cache file

+

Cache file does not exist

+
§

CacheCantBeOpened

Fields

§file: PathBuf

Cache file

+
§error: Error

Low-level error

+

Cache can’t be opened

+

Trait Implementations§

source§

impl Debug for SingleDiskFarmScrubError

source§

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

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

impl Display for SingleDiskFarmScrubError

source§

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

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

impl Error for SingleDiskFarmScrubError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere + T: 'a,

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere + T: 'a,

§

fn implicit( + self, + class: Class, + constructed: bool, + tag: u32 +) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for Twhere + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

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

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

impl<T> FmtForward for T

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T> Instrument for T

source§

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

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

fn in_current_span(self) -> Instrumented<Self>

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

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

source§

fn into(self) -> U

Calls U::from(self).

+

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

+
§

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

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<E> Provider for Ewhere + E: Error + ?Sized,

source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Selfwhere + Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> Twhere + Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> ToString for Twhere + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryConv for T

§

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

impl<T, S> UniqueSaturatedInto<T> for Swhere + T: Bounded, + S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> JsonSchemaMaybe for T

§

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

\ No newline at end of file diff --git a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmSummary.html b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmSummary.html index 803290da8b..29c860c8bd 100644 --- a/subspace_farmer/single_disk_farm/enum.SingleDiskFarmSummary.html +++ b/subspace_farmer/single_disk_farm/enum.SingleDiskFarmSummary.html @@ -1,4 +1,4 @@ -SingleDiskFarmSummary in subspace_farmer::single_disk_farm - Rust
pub enum SingleDiskFarmSummary {
+SingleDiskFarmSummary in subspace_farmer::single_disk_farm - Rust
pub enum SingleDiskFarmSummary {
     Found {
         info: SingleDiskFarmInfo,
         directory: PathBuf,
diff --git a/subspace_farmer/single_disk_farm/index.html b/subspace_farmer/single_disk_farm/index.html
index 76a6fd225b..77b01765ce 100644
--- a/subspace_farmer/single_disk_farm/index.html
+++ b/subspace_farmer/single_disk_farm/index.html
@@ -1,3 +1,3 @@
-subspace_farmer::single_disk_farm - Rust

Modules

Structs

Enums

\ No newline at end of file diff --git a/subspace_farmer/single_disk_farm/piece_cache/enum.DiskPieceCacheError.html b/subspace_farmer/single_disk_farm/piece_cache/enum.DiskPieceCacheError.html index d8d8a2be31..be9027d535 100644 --- a/subspace_farmer/single_disk_farm/piece_cache/enum.DiskPieceCacheError.html +++ b/subspace_farmer/single_disk_farm/piece_cache/enum.DiskPieceCacheError.html @@ -15,7 +15,7 @@

Offset outsize of range

§

ZeroCapacity

Cache size has zero capacity, this is not supported

§

ChecksumMismatch

Checksum mismatch

-

Trait Implementations§

source§

impl Debug for DiskPieceCacheError

source§

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

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

impl Display for DiskPieceCacheError

source§

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

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

impl Error for DiskPieceCacheError

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, demand: &mut Demand<'a>)

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

impl From<DiskPieceCacheError> for SingleDiskFarmError

source§

fn from(source: DiskPieceCacheError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for DiskPieceCacheError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for DiskPieceCacheError

source§

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

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

impl Display for DiskPieceCacheError

source§

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

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

impl Error for DiskPieceCacheError

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, demand: &mut Demand<'a>)

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

impl From<DiskPieceCacheError> for SingleDiskFarmError

source§

fn from(source: DiskPieceCacheError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for DiskPieceCacheError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/sidebar-items.js b/subspace_farmer/single_disk_farm/sidebar-items.js index efe93fa577..83f9cecc9f 100644 --- a/subspace_farmer/single_disk_farm/sidebar-items.js +++ b/subspace_farmer/single_disk_farm/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["BackgroundTaskError","FarmingError","PlottingError","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmSummary"],"mod":["piece_cache","piece_reader"],"struct":["SingleDiskFarm","SingleDiskFarmOptions","SingleDiskSemaphore"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["BackgroundTaskError","FarmingError","PlottingError","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmScrubError","SingleDiskFarmSummary"],"mod":["piece_cache","piece_reader"],"struct":["SingleDiskFarm","SingleDiskFarmOptions","SingleDiskSemaphore"]}; \ No newline at end of file diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html index 7dc48f759f..ed76da263a 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html @@ -1,7 +1,7 @@ -SingleDiskFarm in subspace_farmer::single_disk_farm - Rust
pub struct SingleDiskFarm { /* private fields */ }
Expand description

Single disk farm abstraction is a container for everything necessary to plot/farm with a single +SingleDiskFarm in subspace_farmer::single_disk_farm - Rust

pub struct SingleDiskFarm { /* private fields */ }
Expand description

Single disk farm abstraction is a container for everything necessary to plot/farm with a single disk.

Farm starts operating during creation and doesn’t stop until dropped (or error happens).

-

Implementations§

source§

impl SingleDiskFarm

source

pub async fn new<NC, PG, PosTable>( +

Implementations§

source§

impl SingleDiskFarm

source

pub async fn new<NC, PG, PosTable>( options: SingleDiskFarmOptions<NC, PG>, disk_farm_index: usize ) -> Result<Self, SingleDiskFarmError>where @@ -9,27 +9,29 @@ PG: PieceGetter + Send + 'static, PosTable: Table,

Create new single disk farm instance

NOTE: Thought this function is async, it will do some blocking I/O.

-
source

pub fn collect_summary(directory: PathBuf) -> SingleDiskFarmSummary

Collect summary of single disk farm for presentational purposes

-
source

pub fn id(&self) -> &SingleDiskFarmId

ID of this farm

-
source

pub fn plotted_sectors_count(&self) -> usize

Number of sectors successfully plotted so far

-
source

pub fn plotted_sectors( +

source

pub fn collect_summary(directory: PathBuf) -> SingleDiskFarmSummary

Collect summary of single disk farm for presentational purposes

+
source

pub fn id(&self) -> &SingleDiskFarmId

ID of this farm

+
source

pub fn plotted_sectors_count(&self) -> usize

Number of sectors successfully plotted so far

+
source

pub fn plotted_sectors( &self ) -> impl Iterator<Item = Result<PlottedSector, Error>> + '_

Read information about sectors plotted so far

-
source

pub fn piece_cache(&self) -> DiskPieceCache

Get piece cache instance

-
source

pub fn piece_reader(&self) -> PieceReader

Get piece reader to read plotted pieces later

-
source

pub fn on_sector_plotted( +

source

pub fn piece_cache(&self) -> DiskPieceCache

Get piece cache instance

+
source

pub fn piece_reader(&self) -> PieceReader

Get piece reader to read plotted pieces later

+
source

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

Subscribe to sector plotting notification

Plotting permit is given such that it can be dropped later by the implementation is throttling of the plotting process is desired.

-
source

pub fn on_solution( +

source

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

Subscribe to new solution notification

-
source

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

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

-

Trait Implementations§

source§

impl Drop for SingleDiskFarm

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source

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

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

+
source

pub fn scrub(directory: &Path) -> Result<(), SingleDiskFarmScrubError>

Check the farm for corruption and repair errors (caused by disk errors or something else), +returns an error when irrecoverable errors occur.

+

Trait Implementations§

source§

impl Drop for SingleDiskFarm

source§

fn drop(&mut self)

Executes the destructor for this type. 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<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html index 10d30a9603..76753b003e 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html @@ -1,4 +1,4 @@ -SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust
pub struct SingleDiskFarmOptions<NC, PG> {
+SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust
pub struct SingleDiskFarmOptions<NC, PG> {
     pub directory: PathBuf,
     pub farmer_app_info: FarmerAppInfo,
     pub allocated_space: u64,
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskSemaphore.html b/subspace_farmer/single_disk_farm/struct.SingleDiskSemaphore.html
index 29ae397ab4..c849bc3d01 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskSemaphore.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskSemaphore.html
@@ -1,10 +1,10 @@
-SingleDiskSemaphore in subspace_farmer::single_disk_farm - Rust
pub struct SingleDiskSemaphore { /* private fields */ }
Expand description

Semaphore that limits disk access concurrency in strategic places to the number specified during +SingleDiskSemaphore in subspace_farmer::single_disk_farm - Rust

pub struct SingleDiskSemaphore { /* private fields */ }
Expand description

Semaphore that limits disk access concurrency in strategic places to the number specified during initialization

-

Implementations§

source§

impl SingleDiskSemaphore

source

pub fn new(concurrency: NonZeroU16) -> Self

Create new semaphore for limiting concurrency of the major processes working with the same +

Implementations§

source§

impl SingleDiskSemaphore

source

pub fn new(concurrency: NonZeroU16) -> Self

Create new semaphore for limiting concurrency of the major processes working with the same disk

-
source

pub fn acquire(&self) -> SemaphoreGuard<'_>

Acquire access, will block current thread until previously acquired guards are dropped and +

source

pub fn acquire(&self) -> SemaphoreGuard<'_>

Acquire access, will block current thread until previously acquired guards are dropped and access is released

-

Trait Implementations§

source§

impl Clone for SingleDiskSemaphore

source§

fn clone(&self) -> SingleDiskSemaphore

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskSemaphore

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 +

Trait Implementations§

source§

impl Clone for SingleDiskSemaphore

source§

fn clone(&self) -> SingleDiskSemaphore

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SingleDiskSemaphore

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer/struct.Identity.html b/subspace_farmer/struct.Identity.html index 64e1a2b536..756c4972c9 100644 --- a/subspace_farmer/struct.Identity.html +++ b/subspace_farmer/struct.Identity.html @@ -1,14 +1,18 @@ -Identity in subspace_farmer - Rust
pub struct Identity { /* private fields */ }
Expand description

Identity struct is an abstraction of public & secret key related operations.

+Identity in subspace_farmer - Rust
pub struct Identity { /* private fields */ }
Expand description

Identity struct is an abstraction of public & secret key related operations.

It is basically a wrapper of the keypair (which holds public & secret keys) and a context that will be used for signing.

-

Implementations§

source§

impl Identity

source

pub fn file_size() -> usize

Size of the identity file on disk

-
source

pub fn open_or_create<B: AsRef<Path>>(base_directory: B) -> Result<Self, Error>

Opens the existing identity, or creates a new one.

-
source

pub fn open<B: AsRef<Path>>(base_directory: B) -> Result<Option<Self>, Error>

Opens the existing identity, returns Ok(None) if it doesn’t exist.

-
source

pub fn create<B: AsRef<Path>>(base_directory: B) -> Result<Self, Error>

Creates new identity, overrides identity that might already exist.

-
source

pub fn public_key(&self) -> &PublicKey

Returns the public key of the identity.

-
source

pub fn secret_key(&self) -> &SecretKey

Returns the secret key of the identity.

-
source

pub fn entropy(&self) -> &[u8]

Returns entropy used to generate keypair.

-
source

pub fn sign_reward_hash(&self, header_hash: &[u8]) -> Signature

Sign reward hash.

+

Implementations§

source§

impl Identity

source

pub fn file_size() -> usize

Size of the identity file on disk

+
source

pub fn open_or_create<B: AsRef<Path>>( + base_directory: B +) -> Result<Self, IdentityError>

Opens the existing identity, or creates a new one.

+
source

pub fn open<B: AsRef<Path>>( + base_directory: B +) -> Result<Option<Self>, IdentityError>

Opens the existing identity, returns Ok(None) if it doesn’t exist.

+
source

pub fn create<B: AsRef<Path>>(base_directory: B) -> Result<Self, IdentityError>

Creates new identity, overrides identity that might already exist.

+
source

pub fn public_key(&self) -> &PublicKey

Returns the public key of the identity.

+
source

pub fn secret_key(&self) -> &SecretKey

Returns the secret key of the identity.

+
source

pub fn entropy(&self) -> &[u8]

Returns entropy used to generate keypair.

+
source

pub fn sign_reward_hash(&self, header_hash: &[u8]) -> Signature

Sign reward hash.

Methods from Deref<Target = Keypair>§

pub fn to_bytes(&self) -> [u8; 96]

Serialize Keypair to bytes.

Returns

A byte array [u8; KEYPAIR_LENGTH] consisting of first a @@ -223,7 +227,7 @@

Examples

We borrow the keypair here to discurage keeping too many copies of the private key, but the MuSig::new method can create an owned version, or use Rc or Arc.

-

Trait Implementations§

source§

impl Clone for Identity

source§

fn clone(&self) -> Identity

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

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

Performs copy-assignment from source. Read more
source§

impl Deref for Identity

§

type Target = Keypair

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for Identity

source§

fn clone(&self) -> Identity

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

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

Performs copy-assignment from source. Read more
source§

impl Deref for Identity

§

type Target = Keypair

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

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

§

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

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( diff --git a/subspace_farmer_components/file_ext/index.html b/subspace_farmer_components/file_ext/index.html index a59e69a026..08e16c05b3 100644 --- a/subspace_farmer_components/file_ext/index.html +++ b/subspace_farmer_components/file_ext/index.html @@ -1,3 +1,3 @@ -subspace_farmer_components::file_ext - Rust
Expand description

File extension trait

+subspace_farmer_components::file_ext - Rust
Expand description

File extension trait

Traits

  • Extension convenience trait that allows pre-allocating files, suggesting random access pattern and doing cross-platform exact reads/writes
\ No newline at end of file diff --git a/subspace_farmer_components/file_ext/trait.FileExt.html b/subspace_farmer_components/file_ext/trait.FileExt.html index c86f6f8d0e..5e0f1bb409 100644 --- a/subspace_farmer_components/file_ext/trait.FileExt.html +++ b/subspace_farmer_components/file_ext/trait.FileExt.html @@ -1,7 +1,8 @@ -FileExt in subspace_farmer_components::file_ext - Rust
pub trait FileExt {
+FileExt in subspace_farmer_components::file_ext - Rust
pub trait FileExt {
     // Required methods
     fn preallocate(&self, len: u64) -> Result<()>;
     fn advise_random_access(&self) -> Result<()>;
+    fn advise_sequential_access(&self) -> Result<()>;
     fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>;
     fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>;
 }
Expand description

Extension convenience trait that allows pre-allocating files, suggesting random access pattern @@ -9,6 +10,8 @@

Required Methods§

source

fn preallocate(&self, len: u64) -> Result<()>

Make sure file has specified number of bytes allocated for it

source

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

Advise OS/file system that file will use random access and read-ahead behavior is undesirable

-
source

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>

Read exact number of bytes at a specific offset

-
source

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

Write all provided bytes at a specific offset

-

Implementations on Foreign Types§

source§

impl FileExt for File

source§

fn preallocate(&self, len: u64) -> Result<()>

source§

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

source§

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>

source§

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

Implementors§

\ No newline at end of file +
source

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

Advise OS/file system that file will use sequential access and read-ahead behavior is +desirable

+
source

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>

Read exact number of bytes at a specific offset

+
source

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

Write all provided bytes at a specific offset

+

Implementations on Foreign Types§

source§

impl FileExt for File

source§

fn preallocate(&self, len: u64) -> Result<()>

source§

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

source§

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

source§

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>

source§

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

Implementors§

\ No newline at end of file diff --git a/subspace_node/domain/struct.AccountId32ToAccountId20Converter.html b/subspace_node/domain/struct.AccountId32ToAccountId20Converter.html index c33294cf44..e2d707f5bf 100644 --- a/subspace_node/domain/struct.AccountId32ToAccountId20Converter.html +++ b/subspace_node/domain/struct.AccountId32ToAccountId20Converter.html @@ -1,4 +1,4 @@ -AccountId32ToAccountId20Converter in subspace_node::domain - Rust
pub struct AccountId32ToAccountId20Converter;

Trait Implementations§

source§

impl Convert<AccountId32, <<EthereumSignature as Verify>::Signer as IdentifyAccount>::AccountId> for AccountId32ToAccountId20Converter

source§

fn convert(acc: AccountId32) -> AccountId20

Make conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +AccountId32ToAccountId20Converter in subspace_node::domain - Rust
pub struct AccountId32ToAccountId20Converter;

Trait Implementations§

source§

impl Convert<AccountId32, <<EthereumSignature as Verify>::Signer as IdentifyAccount>::AccountId> for AccountId32ToAccountId20Converter

source§

fn convert(acc: AccountId32) -> AccountId20

Make conversion.

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 T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Send + Sync, Global>

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere diff --git a/subspace_node/domain/struct.DomainInstanceStarter.html b/subspace_node/domain/struct.DomainInstanceStarter.html index cf970bcea6..6527b64ffa 100644 --- a/subspace_node/domain/struct.DomainInstanceStarter.html +++ b/subspace_node/domain/struct.DomainInstanceStarter.html @@ -1,7 +1,7 @@ DomainInstanceStarter in subspace_node::domain - Rust
pub struct DomainInstanceStarter {
     pub domain_cli: DomainCli,
     pub tokio_handle: Handle,
-    pub consensus_client: Arc<CFullClient<CRuntimeApi, CExecutorDispatch>>,
+    pub consensus_client: Arc<CFullClient<CRuntimeApi, CExecutorDispatch>>,
     pub block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<CBlock>>,
     pub new_slot_notification_stream: SubspaceNotificationStream<NewSlotNotification>,
     pub consensus_network_service: Arc<NetworkService<CBlock, <CBlock as BlockT>::Hash>>,
@@ -9,7 +9,7 @@
     pub select_chain: FullSelectChain,
 }
Expand description

DomainInstanceStarter used to start a domain instance node based on the given bootstrap result

-

Fields§

§domain_cli: DomainCli§tokio_handle: Handle§consensus_client: Arc<CFullClient<CRuntimeApi, CExecutorDispatch>>§block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<CBlock>>§new_slot_notification_stream: SubspaceNotificationStream<NewSlotNotification>§consensus_network_service: Arc<NetworkService<CBlock, <CBlock as BlockT>::Hash>>§consensus_sync_service: Arc<SyncingService<CBlock>>§select_chain: FullSelectChain

Implementations§

source§

impl DomainInstanceStarter

source

pub async fn start( +

Fields§

§domain_cli: DomainCli§tokio_handle: Handle§consensus_client: Arc<CFullClient<CRuntimeApi, CExecutorDispatch>>§block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<CBlock>>§new_slot_notification_stream: SubspaceNotificationStream<NewSlotNotification>§consensus_network_service: Arc<NetworkService<CBlock, <CBlock as BlockT>::Hash>>§consensus_sync_service: Arc<SyncingService<CBlock>>§select_chain: FullSelectChain

Implementations§

source§

impl DomainInstanceStarter

source

pub async fn start( self, bootstrap_result: BootstrapResult<CBlock> ) -> Result<(), Box<dyn Error>>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere