diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index ad801631ef..5aa031ff22 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl Freeze for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl !Freeze for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> Freeze for AuditResult<'a, Sector>where\n Sector: Freeze,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> Freeze for SolutionCandidates<'a, Sector>where\n Sector: Freeze,",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<T> Freeze for ReadAtOffset<T>where\n T: Freeze,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl Freeze for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl Freeze for metrics",1,["subspace_metrics::metrics"]]], diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index a47f56b824..27cf1b6212 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl Send for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl Send for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> Send for AuditResult<'a, Sector>where\n Sector: Send,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> Send for SolutionCandidates<'a, Sector>where\n Sector: Send,",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<T> Send for ReadAtOffset<T>where\n T: Send,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl Send for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl Send for metrics",1,["subspace_metrics::metrics"]]], diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 3cae566dd3..54f12efe16 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl Sync for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl !Sync for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> Sync for AuditResult<'a, Sector>where\n Sector: Sync,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> Sync for SolutionCandidates<'a, Sector>where\n Sector: Sync,",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<T> Sync for ReadAtOffset<T>where\n T: Sync,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl Sync for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl Sync for metrics",1,["subspace_metrics::metrics"]]], diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index ba7e625bda..ad9d2036ec 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl Unpin for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl Unpin for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> Unpin for AuditResult<'a, Sector>where\n Sector: Unpin,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> Unpin for SolutionCandidates<'a, Sector>where\n Sector: Unpin,",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<T> Unpin for ReadAtOffset<T>where\n T: Unpin,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl Unpin for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl Unpin for metrics",1,["subspace_metrics::metrics"]]], diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index d0eb73d499..8f88d42fbe 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl RefUnwindSafe for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl !RefUnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> RefUnwindSafe for AuditResult<'a, Sector>where\n Sector: RefUnwindSafe,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> RefUnwindSafe for SolutionCandidates<'a, Sector>where\n Sector: RefUnwindSafe,",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<T> RefUnwindSafe for ReadAtOffset<T>where\n T: RefUnwindSafe,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl !RefUnwindSafe for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl RefUnwindSafe for metrics",1,["subspace_metrics::metrics"]]], diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index f43e2cd53e..82d3a52e7d 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -40,7 +40,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 ChunkWitness",1,["subspace_core_primitives::pieces::ChunkWitness"]],["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 SegmentCommitment",1,["subspace_core_primitives::segments::SegmentCommitment"]],["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 PotOutput",1,["subspace_core_primitives::PotOutput"]],["impl UnwindSafe for PotCheckpoints",1,["subspace_core_primitives::PotCheckpoints"]],["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 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<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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::SectorPlottingDetails"]],["impl !UnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["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<'a, Sector> UnwindSafe for AuditResult<'a, Sector>where\n Sector: UnwindSafe,",1,["subspace_farmer_components::auditing::AuditResult"]],["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, Sector> UnwindSafe for SolutionCandidates<'a, Sector>where\n Sector: UnwindSafe,",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<T> UnwindSafe for ReadAtOffset<T>where\n T: UnwindSafe,",1,["subspace_farmer_components::ReadAtOffset"]],["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_metrics":[["impl !UnwindSafe for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl UnwindSafe for metrics",1,["subspace_metrics::metrics"]]], diff --git a/sc_consensus_subspace_rpc/struct.SubspaceRpc.html b/sc_consensus_subspace_rpc/struct.SubspaceRpc.html index 24f1a58e20..3db7746f1a 100644 --- a/sc_consensus_subspace_rpc/struct.SubspaceRpc.html +++ b/sc_consensus_subspace_rpc/struct.SubspaceRpc.html @@ -18,12 +18,12 @@ Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + BlockBackend<Block> + Send + Sync + 'static, Client::Api: SubspaceRuntimeApi<Block, FarmerPublicKey> + ObjectsApi<Block>, SO: SyncOracle + Send + Sync + Clone + 'static, - AS: AuxStore + Send + Sync + 'static,
source§

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

Ger metadata necessary for farmer operation
source§

fn submit_solution_response( + AS: AuxStore + Send + Sync + 'static,

source§

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

Ger metadata necessary for farmer operation
source§

fn submit_solution_response( &self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> RpcResult<()>

source§

fn subscribe_slot_info(&self, sink: SubscriptionSink) -> SubscriptionResult

Slot info subscription
source§

fn subscribe_reward_signing(&self, sink: SubscriptionSink) -> SubscriptionResult

Sign block subscription
source§

fn submit_reward_signature( &self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> RpcResult<()>

source§

fn subscribe_archived_segment_header( &self, sink: SubscriptionSink diff --git a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiClient.html b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiClient.html index 9efe68fc0c..51da5b6e74 100644 --- a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiClient.html +++ b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiClient.html @@ -2,18 +2,18 @@ // Provided methods fn get_farmer_app_info<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = RpcResult<FarmerAppInfo>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = RpcResult<FarmerAppInfo>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn submit_solution_response<'life0, 'async_trait>( &'life0 self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn submit_reward_signature<'life0, 'async_trait>( &'life0 self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } @@ -43,12 +43,12 @@ 'life0: 'async_trait { ... } fn subscribe_slot_info<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = Result<Subscription<SlotInfo>, Error>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<Subscription<SlotInfo>, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn subscribe_reward_signing<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = Result<Subscription<RewardSigningInfo>, Error>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<Subscription<RewardSigningInfo>, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn subscribe_archived_segment_header<'life0, 'async_trait>( @@ -58,23 +58,23 @@ 'life0: 'async_trait { ... } fn subscribe_node_sync_status_change<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = Result<Subscription<NodeSyncStatus>, Error>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<Subscription<NodeSyncStatus>, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } }
Expand description

Client implementation for the SubspaceRpcApi RPC API.

Provided Methods§

source

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

Ger metadata necessary for farmer operation

source

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

source

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

source

fn segment_headers<'life0, 'async_trait>( @@ -99,12 +99,12 @@ Self: Sync + 'async_trait, 'life0: 'async_trait,

source

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

Slot info subscription

source

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

Sign block subscription

source

fn subscribe_archived_segment_header<'life0, 'async_trait>( @@ -114,7 +114,7 @@ 'life0: 'async_trait,

Archived segment header subscription

source

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

Archived segment header subscription

Implementors§

source§

impl<TypeJsonRpseeInteral> SubspaceRpcApiClient for TypeJsonRpseeInteralwhere diff --git a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html index 8b66045f24..8b3ef4744b 100644 --- a/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html +++ b/sc_consensus_subspace_rpc/trait.SubspaceRpcApiServer.html @@ -1,13 +1,13 @@ SubspaceRpcApiServer in sc_consensus_subspace_rpc - Rust
pub trait SubspaceRpcApiServer: Sized + Send + Sync + 'static {
     // Required methods
-    fn get_farmer_app_info(&self) -> RpcResult<FarmerAppInfo>;
+    fn get_farmer_app_info(&self) -> RpcResult<FarmerAppInfo>;
     fn submit_solution_response(
         &self,
-        solution_response: SolutionResponse
+        solution_response: SolutionResponse
     ) -> RpcResult<()>;
     fn submit_reward_signature(
         &self,
-        reward_signature: RewardSignatureResponse
+        reward_signature: RewardSignatureResponse
     ) -> RpcResult<()>;
     fn segment_headers<'life0, 'async_trait>(
         &'life0 self,
@@ -48,13 +48,13 @@
     // Provided method
     fn into_rpc(self) -> RpcModule<Self> { ... }
 }
Expand description

Server trait implementation for the SubspaceRpcApi RPC API.

-

Required Methods§

source

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

Ger metadata necessary for farmer operation

+

Required Methods§

source

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

Ger metadata necessary for farmer operation

source

fn submit_solution_response( &self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> RpcResult<()>

source

fn submit_reward_signature( &self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> RpcResult<()>

source

fn segment_headers<'life0, 'async_trait>( &'life0 self, segment_indexes: Vec<SegmentIndex> diff --git a/search-index.js b/search-index.js index f1b29fd412..066169cbd7 100644 --- a/search-index.js +++ b/search-index.js @@ -43,7 +43,7 @@ var searchIndex = JSON.parse('{\ "subspace_archiving":{"doc":"Collection of modules used for dealing with archived state …","t":"AAADENNNNNNDNNEENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMNNNNDEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNDDEENLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMM","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","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","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","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"],[137,"subspace_archiving::archiver::ArchiverInstantiationError"],[139,"subspace_archiving::archiver::Segment"],[140,"subspace_archiving::archiver::SegmentItem"],[143,"subspace_archiving::piece_reconstructor"],[208,"subspace_archiving::reconstructor"],[293,"subspace_archiving::reconstructor::ReconstructorError"],[295,"alloc::vec"],[296,"subspace_core_primitives::objects"],[297,"core::cmp"],[298,"parity_scale_codec::error"],[299,"core::result"],[300,"parity_scale_codec::codec"],[301,"serde::de"],[302,"parity_scale_codec::codec"],[303,"core::fmt"],[304,"core::fmt"],[305,"subspace_core_primitives::crypto::kzg"],[306,"subspace_core_primitives::pieces"],[307,"subspace_core_primitives::segments"],[308,"subspace_core_primitives::crypto"],[309,"subspace_core_primitives::pieces"],[310,"core::option"],[311,"serde::ser"],[312,"alloc::alloc"],[313,"alloc::string"],[314,"core::any"],[315,"subspace_core_primitives"]],"d":["","","","Block archiver for Subspace blockchain.","Archiver instantiation error","Contains full block inside","Continuation of the partial block spilled over into the …","Contains the beginning of the block inside, remainder will …","Failed to initialize erasure coding","Invalid block, its size is smaller than already archived …","Invalid last archived block, its size is the same as …","Newly archived segment as a combination of segment header …","Special dummy enum variant only used as an implementation …","Segment header of the parent","Segment represents a collection of items stored in …","Kinds of items that are contained within a segment","","Adds new block to internal buffer, potentially producing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Validate witness embedded within a piece produced by …","Validate witness for record commitment hash produced by …","Get last archived block if there was any","Create a new instance with specified record size and …","Mappings for objects stored in corresponding pieces.","","Segment of archived history containing pieces","Segment header","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new instance of the archiver with initial state …","Already archived portion of the block","Full block size","Segment items","Block bytes","Block bytes","Block bytes","Segment size is not bigger than record size","Failed to initialize erasure coding","Incorrect piece position provided.","Commitment of input piece is invalid.","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns the missing piece for a segment using given set of …","Returns all the pieces for a segment using given set of …","","","","","","","","","","","","","","","Error during data shards reconstruction","Failed to initialize erasure coding","Incorrect segment order, each next segment must have …","Data structure that contains information reconstructed …","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","Segment size is not bigger than record size","Given a set of pieces of a segment of the archived history …","Reconstructed encoded blocks with their block numbers","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Segment header stored in a segment","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,8,8,8,9,9,9,0,8,8,0,0,7,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,9,7,8,6,7,8,6,7,8,6,7,8,6,7,8,6,9,1,7,8,6,9,1,6,7,8,6,9,1,7,8,6,7,8,6,9,7,8,6,9,7,8,6,9,9,1,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,0,0,1,1,6,9,6,6,6,7,8,6,7,8,6,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,1,45,45,46,47,48,49,37,36,37,37,0,0,0,36,37,38,36,37,38,36,37,38,36,37,38,36,36,37,38,36,37,38,36,37,38,36,37,36,36,36,37,37,38,36,37,38,36,36,37,38,36,37,38,38,36,38,38,36,37,38,36,37,36,37,38,36,37,38,36,37,38,43,44,43,0,0,0,0,43,41,42,44,43,42,41,44,43,42,41,44,43,42,41,44,43,42,41,44,42,44,43,42,41,44,43,42,41,44,43,42,41,44,43,42,44,42,44,44,43,43,42,41,44,43,42,41,44,44,43,42,41,44,43,42,41,41,44,42,44,43,42,41,44,43,44,43,42,41,44,43,42,41,44,43,42,41,50,50],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,[3,[2]],4,5],[[3,[6]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,7],[8,8],[6,6],[9,9],[1,1],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[9,9],11],[-1,[[13,[7,12]]],14],[-1,[[13,[8,12]]],14],[-1,[[13,[6,12]]],14],[[[15,[2]]],[[13,[-1,12]]],[]],[[[15,[2]]],[[13,[-1,12]]],[]],[[[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,[15,[2]]],[[13,[-1,12]]],[]],[[16,-1],[[13,[-2,12]]],14,[]],[[16,-1],[[13,[-2,12]]],14,[]],[[16,-1],[[13,[-2,12]]],14,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[-1,[[13,[6]]],18],[17,10],[17,10],[17,10],[17,10],[17,10],[[7,-1],10,[19,20]],[[8,-1],10,[19,20]],[[6,-1],10,[19,20]],[[7,7],5],[[8,8],5],[[6,6],5],[[9,9],5],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[7,21],22],[[8,21],22],[[6,21],22],[[9,21],22],[[9,21],22],[[1,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[9,-1],10,23],[[],17],[[],17],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[24,25,26,16],5],[[24,27,26,28,16],5],[1,[[30,[29]]]],[24,[[13,[1,9]]]],0,[[9,9],[[30,[11]]]],0,0,[[6,-1],13,31],[7,17],[8,17],[6,17],[[-1,[15,[2]]],[[3,[2,32]]],[]],[[-1,[15,[2]]],[[3,[2,32]]],[]],[[-1,[15,[2]]],[[3,[2,32]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[[24,35,[15,[2]],4],[[13,[1,9]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[36,36],[37,37],[38,38],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[36,36],11],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,10],[17,10],[17,10],[[36,36],5],[[37,37],5],[[-1,-2],5,[],[]],[[36,21],22],[[36,21],22],[[37,21],22],[[37,21],22],[[38,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[36,-1],10,23],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,[[13,[38,36]]]],[[36,36],[[30,[11]]]],[[38,[15,[[30,[39]]]],17],[[13,[39,37]]]],[[38,[15,[[30,[39]]]]],[[13,[40,37]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],0,0,0,0,0,0,0,0,[[41,[15,[[30,[39]]]]],[[13,[42,43]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[43,43],[42,42],[41,41],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[44,44],11],[[],42],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,-1,[]],[17,10],[17,10],[17,10],[17,10],[[44,44],5],[[43,43],5],[[42,42],5],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[44,21],22],[[44,21],22],[[43,21],22],[[43,21],22],[[42,21],22],[[41,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[44,-1],10,23],[[],17],[[],17],[[],17],[[],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[13,[41,44]]]],[[44,44],[[30,[11]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,33,[]],[-1,33,[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],0,0],"c":[],"p":[[3,"Archiver",3],[15,"u8"],[3,"Vec",295],[3,"BlockObjectMapping",296],[15,"bool"],[3,"NewArchivedSegment",3],[4,"Segment",3],[4,"SegmentItem",3],[4,"ArchiverInstantiationError",3],[15,"tuple"],[4,"Ordering",297],[3,"Error",298],[4,"Result",299],[8,"Input",300],[15,"slice"],[15,"u32"],[15,"usize"],[8,"Deserializer",301],[8,"Output",300],[8,"Sized",302],[3,"Formatter",303],[6,"Result",303],[8,"Hasher",304],[3,"Kzg",305],[3,"PieceArray",306],[3,"SegmentCommitment",307],[3,"Scalar",308],[3,"RecordWitness",306],[6,"BlockNumber",309],[4,"Option",310],[8,"Serializer",311],[3,"Global",312],[3,"String",313],[3,"TypeId",314],[4,"SegmentHeader",309],[4,"ReconstructorInstantiationError",143],[4,"ReconstructorError",143],[3,"PiecesReconstructor",143],[3,"Piece",306],[3,"ArchivedHistorySegment",307],[3,"Reconstructor",208],[3,"ReconstructedContents",208],[4,"ReconstructorError",208],[4,"ReconstructorInstantiationError",208],[13,"InvalidBlockSmallSize",137],[13,"V0",139],[13,"Block",140],[13,"BlockStart",140],[13,"BlockContinuation",140],[13,"IncorrectSegmentOrder",293]],"b":[[81,"impl-Display-for-ArchiverInstantiationError"],[82,"impl-Debug-for-ArchiverInstantiationError"],[175,"impl-Debug-for-ReconstructorInstantiationError"],[176,"impl-Display-for-ReconstructorInstantiationError"],[177,"impl-Display-for-ReconstructorError"],[178,"impl-Debug-for-ReconstructorError"],[253,"impl-Display-for-ReconstructorInstantiationError"],[254,"impl-Debug-for-ReconstructorInstantiationError"],[255,"impl-Debug-for-ReconstructorError"],[256,"impl-Display-for-ReconstructorError"]]},\ "subspace_core_primitives":{"doc":"Core primitives for Subspace Network.","t":"EDRGGGGDNSNDDDSSSSSSSSSDESSSRNDDDDDDDDDDDDRRRDDDDDDDDSSSSSSSSSSSSSSSSDGDDEDGDGDNSSSSLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMALLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLMLMLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMDLLLLLLLLLLLLLLLLLLLLLLLSSDLLFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLDRDRRDDLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLEDEEDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMM","n":["ArchivedBlockProgress","ArchivedHistorySegment","BLAKE3_HASH_SIZE","Blake3Hash","BlockHash","BlockNumber","BlockWeight","ChunkWitness","Complete","ERASURE_CODING_RATE","EmptyVec","FlatPieces","HistorySize","LastArchivedBlock","MAX","MAX","MIDDLE","NUM_CHECKPOINTS","NUM_CHUNKS","NUM_CHUNKS","NUM_PIECES","NUM_RAW_RECORDS","NUM_S_BUCKETS","NonEmptyVec","NonEmptyVecErr","ONE","ONE","ONE","PUBLIC_KEY_LENGTH","Partial","Piece","PieceArray","PieceIndex","PieceOffset","PosProof","PosQualityBytes","PosSeed","PotCheckpoints","PotKey","PotOutput","PotSeed","PublicKey","RANDOMNESS_LENGTH","REWARD_SIGNATURE_LENGTH","REWARD_SIGNING_CONTEXT","Randomness","RawRecord","Record","RecordCommitment","RecordWitness","RecordedHistorySegment","RewardSignature","SBucket","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SectorId","SectorIndex","SectorSlotChallenge","SegmentCommitment","SegmentHeader","SegmentIndex","SlotNumber","Solution","SolutionRange","U256","V0","ZERO","ZERO","ZERO","ZERO","add","add","add","add","add","add_assign","add_assign","add_assign","add_assign","archived_progress","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","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","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div","checked_mul","checked_sub","checksum","chunk","chunk_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","commitment","commitment_mut","crypto","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","derive_evaluation_seed","derive_expiration_history_size","derive_global_challenge","derive_global_randomness","derive_piece_index","derive_sector_slot_challenge","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","div","div","div","div","div","div_assign","div_assign","div_assign","div_assign","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","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","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","fmt","fmt","fmt","fmt","forward_checked","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_be_bytes","from_bytes","from_genesis","from_hex","from_hex","from_hex","from_le_bytes","from_str","genesis_solution","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","history_size","in_pieces","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_reward_address_format","iter","iter_mut","key","last","last_archived_block","last_piece_index","len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","mul_assign","new","new","new","new","new_boxed","new_boxed","new_boxed","new_boxed","new_with_entry","new_zero_vec","number","objects","one","output","par_parity","par_parity_mut","par_source","par_source_mut","parity","parity_mut","partial","partial_archived","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","piece_offset","position","prev_segment_header_hash","proof_of_space","public_key","push","record","record_commitment","record_mut","record_witness","rem","reward_address","s_bucket_audit_index","saturating_add","saturating_mul","saturating_sub","sector_expiration_check","sector_index","seed","seed_with_entropy","segment_commitment","segment_index","segment_index","segment_index","segment_piece_indexes","segment_piece_indexes_source_first","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_complete","set_partial","set_partial_archived","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_to_repr","source","source_mut","split","split_mut","steps_between","steps_between","steps_between","steps_between","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","to_be_bytes","to_bytes","to_bytes","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_le_bytes","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_vec","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","witness","witness_mut","wrapping_add","wrapping_sub","zero","last_archived_block","prev_segment_header_hash","segment_commitment","segment_index","Blake3Checksummed","borrow","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","encoded_size","fmt","from","init","into","size_hint","to_keyed_vec","to_owned","try_from","try_into","type_id","FULL_BYTES","SAFE_BYTES","Scalar","as_mut","as_ref","blake3_254_hash_to_scalar","blake3_hash","blake3_hash_list","blake3_hash_parallel","blake3_hash_with_key","borrow","borrow_mut","clone","clone_into","cmp","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref_mut","deref_mut","deserialize","drop","encoded_fixed_size","encoded_size","eq","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","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","embedded_kzg_settings","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_fft_settings","init","init","init","init","into","into","into","into","new","normalize","poly","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_option_from_repr","slice_option_mut_from_repr","slice_option_mut_to_repr","slice_option_to_repr","slice_to_repr","to_bytes","to_bytes","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_bytes","try_from_bytes","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vec_from_repr","vec_option_from_repr","vec_option_to_repr","vec_to_repr","verify","BlockObject","BlockObjectMapping","GlobalObject","PieceObject","PieceObjectMapping","V0","V0","V0","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","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"],[1470,"subspace_core_primitives::SegmentHeader"],[1474,"subspace_core_primitives::checksum"],[1498,"subspace_core_primitives::crypto"],[1563,"subspace_core_primitives::crypto::kzg"],[1684,"subspace_core_primitives::objects"],[1857,"subspace_core_primitives::objects::BlockObject"],[1859,"subspace_core_primitives::objects::GlobalObject"],[1861,"subspace_core_primitives::objects::PieceObject"],[1863,"byte_slice_cast"],[1864,"core::result"],[1865,"byte_slice_cast"],[1866,"core::option"],[1867,"num_traits::ops::wrapping"],[1868,"core::cmp"],[1869,"core::cmp"],[1870,"parity_scale_codec::codec"],[1871,"parity_scale_codec::codec"],[1872,"parity_scale_codec::decode_finished"],[1873,"serde::de"],[1874,"serde::de"],[1875,"core::iter::traits::collect"],[1876,"parity_scale_codec::codec"],[1877,"parity_scale_codec::codec"],[1878,"core::fmt"],[1879,"core::convert"],[1880,"core::hash"],[1881,"core::convert"],[1882,"alloc::boxed"],[1883,"rayon::iter"],[1884,"core::iter::traits::exact_size"],[1885,"serde::ser"],[1886,"serde::ser"],[1887,"alloc::string"],[1888,"core::any"],[1889,"scale_info::ty"],[1890,"core::ops::function"],[1891,"blst_rust::types::fr"],[1892,"blst_rust::types::g1"],[1893,"blst_rust::types::kzg_settings"],[1894,"blst_rust::types::poly"],[1895,"blst_rust::types::fft_settings"],[1896,"alloc::sync"]],"d":["Progress of an archived block.","Archived history segment after archiving is applied.","Size of BLAKE3 hash output (in bytes).","BLAKE3 hash output","Block hash in Subspace network.","Block number in Subspace network.","BlockWeight type for fork choice rules.","Witness for chunk contained within a record.","The block has been fully archived.","Erasure coding rate for records during archiving process.","Tried to create with an empty Vec","Flat representation of multiple pieces concatenated for …","Size of blockchain history in segments.","Last archived block","Max s-bucket index","Maximum value.","The middle of the piece distance field. The analogue of …","Number of PoT checkpoints produced (used to optimize …","Number of chunks (scalars) within one raw record.","Number of chunks (scalars) within one record.","Number of pieces in one segment of archived history.","Number of raw records in one segment of recorded history.","Number of s-buckets contained within one record (and by …","A Vec<> that enforces the invariant that it cannot be …","Error codes for NonEmptyVec.","Piece index 1.","Piece index 1.","Segment index 1.","Length of public key in bytes.","Number of partially archived bytes of a block.","A piece of archival history in Subspace Network.","A piece of archival history in Subspace Network.","Piece index in consensus","Piece offset in sector","Proof of space proof bytes.","Proof of space quality.","Proof of space seed.","Proof of time checkpoints, result of proving","Proof of time key(input to the encryption).","Proof of time output, can be intermediate checkpoint or …","Proof of time seed","A Ristretto Schnorr public key as bytes produced by …","Byte length of a randomness type.","Length of signature in bytes","Signing context used for creating reward signatures by …","Type of randomness.","Raw record contained within recorded history segment …","Record contained within a piece.","Record commitment contained within a piece.","Record witness contained within a piece.","Recorded history segment before archiving is applied.","A Ristretto Schnorr signature as bytes produced by …","S-bucket used in consensus","Size in bytes.","Size of raw record in bytes, is guaranteed to be a …","Size of a segment record given the global piece size (in …","Size of record commitment in bytes.","Size of record witness in bytes.","Size of chunk witness in bytes.","Size of a piece (in bytes).","Size of segment commitment in bytes.","Size of recorded history segment in bytes.","Size of archived history segment in bytes.","Size of proof of space seed in bytes.","Size of proof of space quality in bytes.","Size of proof of space proof in bytes.","Size of proof of time key in bytes","Size of proof of time seed in bytes","Size of proof of time proof in bytes","Data structure representing sector ID in farmer’s plot","Sector index in consensus","Challenge used for a particular sector for particular slot","Segment commitment contained within segment header.","Segment header for a specific segment.","Segment index type.","Slot number in Subspace network.","Farmer solution for slot challenge.","Type of solution range.","256-bit unsigned integer","V0 of the segment header data structure","S-bucket 0.","Piece index 0.","Piece index 0.","Segment index 0.","","","","","","","","","","Progress of an archived block.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the slice of the entries.","","","","","","","","","","","","","","","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 …","Module containing wrapper for SCALE encoding/decoding with …","Chunk at above offset","Witness for above chunk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Commitment contained within a piece.","Mutable commitment contained within a piece.","Various cryptographic utilities used across Subspace …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We assume a block can always fit into the segment …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Derive evaluation seed","Derive history size when sector created at history_size …","Derive global slot challenge from global randomness.","Derives the global randomness from the output","Derive piece index that should be stored in sector at …","Derive sector slot challenge for this sector from provided …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the first entry.","Get the first piece index in this segment.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create from big endian bytes","Create piece index from bytes.","Derive initial PoT seed from genesis block hash","","","","Create from little endian bytes","","Dummy solution for the genesis block","","","","","","","","","","","","","Proof hash.","","","","","Public key hash.","","","","","Hash of the whole segment header","","","","Size of the blockchain history at time of sector creation","Size of blockchain history in pieces.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extract internal representation.","Transform solution with one reward address type into …","Returns an iterator for the entries.","Returns a mutable iterator for the entries.","Derive key from proof of time seed","Returns the last entry.","Last archived block","Get the last piece index in this segment.","Returns the number of entries.","","","","","","","","","","","","","","","","","","","","","","","","","","","Allocate FlatPieces that will hold piece_count pieces …","Create new instance.","Create new sector ID by deriving it from public key and …","Creates the Vec.","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Creates the Vec with the entry.","Create vector filled with zeroe records without hitting …","Block number","Data structures related to objects (useful data) stored on …","One (multiplicative identity) of this type.","Get proof of time output out of checkpoints (last …","Parallel iterator over parity pieces (odd indices).","Mutable parallel iterator over parity pieces (odd indices).","Parallel iterator over source pieces (even indices).","Mutable parallel iterator over source pieces (even …","Iterator over parity pieces (odd indices).","Mutable iterator over parity pieces (odd indices).","Return the number of partially archived bytes if the …","Returns the number of partially archived bytes for a block.","","","","","","","","","","","","","","","","Pieces offset within sector","Position of a piece in a segment","Hash of the segment header of the previous segment","Proof of space for piece offset","Public key of the farmer that created the solution","Adds an entry to the end.","Record contained within a piece.","Record commitment that can use used to verify that piece …","Mutable record contained within a piece.","Witness for above record commitment","","Address for receiving block reward","Index of s-bucket within sector to be audited","Saturating addition. Computes self + other, saturating at …","Saturating multiplication. Computes self * other, …","Saturating subtraction. Computes self - other, saturating …","History size at which expiration check for sector happens.","Index of the sector where solution was found","Derive seed from proof of time in case entropy injection …","Derive seed from proof of time with entropy injection","Segment commitment of the records in a segment.","Segment index piece index corresponds to","Segment index that corresponds to this history size.","Segment index","List of piece indexes that belong to this segment.","List of piece indexes that belong to this segment with …","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the archived state of this block to …","Sets new number of partially archived bytes.","Sets new number of partially archived bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of record to …","Convenient conversion from slice of record to underlying …","Iterator over source pieces (even indices).","Mutable iterator over source pieces (even indices).","Split piece into underlying components.","Split piece into underlying mutable components.","","","","","","","","","","","","","","Convert to big endian bytes","Convert piece index to bytes.","Convert piece offset to bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert to little endian bytes","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the entries in the collection.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Witness contained within a piece.","Mutable witness contained within a piece.","","","Zero (additive identity) of this type.","Last archived block","Hash of the segment header of the previous segment","Root of commitments of all records in a segment.","Segment index","Wrapper data structure that when encoded/decoded will …","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","How many bytes Scalar contains physically, use …","How many full bytes can be stored in BLS12-381 scalar (for …","Representation of a single BLS12-381 scalar value.","","","BLAKE3 hashing of a single value truncated to 254 bits.","BLAKE3 hashing of a single value.","BLAKE3 hashing of a list of values.","BLAKE3 hashing of a single value in parallel (only useful …","BLAKE3 keyed hashing of a single value.","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Tools for KZG commitment scheme","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of scalar to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional scalar to …","Convenient conversion from slice of scalar to underlying …","Convert scalar into bytes","","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional scalar to …","Convenient conversion from vector of scalar to underlying …","Commitment to polynomial","Embedded KZG settings as bytes, too big for no_std in most …","Wrapper data structure for working with KZG commitment …","Number of G1 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Number of G2 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Commitment to polynomial","Witness for polynomial evaluation","","","","","","","","","","","","","Function turns bytes into FsKZGSettings, it is up to the …","","","","","","","","","Computes a Commitment to polynomial","Computes a Witness of evaluation of polynomial at index","","","","","","","","","","","","","","","","","","","Embedded KZG settings","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Get FFT settings for specified number of values, uses …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create new instance with given KZG settings.","Normalize polynomial by removing trailing zeroes","Create polynomial from data. Data must be multiple of 32 …","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of commitment to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional commitment to …","Convenient conversion from slice of commitment to …","Convert commitment to raw bytes","Convert witness to raw bytes","","","","","","","","","","","","","","","","","","","","","Try to deserialize commitment from raw bytes","Try to deserialize witness from raw bytes","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional commitment …","Convenient conversion from vector of commitment to …","Verifies that value is the evaluation at index of the …","Object stored inside of the block","Mapping of objects stored inside of the block","Object stored inside in the history of the blockchain","Object stored inside of the block","Mapping of objects stored inside of the piece","V0 of object mapping data structure","V0 of object mapping data structure","V0 of object mapping data structure","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Object hash","","","Object hash","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Objects stored inside of the block","Objects stored inside of the block","Offset of object in the encoded block.","Offset of the object","Offset of the object","","","","","","Piece index where object is contained (at least its …","","","","","","Sets new offset.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Object hash","Offset of object in the encoded block.","Offset of the object","Piece index where object is contained (at least its …","Object hash","Offset of the object"],"i":[0,0,0,0,0,0,0,0,42,19,70,0,0,0,1,5,5,41,9,10,37,19,10,0,0,2,3,4,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,10,11,12,13,14,18,19,37,38,39,40,21,22,23,0,0,0,0,0,0,0,0,0,0,44,1,2,3,4,1,2,3,4,5,1,2,3,4,43,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,27,28,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,45,1,2,3,4,0,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,5,5,5,5,0,45,45,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,1,2,3,14,15,17,4,36,27,28,42,43,5,46,29,15,15,0,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,1,2,3,11,12,13,15,4,18,36,37,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,19,37,20,40,21,22,23,41,27,42,5,1,2,3,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,4,18,18,36,36,19,19,37,37,20,20,38,38,39,39,40,40,21,21,22,22,23,23,41,41,27,27,28,28,42,43,44,45,5,46,46,29,30,70,1,2,3,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,4,18,18,36,36,19,19,37,37,20,38,39,40,40,21,21,22,22,23,23,41,41,27,28,42,43,44,45,5,46,29,30,70,29,29,20,23,29,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,27,28,42,43,44,45,29,1,2,3,4,5,1,2,3,4,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,5,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,17,18,19,20,27,28,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,30,4,1,1,2,2,3,3,9,10,11,12,13,14,15,17,4,4,18,36,36,19,37,20,38,39,40,21,21,22,22,23,23,41,27,27,28,42,43,44,45,5,5,46,29,30,70,1,2,3,4,1,1,2,2,3,3,9,10,11,11,11,12,12,12,13,13,13,14,14,15,17,17,4,4,18,18,18,36,36,36,19,37,20,20,38,38,39,39,40,40,21,21,22,22,23,23,41,27,27,28,28,42,43,44,45,5,5,5,5,5,5,46,29,30,70,5,2,22,15,17,40,5,21,45,1,2,3,11,12,13,14,15,17,4,18,36,40,22,23,41,27,27,28,42,43,44,44,5,46,29,45,36,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,17,45,30,30,22,30,44,4,30,1,2,3,11,12,13,15,4,18,36,37,20,40,21,22,23,41,1,2,3,4,5,1,2,3,4,17,36,29,30,9,10,15,19,30,10,43,0,5,41,17,17,17,17,17,17,42,43,1,2,3,14,15,17,4,36,27,28,42,43,5,46,29,45,2,44,45,45,30,15,45,15,45,5,45,46,5,5,5,36,45,23,23,44,2,36,44,4,4,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,27,28,42,43,44,45,29,43,42,43,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,10,10,10,10,17,17,15,15,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2,3,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,30,5,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,1,2,3,4,36,21,22,23,27,5,30,1,1,2,3,9,10,11,11,12,12,13,13,14,14,14,15,17,4,18,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,40,21,22,23,41,27,28,42,43,44,45,5,46,29,30,70,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,42,43,44,45,5,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,40,21,22,23,41,27,28,5,29,30,15,15,5,5,5,108,108,108,108,0,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,94,0,94,94,0,0,0,0,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,0,0,0,0,0,0,72,73,72,73,98,72,73,99,98,72,73,99,0,98,72,73,99,98,72,73,99,99,99,72,73,98,72,72,73,73,99,98,72,72,73,73,99,98,72,73,99,0,72,73,72,73,98,72,73,99,98,98,72,72,73,73,99,99,98,72,73,99,98,72,73,99,99,98,99,72,72,72,72,72,72,72,72,72,73,98,72,73,99,98,72,72,72,72,72,72,72,73,73,73,73,73,73,73,99,72,73,98,72,73,99,98,72,73,99,72,72,72,72,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,0,0,0,0,0,[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1],6],[[2,2],6],[[3,3],6],[[4,4],6],0,[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[9,[[8,[7]]]],[10,[[8,[7]]]],[11,[[8,[7]]]],[12,[[8,[7]]]],[13,[[8,[7]]]],[14,[[8,[7]]]],[15,[[16,[7]]]],[15,[[8,[7]]]],[17,[[8,[7]]]],[18,[[8,[7]]]],[19,[[8,[7]]]],[20,[[8,[7]]]],[21,[[16,[7]]]],[22,[[16,[7]]]],[23,[[16,[7]]]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[8,[7]]],[]],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[9,[[8,[7]]]],[10,[[8,[7]]]],[11,[[8,[7]]]],[12,[[8,[7]]]],[13,[[8,[7]]]],[14,[[8,[7]]]],[15,[[8,[7]]]],[15,[[16,[7]]]],[17,[[8,[7]]]],[18,[[8,[7]]]],[19,[[8,[7]]]],[20,[[8,[7]]]],[21,[[16,[7]]]],[22,[[16,[7]]]],[23,[[16,[7]]]],[27,[[8,[7]]]],[28,[[8,[7]]]],[29,[[8,[7]]]],[[[30,[-1]]],[[8,[-1]]],31],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],[-1,[[25,[[8,[-2]],24]]],[],26],0,[[1,32],[[33,[1]]]],[[2,32],[[33,[2]]]],[[3,32],[[33,[3]]]],[[4,32],[[33,[4]]]],[[-1,-1],-1,[34,35]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],[[5,5],[[33,[5]]]],0,0,0,[1,1],[2,2],[3,3],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[17,17],[4,4],[18,18],[36,36],[19,19],[37,37],[20,20],[38,38],[39,39],[40,40],[21,21],[22,22],[23,23],[41,41],[27,27],[28,28],[42,42],[43,43],[44,44],[[[45,[-1,-2]]],[[45,[-1,-2]]],31,31],[5,5],[46,46],[29,29],[[[30,[-1]]],[[30,[-1]]],31],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[1,1],47],[[2,2],47],[[3,3],47],[[14,14],47],[[15,15],47],[[17,17],47],[[4,4],47],[[36,36],47],[[27,27],47],[[28,28],47],[[42,42],47],[[43,43],47],[[5,5],47],[[46,46],47],[[29,29],47],[15,11],[15,11],0,[-1,[[25,[1,48]]],49],[-1,[[25,[2,48]]],49],[-1,[[25,[3,48]]],49],[-1,[[25,[11,48]]],49],[-1,[[25,[12,48]]],49],[-1,[[25,[13,48]]],49],[-1,[[25,[14,48]]],49],[-1,[[25,[15,48]]],49],[-1,[[25,[17,48]]],49],[-1,[[25,[4,48]]],49],[-1,[[25,[18,48]]],49],[-1,[[25,[36,48]]],49],[-1,[[25,[37,48]]],49],[-1,[[25,[20,48]]],49],[-1,[[25,[40,48]]],49],[-1,[[25,[21,48]]],49],[-1,[[25,[22,48]]],49],[-1,[[25,[23,48]]],49],[-1,[[25,[41,48]]],49],[-1,[[25,[27,48]]],49],[-1,[[25,[28,48]]],49],[-1,[[25,[42,48]]],49],[-1,[[25,[43,48]]],49],[-1,[[25,[44,48]]],49],[-1,[[25,[[45,[-2,-3]],48]]],49,50,50],[-1,[[25,[5,48]]],49],[-1,[[25,[29,48]]],49],[-1,[[25,[[30,[-2]],48]]],49,[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[-1,[52,[1]]],[[25,[53,48]]],49],[[-1,[52,[2]]],[[25,[53,48]]],49],[[-1,[52,[3]]],[[25,[53,48]]],49],[[-1,[52,[11]]],[[25,[53,48]]],49],[[-1,[52,[12]]],[[25,[53,48]]],49],[[-1,[52,[13]]],[[25,[53,48]]],49],[[-1,[52,[15]]],[[25,[53,48]]],49],[[-1,[52,[4]]],[[25,[53,48]]],49],[[-1,[52,[18]]],[[25,[53,48]]],49],[[-1,[52,[36]]],[[25,[53,48]]],49],[[-1,[52,[37]]],[[25,[53,48]]],49],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[],1],[[],2],[[],3],[[],9],[[],10],[[],11],[[],12],[[],13],[[],14],[[],15],[[],17],[[],4],[[],18],[[],19],[[],37],[[],20],[[],40],[[],21],[[],22],[[],23],[[],41],[[],27],[[],42],[[],5],[32,-1,[]],[32,-1,[]],[32,-1,[]],[9],[32,-1,[]],[10],[32,-1,[]],[11],[32,-1,[]],[12],[32,-1,[]],[32,-1,[]],[13],[14],[32,-1,[]],[15],[32,-1,[]],[17],[32,-1,[]],[32,-1,[]],[18],[32,-1,[]],[32,-1,[]],[36],[19],[32,-1,[]],[37],[32,-1,[]],[20],[32,-1,[]],[38],[32,-1,[]],[39],[32,-1,[]],[32,-1,[]],[40],[32,-1,[]],[21],[22],[32,-1,[]],[32,-1,[]],[23],[32,-1,[]],[41],[32,-1,[]],[27],[32,-1,[]],[28],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[46],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[9],[32,-1,[]],[32,-1,[]],[10],[32,-1,[]],[11],[12],[32,-1,[]],[13],[32,-1,[]],[14],[32,-1,[]],[15],[32,-1,[]],[32,-1,[]],[17],[32,-1,[]],[32,-1,[]],[18],[36],[32,-1,[]],[19],[32,-1,[]],[32,-1,[]],[37],[32,-1,[]],[32,-1,[]],[32,-1,[]],[40],[32,-1,[]],[32,-1,[]],[21],[22],[32,-1,[]],[23],[32,-1,[]],[32,-1,[]],[41],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[[29,3,36],38],[[29,36,18,36],[[33,[36]]]],[[20,54],55],[23,20],[[29,3,36,56,36,[6,[36,36]]],2],[[29,55],46],[-1,[[25,[1]]],57],[-1,[[25,[2]]],57],[-1,[[25,[3]]],57],[-1,[[25,[11]]],57],[-1,[[25,[12]]],57],[-1,[[25,[13]]],57],[-1,[[25,[14]]],57],[-1,[[25,[15]]],57],[-1,[[25,[17]]],57],[-1,[[25,[4]]],57],[-1,[[25,[18]]],57],[-1,[[25,[36]]],57],[-1,[[25,[37]]],57],[-1,[[25,[20]]],57],[-1,[[25,[40]]],57],[-1,[[25,[21]]],57],[-1,[[25,[22]]],57],[-1,[[25,[23]]],57],[-1,[[25,[27]]],57],[-1,[[25,[28]]],57],[-1,[[25,[42]]],57],[-1,[[25,[43]]],57],[-1,[[25,[44]]],57],[-1,[[25,[[45,[-2,-3]]]]],57,58,58],[-1,[[25,[29]]],57],[[1,-1],1,[]],[[2,-1],2,[]],[[3,-1],3,[]],[[4,-1],4,[]],[[5,-1],5,[]],[[1,-1],6,[]],[[2,-1],6,[]],[[3,-1],6,[]],[[4,-1],6,[]],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[32,6],[1,[[59,[7]]]],[2,[[59,[7]]]],[3,[[59,[7]]]],[11,[[59,[7]]]],[12,[[59,[7]]]],[13,[[59,[7]]]],[14,[[59,[7]]]],[15,[[59,[7]]]],[17,[[59,[7]]]],[4,[[59,[7]]]],[18,[[59,[7]]]],[36,[[59,[7]]]],[37,[[59,[7]]]],[20,[[59,[7]]]],[40,[[59,[7]]]],[21,[[59,[7]]]],[22,[[59,[7]]]],[23,[[59,[7]]]],[41,[[59,[7]]]],[27,[[59,[7]]]],[28,[[59,[7]]]],[5,[[59,[7]]]],[29,[[59,[7]]]],[[[30,[-1]]],[[59,[7]]],[]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[-1,-2,[],[[61,[60]]]],[[1,-1],6,[62,63]],[[2,-1],6,[62,63]],[[3,-1],6,[62,63]],[[11,-1],6,[62,63]],[[12,-1],6,[62,63]],[[13,-1],6,[62,63]],[[14,-1],6,[62,63]],[[15,-1],6,[62,63]],[[17,-1],6,[62,63]],[[4,-1],6,[62,63]],[[18,-1],6,[62,63]],[[36,-1],6,[62,63]],[[37,-1],6,[62,63]],[[20,-1],6,[62,63]],[[40,-1],6,[62,63]],[[21,-1],6,[62,63]],[[22,-1],6,[62,63]],[[23,-1],6,[62,63]],[[41,-1],6,[62,63]],[[27,-1],6,[62,63]],[[28,-1],6,[62,63]],[[42,-1],6,[62,63]],[[43,-1],6,[62,63]],[[44,-1],6,[62,63]],[[[45,[-1,-2]],-3],6,64,64,[62,63]],[[5,-1],6,[62,63]],[[29,-1],6,[62,63]],[[[30,[-1]],-2],6,[],[62,63]],[[1,1],65],[[2,2],65],[[3,3],65],[[9,9],65],[[10,10],65],[[11,11],65],[[12,12],65],[[13,13],65],[[14,14],65],[[15,15],65],[[17,17],65],[[4,4],65],[[18,18],65],[[36,36],65],[[19,19],65],[[37,37],65],[[20,20],65],[[38,38],65],[[39,39],65],[[40,40],65],[[21,21],65],[[22,22],65],[[23,23],65],[[41,41],65],[[27,27],65],[[28,28],65],[[42,42],65],[[43,43],65],[[44,44],65],[[[45,[-1,-2]],[45,[-1,-2]]],65,66,66],[[5,5],65],[[46,46],65],[[29,29],65],[[[30,[-1]],[30,[-1]]],65,66],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[[30,[-1]]],-1,31],[4,2],[[1,67],68],[[1,67],68],[[2,67],68],[[2,67],68],[[3,67],68],[[3,67],68],[[9,67],68],[[10,67],68],[[11,67],68],[[12,67],68],[[13,67],68],[[14,67],68],[[15,67],68],[[17,67],68],[[4,67],68],[[4,67],68],[[18,67],68],[[36,67],68],[[36,67],68],[[19,67],68],[[37,67],68],[[20,67],68],[[38,67],68],[[39,67],68],[[40,67],68],[[21,67],68],[[21,67],68],[[22,67],68],[[22,67],68],[[23,67],68],[[23,67],68],[[41,67],68],[[27,67],68],[[27,67],68],[[28,67],68],[[42,67],68],[[43,67],68],[[44,67],68],[[[45,[-1,-2]],67],68,69,69],[[5,67],68],[[5,67],68],[[46,67],68],[[29,67],68],[[[30,[-1]],67],68,69],[[70,67],68],[[1,32],[[33,[1]]]],[[2,32],[[33,[2]]]],[[3,32],[[33,[3]]]],[[4,32],[[33,[4]]]],[56,1],[-1,-1,[]],[71,2],[-1,-1,[]],[56,3],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],11],[72,11],[[[16,[7]]],12],[-1,-1,[]],[73,12],[73,13],[[[16,[7]]],13],[-1,-1,[]],[15,14],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[15,17],[-1,-1,[]],[71,4],[[[16,[7]]],18],[-1,-1,[]],[72,18],[74,36],[-1,-1,[]],[4,36],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],20],[[[16,[7]]],38],[-1,-1,[]],[[[16,[7]]],39],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],40],[[[16,[7]]],21],[-1,-1,[]],[[[16,[7]]],22],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],23],[-1,-1,[]],[[[16,[7]]],27],[-1,-1,[]],[[[16,[7]]],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[56,5],[71,5],[75,5],[-1,-1,[]],[51,5],[7,5],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[16,[7]]],5],[[[16,[7]]],2],[[[8,[7]],[8,[7]]],22],[-1,[[25,[15]]],[[76,[[8,[7]]]]]],[-1,[[25,[17]]],[[76,[[8,[7]]]]]],[-1,[[25,[40]]],[[76,[[8,[7]]]]]],[[[16,[7]]],5],[77,[[25,[21]]]],[[-1,-2],[[45,[-1,-2]]],[],[]],[[1,-1],6,78],[[2,-1],6,78],[[3,-1],6,78],[[11,-1],6,78],[[12,-1],6,78],[[13,-1],6,78],[[14,-1],6,78],[[15,-1],6,78],[[17,-1],6,78],[[4,-1],6,78],[[18,-1],6,78],[[36,-1],6,78],[40,55],[[22,-1],6,78],[[23,-1],6,78],[[41,-1],6,78],[[27,-1],6,78],[27,55],[[28,-1],6,78],[[42,-1],6,78],[[43,-1],6,78],[[44,-1],6,78],[44,55],[[5,-1],6,78],[[46,-1],6,78],[[29,-1],6,78],0,[36,74],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[17,[[59,[15]]]],[[[45,[-1,-4]]],[[45,[-1,-2]]],[],[],[[79,[-2]]],[[79,[-3]]]],[[[30,[-1]]],[[81,[80]]],31],[[[30,[-1]]],[[81,[80]]],31],[22,21],[[[30,[-1]]],-1,31],[44,43],[4,2],[[[30,[-1]]],32,31],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[1,-1],1,[]],[[2,-1],2,[]],[[3,-1],3,[]],[[4,-1],4,[]],[[5,-1],5,[]],[[1,-1],6,[]],[[2,-1],6,[]],[[3,-1],6,[]],[[4,-1],6,[]],[32,17],[74,36],[[55,82],29],[[[59,[-1]]],[[25,[[30,[-1]],70]]],31],[[],[[81,[9]]]],[[],[[81,[10]]]],[[],[[81,[15]]]],[[],[[81,[19]]]],[-1,[[30,[-1]]],31],[32,[[59,[10]]]],0,0,[[],5],[41,23],[17,[[0,[83]]]],[17,[[0,[83]]]],[17,[[0,[83]]]],[17,[[0,[83]]]],[17,[[0,[84]]]],[17,[[0,[84]]]],[42,[[33,[51]]]],[43,[[33,[51]]]],[[1,1],[[33,[47]]]],[[2,2],[[33,[47]]]],[[3,3],[[33,[47]]]],[[14,14],[[33,[47]]]],[[15,15],[[33,[47]]]],[[17,17],[[33,[47]]]],[[4,4],[[33,[47]]]],[[36,36],[[33,[47]]]],[[27,27],[[33,[47]]]],[[28,28],[[33,[47]]]],[[42,42],[[33,[47]]]],[[43,43],[[33,[47]]]],[[5,5],[[33,[47]]]],[[46,46],[[33,[47]]]],[[29,29],[[33,[47]]]],0,[2,51],[44,55],0,0,[[[30,[-1]],-1],6,31],[15,10],0,[15,10],0,[[5,-1],5,[]],0,[46,1],[[5,5],5],[[5,5],5],[[5,5],5],[[36,36],[[33,[36]]]],0,[23,22],[[23,55],22],[44,18],[2,4],[36,4],[44,4],[4,[[16,[2]]]],[4,[[16,[2]]]],[[1,-1],25,85],[[2,-1],25,85],[[3,-1],25,85],[[11,-1],25,85],[[12,-1],25,85],[[13,-1],25,85],[[14,-1],25,85],[[15,-1],25,85],[[17,-1],25,85],[[4,-1],25,85],[[18,-1],25,85],[[36,-1],25,85],[[37,-1],25,85],[[20,-1],25,85],[[40,-1],25,85],[[21,-1],25,85],[[22,-1],25,85],[[23,-1],25,85],[[27,-1],25,85],[[28,-1],25,85],[[42,-1],25,85],[[43,-1],25,85],[[44,-1],25,85],[[[45,[-1,-2]],-3],25,86,86,85],[[29,-1],25,85],[43,6],[[42,51],6],[[43,87],6],[1,32],[2,32],[3,32],[11,32],[12,32],[13,32],[14,32],[15,32],[17,32],[4,32],[18,32],[36,32],[37,32],[20,32],[40,32],[21,32],[22,32],[23,32],[41,32],[27,32],[28,32],[42,32],[43,32],[44,32],[[[45,[-1,-2]]],32,64,64],[5,32],[29,32],[[[30,[-1]]],32,[]],[[[8,[[16,[7]]]]],[[8,[10]]]],[[[8,[[16,[7]]]]],[[8,[10]]]],[[[8,[10]]],[[8,[[16,[7]]]]]],[[[8,[10]]],[[8,[[16,[7]]]]]],[17,[[0,[84]]]],[17,[[0,[84]]]],[15,[[6,[10,11,12]]]],[15,[[6,[10,11,12]]]],[[1,1],[[33,[32]]]],[[2,2],[[33,[32]]]],[[3,3],[[33,[32]]]],[[4,4],[[33,[32]]]],[[1,1],1],[[2,2],2],[[3,3],3],[[4,4],4],[[5,5],5],[[1,1],6],[[2,2],6],[[3,3],6],[[4,4],6],[5,[[16,[7]]]],[2,[[16,[7]]]],[3,[[16,[7]]]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[5,[[16,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[-1,89,[]],[[[30,[-1]]],[[59,[-1]]],31],[32,[[25,[1]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[11]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[12]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[13]]]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[14]]]],[[[59,[7]]],[[25,[14]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[8,[7]]],[[25,[18]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[[],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],[[1,-1],-2,92,[]],[[2,-1],-2,92,[]],[[3,-1],-2,92,[]],[[11,-1],-2,92,[]],[[12,-1],-2,92,[]],[[13,-1],-2,92,[]],[[14,-1],-2,92,[]],[[15,-1],-2,92,[]],[[17,-1],-2,92,[]],[[4,-1],-2,92,[]],[[18,-1],-2,92,[]],[[36,-1],-2,92,[]],[[37,-1],-2,92,[]],[[20,-1],-2,92,[]],[[40,-1],-2,92,[]],[[21,-1],-2,92,[]],[[22,-1],-2,92,[]],[[23,-1],-2,92,[]],[[41,-1],-2,92,[]],[[27,-1],-2,92,[]],[[28,-1],-2,92,[]],[[5,-1],-2,92,[]],[[29,-1],-2,92,[]],[[[30,[-1]],-2],-3,[],92,[]],[15,12],[15,12],[[5,5],5],[[5,5],5],[[],5],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[93,[-1]]],[[93,[-1]]],31],[[-1,-2],6,[],[]],[-1,[[25,[[93,[-2]],48]]],49,50],[[[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,-1],[[25,[-2,48]]],49,[]],[32,-1,[]],[32,-1,[]],[32,6],[[[93,[-1]],-2],6,64,[62,63]],[[[93,[-1]]],32,64],[[[93,[-1]],67],68,69],[-1,-1,[]],[[],32],[-1,-2,[],[]],[[[93,[-1]]],32,64],[[-1,[8,[7]]],[[59,[7,88]]],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,90,[]],0,0,0,[94,95],[94,95],[[[8,[7]]],94],[[[8,[7]]],55],[[[8,[[8,[7]]]]],55],[[[8,[7]]],55],[[[16,[7]],[8,[7]]],55],[-1,-2,[],[]],[-1,-2,[],[]],[94,94],[[-1,-2],6,[],[]],[[94,94],47],[-1,[[25,[94,48]]],49],[[[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,-1],[[25,[-2,48]]],49,[]],[[],94],[94],[32,-1,[]],[94],[32,-1,[]],[-1,[[25,[94]]],57],[32,6],[[],[[33,[32]]]],[94,32],[[94,94],65],[[-1,-2],65,[],[]],[[94,67],68],[-1,-1,[]],[[[16,[7]]],94],[95,94],[[[16,[7]]],94],[[94,-1],6,78],[[],32],[-1,-2,[],[]],0,[[],32],[[94,94],[[33,[47]]]],[[94,-1],25,85],[94,32],[[[8,[95]]],[[8,[94]]]],[[[8,[95]]],[[8,[94]]]],[[[8,[94]]],[[8,[95]]]],[[[8,[[33,[95]]]]],[[8,[[33,[94]]]]]],[[[8,[[33,[95]]]]],[[8,[[33,[94]]]]]],[[[8,[[33,[94]]]]],[[8,[[33,[95]]]]]],[[[8,[[33,[94]]]]],[[8,[[33,[95]]]]]],[[[8,[94]]],[[8,[95]]]],[94,[[16,[7]]]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[-1,-2,[],[]],[[[16,[7]]],[[25,[94]]]],[[[16,[7]]],[[25,[94]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,90,[]],[[],91],[[94,-1],-2,92,[]],[[[59,[95]]],[[59,[94]]]],[[[59,[[33,[95]]]]],[[59,[[33,[94]]]]]],[[[59,[[33,[94]]]]],[[59,[[33,[95]]]]]],[[[59,[94]]],[[59,[95]]]],0,0,0,0,0,0,0,[72,96],[73,96],[72,96],[73,96],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[8,[7]],32,32],[[25,[97,89]]]],[98,98],[72,72],[73,73],[99,99],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[99,98],[[25,[72,89]]]],[[99,98,32,51],[[25,[73,89]]]],[[],72],[[],73],[32,-1,[]],[72],[32,-1,[]],[32,-1,[]],[73],[32,-1,[]],[32,-1,[]],[72],[32,-1,[]],[32,-1,[]],[73],[32,-1,[]],[32,6],[32,6],[32,6],[32,6],[[],97],[[72,72],65],[[73,73],65],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[98,67],68],[[72,67],68],[[73,67],68],[[99,67],68],[-1,-1,[]],[100,98],[-1,-1,[]],[96,72],[-1,-1,[]],[96,73],[-1,-1,[]],[[99,32],[[25,[[102,[101]],89]]]],[[],32],[[],32],[[],32],[[],32],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[97,99],[98,6],[[99,[8,[94]]],[[25,[98,89]]]],[[[8,[96]]],[[8,[72]]]],[[[8,[96]]],[[8,[72]]]],[[[8,[72]]],[[8,[96]]]],[[[8,[[33,[96]]]]],[[8,[[33,[72]]]]]],[[[8,[[33,[96]]]]],[[8,[[33,[72]]]]]],[[[8,[[33,[72]]]]],[[8,[[33,[96]]]]]],[[[8,[[33,[72]]]]],[[8,[[33,[96]]]]]],[[[8,[72]]],[[8,[96]]]],[72,[[16,[7]]]],[73,[[16,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[18,[[25,[72]]]],[[[16,[7]]],[[25,[72]]]],[[[16,[7]]],[[25,[72]]]],[18,[[25,[72]]]],[-1,[[25,[-2]]],[],[]],[11,[[25,[72]]]],[11,[[25,[72]]]],[13,[[25,[73]]]],[12,[[25,[73]]]],[12,[[25,[73]]]],[[[16,[7]]],[[25,[73]]]],[13,[[25,[73]]]],[[[16,[7]]],[[25,[73]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[[[16,[7]]],[[25,[72,89]]]],[[[16,[7]]],[[25,[73,89]]]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[[[59,[96]]],[[59,[72]]]],[[[59,[[33,[96]]]]],[[59,[[33,[72]]]]]],[[[59,[[33,[72]]]]],[[59,[[33,[96]]]]]],[[[59,[72]]],[[59,[96]]]],[[99,72,32,51,94,73],65],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,103],[104,104],[105,105],[106,106],[107,107],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[103,103],47],[[104,104],47],[[105,105],47],[[106,106],47],[[107,107],47],[-1,[[25,[103,48]]],49],[-1,[[25,[104,48]]],49],[-1,[[25,[105,48]]],49],[-1,[[25,[106,48]]],49],[-1,[[25,[107,48]]],49],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,[8,[7]]],[[25,[-1,48]]],[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[51,-1],[[25,[-2,48]]],49,[]],[[],104],[[],106],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[32,-1,[]],[-1,[[25,[103]]],57],[-1,[[25,[104]]],57],[-1,[[25,[105]]],57],[-1,[[25,[106]]],57],[-1,[[25,[107]]],57],[32,6],[32,6],[32,6],[32,6],[32,6],[104,[[59,[7]]]],[106,[[59,[7]]]],[[103,-1],6,[62,63]],[[104,-1],6,[62,63]],[[105,-1],6,[62,63]],[[106,-1],6,[62,63]],[[107,-1],6,[62,63]],[[103,103],65],[[104,104],65],[[105,105],65],[[106,106],65],[[107,107],65],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[103,67],68],[[104,67],68],[[105,67],68],[[106,67],68],[[107,67],68],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[103,-1],6,78],[103,55],[[104,-1],6,78],[[105,-1],6,78],[105,55],[[106,-1],6,78],[[107,-1],6,78],[[],32],[[],32],[[],32],[[],32],[[],32],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[103,51],[105,51],[107,51],[[103,103],[[33,[47]]]],[[104,104],[[33,[47]]]],[[105,105],[[33,[47]]]],[[106,106],[[33,[47]]]],[[107,107],[[33,[47]]]],[107,2],[[103,-1],25,85],[[104,-1],25,85],[[105,-1],25,85],[[106,-1],25,85],[[107,-1],25,85],[[103,51],6],[103,32],[104,32],[105,32],[106,32],[107,32],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[[-1,[8,[7]]],[[59,[7,88]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[-1,90,[]],[[],91],[[],91],[[],91],[[],91],[[],91],[[104,-1],-2,92,[]],[[106,-1],-2,92,[]],0,0,0,0,0,0],"c":[],"p":[[3,"SBucket",0],[3,"PieceIndex",0],[3,"PieceOffset",0],[3,"SegmentIndex",0],[3,"U256",0],[15,"tuple"],[15,"u8"],[15,"slice"],[3,"RawRecord",0],[3,"Record",0],[3,"RecordCommitment",0],[3,"RecordWitness",0],[3,"ChunkWitness",0],[3,"Piece",0],[3,"PieceArray",0],[15,"array"],[3,"FlatPieces",0],[3,"SegmentCommitment",0],[3,"RecordedHistorySegment",0],[3,"Randomness",0],[3,"PotKey",0],[3,"PotSeed",0],[3,"PotOutput",0],[4,"Error",1863],[4,"Result",1864],[8,"FromByteSlice",1863],[3,"PublicKey",0],[3,"RewardSignature",0],[3,"SectorId",0],[3,"NonEmptyVec",0],[8,"Clone",1865],[15,"usize"],[4,"Option",1866],[8,"WrappingSub",1867],[8,"Ord",1868],[3,"HistorySize",0],[3,"ArchivedHistorySegment",0],[3,"PosSeed",0],[3,"PosQualityBytes",0],[3,"PosProof",0],[3,"PotCheckpoints",0],[4,"ArchivedBlockProgress",0],[3,"LastArchivedBlock",0],[4,"SegmentHeader",0],[3,"Solution",0],[3,"SectorSlotChallenge",0],[4,"Ordering",1868],[3,"Error",1869],[8,"Input",1870],[8,"Decode",1870],[15,"u32"],[19,"MaybeUninit",1871],[3,"DecodeFinished",1872],[6,"SlotNumber",0],[6,"Blake3Hash",0],[15,"u16"],[8,"Deserializer",1873],[8,"Deserialize",1873],[3,"Vec",1874],[15,"char"],[8,"FromIterator",1875],[8,"Output",1870],[8,"Sized",1876],[8,"Encode",1870],[15,"bool"],[8,"PartialEq",1868],[3,"Formatter",1877],[6,"Result",1877],[8,"Debug",1877],[4,"NonEmptyVecErr",0],[15,"u64"],[3,"Commitment",1563],[3,"Witness",1563],[3,"NonZeroU64",1878],[15,"u128"],[8,"AsRef",1879],[15,"str"],[8,"Hasher",1880],[8,"Into",1879],[8,"Iterator",1881],[3,"Box",1882],[6,"SectorIndex",0],[8,"IndexedParallelIterator",1883],[8,"ExactSizeIterator",1884],[8,"Serializer",1885],[8,"Serialize",1885],[6,"BlockNumber",0],[3,"Global",1886],[3,"String",1887],[3,"TypeId",1888],[3,"Type",1889],[8,"FnOnce",1890],[3,"Blake3Checksummed",1474],[3,"Scalar",1498],[3,"FsFr",1891],[3,"FsG1",1892],[3,"FsKZGSettings",1893],[3,"Polynomial",1563],[3,"Kzg",1563],[3,"FsPoly",1894],[3,"FsFFTSettings",1895],[3,"Arc",1896],[4,"BlockObject",1684],[3,"BlockObjectMapping",1684],[4,"PieceObject",1684],[3,"PieceObjectMapping",1684],[4,"GlobalObject",1684],[13,"V0",1470],[13,"V0",1857],[13,"V0",1859],[13,"V0",1861]],"b":[[114,"impl-AsMut%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[115,"impl-AsMut%3C%5Bu8%5D%3E-for-PieceArray"],[151,"impl-AsRef%3C%5Bu8%5D%3E-for-PieceArray"],[152,"impl-AsRef%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[829,"impl-Display-for-SBucket"],[830,"impl-Debug-for-SBucket"],[831,"impl-Display-for-PieceIndex"],[832,"impl-Debug-for-PieceIndex"],[833,"impl-Debug-for-PieceOffset"],[834,"impl-Display-for-PieceOffset"],[843,"impl-Display-for-SegmentIndex"],[844,"impl-Debug-for-SegmentIndex"],[846,"impl-Display-for-HistorySize"],[847,"impl-Debug-for-HistorySize"],[854,"impl-Display-for-PotKey"],[855,"impl-Debug-for-PotKey"],[856,"impl-Display-for-PotSeed"],[857,"impl-Debug-for-PotSeed"],[858,"impl-Debug-for-PotOutput"],[859,"impl-Display-for-PotOutput"],[861,"impl-Debug-for-PublicKey"],[862,"impl-Display-for-PublicKey"],[868,"impl-Debug-for-U256"],[869,"impl-Display-for-U256"],[887,"impl-From%3C%5Bu8;+RecordCommitment::SIZE%5D%3E-for-RecordCommitment"],[888,"impl-From%3CCommitment%3E-for-RecordCommitment"],[889,"impl-From%3C%5Bu8;+RecordWitness::SIZE%5D%3E-for-RecordWitness"],[891,"impl-From%3CWitness%3E-for-RecordWitness"],[892,"impl-From%3CWitness%3E-for-ChunkWitness"],[893,"impl-From%3C%5Bu8;+ChunkWitness::SIZE%5D%3E-for-ChunkWitness"],[902,"impl-From%3C%5Bu8;+SegmentCommitment::SIZE%5D%3E-for-SegmentCommitment"],[904,"impl-From%3CCommitment%3E-for-SegmentCommitment"],[905,"impl-From%3CNonZeroU64%3E-for-HistorySize"],[907,"impl-From%3CSegmentIndex%3E-for-HistorySize"],[933,"impl-From%3Cu16%3E-for-U256"],[934,"impl-From%3Cu64%3E-for-U256"],[935,"impl-From%3Cu128%3E-for-U256"],[937,"impl-From%3Cu32%3E-for-U256"],[938,"impl-From%3Cu8%3E-for-U256"],[968,"impl-Hash-for-PublicKey"],[969,"impl-PublicKey"],[973,"impl-Hash-for-SegmentHeader"],[974,"impl-SegmentHeader"],[1315,"impl-TryFrom%3C%26%5Bu8%5D%3E-for-Piece"],[1316,"impl-TryFrom%3CVec%3Cu8%3E%3E-for-Piece"],[1530,"impl-From%3C%26%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1531,"impl-From%3CFsFr%3E-for-Scalar"],[1532,"impl-From%3C%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1552,"impl-TryFrom%3C%26%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1553,"impl-TryFrom%3C%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1654,"impl-TryFrom%3CSegmentCommitment%3E-for-Commitment"],[1655,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1656,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1657,"impl-TryFrom%3C%26SegmentCommitment%3E-for-Commitment"],[1659,"impl-TryFrom%3CRecordCommitment%3E-for-Commitment"],[1660,"impl-TryFrom%3C%26RecordCommitment%3E-for-Commitment"],[1661,"impl-TryFrom%3C%26ChunkWitness%3E-for-Witness"],[1662,"impl-TryFrom%3C%26RecordWitness%3E-for-Witness"],[1663,"impl-TryFrom%3CRecordWitness%3E-for-Witness"],[1664,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1665,"impl-TryFrom%3CChunkWitness%3E-for-Witness"],[1666,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1786,"impl-Hash-for-BlockObject"],[1787,"impl-BlockObject"],[1789,"impl-Hash-for-PieceObject"],[1790,"impl-PieceObject"]]},\ "subspace_erasure_coding":{"doc":"","t":"DLLLLLLLLLLLLLLLLLLLLLL","n":["ErasureCoding","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","extend","extend_commitments","fmt","from","init","into","max_shards","new","recover","recover_poly","recover_source","to_owned","try_from","try_into","type_id"],"q":[[0,"subspace_erasure_coding"],[23,"subspace_core_primitives::crypto"],[24,"alloc::vec"],[25,"alloc::string"],[26,"core::result"],[27,"subspace_core_primitives::crypto::kzg"],[28,"core::fmt"],[29,"core::fmt"],[30,"core::option"],[31,"subspace_core_primitives::crypto::kzg"],[32,"core::any"]],"d":["Erasure coding abstraction.","","","","","","","","Extend sources using erasure coding.","Extend commitments using erasure coding.","","Returns the argument unchanged.","","Calls U::from(self).","Max number of shards supported (both source and parity …","Create new erasure coding instance.","Recovery of missing shards from given shards (at least 1/2 …","Recovery of missing shards from given shards (at least 1/2 …","Recovery of source shards from given shards (at least 1/2 …","","","",""],"i":[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"f":[0,[-1,-2,[],[]],[-1,-2,[],[]],[1,1],[[-1,-2],2,[],[]],[3,-1,[]],[3,-1,[]],[3,2],[[1,[5,[4]]],[[8,[[6,[4]],7]]]],[[1,[5,[9]]],[[8,[[6,[9]],7]]]],[[1,10],11],[-1,-1,[]],[[],3],[-1,-2,[],[]],[1,3],[12,[[8,[1,7]]]],[[1,[5,[[13,[4]]]]],[[8,[[6,[4]],7]]]],[[1,[5,[[13,[4]]]]],[[8,[14,7]]]],[[1,[5,[[13,[4]]]]],[[8,[[0,[15]],7]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,16,[]]],"c":[],"p":[[3,"ErasureCoding",0],[15,"tuple"],[15,"usize"],[3,"Scalar",23],[15,"slice"],[3,"Vec",24],[3,"String",25],[4,"Result",26],[3,"Commitment",27],[3,"Formatter",28],[6,"Result",28],[3,"NonZeroUsize",29],[4,"Option",30],[3,"Polynomial",27],[8,"ExactSizeIterator",31],[3,"TypeId",32]],"b":[]},\ -"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLALLLALALLLALLLLLLLLLLLLLLLLALLGIKKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFENNNNNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNNNENDEEEDEEDNNNNNLLMLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLALMALLLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLAAAFFDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLL","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","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","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","FailedToCreateThreadPool","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToReadBytes","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","equivalent","erasure_coding","farmer_app_info","farming_thread_pool_size","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","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","plotting_thread_pool","public_key","replotting_thread_pool","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","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","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","farmer_piece_getter","piece_validator","readers_and_pieces","run_future_in_dedicated_thread","tokio_rayon_spawn_handler","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"],[64,"subspace_farmer::node_client"],[77,"subspace_farmer::piece_cache"],[114,"subspace_farmer::reward_signing"],[115,"subspace_farmer::single_disk_farm"],[409,"subspace_farmer::single_disk_farm::FarmingError"],[411,"subspace_farmer::single_disk_farm::PlottingError"],[415,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[430,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[435,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[462,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[467,"subspace_farmer::single_disk_farm::piece_cache"],[529,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[531,"subspace_farmer::single_disk_farm::piece_reader"],[550,"subspace_farmer::utils"],[555,"subspace_farmer::utils::farmer_piece_getter"],[571,"subspace_farmer::utils::piece_validator"],[587,"subspace_farmer::utils::readers_and_pieces"],[608,"subspace_core_primitives::segments"],[609,"core::future::future"],[610,"alloc::boxed"],[611,"core::pin"],[612,"core::result"],[613,"std::path"],[614,"core::convert"],[615,"core::fmt"],[616,"core::fmt"],[617,"core::option"],[618,"subspace_core_primitives::pieces"],[619,"schnorrkel::keys"],[620,"schnorrkel::keys"],[621,"schnorrkel::sign"],[622,"subspace_rpc_primitives"],[623,"subspace_rpc_primitives"],[624,"libp2p_kad::record_priv"],[625,"subspace_core_primitives::pieces"],[626,"libp2p_kad::record_priv"],[627,"core::error"],[628,"std_semaphore"],[629,"core::cmp"],[630,"std::path"],[631,"rayon_core"],[632,"subspace_farmer_components::proving"],[633,"std::io::error"],[634,"subspace_farmer_components::plotting"],[635,"core::hash"],[636,"core::marker"],[637,"core::hash"],[638,"core::marker"],[639,"subspace_core_primitives"],[640,"core::ops::function"],[641,"alloc::sync"],[642,"event_listener_primitives::handler_id"],[643,"core::iter::traits::iterator"],[644,"anyhow"],[645,"serde::ser"],[646,"alloc::string"],[647,"subspace_core_primitives"],[648,"subspace_networking::node"],[649,"subspace_networking::utils::piece_provider"],[650,"subspace_core_primitives::crypto::kzg"],[651,"subspace_core_primitives::segments"],[652,"subspace_farmer_components::plotting"]],"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 the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","","","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 create thread pool","Failed to decode metadata header","Failed to decode metadata header","Failed to decode sector metadata","Failed to determine file size","Failed to retrieve farmer info","Failed to retrieve farmer info","Failed to get segment header","Failed to read bytes from file","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","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","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","Thread pool used for plotting","","Thread pool used for replotting, typically smaller pool …","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","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, …","This function is supposed to be used with …","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","",""],"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,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,33,33,33,33,33,33,33,33,33,33,33,0,0,32,28,32,28,28,28,32,28,32,28,32,28,28,32,28,28,32,28,32,28,28,28,28,32,28,32,28,32,28,32,28,32,28,32,28,0,0,51,51,50,50,44,48,50,51,50,51,48,49,49,51,49,48,51,51,51,50,52,0,44,51,51,50,50,50,48,49,50,49,48,51,51,51,49,44,50,52,0,51,0,0,0,0,0,0,0,0,41,50,51,40,50,38,40,65,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,65,38,41,40,38,41,40,41,46,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,41,40,65,44,65,46,46,48,49,38,41,40,50,51,52,41,41,41,41,41,65,65,65,48,48,49,49,38,41,41,40,50,50,51,51,52,52,44,65,46,48,48,48,48,49,49,49,38,41,41,40,50,50,50,51,52,52,52,40,41,41,46,40,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,65,40,65,46,38,41,40,65,46,46,41,0,46,65,0,46,40,46,46,65,40,65,65,46,46,41,40,48,49,50,52,40,38,41,40,48,49,41,50,51,52,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,44,65,46,48,49,38,41,40,50,51,52,46,96,97,98,99,100,101,102,103,102,104,105,104,105,106,106,102,102,106,103,104,105,107,107,107,107,107,108,109,110,111,112,113,114,108,109,110,115,111,116,112,117,113,118,119,114,120,120,109,110,118,109,110,118,121,122,123,123,121,58,58,0,0,58,0,58,58,58,79,35,58,79,35,79,35,79,35,58,79,35,58,79,35,58,79,35,58,58,79,79,35,58,58,79,35,58,79,35,58,79,35,58,79,35,58,79,58,79,35,58,79,35,58,79,35,58,79,35,58,79,35,124,124,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,0,0,0,0,0,0,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89],"f":[0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,6],[1,1],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[-1,[[8,[6,0]]],[[10,[9]]]],[11,-1,[]],[6],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[6,[[13,[12]]]],[1,[[5,[[4,[3]]]]]],[[],11],[[1,14],15],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,16],[[5,[[4,[3]]]]]],[17,[[8,[1,18]]]],0,[-1,[[8,[[19,[6]],0]]],[[10,[9]]]],[-1,[[8,[6,0]]],[[10,[9]]]],[[1,20],[[5,[[4,[3]]]]]],0,[6,21],0,[6,22],[[1,[23,[2]]],[[5,[[4,[3]]]]]],[[6,[13,[12]]],24],0,[[1,25],[[5,[[4,[3]]]]]],[[1,26],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,2],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[[-1,16],[[5,[[4,[3]]]]],[]],[[-1,20],[[5,[[4,[3]]]]],[]],[[-1,[23,[2]]],[[5,[[4,[3]]]]],[]],[[-1,25],[[5,[[4,[3]]]]],[]],[[-1,26],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,28],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[[28,14],15],[-1,-1,[]],[-1,-1,[]],[[28,29],[[19,[30]]]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,31],[[7,[28,[32,[-1]]]]],33],[[28,29],[[19,[34]]]],[[28,[23,[35]]],7],[[[32,[-1]],-2],7,33,36],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,6],[[8,[[0,[3]],[4,[37]]]]],33],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[38,39],[40,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[38,38],[41,41],[40,40],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[41,41],42],[43,44],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[-1,[[8,[41]]],45],[-1,[[8,[40]]],45],0,[11,7],[11,7],[46,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[[41,41],47],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],0,0,0,[[48,14],15],[[48,14],15],[[49,14],15],[[49,14],15],[[38,14],15],[[41,14],15],[[41,14],15],[[40,14],15],[[50,14],15],[[50,14],15],[[51,14],15],[[51,14],15],[[52,14],15],[[52,14],15],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[53,48],[54,48],[55,48],[-1,-1,[]],[-1,-1,[]],[56,49],[55,49],[-1,-1,[]],[-1,-1,[]],[57,41],[-1,-1,[]],[-1,-1,[]],[58,50],[55,50],[-1,-1,[]],[48,52],[49,52],[-1,-1,[]],[40,[[59,[12]]]],[[-1,-2],16,[60,61],62],[[41,-1],7,63],[46,41],[40,41],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[9,[[64,[[19,[40]]]]]],0,[[[65,[-1,-2]],11],[[8,[46,50]]],33,[36,66,67]],[68,38],[[],41],[[41,[59,[12]],69,70,16],40],0,[[46,[72,[71]]],73],[[46,[72,[71]]],73],[[41,41],[[19,[42]]]],0,[46,35],0,0,[46,74],[40,70],[46,[[0,[75]]]],[46,11],0,[40,69],0,0,[46,[[76,[7]]]],[9,[[8,[7,51]]]],[[41,-1],8,77],[[40,-1],8,77],[48,[[19,[37]]]],[49,[[19,[37]]]],[50,[[19,[37]]]],[52,[[19,[37]]]],[[40,9],[[64,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[9,[[64,[7]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[79,79],[35,35],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],[[58,14],15],[[58,14],15],[[79,14],15],[[79,14],15],[[35,14],15],[55,58],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[58,[[19,[37]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[74,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[74,80,81],[[19,[30]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,78],[[64,[[0,[3,67]]]]],[3,82,67]],[[],[[0,[83]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[[84,[-1,-2]],20,85],[[5,[[4,[3]]]]],[86,67],33],[[],11],[-1,-2,[],[]],[[87,[88,[-1]],28,-2,[72,[[90,[[19,[89]]]]]]],[[84,[-1,-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[87,-1,91,[90,[[93,[2,92]]]]],[[94,[-1]]],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[[[94,[-1]],31,20,30],[[5,[[4,[3]]]]],33],[-1,-2,[],[]],0,[[89,12,95],7],[-1,-2,[],[]],[-1,-2,[],[]],[[89,20],47],[[89,12,95],7],[11,-1,[]],[11,-1,[]],[11,7],[[89,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[[23,[74]]],89],[89,[[0,[75]]]],[[89,20],[[19,[[0,[3]]]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NodeRpcClient",0],[3,"SegmentIndex",608],[8,"Future",609],[3,"Box",610],[3,"Pin",611],[3,"Identity",0],[15,"tuple"],[4,"Result",612],[3,"Path",613],[8,"AsRef",614],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter",615],[6,"Result",615],[15,"u64"],[15,"str"],[4,"Error",616],[4,"Option",617],[3,"PieceIndex",618],[3,"PublicKey",619],[3,"SecretKey",619],[3,"Vec",620],[3,"Signature",621],[3,"RewardSignatureResponse",622],[3,"SolutionResponse",622],[3,"TypeId",623],[3,"PieceCache",77],[3,"Key",624],[3,"Piece",618],[3,"PeerId",625],[3,"CacheWorker",77],[8,"NodeClient",64],[3,"ProviderRecord",624],[3,"DiskPieceCache",467],[8,"PieceGetter",626],[8,"Error",627],[3,"SingleDiskSemaphore",115],[3,"SemaphoreGuard",628],[4,"SingleDiskFarmInfo",115],[4,"SingleDiskFarmId",115],[4,"Ordering",629],[3,"PathBuf",613],[4,"SingleDiskFarmSummary",115],[8,"Deserializer",630],[3,"SingleDiskFarm",115],[15,"bool"],[4,"FarmingError",115],[4,"PlottingError",115],[4,"SingleDiskFarmError",115],[4,"SingleDiskFarmScrubError",115],[4,"BackgroundTaskError",115],[3,"ThreadPoolBuildError",631],[4,"ProvingError",632],[3,"Error",633],[4,"PlottingError",626],[3,"Ulid",634],[4,"DiskPieceCacheError",467],[15,"array"],[8,"Hash",635],[8,"Sized",636],[8,"BuildHasher",635],[8,"Hasher",635],[6,"Result",633],[3,"SingleDiskFarmOptions",115],[8,"Clone",637],[8,"Send",636],[3,"NonZeroU16",638],[3,"PublicKey",639],[15,"u16"],[8,"Fn",640],[3,"Arc",641],[3,"HandlerId",642],[3,"PieceReader",531],[8,"Iterator",643],[6,"Result",644],[8,"Serializer",645],[3,"String",646],[3,"Offset",467],[6,"SectorIndex",639],[3,"PieceOffset",618],[8,"Unpin",636],[8,"FnMut",640],[3,"FarmerPieceGetter",555],[4,"PieceGetterRetryPolicy",626],[8,"PieceValidator",647],[3,"Node",648],[3,"PieceProvider",647],[3,"ReadersAndPieces",587],[6,"Mutex",649],[3,"Kzg",650],[3,"SegmentCommitment",608],[3,"LruCache",651],[3,"SegmentCommitmentPieceValidator",571],[3,"PlottedSector",626],[13,"FailedToSubscribeSlotInfo",409],[13,"FailedToGetFarmerInfo",409],[13,"FailedToGetFarmerInfo",411],[13,"FailedToGetSegmentHeader",411],[13,"FailedToSubscribeArchivedSegments",411],[13,"MissingArchivedSegmentHeader",411],[13,"FarmTooLarge",415],[13,"InsufficientAllocatedSpace",415],[13,"WrongChain",415],[13,"IdentityMismatch",415],[13,"InvalidPiecesInSector",415],[13,"V0",430],[13,"FailedToDetermineFileSize",435],[13,"FailedToReadBytes",435],[13,"FailedToWriteBytes",435],[13,"FarmInfoCantBeOpened",435],[13,"IdentityCantBeOpened",435],[13,"MetadataCantBeOpened",435],[13,"CacheCantBeOpened",435],[13,"FarmInfoFileDoesNotExist",435],[13,"IdentityFileDoesNotExist",435],[13,"MetadataFileDoesNotExist",435],[13,"MetadataFileTooSmall",435],[13,"CacheFileDoesNotExist",435],[13,"PublicKeyMismatch",435],[13,"Found",462],[13,"NotFound",462],[13,"Error",462],[13,"OffsetOutsideOfRange",529]],"b":[[250,"impl-Display-for-FarmingError"],[251,"impl-Debug-for-FarmingError"],[252,"impl-Debug-for-PlottingError"],[253,"impl-Display-for-PlottingError"],[255,"impl-Display-for-SingleDiskFarmId"],[256,"impl-Debug-for-SingleDiskFarmId"],[258,"impl-Display-for-SingleDiskFarmError"],[259,"impl-Debug-for-SingleDiskFarmError"],[260,"impl-Display-for-SingleDiskFarmScrubError"],[261,"impl-Debug-for-SingleDiskFarmScrubError"],[262,"impl-Display-for-BackgroundTaskError"],[263,"impl-Debug-for-BackgroundTaskError"],[267,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[268,"impl-From%3CProvingError%3E-for-FarmingError"],[269,"impl-From%3CError%3E-for-FarmingError"],[272,"impl-From%3CPlottingError%3E-for-PlottingError"],[273,"impl-From%3CError%3E-for-PlottingError"],[279,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[280,"impl-From%3CError%3E-for-SingleDiskFarmError"],[282,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[283,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[494,"impl-Debug-for-DiskPieceCacheError"],[495,"impl-Display-for-DiskPieceCacheError"],[496,"impl-Debug-for-Offset"],[497,"impl-Display-for-Offset"]]},\ +"subspace_farmer":{"doc":"subspace-farmer library implementation overview","t":"DCDCLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLALLLALALLLALLLLLLLLLLLLLLLLALLGIKKKKKKKKKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFENNNNNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNNNENDDEEEDEEDNNNNNLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLMLLLLALMALLLLMMLMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLLLLLLLLLAAAFFDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLL","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","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","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","FailedToCreateThreadPool","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDecodeSectorMetadata","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToReadBytes","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","SectorPlottingDetails","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","borrow_mut","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","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","directory","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","erasure_coding","farmer_app_info","farming_thread_pool_size","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","genesis_hash","get_hash","hash","id","id","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","kzg","last_queued","load_from","max_pieces_in_sector","new","new","new","new","node_client","on_sector_plotted","on_sector_plotting","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","plotting_thread_pool","progress","public_key","replotting","replotting_thread_pool","reward_address","run","scrub","sector_index","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_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","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","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","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","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","farmer_piece_getter","piece_validator","readers_and_pieces","run_future_in_dedicated_thread","tokio_rayon_spawn_handler","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"],[64,"subspace_farmer::node_client"],[77,"subspace_farmer::piece_cache"],[114,"subspace_farmer::reward_signing"],[115,"subspace_farmer::single_disk_farm"],[428,"subspace_farmer::single_disk_farm::FarmingError"],[430,"subspace_farmer::single_disk_farm::PlottingError"],[434,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[449,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[454,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[481,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[486,"subspace_farmer::single_disk_farm::piece_cache"],[548,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[550,"subspace_farmer::single_disk_farm::piece_reader"],[569,"subspace_farmer::utils"],[574,"subspace_farmer::utils::farmer_piece_getter"],[590,"subspace_farmer::utils::piece_validator"],[606,"subspace_farmer::utils::readers_and_pieces"],[627,"subspace_core_primitives::segments"],[628,"core::future::future"],[629,"alloc::boxed"],[630,"core::pin"],[631,"core::result"],[632,"std::path"],[633,"core::convert"],[634,"core::fmt"],[635,"core::fmt"],[636,"core::option"],[637,"subspace_core_primitives::pieces"],[638,"schnorrkel::keys"],[639,"schnorrkel::keys"],[640,"schnorrkel::sign"],[641,"subspace_rpc_primitives"],[642,"subspace_rpc_primitives"],[643,"libp2p_kad::record_priv"],[644,"subspace_core_primitives::pieces"],[645,"libp2p_kad::record_priv"],[646,"core::error"],[647,"std_semaphore"],[648,"core::cmp"],[649,"std::path"],[650,"std::io::error"],[651,"rayon_core"],[652,"subspace_farmer_components::proving"],[653,"subspace_farmer_components::plotting"],[654,"core::hash"],[655,"core::marker"],[656,"core::hash"],[657,"core::marker"],[658,"subspace_core_primitives"],[659,"core::ops::function"],[660,"alloc::sync"],[661,"event_listener_primitives::handler_id"],[662,"core::iter::traits::iterator"],[663,"anyhow"],[664,"serde::ser"],[665,"alloc::string"],[666,"subspace_core_primitives"],[667,"subspace_networking::node"],[668,"subspace_networking::utils::piece_provider"],[669,"subspace_core_primitives::crypto::kzg"],[670,"subspace_core_primitives::segments"],[671,"subspace_farmer_components::plotting"]],"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 the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","","","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 create thread pool","Failed to decode metadata header","Failed to decode metadata header","Failed to decode sector metadata","Failed to determine file size","Failed to retrieve farmer info","Failed to retrieve farmer info","Failed to get segment header","Failed to read bytes from file","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 …","Details about sector currently being plotted","Single disk farm abstraction is a container for everything …","Errors happening when trying to create/open single disk …","An identifier for single disk farm, can be used for in …","Important information about the contents of the …","Options used to open single disk farm","Errors happening during scrubbing","Summary of single disk farm for presentational purposes","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","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","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).","Calls U::from(self).","Kzg instance to use.","Whether this is the last sector queued so far","Load SingleDiskFarm from path is supposed to be stored, …","How many pieces one sector is supposed to contain (max)","Create new single disk farm instance","Create new semaphore for limiting concurrency of the major …","Creates new ID","","RPC client connected to Subspace node","Subscribe to notification about plotted sectors","Subscribe to sector plotting notification","Subscribe to new solution notification","","","Get piece cache instance","Piece receiver implementation for plotting purposes.","","Get piece reader to read plotted pieces later","How many pieces does one sector contain.","Read information about sectors plotted so far","Number of sectors successfully plotted so far","Thread pool used for plotting","Progress so far in % (not including this sector)","","Whether sector is being replotted","Thread pool used for replotting, typically smaller pool …","Address where farming rewards should go","Run and wait for background threads to exit or return an …","Check the farm for corruption and repair errors (caused by …","Sector index","","","","","","","Store SingleDiskFarm info to path so it can be loaded …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipe everything that belongs to this single disk farm","Lower-level error","Lower-level error","Lower-level error","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, …","This function is supposed to be used with …","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","",""],"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,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,33,33,33,33,33,33,33,33,33,33,33,0,0,32,28,32,28,28,28,32,28,32,28,32,28,28,32,28,28,32,28,32,28,28,28,28,32,28,32,28,32,28,32,28,32,28,32,28,0,0,51,51,50,50,44,48,50,51,50,51,48,49,49,51,49,48,51,51,51,50,52,0,44,51,51,50,50,50,48,49,50,49,48,51,51,51,49,44,50,52,0,51,0,0,0,0,0,0,0,0,0,41,50,51,40,50,38,40,65,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,65,38,41,40,38,41,40,41,46,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,41,40,65,44,65,96,46,46,48,49,38,41,40,50,51,52,41,41,41,41,41,65,65,65,48,48,49,49,38,41,41,40,50,50,51,51,52,52,44,65,96,46,48,48,48,48,49,49,49,38,41,41,40,50,50,50,51,52,52,52,40,41,41,46,40,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,65,96,40,65,46,38,41,40,65,46,46,46,41,0,46,65,0,46,40,46,46,65,96,40,96,65,65,46,46,96,41,40,48,49,50,52,40,38,41,40,48,49,41,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,44,65,96,46,48,49,38,41,40,50,51,52,46,97,98,99,100,101,102,103,104,103,105,106,105,106,107,107,103,103,107,104,105,106,108,108,108,108,108,109,110,111,112,113,114,115,109,110,111,116,112,117,113,118,114,119,120,115,121,121,110,111,119,110,111,119,122,123,124,124,122,58,58,0,0,58,0,58,58,58,79,35,58,79,35,79,35,79,35,58,79,35,58,79,35,58,79,35,58,58,79,79,35,58,58,79,35,58,79,35,58,79,35,58,79,35,58,79,58,79,35,58,79,35,58,79,35,58,79,35,58,79,35,125,125,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,0,0,0,0,0,0,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89],"f":[0,0,0,0,[[1,2],[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,6],[1,1],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[-1,[[8,[6,0]]],[[10,[9]]]],[11,-1,[]],[6],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[6,[[13,[12]]]],[1,[[5,[[4,[3]]]]]],[[],11],[[1,14],15],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,16],[[5,[[4,[3]]]]]],[17,[[8,[1,18]]]],0,[-1,[[8,[[19,[6]],0]]],[[10,[9]]]],[-1,[[8,[6,0]]],[[10,[9]]]],[[1,20],[[5,[[4,[3]]]]]],0,[6,21],0,[6,22],[[1,[23,[2]]],[[5,[[4,[3]]]]]],[[6,[13,[12]]],24],0,[[1,25],[[5,[[4,[3]]]]]],[[1,26],[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[1,[[5,[[4,[3]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,2],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[[-1,16],[[5,[[4,[3]]]]],[]],[[-1,20],[[5,[[4,[3]]]]],[]],[[-1,[23,[2]]],[[5,[[4,[3]]]]],[]],[[-1,25],[[5,[[4,[3]]]]],[]],[[-1,26],[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],[-1,[[5,[[4,[3]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,28],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[[28,14],15],[-1,-1,[]],[-1,-1,[]],[[28,29],[[19,[30]]]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,31],[[7,[28,[32,[-1]]]]],33],[[28,29],[[19,[34]]]],[[28,[23,[35]]],7],[[[32,[-1]],-2],7,33,36],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,6],[[8,[[0,[3]],[4,[37]]]]],33],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[38,39],[40,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[38,38],[41,41],[40,40],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[41,41],42],[43,44],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[-1,[[8,[41]]],45],[-1,[[8,[40]]],45],0,[11,7],[11,7],[11,7],[46,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[11,7],[[41,41],47],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],[[-1,-2],47,[],[]],0,0,0,[[48,14],15],[[48,14],15],[[49,14],15],[[49,14],15],[[38,14],15],[[41,14],15],[[41,14],15],[[40,14],15],[[50,14],15],[[50,14],15],[[51,14],15],[[51,14],15],[[52,14],15],[[52,14],15],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[53,48],[54,48],[55,48],[-1,-1,[]],[-1,-1,[]],[53,49],[56,49],[-1,-1,[]],[57,41],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[53,50],[58,50],[-1,-1,[]],[49,52],[-1,-1,[]],[48,52],[40,[[59,[12]]]],[[-1,-2],16,[60,61],62],[[41,-1],7,63],[46,41],[40,41],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[9,[[64,[[19,[40]]]]]],0,[[[65,[-1,-2]],11],[[8,[46,50]]],33,[36,66,67]],[68,38],[[],41],[[41,[59,[12]],69,70,16],40],0,[[46,[72,[71]]],73],[[46,[72,[71]]],73],[[46,[72,[71]]],73],[[41,41],[[19,[42]]]],0,[46,35],0,0,[46,74],[40,70],[46,[[0,[75]]]],[46,11],0,0,[40,69],0,0,0,[46,[[76,[7]]]],[9,[[8,[7,51]]]],0,[[41,-1],8,77],[[40,-1],8,77],[48,[[19,[37]]]],[49,[[19,[37]]]],[50,[[19,[37]]]],[52,[[19,[37]]]],[[40,9],[[64,[7]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[9,[[64,[7]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[79,79],[35,35],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,7],[11,7],[11,7],[[58,14],15],[[58,14],15],[[79,14],15],[[79,14],15],[[35,14],15],[53,58],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],11],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[58,[[19,[37]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,78,[]],[-1,78,[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],7,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[[74,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[74,80,81],[[19,[30]]]],[-1,-2,[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,78],[[64,[[0,[3,67]]]]],[3,82,67]],[[],[[0,[83]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[[84,[-1,-2]],20,85],[[5,[[4,[3]]]]],[86,67],33],[[],11],[-1,-2,[],[]],[[87,[88,[-1]],28,-2,[72,[[90,[[19,[89]]]]]]],[[84,[-1,-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[11,-1,[]],[11,-1,[]],[11,7],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[87,-1,91,[90,[[93,[2,92]]]]],[[94,[-1]]],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[[[94,[-1]],31,20,30],[[5,[[4,[3]]]]],33],[-1,-2,[],[]],0,[[89,12,95],7],[-1,-2,[],[]],[-1,-2,[],[]],[[89,20],47],[[89,12,95],7],[11,-1,[]],[11,-1,[]],[11,7],[[89,14],15],[-1,-1,[]],[[],11],[-1,-2,[],[]],[[[23,[74]]],89],[89,[[0,[75]]]],[[89,20],[[19,[[0,[3]]]]]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,27,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NodeRpcClient",0],[3,"SegmentIndex",627],[8,"Future",628],[3,"Box",629],[3,"Pin",630],[3,"Identity",0],[15,"tuple"],[4,"Result",631],[3,"Path",632],[8,"AsRef",633],[15,"usize"],[15,"u8"],[15,"slice"],[3,"Formatter",634],[6,"Result",634],[15,"u64"],[15,"str"],[4,"Error",635],[4,"Option",636],[3,"PieceIndex",637],[3,"PublicKey",638],[3,"SecretKey",638],[3,"Vec",639],[3,"Signature",640],[3,"RewardSignatureResponse",641],[3,"SolutionResponse",641],[3,"TypeId",642],[3,"PieceCache",77],[3,"Key",643],[3,"Piece",637],[3,"PeerId",644],[3,"CacheWorker",77],[8,"NodeClient",64],[3,"ProviderRecord",643],[3,"DiskPieceCache",486],[8,"PieceGetter",645],[8,"Error",646],[3,"SingleDiskSemaphore",115],[3,"SemaphoreGuard",647],[4,"SingleDiskFarmInfo",115],[4,"SingleDiskFarmId",115],[4,"Ordering",648],[3,"PathBuf",632],[4,"SingleDiskFarmSummary",115],[8,"Deserializer",649],[3,"SingleDiskFarm",115],[15,"bool"],[4,"FarmingError",115],[4,"PlottingError",115],[4,"SingleDiskFarmError",115],[4,"SingleDiskFarmScrubError",115],[4,"BackgroundTaskError",115],[3,"Error",650],[3,"ThreadPoolBuildError",651],[4,"ProvingError",652],[4,"PlottingError",645],[3,"Ulid",653],[4,"DiskPieceCacheError",486],[15,"array"],[8,"Hash",654],[8,"Sized",655],[8,"BuildHasher",654],[8,"Hasher",654],[6,"Result",650],[3,"SingleDiskFarmOptions",115],[8,"Clone",656],[8,"Send",655],[3,"NonZeroU16",657],[3,"PublicKey",658],[15,"u16"],[8,"Fn",659],[3,"Arc",660],[3,"HandlerId",661],[3,"PieceReader",550],[8,"Iterator",662],[6,"Result",663],[8,"Serializer",664],[3,"String",665],[3,"Offset",486],[6,"SectorIndex",658],[3,"PieceOffset",637],[8,"Unpin",655],[8,"FnMut",659],[3,"FarmerPieceGetter",574],[4,"PieceGetterRetryPolicy",645],[8,"PieceValidator",666],[3,"Node",667],[3,"PieceProvider",666],[3,"ReadersAndPieces",606],[6,"Mutex",668],[3,"Kzg",669],[3,"SegmentCommitment",627],[3,"LruCache",670],[3,"SegmentCommitmentPieceValidator",590],[3,"PlottedSector",645],[3,"SectorPlottingDetails",115],[13,"FailedToSubscribeSlotInfo",428],[13,"FailedToGetFarmerInfo",428],[13,"FailedToGetFarmerInfo",430],[13,"FailedToGetSegmentHeader",430],[13,"FailedToSubscribeArchivedSegments",430],[13,"MissingArchivedSegmentHeader",430],[13,"FarmTooLarge",434],[13,"InsufficientAllocatedSpace",434],[13,"WrongChain",434],[13,"IdentityMismatch",434],[13,"InvalidPiecesInSector",434],[13,"V0",449],[13,"FailedToDetermineFileSize",454],[13,"FailedToReadBytes",454],[13,"FailedToWriteBytes",454],[13,"FarmInfoCantBeOpened",454],[13,"IdentityCantBeOpened",454],[13,"MetadataCantBeOpened",454],[13,"CacheCantBeOpened",454],[13,"FarmInfoFileDoesNotExist",454],[13,"IdentityFileDoesNotExist",454],[13,"MetadataFileDoesNotExist",454],[13,"MetadataFileTooSmall",454],[13,"CacheFileDoesNotExist",454],[13,"PublicKeyMismatch",454],[13,"Found",481],[13,"NotFound",481],[13,"Error",481],[13,"OffsetOutsideOfRange",548]],"b":[[256,"impl-Debug-for-FarmingError"],[257,"impl-Display-for-FarmingError"],[258,"impl-Debug-for-PlottingError"],[259,"impl-Display-for-PlottingError"],[261,"impl-Debug-for-SingleDiskFarmId"],[262,"impl-Display-for-SingleDiskFarmId"],[264,"impl-Display-for-SingleDiskFarmError"],[265,"impl-Debug-for-SingleDiskFarmError"],[266,"impl-Display-for-SingleDiskFarmScrubError"],[267,"impl-Debug-for-SingleDiskFarmScrubError"],[268,"impl-Debug-for-BackgroundTaskError"],[269,"impl-Display-for-BackgroundTaskError"],[274,"impl-From%3CError%3E-for-FarmingError"],[275,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[276,"impl-From%3CProvingError%3E-for-FarmingError"],[279,"impl-From%3CError%3E-for-PlottingError"],[280,"impl-From%3CPlottingError%3E-for-PlottingError"],[286,"impl-From%3CError%3E-for-SingleDiskFarmError"],[287,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[289,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[291,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[513,"impl-Display-for-DiskPieceCacheError"],[514,"impl-Debug-for-DiskPieceCacheError"],[515,"impl-Debug-for-Offset"],[516,"impl-Display-for-Offset"]]},\ "subspace_farmer_components":{"doc":"Components of the reference implementation of Subspace …","t":"DIDALLLLLLLLLLLLLLLALLLLMLLLLMMLAAKLLAMMALLLLLLLLLLLLLDFMLLLLLLLLLLLMLLLLLLIIKKKKKKKNNNNNIENNDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLMFMMMLLLLLLLLLLLLLLLLLLMMMMMMMMNNNNNIENDKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMNNNNNNDENLLLLLLMLLLLLLLLLLLLLLLLLFFFFMLLLLLLLLLLLLLMMMMMMMMMMMNDNNNNDEEEDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLMMFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMM","n":["FarmerProtocolInfo","ReadAt","ReadAtOffset","auditing","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","file_ext","fmt","fmt","from","from","history_size","init","init","into","into","max_pieces_in_sector","min_sector_lifetime","offset","plotting","proving","read_at","read_at","read_at","reading","recent_history_fraction","recent_segments","sector","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","AuditResult","audit_sector","best_solution_distance","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","solution_candidates","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","FileExt","OpenOptionsExt","advise_random_access","advise_random_access","advise_sequential_access","advise_sequential_access","preallocate","read_exact_at","write_all_at","BadSectorMetadataOutputSize","BadSectorOutputSize","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","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","FailedToDecodeSectorContentsMap","InvalidErasureCodingInstance","Io","ProvableSolutions","ProvingError","RecordReadingError","SolutionCandidates","best_solution_distance","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","from","init","init","into","into","into_solutions","is_empty","len","source","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","chunk_offset","error","error","piece_offset","piece_offset","ChecksumMismatch","FailedToDecodeSectorContentsMap","FailedToErasureDecodeRecord","FailedToReadChunk","InvalidChunk","Io","PlotRecord","ReadingError","WrongRecordSizeAfterDecoding","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commitment","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","init","init","into","into","read_piece","read_sector_record_chunks","recover_extended_record_chunks","recover_source_record_chunks","scalars","source","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","witness","actual","chunk_location","chunk_location","encoded_chunk_used","error","error","error","expected","piece_offset","s_bucket","ChecksumMismatch","EncodedChunksUsed","InvalidBytesLength","InvalidBytesLength","InvalidEncodedRecordChunks","SBucketOutOfRange","SectorContentsMap","SectorContentsMapEncodeIntoError","SectorContentsMapFromBytesError","SectorContentsMapIterationError","SectorMetadata","SectorMetadataChecksummed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode_into","encode_to","encode_to","encoded_size","encoded_size","eq","eq","eq","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","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"],[54,"subspace_farmer_components::auditing"],[75,"subspace_farmer_components::file_ext"],[84,"subspace_farmer_components::plotting"],[155,"subspace_farmer_components::plotting::PlottingError"],[163,"subspace_farmer_components::proving"],[213,"subspace_farmer_components::proving::ProvingError"],[218,"subspace_farmer_components::reading"],[270,"subspace_farmer_components::reading::ReadingError"],[280,"subspace_farmer_components::sector"],[462,"subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"],[464,"subspace_farmer_components::sector::SectorContentsMapFromBytesError"],[468,"subspace_farmer_components::sector::SectorContentsMapIterationError"],[470,"core::clone"],[471,"core::result"],[472,"serde::de"],[473,"core::fmt"],[474,"core::fmt"],[475,"std::io::error"],[476,"serde::ser"],[477,"core::any"],[478,"subspace_core_primitives"],[479,"subspace_core_primitives"],[480,"subspace_core_primitives::pieces"],[481,"core::future::future"],[482,"alloc::boxed"],[483,"core::pin"],[484,"subspace_core_primitives::crypto::kzg"],[485,"subspace_erasure_coding"],[486,"alloc::vec"],[487,"alloc::string"],[488,"std::io::error"],[489,"core::error"],[490,"subspace_core_primitives::pieces"],[491,"subspace_proof_of_space"],[492,"core::iter::traits::exact_size"],[493,"parity_scale_codec::error"],[494,"parity_scale_codec::codec"],[495,"parity_scale_codec::codec"],[496,"core::iter::traits::iterator"],[497,"subspace_core_primitives::pieces"],[498,"alloc::alloc"],[499,"core::ops::function"]],"d":["Information about the protocol necessary for farmer …","Trait for reading data at specific offset","Reader with fixed offset added to all attempted reads","","","","","","","","","","","","","","","","","File extension trait","","","Returns the argument unchanged.","Returns the argument unchanged.","Size of the blockchain history","","","Calls U::from(self).","Calls U::from(self).","How many pieces one sector is supposed to contain (max)","Minimum lifetime of a plotted sector, measured in archived …","Get implementation of ReadAt that add specified offset to …","","","Fill the buffer by reading bytes at a specific offset","","","","Fraction of pieces from the “recent history” (…","Number of latest archived segments that are considered “…","","","","","","","","","","","","","","","Result of sector audit","Audit a single sector and generate a stream of solutions, …","Best solution distance found","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Solution candidates","","","","","","","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 random access and …","Advise OS/file system that file will use sequential access …","Advise OS/file system that file will use sequential access …","Make sure file has specified number of bytes allocated for …","Read exact number of bytes at a specific offset","Write all provided bytes at a specific offset","Bad sector metadata output size","Bad sector output size","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 sector contents map","Invalid erasure coding instance","I/O error occurred","Solutions that can be proven if necessary","Errors that happen during proving","Record reading error","Container for solutions","Best solution distance found, None in case iterator is …","","","","","","","","","","","","","","","","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","Piece offset","Piece offset","Checksum mismatch","Failed to decode sector contents map","Failed to erasure-decode record","Failed to read chunk.","Invalid chunk, possible disk corruption","I/O error occurred","Record contained in the plot","Errors that happen during reading","Wrong record size after decoding","","","","","","","Record commitment","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Read piece from sector","Read sector record chunks, only plotted s-buckets are …","Given sector record chunks recover extended record chunks …","Given sector record chunks recover source record chunks in …","Record scalars","","","","","","","","","","","","","","Record witness","Actual size in bytes","Chunk location","Chunk location","Indicates whether chunk was encoded","Low-level error","Lower-level error","Lower-level error","Expected size in bytes","Piece offset","S-bucket","Checksum mismatch","Wrapper data structure that allows to iterate mutably over …","Invalid bytes length","Invalid bytes length","Invalid number of encoded record chunks","S-bucket provided is out of range","Abstraction on top of bitfields that allow making sense of …","Error happening when trying to encode SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Metadata of the plotted sector","Same as SectorMetadata, but with checksums verified during …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Encode internal contents into output","","","Size of encoded checksummed sector metadata.","Size of sector contents map when encoded and stored in the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Reconstruct sector contents map from bytes.","Size of the blockchain history at time of sector creation","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Produces an iterator over encoded chunks bitfields.","Produces a mutable iterator over encoded chunks bitfields.","Iterate over individual record bitfields","Iterate mutably over individual record bitfields","Creates an iterator of …","Iterate over chunks of s-bucket indicating if encoded …","Creates an iterator of (piece_offset, encoded_chunk_used), …","Create new sector contents map initialized with zeroes to …","Number of encoded chunks in each record","Creates an iterator of …","Number of pieces stored in this sector","Returns offsets of each s-bucket relatively to the …","Returns sizes of each s-bucket","S-bucket sizes in a sector","Sector index","Size of the part of the plot containing record chunks …","Size of the part of the plot containing record metadata.","Exact sector plot size (sector contents map, record …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Actual length","Expected length","Actual length","Actual number of encoded record chunks","Expected length","Max supported","Max s-bucket","Provided s-bucket"],"i":[0,0,0,0,1,3,1,3,1,3,1,3,1,3,1,3,3,1,3,0,1,3,1,3,3,1,3,1,3,3,3,15,0,0,15,1,1,0,3,3,0,3,1,3,1,3,1,3,1,3,1,3,1,3,0,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,0,72,73,72,73,73,73,73,29,29,29,29,26,0,0,29,29,0,0,26,26,27,29,26,27,29,26,27,26,27,26,26,27,29,26,27,29,26,27,29,26,26,26,27,29,29,26,27,29,38,26,27,29,26,27,29,27,0,27,27,27,26,27,29,26,27,29,26,27,29,26,27,29,26,27,29,26,27,29,74,75,76,77,78,74,75,76,41,41,41,41,41,0,0,41,0,45,41,40,41,40,40,40,41,40,41,40,41,40,41,41,40,41,41,41,41,40,41,40,41,40,40,40,40,41,40,41,41,40,41,40,41,40,41,40,41,40,79,80,79,80,79,44,44,44,44,44,44,0,0,44,44,49,44,49,49,49,49,44,49,44,49,44,49,44,44,49,44,44,44,49,44,49,44,49,0,0,0,0,49,44,49,44,44,49,44,49,44,49,44,49,44,49,49,81,82,83,83,82,83,84,81,84,83,42,0,42,60,42,61,0,0,0,0,0,0,64,59,22,42,60,61,55,64,59,22,42,60,61,55,59,22,42,60,61,55,59,22,42,60,61,55,59,22,59,22,59,22,59,22,64,59,22,22,42,60,61,55,64,59,22,22,42,60,61,55,64,64,59,22,42,60,61,55,22,55,59,22,22,55,42,60,61,42,60,61,59,22,42,42,60,60,61,61,55,64,59,22,22,42,60,61,55,55,59,64,59,22,42,60,61,55,64,59,22,42,60,61,55,64,64,55,55,55,55,55,55,55,55,59,59,55,59,59,0,0,0,59,22,59,22,59,22,42,60,61,55,42,60,61,64,59,22,42,60,61,55,64,59,22,42,60,61,55,64,59,22,42,60,61,55,64,59,22,42,60,61,55,22,64,59,22,42,60,61,55,85,85,86,87,86,87,88,88],"f":[0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[1,[-1]]],[[1,[-1]]],2],[3,3],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[-1,[[6,[3]]],7],[5,4],[5,4],0,[[[1,[-1]],8],9,10],[[3,8],9],[-1,-1,[]],[-1,-1,[]],0,[[],5],[[],5],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,5],[[1,[-1]]],11],0,0,[[-1,[13,[12]],5],[[14,[4]]],[]],[[[1,[-1]],[13,[12]],5],[[14,[4]]],15],[[[1,[-1]],[13,[12]],5],[[14,[4]]],15],0,0,0,0,[[3,-1],6,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[18,19,20,21,-1,22],[[24,[[23,[-1]]]]],15],0,[-1,-2,[],[]],[-1,-2,[],[]],[[[23,[-1]]],[[23,[-1]]],2],[[-1,-2],4,[],[]],[5,-1,[]],[5,-1,[]],[5,4],[[[23,[-1]],8],9,10],[-1,-1,[]],[[],5],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[-1,[[14,[4]]],[]],[-1,-1,[]],[-1,[[14,[4]]],[]],[[-1,25],[[14,[4]]],[]],[[-1,[13,[12]],25],[[14,[4]]],[]],[[-1,[13,[12]],25],[[14,[4]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[26,26],[27,27],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[],26],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,4],[5,4],[5,4],[[26,26],28],[[-1,-2],28,[],[]],[[26,8],9],[[27,8],9],[[29,8],9],[[29,8],9],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[-1,30,26],[[33,[[32,[31]]]]],[]],[[],5],[[],5],[[],5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[18,19,-1,26,3,34,35,36,[37,[12]],[37,[12]]],[[6,[27,29]]],38],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,39,[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[24,[21]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[40,[-1]]],[[40,[-1]]],2],[[-1,-2],4,[],[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,4],[5,4],[[41,8],9],[[41,8],9],[[[40,[-1]],8],9,10],[-1,-1,[]],[42,41],[43,41],[44,41],[-1,-1,[]],[[],5],[[],5],[-1,-2,[],[]],[-1,-2,[],[]],[[[40,[-1]],-2,34,35,-3],[[6,[[0,[45]],41]]],15,46,47],[[[40,[-1]]],28,15],[[[40,[-1]]],5,15],[41,[[24,[48]]]],[-1,-2,[],[]],[-1,39,[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[49,49],[[-1,-2],4,[],[]],0,[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,4],[5,4],[[44,8],9],[[44,8],9],[[49,8],9],[43,44],[-1,-1,[]],[42,44],[-1,-1,[]],[[],5],[[],5],[-1,-2,[],[]],[-1,-2,[],[]],[[50,51,22,-1,35],[[6,[52,44]]],[15,11]],[[50,36,[54,[53]],55,-1,-2],[[6,[[32,[[54,[[24,[56]]]]]],44]]],57,[15,11]],[[[54,[[24,[56]]]],50,35],[[6,[[32,[[54,[56]]]],44]]]],[[[54,[[24,[56]]]],50,35],[[6,[[0,[58]],44]]]],0,[44,[[24,[48]]]],[-1,-2,[],[]],[-1,39,[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,59],[22,22],[42,42],[60,60],[61,61],[55,55],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[-1,[[6,[59,62]]],63],[-1,[[6,[22,62]]],63],[[[13,[12]]],[[6,[-1,62]]],[]],[[[13,[12]]],[[6,[-1,62]]],[]],[[53,[13,[12]]],[[6,[-1,62]]],[]],[[53,[13,[12]]],[[6,[-1,62]]],[]],[[53,-1],[[6,[-2,62]]],63,[]],[[53,-1],[[6,[-2,62]]],63,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[22],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[22],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,-1,[]],[5,4],[64,4],[5,4],[5,4],[5,4],[5,4],[5,4],[5,4],[22,[[37,[12]]]],[[55,[13,[12]]],[[6,[4,60]]]],[[59,-1],4,[65,11]],[[22,-1],4,[65,11]],[[],5],[36,5],[[42,42],28],[[60,60],28],[[61,61],28],[[-1,-2],28,[],[]],[[-1,-2],28,[],[]],[[-1,-2],28,[],[]],[[59,8],9],[[22,8],9],[[42,8],9],[[42,8],9],[[60,8],9],[[60,8],9],[[61,8],9],[[61,8],9],[[55,8],9],[-1,-1,[]],[-1,-1,[]],[59,22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[13,[12]],36],[[6,[55,42]]]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[64,[[0,[58]]]],[64,[[0,[58]]]],[55,[[13,[[66,[[54,[12]]]]]]]],[55,[[0,[58]]]],[[55,50],[[0,[67]]]],[[55,68],[[6,[[0,[67]],61]]]],[[55,68],[[6,[[0,[67]],61]]]],[36,55],[55,[[13,[68]]]],[[55,50],[[0,[69]]]],0,[59,[[32,[[54,[53]]]]]],[55,[[32,[[54,[36]]]]]],0,0,[36,5],[36,5],[36,5],[59,5],[22,5],[[-1,[13,[12]]],[[37,[12,70]]],[]],[[-1,[13,[12]]],[[37,[12,70]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,39,[]],[-1,39,[]],[-1,39,[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,17,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[22,-1],-2,71,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0],"c":[],"p":[[3,"ReadAtOffset",0],[8,"Clone",470],[3,"FarmerProtocolInfo",0],[15,"tuple"],[15,"usize"],[4,"Result",471],[8,"Deserializer",472],[3,"Formatter",473],[6,"Result",473],[8,"Debug",473],[8,"Sized",474],[15,"u8"],[15,"slice"],[6,"Result",475],[8,"ReadAt",0],[8,"Serializer",476],[3,"TypeId",477],[3,"PublicKey",478],[6,"SectorIndex",478],[6,"Blake3Hash",478],[6,"SolutionRange",478],[3,"SectorMetadataChecksummed",280],[3,"AuditResult",54],[4,"Option",479],[15,"u64"],[4,"PieceGetterRetryPolicy",84],[3,"PlottedSector",84],[15,"bool"],[4,"PlottingError",84],[3,"PieceIndex",480],[8,"Future",481],[3,"Box",482],[3,"Pin",483],[3,"Kzg",484],[3,"ErasureCoding",485],[15,"u16"],[3,"Vec",486],[8,"PieceGetter",84],[3,"String",487],[3,"SolutionCandidates",163],[4,"ProvingError",163],[4,"SectorContentsMapFromBytesError",280],[3,"Error",475],[4,"ReadingError",218],[8,"ProvableSolutions",163],[8,"Copy",474],[8,"FnMut",488],[8,"Error",489],[3,"PlotRecord",218],[3,"PieceOffset",480],[3,"SectorId",478],[3,"Piece",480],[15,"u32"],[15,"array"],[3,"SectorContentsMap",280],[3,"Scalar",490],[8,"Table",491],[8,"ExactSizeIterator",492],[3,"SectorMetadata",280],[4,"SectorContentsMapEncodeIntoError",280],[4,"SectorContentsMapIterationError",280],[3,"Error",493],[8,"Input",494],[3,"EncodedChunksUsed",280],[8,"Output",494],[3,"BitArray",495],[8,"Iterator",496],[3,"SBucket",480],[8,"IndexedParallelIterator",497],[3,"Global",498],[8,"FnOnce",488],[8,"OpenOptionsExt",75],[8,"FileExt",75],[13,"FailedToRetrievePiece",155],[13,"BadSectorOutputSize",155],[13,"BadSectorMetadataOutputSize",155],[13,"PieceNotFound",155],[13,"PieceRecoveryFailed",155],[13,"FailedToCreateChunkWitness",213],[13,"FailedToCreatePolynomialForRecord",213],[13,"WrongRecordSizeAfterDecoding",270],[13,"FailedToReadChunk",270],[13,"InvalidChunk",270],[13,"FailedToErasureDecodeRecord",270],[13,"InvalidBytesLength",462],[13,"InvalidBytesLength",464],[13,"InvalidEncodedRecordChunks",464],[13,"SBucketOutOfRange",468]],"b":[[35,"impl-ReadAt-for-ReadAtOffset%3CT%3E"],[36,"impl-ReadAt-for-%26ReadAtOffset%3CT%3E"],[120,"impl-Display-for-PlottingError"],[121,"impl-Debug-for-PlottingError"],[185,"impl-Debug-for-ProvingError"],[186,"impl-Display-for-ProvingError"],[189,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ProvingError"],[190,"impl-From%3CError%3E-for-ProvingError"],[191,"impl-From%3CReadingError%3E-for-ProvingError"],[240,"impl-Display-for-ReadingError"],[241,"impl-Debug-for-ReadingError"],[243,"impl-From%3CError%3E-for-ReadingError"],[245,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ReadingError"],[364,"impl-Display-for-SectorContentsMapFromBytesError"],[365,"impl-Debug-for-SectorContentsMapFromBytesError"],[366,"impl-Debug-for-SectorContentsMapEncodeIntoError"],[367,"impl-Display-for-SectorContentsMapEncodeIntoError"],[368,"impl-Debug-for-SectorContentsMapIterationError"],[369,"impl-Display-for-SectorContentsMapIterationError"]]},\ "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"],[153,"dyn_clone::sealed"],[154,"alloc::sync"],[155,"sp_runtime::traits"],[156,"core::result"],[157,"core::any"],[158,"sp_core::traits"],[159,"sp_runtime::traits"],[160,"sp_domains::fraud_proof"],[161,"sp_domains::fraud_proof"],[162,"sp_trie::storage_proof"],[163,"alloc::vec"],[164,"sp_blockchain::error"],[165,"sc_client_api::backend"],[166,"sp_core::traits"],[167,"sp_api"],[168,"core::marker"],[169,"parity_scale_codec::codec"],[170,"sp_runtime::traits"],[171,"hash_db"],[172,"sp_domains::fraud_proof"],[173,"sp_domains::fraud_proof"],[174,"domain_runtime_primitives"]],"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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,0,0,3,15,3,3,0,0,0,27,17,27,17,27,17,27,27,17,27,17,27,17,27,17,27,17,17,27,27,17,17,27,27,17,27,17,27,17,27,17,27,17,27,17,27,17,27,17,27,17,27,17,27,17,27,27,7,27,17,27,0,0,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,6,39,39,0,0,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,31,42,31,42,42,42,42,42,42,42,31,42,31,42,42],"f":[0,0,[[-1,1],2,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[3,[-1,-2,-3]]],[[3,[-1,-2,-3]]],[],[],[]],[[-1,-2],2,[],[]],[4,-1,[]],[4,-1,[]],[4,2],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[5,[-1]],[5,[-2]]],[[3,[-3,-1,-2]]],6,7,8],[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[11,-2,[13,[[12,[-1]]]]],[[9,[2,14]]],8,[[15,[-1]],16]],0,[[[3,[-1,-2,-3]],[13,[[12,[-1]]]]],[[9,[2,14]]],8,6,7],[[-1,[13,[[12,[-2]]]]],[[9,[2,14]]],[],[]],[[[3,[-1,-2,-3]],[13,[[12,[-1]]]]],[[9,[2,14]]],8,6,7],[-1,-2,[],[]],0,0,0,[[-1,1],2,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[17,[-1,-2,-3]],18,[20,[19]],21,22],[[24,[[23,[19]]]]],8,[[25,[-1]]],26],[[[27,[-1,-2,-3,-4,-5]]],[[27,[-1,-2,-3,-4,-5]]],[],[],28,[],28],[[-1,-2],2,[],[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,2],[4,2],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[5,[-2]],[5,[-3]]],[[17,[-1,-2,-3]]],8,[[25,[-1]]],26],[[[5,[-2]],-3,-4],[[27,[-1,-2,-3,-5,-4]]],8,[[29,[-1]],16,30],[26,28],31,[32,33]],[[[17,[-1,-2,-3]],18,[20,[19]],[34,[[2,[-4]]]]],[[24,[22]]],8,[[25,[-1]]],26,[[37,[[35,[-1]],36]]]],[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[27,[-1,-2,-3,-4,-5]],38],[[9,[2,14]]],8,[[29,[-1]],16,30],[26,28],[32,33],31],[[-1,38],[[9,[2,14]]],[]],[[[27,[-1,-2,-3,-4,-5]],38],[[9,[2,14]]],8,[[29,[-1]],16,30],[26,28],[32,33],31],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,1],2,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[39,[-1,-2,-3,-4,-5]]],[[39,[-1,-2,-3,-4,-5]]],[],[],[],[],28],[[-1,-2],2,[],[]],[4,-1,[]],[4,-1,[]],[4,2],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[5,[-2]],[5,[-3]],-4],[[39,[-1,-2,-5,-3,-4]]],8,[[40,[-1]],[29,[-1]],16,30],26,31,[32,33]],[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[39,[-1,-2,-3,-4,-5]],41],[[9,[2,14]]],8,[[40,[-1]],[29,[-1]],16,30],[32,33],26,31],[[-1,41],[[9,[2,14]]],[]],[[[39,[-1,-2,-3,-4,-5]],41],[[9,[2,14]]],8,[[40,[-1]],[29,[-1]],16,30],[32,33],26,31],[-1,-2,[],[]],0,0,[[-1,1],2,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[42,[-1,-2]]],[[42,[-1,-2]]],[],[]],[[-1,-2],2,[],[]],[4,-1,[]],[4,-1,[]],[4,2],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-1,[]],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[5,[-1]]],[[42,[-1,-2]]],[],[]],[[-1,43,44],[[9,[21,14]]],[]],[[[42,[-2,-1]],43,44],[[9,[21,14]]],8,[[29,[-1]],[40,[-1]]]],[[-1,43,44,21],[[9,[45,14]]],[]],[[[42,[-2,-1]],43,44,21],[[9,[45,14]]],8,[[29,[-1]],[40,[-1]]]],[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,38],[[9,[2,14]]],[]],[[[42,[-2,-1]],38],[[9,[2,14]]],8,[[29,[-1]],[40,[-1]]]],[[-1,38],[[9,[2,14]]],[]],[[[42,[-2,-1]],38],[[9,[2,14]]],8,[[29,[-1]],[40,[-1]]]],[-1,-2,[],[]]],"c":[],"p":[[3,"Private",153],[15,"tuple"],[3,"ProofVerifier",0],[15,"usize"],[3,"Arc",154],[8,"VerifyInvalidTransactionProof",88],[8,"VerifyInvalidStateTransitionProof",34],[8,"Block",155],[4,"Result",156],[3,"TypeId",157],[8,"SpawnNamed",158],[6,"NumberFor",155],[4,"FraudProof",159],[4,"VerificationError",159],[8,"VerifyFraudProof",0],[8,"Send",160],[3,"ExecutionProver",34],[4,"ExecutionPhase",159],[15,"u8"],[15,"slice"],[3,"H256",161],[3,"StorageProof",162],[3,"Vec",163],[6,"Result",164],[8,"Backend",165],[8,"CodeExecutor",158],[3,"InvalidStateTransitionProofVerifier",34],[8,"Clone",166],[8,"ProvideRuntimeApi",167],[8,"Sync",160],[8,"VerifierApi",118],[8,"Encode",168],[8,"Decode",168],[4,"Option",169],[6,"HashingFor",155],[6,"DBValue",170],[8,"HashDB",171],[3,"InvalidStateTransitionProof",159],[3,"InvalidTransactionProofVerifier",88],[8,"HeaderBackend",172],[3,"InvalidTransactionProof",159],[3,"VerifierClient",118],[3,"DomainId",173],[15,"u32"],[6,"Hash",174]],"b":[]},\ "subspace_metrics":{"doc":"This Rust module serves as a bridge between two different …","t":"NNENLLLLLLLLDLFLLLLLLLL","n":["Both","Libp2p","RegistryAdapter","Substrate","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","metrics","register","start_prometheus_metrics_server","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"subspace_metrics"],[23,"actix_web::config"],[24,"core::net::socket_addr"],[25,"alloc::vec"],[26,"core::future::future"],[27,"std::io::error"],[28,"core::result"],[29,"core::any"]],"d":["We use both Substrate and Libp2p metrics registries.","Uses only the Libp2p metrics registry.","An metrics registry adapter for Libp2p and Substrate …","Uses only the Substrate metrics registry.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","Start prometheus metrics server on the provided address.","","","","","","","",""],"i":[6,6,0,6,6,1,6,1,6,1,6,1,0,1,0,6,1,6,1,6,1,6,1],"f":[0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,2],3],[[[5,[4]],6],[[8,[[0,[7]]]]]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"metrics",0],[3,"AppService",23],[15,"tuple"],[4,"SocketAddr",24],[3,"Vec",25],[4,"RegistryAdapter",0],[8,"Future",26],[6,"Result",27],[4,"Result",28],[3,"TypeId",29]],"b":[]},\ diff --git a/src/subspace_farmer/single_disk_farm.rs.html b/src/subspace_farmer/single_disk_farm.rs.html index 92dccf9470..ba8ce7a23e 100644 --- a/src/subspace_farmer/single_disk_farm.rs.html +++ b/src/subspace_farmer/single_disk_farm.rs.html @@ -1808,6 +1808,20 @@ 1808 1809 1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824

mod farming;
 pub mod piece_cache;
 pub mod piece_reader;
@@ -2335,8 +2349,21 @@
 type HandlerFn<A> = Arc<dyn Fn(&A) + Send + Sync + 'static>;
 type Handler<A> = Bag<HandlerFn<A>, A>;
 
+/// Details about sector currently being plotted
+pub struct SectorPlottingDetails {
+    /// Sector index
+    pub sector_index: SectorIndex,
+    /// Progress so far in % (not including this sector)
+    pub progress: f32,
+    /// Whether sector is being replotted
+    pub replotting: bool,
+    /// Whether this is the last sector queued so far
+    pub last_queued: bool,
+}
+
 #[derive(Default, Debug)]
 struct Handlers {
+    sector_plotting: Handler<SectorPlottingDetails>,
     sector_plotted: Handler<(PlottedSector, Option<PlottedSector>)>,
     solution: Handler<SolutionResponse>,
 }
@@ -2715,7 +2742,6 @@
                             erasure_coding,
                             handlers,
                             modifying_sector_index,
-                            target_sector_count,
                             sectors_to_plot_receiver,
                             plotting_thread_pool,
                             replotting_thread_pool,
@@ -2972,9 +2998,11 @@
     }
 
     /// 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.
+    pub fn on_sector_plotting(&self, callback: HandlerFn<SectorPlottingDetails>) -> HandlerId {
+        self.handlers.sector_plotting.add(callback)
+    }
+
+    /// Subscribe to notification about plotted sectors
     pub fn on_sector_plotted(
         &self,
         callback: HandlerFn<(PlottedSector, Option<PlottedSector>)>,
diff --git a/src/subspace_farmer/single_disk_farm/plotting.rs.html b/src/subspace_farmer/single_disk_farm/plotting.rs.html
index 5f18eeceba..3a3f51aae5 100644
--- a/src/subspace_farmer/single_disk_farm/plotting.rs.html
+++ b/src/subspace_farmer/single_disk_farm/plotting.rs.html
@@ -663,8 +663,42 @@
 663
 664
 665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
 
use crate::single_disk_farm::{
-    BackgroundTaskError, Handlers, PlotMetadataHeader, RESERVED_PLOT_METADATA,
+    BackgroundTaskError, Handlers, PlotMetadataHeader, SectorPlottingDetails,
+    RESERVED_PLOT_METADATA,
 };
 use crate::{node_client, NodeClient};
 use async_lock::RwLock;
@@ -705,6 +739,15 @@
 /// Get piece retry attempts number.
 const PIECE_GETTER_RETRY_NUMBER: NonZeroU16 = NonZeroU16::new(4).expect("Not zero; qed");
 
+pub(super) struct SectorToPlot {
+    sector_index: SectorIndex,
+    /// Progress so far in % (not including this sector)
+    progress: f32,
+    /// Whether this is the last sector queued so far
+    last_queued: bool,
+    acknowledgement_sender: oneshot::Sender<()>,
+}
+
 /// Errors that happen during plotting
 #[derive(Debug, Error)]
 pub enum PlottingError {
@@ -755,8 +798,7 @@
     pub(super) erasure_coding: ErasureCoding,
     pub(super) handlers: Arc<Handlers>,
     pub(super) modifying_sector_index: Arc<RwLock<Option<SectorIndex>>>,
-    pub(super) target_sector_count: u16,
-    pub(super) sectors_to_plot_receiver: mpsc::Receiver<(SectorIndex, oneshot::Sender<()>)>,
+    pub(super) sectors_to_plot_receiver: mpsc::Receiver<SectorToPlot>,
     pub(super) plotting_thread_pool: Arc<ThreadPool>,
     pub(super) replotting_thread_pool: Arc<ThreadPool>,
 }
@@ -788,7 +830,6 @@
         erasure_coding,
         handlers,
         modifying_sector_index,
-        target_sector_count,
         mut sectors_to_plot_receiver,
         plotting_thread_pool,
         replotting_thread_pool,
@@ -796,8 +837,13 @@
 
     let mut table_generator = PosTable::generator();
     // TODO: Concurrency
-    while let Some((sector_index, _acknowledgement_sender)) = sectors_to_plot_receiver.next().await
-    {
+    while let Some(sector_to_plot) = sectors_to_plot_receiver.next().await {
+        let SectorToPlot {
+            sector_index,
+            progress,
+            last_queued,
+            acknowledgement_sender: _acknowledgement_sender,
+        } = sector_to_plot;
         trace!(%sector_index, "Preparing to plot sector");
 
         let maybe_old_sector_metadata = sectors_metadata
@@ -808,11 +854,20 @@
         let replotting = maybe_old_sector_metadata.is_some();
 
         if replotting {
-            debug!(%sector_index, "Replotting sector");
+            info!(%sector_index, "Replotting sector ({progress:.2}% complete)");
         } else {
-            debug!(%sector_index, "Plotting sector");
+            info!(%sector_index, "Plotting sector ({progress:.2}% complete)");
         }
 
+        handlers
+            .sector_plotting
+            .call_simple(&SectorPlottingDetails {
+                sector_index,
+                progress,
+                replotting,
+                last_queued,
+            });
+
         // This `loop` is a workaround for edge-case in local setup if expiration is configured to
         // 1. In that scenario we get replotting notification essentially straight from block import
         // pipeline of the node, before block is imported. This can result in subsequent request for
@@ -937,13 +992,15 @@
         modifying_sector_index.write().await.take();
 
         if replotting {
-            info!(%sector_index, "Sector replotted successfully");
+            debug!(%sector_index, "Sector replotted successfully");
+            if last_queued {
+                info!("Replotting complete");
+            }
         } else {
-            info!(
-                %sector_index,
-                "Sector plotted successfully ({:.2}%)",
-                (sector_index + 1) as f32 / target_sector_count as f32 * 100.0
-            );
+            debug!(%sector_index, "Sector plotted successfully");
+            if last_queued {
+                info!("Initial plotting complete");
+            }
         }
 
         handlers
@@ -962,7 +1019,7 @@
     pub(super) min_sector_lifetime: HistorySize,
     pub(super) node_client: NC,
     pub(super) sectors_metadata: Arc<RwLock<Vec<SectorMetadataChecksummed>>>,
-    pub(super) sectors_to_plot_sender: mpsc::Sender<(SectorIndex, oneshot::Sender<()>)>,
+    pub(super) sectors_to_plot_sender: mpsc::Sender<SectorToPlot>,
 }
 
 pub(super) async fn plotting_scheduler<NC>(
@@ -1080,8 +1137,8 @@
 
 async fn pause_plotting_if_node_not_synced<NC>(
     node_client: &NC,
-    sectors_to_plot_proxy_receiver: mpsc::Receiver<(SectorIndex, oneshot::Sender<()>)>,
-    mut sectors_to_plot_sender: mpsc::Sender<(SectorIndex, oneshot::Sender<()>)>,
+    sectors_to_plot_proxy_receiver: mpsc::Receiver<SectorToPlot>,
+    mut sectors_to_plot_sender: mpsc::Sender<SectorToPlot>,
 ) -> Result<(), BackgroundTaskError>
 where
     NC: NodeClient,
@@ -1159,7 +1216,7 @@
     sectors_metadata: Arc<RwLock<Vec<SectorMetadataChecksummed>>>,
     last_archived_segment: &Atomic<SegmentHeader>,
     mut archived_segments_receiver: mpsc::Receiver<()>,
-    mut sectors_to_plot_sender: mpsc::Sender<(SectorIndex, oneshot::Sender<()>)>,
+    mut sectors_to_plot_sender: mpsc::Sender<SectorToPlot>,
 ) -> Result<(), BackgroundTaskError>
 where
     NC: NodeClient,
@@ -1168,7 +1225,12 @@
     for sector_index in sectors_indices_left_to_plot {
         let (acknowledgement_sender, acknowledgement_receiver) = oneshot::channel();
         if let Err(error) = sectors_to_plot_sender
-            .send((sector_index, acknowledgement_sender))
+            .send(SectorToPlot {
+                sector_index,
+                progress: sector_index as f32 / target_sector_count as f32 * 100.0,
+                last_queued: sector_index + 1 == target_sector_count,
+                acknowledgement_sender,
+            })
             .await
         {
             warn!(%error, "Failed to send sector index for initial plotting");
@@ -1307,10 +1369,16 @@
             }
         }
 
-        for sector_index in sector_indices_to_replot.iter() {
+        let sectors_queued = sector_indices_to_replot.len();
+        for (index, sector_index) in sector_indices_to_replot.drain(..).enumerate() {
             let (acknowledgement_sender, acknowledgement_receiver) = oneshot::channel();
             if let Err(error) = sectors_to_plot_sender
-                .send((*sector_index, acknowledgement_sender))
+                .send(SectorToPlot {
+                    sector_index,
+                    progress: index as f32 / sectors_queued as f32 * 100.0,
+                    last_queued: index + 1 == sectors_queued,
+                    acknowledgement_sender,
+                })
                 .await
             {
                 warn!(%error, "Failed to send sector index for replotting");
@@ -1320,10 +1388,8 @@
             // We do not care if message was sent back or sender was just dropped
             let _ = acknowledgement_receiver.await;
 
-            sectors_expire_at.remove(sector_index);
+            sectors_expire_at.remove(&sector_index);
         }
-
-        sector_indices_to_replot.clear();
     }
 
     Ok(())
diff --git a/subspace_archiving/archiver/enum.ArchiverInstantiationError.html b/subspace_archiving/archiver/enum.ArchiverInstantiationError.html
index 5c27ecf2c2..b710092359 100644
--- a/subspace_archiving/archiver/enum.ArchiverInstantiationError.html
+++ b/subspace_archiving/archiver/enum.ArchiverInstantiationError.html
@@ -1,13 +1,13 @@
 ArchiverInstantiationError in subspace_archiving::archiver - Rust
pub enum ArchiverInstantiationError {
     FailedToInitializeErasureCoding(String),
-    InvalidLastArchivedBlock(BlockNumber),
+    InvalidLastArchivedBlock(BlockNumber),
     InvalidBlockSmallSize {
         block_bytes: u32,
         archived_block_bytes: u32,
     },
 }
Expand description

Archiver instantiation error

Variants§

§

FailedToInitializeErasureCoding(String)

Failed to initialize erasure coding

-
§

InvalidLastArchivedBlock(BlockNumber)

Invalid last archived block, its size is the same as encoded block

+
§

InvalidLastArchivedBlock(BlockNumber)

Invalid last archived block, its size is the same as encoded block

§

InvalidBlockSmallSize

Fields

§block_bytes: u32

Full block size

§archived_block_bytes: u32

Already archived portion of the block

Invalid block, its size is smaller than already archived number of bytes

diff --git a/subspace_archiving/archiver/enum.SegmentItem.html b/subspace_archiving/archiver/enum.SegmentItem.html index dcbcea205c..e6db9d12bc 100644 --- a/subspace_archiving/archiver/enum.SegmentItem.html +++ b/subspace_archiving/archiver/enum.SegmentItem.html @@ -12,7 +12,7 @@ bytes: Vec<u8>, /* private fields */ }, - ParentSegmentHeader(SegmentHeader), + ParentSegmentHeader(SegmentHeader), }
Expand description

Kinds of items that are contained within a segment

Variants§

§

Padding

Special dummy enum variant only used as an implementation detail for padding purposes

§

Block

Fields

§bytes: Vec<u8>

Block bytes

@@ -21,7 +21,7 @@

Contains the beginning of the block inside, remainder will be found in subsequent segments

§

BlockContinuation

Fields

§bytes: Vec<u8>

Block bytes

Continuation of the partial block spilled over into the next segment

-
§

ParentSegmentHeader(SegmentHeader)

Segment header of the parent

+
§

ParentSegmentHeader(SegmentHeader)

Segment header of the parent

Trait Implementations§

source§

impl Clone for SegmentItem

source§

fn clone(&self) -> SegmentItem

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SegmentItem

source§

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

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

impl Decode for SegmentItem

source§

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

Attempt to deserialise the value from input.
§

fn decode_into<I>( diff --git a/subspace_archiving/archiver/fn.is_piece_valid.html b/subspace_archiving/archiver/fn.is_piece_valid.html index 13279efaab..7124eb0ec4 100644 --- a/subspace_archiving/archiver/fn.is_piece_valid.html +++ b/subspace_archiving/archiver/fn.is_piece_valid.html @@ -1,7 +1,7 @@ is_piece_valid in subspace_archiving::archiver - Rust
pub fn is_piece_valid(
-    kzg: &Kzg,
-    piece: &PieceArray,
-    segment_commitment: &SegmentCommitment,
+    kzg: &Kzg,
+    piece: &PieceArray,
+    segment_commitment: &SegmentCommitment,
     position: u32
 ) -> bool
Expand description

Validate witness embedded within a piece produced by archiver

\ No newline at end of file diff --git a/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html b/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html index ba437d5cf9..a54d6d726d 100644 --- a/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html +++ b/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html @@ -1,8 +1,8 @@ is_record_commitment_hash_valid in subspace_archiving::archiver - Rust
pub fn is_record_commitment_hash_valid(
-    kzg: &Kzg,
-    record_commitment_hash: &Scalar,
-    commitment: &SegmentCommitment,
-    witness: &RecordWitness,
+    kzg: &Kzg,
+    record_commitment_hash: &Scalar,
+    commitment: &SegmentCommitment,
+    witness: &RecordWitness,
     position: u32
 ) -> bool
Expand description

Validate witness for record commitment hash produced by archiver

\ No newline at end of file diff --git a/subspace_archiving/archiver/struct.Archiver.html b/subspace_archiving/archiver/struct.Archiver.html index 936b831729..627b35cde8 100644 --- a/subspace_archiving/archiver/struct.Archiver.html +++ b/subspace_archiving/archiver/struct.Archiver.html @@ -1,27 +1,27 @@ Archiver in subspace_archiving::archiver - Rust
pub struct Archiver { /* private fields */ }
Expand description

Block archiver for Subspace blockchain.

It takes new confirmed (at K depth) blocks and concatenates them into a buffer, buffer is -sliced into segments of [RecordedHistorySegment::SIZE] size, segments are sliced into source -records of [RawRecord::SIZE], records are erasure coded, committed to with [Kzg], then +sliced into segments of RecordedHistorySegment::SIZE size, segments are sliced into source +records of RawRecord::SIZE, records are erasure coded, committed to with Kzg, then commitments with witnesses are appended and records become pieces that are returned alongside corresponding segment header header.

Panics

Panics when operating on blocks, whose length doesn’t fit into u32 (should never be the case in blockchain context anyway).

-

Implementations§

source§

impl Archiver

source

pub fn new(kzg: Kzg) -> Result<Self, ArchiverInstantiationError>

Create a new instance with specified record size and recorded history segment size.

+

Implementations§

source§

impl Archiver

source

pub fn new(kzg: Kzg) -> Result<Self, ArchiverInstantiationError>

Create a new instance with specified record size and recorded history segment size.

Note: this is the only way to instantiate object archiver, while block archiver can be instantiated with BlockArchiver::with_initial_state() in case of restarts.

source

pub fn with_initial_state( - kzg: Kzg, - segment_header: SegmentHeader, + kzg: Kzg, + segment_header: SegmentHeader, encoded_block: &[u8], - object_mapping: BlockObjectMapping + object_mapping: BlockObjectMapping ) -> Result<Self, ArchiverInstantiationError>

Create a new instance of the archiver with initial state in case of restart.

block corresponds to last_archived_block and will be processed accordingly to its state.

-
source

pub fn last_archived_block_number(&self) -> Option<BlockNumber>

Get last archived block if there was any

+
source

pub fn last_archived_block_number(&self) -> Option<BlockNumber>

Get last archived block if there was any

source

pub fn add_block( &mut self, bytes: Vec<u8>, - object_mapping: BlockObjectMapping, + object_mapping: BlockObjectMapping, incremental: bool ) -> Vec<NewArchivedSegment>

Adds new block to internal buffer, potentially producing pieces and segment header headers.

Incremental archiving can be enabled if amortized block addition cost is preferred over diff --git a/subspace_archiving/archiver/struct.NewArchivedSegment.html b/subspace_archiving/archiver/struct.NewArchivedSegment.html index 09a4571109..4410102c15 100644 --- a/subspace_archiving/archiver/struct.NewArchivedSegment.html +++ b/subspace_archiving/archiver/struct.NewArchivedSegment.html @@ -1,12 +1,12 @@ NewArchivedSegment in subspace_archiving::archiver - Rust

pub struct NewArchivedSegment {
-    pub segment_header: SegmentHeader,
-    pub pieces: ArchivedHistorySegment,
-    pub object_mapping: Vec<PieceObjectMapping>,
+    pub segment_header: SegmentHeader,
+    pub pieces: ArchivedHistorySegment,
+    pub object_mapping: Vec<PieceObjectMapping>,
 }
Expand description

Newly archived segment as a combination of segment header hash, segment index and corresponding archived history segment containing pieces

-

Fields§

§segment_header: SegmentHeader

Segment header

-
§pieces: ArchivedHistorySegment

Segment of archived history containing pieces

-
§object_mapping: Vec<PieceObjectMapping>

Mappings for objects stored in corresponding pieces.

+

Fields§

§segment_header: SegmentHeader

Segment header

+
§pieces: ArchivedHistorySegment

Segment of archived history containing pieces

+
§object_mapping: Vec<PieceObjectMapping>

Mappings for objects stored in corresponding pieces.

NOTE: Only half (source pieces) will have corresponding mapping item in this Vec.

Trait Implementations§

source§

impl Clone for NewArchivedSegment

source§

fn clone(&self) -> NewArchivedSegment

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for NewArchivedSegment

source§

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

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

impl Decode for NewArchivedSegment

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy diff --git a/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html b/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html index 461d7c0adb..b782b9061e 100644 --- a/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html +++ b/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html @@ -1,15 +1,15 @@ PiecesReconstructor in subspace_archiving::piece_reconstructor - Rust
pub struct PiecesReconstructor { /* private fields */ }
Expand description

Reconstructor helps to retrieve blocks from archived pieces.

-

Implementations§

source§

impl PiecesReconstructor

Implementations§

source§

impl PiecesReconstructor

source

pub fn new(kzg: Kzg) -> Result<Self, ReconstructorInstantiationError>

source

pub fn reconstruct_segment( &self, - segment_pieces: &[Option<Piece>] -) -> Result<ArchivedHistorySegment, ReconstructorError>

Returns all the pieces for a segment using given set of pieces of a segment of the archived + segment_pieces: &[Option<Piece>] +) -> Result<ArchivedHistorySegment, ReconstructorError>

Returns all the pieces for a segment using given set of pieces of a segment of the archived history (any half of all pieces are required to be present, the rest will be recovered automatically due to use of erasure coding if needed).

source

pub fn reconstruct_piece( &self, - segment_pieces: &[Option<Piece>], + segment_pieces: &[Option<Piece>], piece_position: usize -) -> Result<Piece, ReconstructorError>

Returns the missing piece for a segment using given set of pieces of a segment of the archived +) -> Result<Piece, ReconstructorError>

Returns the missing piece for a segment using given set of pieces of a segment of the archived history (any half of all pieces are required to be present).

Trait Implementations§

source§

impl Clone for PiecesReconstructor

source§

fn clone(&self) -> PiecesReconstructor

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PiecesReconstructor

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

impl<T> Borrow<T> for Twhere diff --git a/subspace_archiving/reconstructor/enum.ReconstructorError.html b/subspace_archiving/reconstructor/enum.ReconstructorError.html index 1b4335b82b..67a679266a 100644 --- a/subspace_archiving/reconstructor/enum.ReconstructorError.html +++ b/subspace_archiving/reconstructor/enum.ReconstructorError.html @@ -2,13 +2,13 @@ DataShardsReconstruction(String), SegmentDecoding(Error), IncorrectSegmentOrder { - expected_segment_index: SegmentIndex, - actual_segment_index: SegmentIndex, + expected_segment_index: SegmentIndex, + actual_segment_index: SegmentIndex, }, }
Expand description

Reconstructor-related instantiation error

Variants§

§

DataShardsReconstruction(String)

Error during data shards reconstruction

§

SegmentDecoding(Error)

Segment size is not bigger than record size

-
§

IncorrectSegmentOrder

Fields

§expected_segment_index: SegmentIndex
§actual_segment_index: SegmentIndex

Incorrect segment order, each next segment must have monotonically increasing segment index

+
§

IncorrectSegmentOrder

Fields

§expected_segment_index: SegmentIndex
§actual_segment_index: SegmentIndex

Incorrect segment order, each next segment must have monotonically increasing segment index

Trait Implementations§

source§

impl Clone for ReconstructorError

source§

fn clone(&self) -> ReconstructorError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ReconstructorError

source§

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

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

impl Display for ReconstructorError

source§

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

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

impl Error for ReconstructorError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq<ReconstructorError> for ReconstructorError

source§

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

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

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

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

impl StructuralPartialEq for ReconstructorError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/subspace_archiving/reconstructor/struct.ReconstructedContents.html b/subspace_archiving/reconstructor/struct.ReconstructedContents.html index 141e516043..809e6d0f3d 100644 --- a/subspace_archiving/reconstructor/struct.ReconstructedContents.html +++ b/subspace_archiving/reconstructor/struct.ReconstructedContents.html @@ -1,10 +1,10 @@ ReconstructedContents in subspace_archiving::reconstructor - Rust
pub struct ReconstructedContents {
-    pub segment_header: Option<SegmentHeader>,
-    pub blocks: Vec<(BlockNumber, Vec<u8>)>,
+    pub segment_header: Option<SegmentHeader>,
+    pub blocks: Vec<(BlockNumber, Vec<u8>)>,
 }
Expand description

Data structure that contains information reconstructed from given segment (potentially using information from segments that were added previously)

-

Fields§

§segment_header: Option<SegmentHeader>

Segment header stored in a segment

-
§blocks: Vec<(BlockNumber, Vec<u8>)>

Reconstructed encoded blocks with their block numbers

+

Fields§

§segment_header: Option<SegmentHeader>

Segment header stored in a segment

+
§blocks: Vec<(BlockNumber, Vec<u8>)>

Reconstructed encoded blocks with their block numbers

Trait Implementations§

source§

impl Clone for ReconstructedContents

source§

fn clone(&self) -> ReconstructedContents

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ReconstructedContents

source§

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

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

impl Default for ReconstructedContents

source§

fn default() -> ReconstructedContents

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

impl PartialEq<ReconstructedContents> for ReconstructedContents

source§

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

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

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

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

impl Eq for ReconstructedContents

source§

impl StructuralEq for ReconstructedContents

source§

impl StructuralPartialEq for ReconstructedContents

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/subspace_archiving/reconstructor/struct.Reconstructor.html b/subspace_archiving/reconstructor/struct.Reconstructor.html index e17c010952..8f7a133c90 100644 --- a/subspace_archiving/reconstructor/struct.Reconstructor.html +++ b/subspace_archiving/reconstructor/struct.Reconstructor.html @@ -1,7 +1,7 @@ Reconstructor in subspace_archiving::reconstructor - Rust
pub struct Reconstructor { /* private fields */ }
Expand description

Reconstructor helps to retrieve blocks from archived pieces.

Implementations§

source§

impl Reconstructor

source

pub fn new() -> Result<Self, ReconstructorInstantiationError>

source

pub fn add_segment( &mut self, - segment_pieces: &[Option<Piece>] + segment_pieces: &[Option<Piece>] ) -> Result<ReconstructedContents, ReconstructorError>

Given a set of pieces of a segment of the archived history (any half of all pieces are required to be present, the rest will be recovered automatically due to use of erasure coding if needed), reconstructs and returns segment header and a list of encoded blocks with diff --git a/subspace_erasure_coding/struct.ErasureCoding.html b/subspace_erasure_coding/struct.ErasureCoding.html index 22933af23e..c9c8849385 100644 --- a/subspace_erasure_coding/struct.ErasureCoding.html +++ b/subspace_erasure_coding/struct.ErasureCoding.html @@ -4,28 +4,28 @@

Number of shards supported is 2^scale, half of shards are source data and the other half are parity.

source

pub fn max_shards(&self) -> usize

Max number of shards supported (both source and parity together)

-
source

pub fn extend(&self, source: &[Scalar]) -> Result<Vec<Scalar>, String>

Extend sources using erasure coding.

+
source

pub fn extend(&self, source: &[Scalar]) -> Result<Vec<Scalar>, String>

Extend sources using erasure coding.

Returns parity data.

-
source

pub fn recover(&self, shards: &[Option<Scalar>]) -> Result<Vec<Scalar>, String>

Recovery of missing shards from given shards (at least 1/2 should be Some).

+
source

pub fn recover(&self, shards: &[Option<Scalar>]) -> Result<Vec<Scalar>, String>

Recovery of missing shards from given shards (at least 1/2 should be Some).

Both in input and output source shards are interleaved with parity shards: source, parity, source, parity, …

source

pub fn recover_poly( &self, - shards: &[Option<Scalar>] -) -> Result<Polynomial, String>

Recovery of missing shards from given shards (at least 1/2 should be Some) in form of + shards: &[Option<Scalar>] +) -> Result<Polynomial, String>

Recovery of missing shards from given shards (at least 1/2 should be Some) in form of normalized polynomial (allows to not do inverse FFT afterwards if polynomial is desired).

Both in input and output source shards are interleaved with parity shards: source, parity, source, parity, …

source

pub fn recover_source( &self, - shards: &[Option<Scalar>] -) -> Result<impl ExactSizeIterator<Item = Scalar>, String>

Recovery of source shards from given shards (at least 1/2 should be Some).

+ shards: &[Option<Scalar>] +) -> Result<impl ExactSizeIterator<Item = Scalar>, String>

Recovery of source shards from given shards (at least 1/2 should be Some).

The same as ErasureCoding::recover(), but returns only source shards in form of an iterator.

source

pub fn extend_commitments( &self, - commitments: &[Commitment] -) -> Result<Vec<Commitment>, String>

Extend commitments using erasure coding.

+ commitments: &[Commitment] +) -> Result<Vec<Commitment>, String>

Extend commitments using erasure coding.

Returns both source and parity commitments interleaved.

Trait Implementations§

source§

impl Clone for ErasureCoding

source§

fn clone(&self) -> ErasureCoding

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ErasureCoding

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for ErasureCoding

§

impl Send for ErasureCoding

§

impl Sync for ErasureCoding

§

impl Unpin for ErasureCoding

§

impl UnwindSafe for ErasureCoding

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere diff --git a/subspace_farmer/all.html b/subspace_farmer/all.html index 06eecf3925..b8c23ad97c 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.PlottingError.html b/subspace_farmer/single_disk_farm/enum.PlottingError.html index 0897bc7d29..b7762b4ff7 100644 --- a/subspace_farmer/single_disk_farm/enum.PlottingError.html +++ b/subspace_farmer/single_disk_farm/enum.PlottingError.html @@ -1,4 +1,4 @@ -PlottingError in subspace_farmer::single_disk_farm - Rust

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, request: &mut Request<'a>)

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

impl From<Error> for 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§

§

impl !RefUnwindSafe for PlottingError

§

impl Send for PlottingError

§

impl Sync for PlottingError

§

impl Unpin for PlottingError

§

impl !UnwindSafe for PlottingError

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, request: &mut Request<'a>)

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

impl From<Error> for 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§

§

impl !RefUnwindSafe for PlottingError

§

impl Send for PlottingError

§

impl Sync for PlottingError

§

impl Unpin for PlottingError

§

impl !UnwindSafe for PlottingError

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/index.html b/subspace_farmer/single_disk_farm/index.html index 542034af98..781fa10483 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

source

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

Subscribe to notification about plotted sectors

+
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

-
source

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

Check the farm for corruption and repair errors (caused by disk errors or something else), +

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§

§

impl !RefUnwindSafe for SingleDiskFarm

§

impl Send for SingleDiskFarm

§

impl !Sync for SingleDiskFarm

§

impl Unpin for SingleDiskFarm

§

impl !UnwindSafe for SingleDiskFarm

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Drop for SingleDiskFarm

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for SingleDiskFarm

§

impl Send for SingleDiskFarm

§

impl !Sync for SingleDiskFarm

§

impl Unpin for SingleDiskFarm

§

impl !UnwindSafe for SingleDiskFarm

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/auditing/fn.audit_sector.html b/subspace_farmer_components/auditing/fn.audit_sector.html index 7c5f22901a..e6e4b352b6 100644 --- a/subspace_farmer_components/auditing/fn.audit_sector.html +++ b/subspace_farmer_components/auditing/fn.audit_sector.html @@ -1,8 +1,8 @@ audit_sector in subspace_farmer_components::auditing - Rust
pub fn audit_sector<'a, Sector>(
-    public_key: &'a PublicKey,
-    sector_index: SectorIndex,
-    global_challenge: &Blake3Hash,
-    solution_range: SolutionRange,
+    public_key: &'a PublicKey,
+    sector_index: SectorIndex,
+    global_challenge: &Blake3Hash,
+    solution_range: SolutionRange,
     sector: Sector,
     sector_metadata: &'a SectorMetadataChecksummed
 ) -> Option<AuditResult<'a, Sector>>where
diff --git a/subspace_farmer_components/auditing/struct.AuditResult.html b/subspace_farmer_components/auditing/struct.AuditResult.html
index 70c1e6037c..3630a0be3a 100644
--- a/subspace_farmer_components/auditing/struct.AuditResult.html
+++ b/subspace_farmer_components/auditing/struct.AuditResult.html
@@ -1,10 +1,10 @@
 AuditResult in subspace_farmer_components::auditing - Rust
pub struct AuditResult<'a, Sector>where
     Sector: 'a,{
     pub solution_candidates: SolutionCandidates<'a, Sector>,
-    pub best_solution_distance: SolutionRange,
+    pub best_solution_distance: SolutionRange,
 }
Expand description

Result of sector audit

Fields§

§solution_candidates: SolutionCandidates<'a, Sector>

Solution candidates

-
§best_solution_distance: SolutionRange

Best solution distance found

+
§best_solution_distance: SolutionRange

Best solution distance found

Trait Implementations§

source§

impl<'a, Sector> Clone for AuditResult<'a, Sector>where Sector: 'a + Clone,

source§

fn clone(&self) -> AuditResult<'a, Sector>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a, Sector> Debug for AuditResult<'a, Sector>where Sector: 'a + Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, Sector> RefUnwindSafe for AuditResult<'a, Sector>where diff --git a/subspace_farmer_components/plotting/enum.PlottingError.html b/subspace_farmer_components/plotting/enum.PlottingError.html index 4232d3c3d3..93d2fbb746 100644 --- a/subspace_farmer_components/plotting/enum.PlottingError.html +++ b/subspace_farmer_components/plotting/enum.PlottingError.html @@ -9,13 +9,13 @@ expected: usize, }, PieceNotFound { - piece_index: PieceIndex, + piece_index: PieceIndex, }, PieceRecoveryFailed { - piece_index: PieceIndex, + piece_index: PieceIndex, }, FailedToRetrievePiece { - piece_index: PieceIndex, + piece_index: PieceIndex, error: Box<dyn Error + Send + Sync + 'static>, }, }

Expand description

Plotting status

@@ -26,11 +26,11 @@
§

BadSectorMetadataOutputSize

Fields

§provided: usize

Actual size

§expected: usize

Expected size

Bad sector metadata output size

-
§

PieceNotFound

Fields

§piece_index: PieceIndex

Piece index

+
§

PieceNotFound

Fields

§piece_index: PieceIndex

Piece index

Piece not found, can’t create sector, this should never happen

-
§

PieceRecoveryFailed

Fields

§piece_index: PieceIndex

Piece index

+
§

PieceRecoveryFailed

Fields

§piece_index: PieceIndex

Piece index

Can’t recover missing piece

-
§

FailedToRetrievePiece

Fields

§piece_index: PieceIndex

Piece index

+
§

FailedToRetrievePiece

Fields

§piece_index: PieceIndex

Piece index

§error: Box<dyn Error + Send + Sync + 'static>

Lower-level error

Failed to retrieve piece

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

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/subspace_farmer_components/plotting/fn.plot_sector.html b/subspace_farmer_components/plotting/fn.plot_sector.html index b6c6094b09..76178b0e5d 100644 --- a/subspace_farmer_components/plotting/fn.plot_sector.html +++ b/subspace_farmer_components/plotting/fn.plot_sector.html @@ -1,10 +1,10 @@ plot_sector in subspace_farmer_components::plotting - Rust
pub async fn plot_sector<PG, PosTable>(
-    public_key: &PublicKey,
-    sector_index: SectorIndex,
+    public_key: &PublicKey,
+    sector_index: SectorIndex,
     piece_getter: &PG,
     piece_getter_retry_policy: PieceGetterRetryPolicy,
     farmer_protocol_info: &FarmerProtocolInfo,
-    kzg: &Kzg,
+    kzg: &Kzg,
     erasure_coding: &ErasureCoding,
     pieces_in_sector: u16,
     sector_output: &mut Vec<u8>,
diff --git a/subspace_farmer_components/plotting/struct.PlottedSector.html b/subspace_farmer_components/plotting/struct.PlottedSector.html
index 69c442f0cc..dec7bd0fa6 100644
--- a/subspace_farmer_components/plotting/struct.PlottedSector.html
+++ b/subspace_farmer_components/plotting/struct.PlottedSector.html
@@ -1,13 +1,13 @@
 PlottedSector in subspace_farmer_components::plotting - Rust
pub struct PlottedSector {
-    pub sector_id: SectorId,
-    pub sector_index: SectorIndex,
+    pub sector_id: SectorId,
+    pub sector_index: SectorIndex,
     pub sector_metadata: SectorMetadataChecksummed,
-    pub piece_indexes: Vec<PieceIndex>,
+    pub piece_indexes: Vec<PieceIndex>,
 }
Expand description

Information about sector that was plotted

-

Fields§

§sector_id: SectorId

Sector ID

-
§sector_index: SectorIndex

Sector index

+

Fields§

§sector_id: SectorId

Sector ID

+
§sector_index: SectorIndex

Sector index

§sector_metadata: SectorMetadataChecksummed

Sector metadata

-
§piece_indexes: Vec<PieceIndex>

Indexes of pieces that were plotted

+
§piece_indexes: Vec<PieceIndex>

Indexes of pieces that were plotted

Trait Implementations§

source§

impl Clone for PlottedSector

source§

fn clone(&self) -> PlottedSector

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PlottedSector

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
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 diff --git a/subspace_farmer_components/plotting/trait.PieceGetter.html b/subspace_farmer_components/plotting/trait.PieceGetter.html index 941e3c3f11..b8078219c1 100644 --- a/subspace_farmer_components/plotting/trait.PieceGetter.html +++ b/subspace_farmer_components/plotting/trait.PieceGetter.html @@ -2,30 +2,30 @@ // Required method fn get_piece<'life0, 'async_trait>( &'life0 self, - piece_index: PieceIndex, + piece_index: PieceIndex, retry_policy: PieceGetterRetryPolicy - ) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; }
Expand description

Duplicate trait for the subspace_networking::PieceReceiver. The goal of this trait is simplifying dependency graph.

Required Methods§

source

fn get_piece<'life0, 'async_trait>( &'life0 self, - piece_index: PieceIndex, + piece_index: PieceIndex, retry_policy: PieceGetterRetryPolicy -) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Implementations on Foreign Types§

source§

impl<T> PieceGetter for Arc<T>where T: PieceGetter + Send + Sync,

source§

fn get_piece<'life0, 'async_trait>( &'life0 self, - piece_index: PieceIndex, + piece_index: PieceIndex, retry_policy: PieceGetterRetryPolicy -) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl PieceGetter for ArchivedHistorySegment

source§

fn get_piece<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

impl PieceGetter for ArchivedHistorySegment

source§

fn get_piece<'life0, 'async_trait>( &'life0 self, - piece_index: PieceIndex, + piece_index: PieceIndex, _retry_policy: PieceGetterRetryPolicy -) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Option<Piece>, Box<dyn Error + Send + Sync + 'static>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

\ No newline at end of file diff --git a/subspace_farmer_components/proving/enum.ProvingError.html b/subspace_farmer_components/proving/enum.ProvingError.html index 6105c8b075..44932fd15e 100644 --- a/subspace_farmer_components/proving/enum.ProvingError.html +++ b/subspace_farmer_components/proving/enum.ProvingError.html @@ -1,11 +1,11 @@ ProvingError in subspace_farmer_components::proving - Rust
pub enum ProvingError {
     InvalidErasureCodingInstance,
     FailedToCreatePolynomialForRecord {
-        piece_offset: PieceOffset,
+        piece_offset: PieceOffset,
         error: String,
     },
     FailedToCreateChunkWitness {
-        piece_offset: PieceOffset,
+        piece_offset: PieceOffset,
         chunk_offset: u32,
         error: String,
     },
@@ -14,10 +14,10 @@
     RecordReadingError(ReadingError),
 }
Expand description

Errors that happen during proving

Variants§

§

InvalidErasureCodingInstance

Invalid erasure coding instance

-
§

FailedToCreatePolynomialForRecord

Fields

§piece_offset: PieceOffset

Piece offset

+
§

FailedToCreatePolynomialForRecord

Fields

§piece_offset: PieceOffset

Piece offset

§error: String

Lower-level error

Failed to create polynomial for record

-
§

FailedToCreateChunkWitness

Fields

§piece_offset: PieceOffset

Piece offset

+
§

FailedToCreateChunkWitness

Fields

§piece_offset: PieceOffset

Piece offset

§chunk_offset: u32

Chunk index

§error: String

Lower-level error

Failed to create chunk witness

diff --git a/subspace_farmer_components/proving/struct.SolutionCandidates.html b/subspace_farmer_components/proving/struct.SolutionCandidates.html index d4eeff4195..b40b25a559 100644 --- a/subspace_farmer_components/proving/struct.SolutionCandidates.html +++ b/subspace_farmer_components/proving/struct.SolutionCandidates.html @@ -6,13 +6,13 @@

source

pub fn into_solutions<RewardAddress, PosTable, TableGenerator>( self, reward_address: &'a RewardAddress, - kzg: &'a Kzg, + kzg: &'a Kzg, erasure_coding: &'a ErasureCoding, table_generator: TableGenerator -) -> Result<impl ProvableSolutions<Item = Result<Solution<PublicKey, RewardAddress>, ProvingError>> + 'a, ProvingError>where +) -> Result<impl ProvableSolutions<Item = Result<Solution<PublicKey, RewardAddress>, ProvingError>> + 'a, ProvingError>where RewardAddress: Copy, PosTable: Table, - TableGenerator: FnMut(&PosSeed) -> PosTable + 'a,

Trait Implementations§

source§

impl<'a, Sector> Clone for SolutionCandidates<'a, Sector>where + TableGenerator: FnMut(&PosSeed) -> PosTable + 'a,

Trait Implementations§

source§

impl<'a, Sector> Clone for SolutionCandidates<'a, Sector>where Sector: Clone + 'a,

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl<'a, Sector> Debug for SolutionCandidates<'a, Sector>where Sector: 'a + Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, Sector> RefUnwindSafe for SolutionCandidates<'a, Sector>where Sector: RefUnwindSafe,

§

impl<'a, Sector> Send for SolutionCandidates<'a, Sector>where diff --git a/subspace_farmer_components/proving/trait.ProvableSolutions.html b/subspace_farmer_components/proving/trait.ProvableSolutions.html index 1b5d144aca..32b896c1a7 100644 --- a/subspace_farmer_components/proving/trait.ProvableSolutions.html +++ b/subspace_farmer_components/proving/trait.ProvableSolutions.html @@ -1,6 +1,6 @@ ProvableSolutions in subspace_farmer_components::proving - Rust
pub trait ProvableSolutions: ExactSizeIterator {
     // Required method
-    fn best_solution_distance(&self) -> Option<SolutionRange>;
+    fn best_solution_distance(&self) -> Option<SolutionRange>;
 }
Expand description

Solutions that can be proven if necessary

-

Required Methods§

source

fn best_solution_distance(&self) -> Option<SolutionRange>

Best solution distance found, None in case iterator is empty

+

Required Methods§

source

fn best_solution_distance(&self) -> Option<SolutionRange>

Best solution distance found, None in case iterator is empty

Implementors§

\ No newline at end of file diff --git a/subspace_farmer_components/reading/enum.ReadingError.html b/subspace_farmer_components/reading/enum.ReadingError.html index 04b72a31c3..9fe8135a94 100644 --- a/subspace_farmer_components/reading/enum.ReadingError.html +++ b/subspace_farmer_components/reading/enum.ReadingError.html @@ -4,13 +4,13 @@ error: Error, }, InvalidChunk { - s_bucket: SBucket, + s_bucket: SBucket, encoded_chunk_used: bool, chunk_location: usize, error: String, }, FailedToErasureDecodeRecord { - piece_offset: PieceOffset, + piece_offset: PieceOffset, error: String, }, WrongRecordSizeAfterDecoding { @@ -26,12 +26,12 @@

Failed to read chunk.

This is an implementation bug, most likely due to mismatch between sector contents map and other farming parameters.

-
§

InvalidChunk

Fields

§s_bucket: SBucket

S-bucket

+
§

InvalidChunk

Fields

§s_bucket: SBucket

S-bucket

§encoded_chunk_used: bool

Indicates whether chunk was encoded

§chunk_location: usize

Chunk location

§error: String

Lower-level error

Invalid chunk, possible disk corruption

-
§

FailedToErasureDecodeRecord

Fields

§piece_offset: PieceOffset

Piece offset

+
§

FailedToErasureDecodeRecord

Fields

§piece_offset: PieceOffset

Piece offset

§error: String

Lower-level error

Failed to erasure-decode record

§

WrongRecordSizeAfterDecoding

Fields

§expected: usize

Expected size in bytes

diff --git a/subspace_farmer_components/reading/fn.read_piece.html b/subspace_farmer_components/reading/fn.read_piece.html index bdfcc34dca..78244ae5df 100644 --- a/subspace_farmer_components/reading/fn.read_piece.html +++ b/subspace_farmer_components/reading/fn.read_piece.html @@ -1,11 +1,11 @@ read_piece in subspace_farmer_components::reading - Rust
pub fn read_piece<PosTable, Sector>(
-    piece_offset: PieceOffset,
-    sector_id: &SectorId,
+    piece_offset: PieceOffset,
+    sector_id: &SectorId,
     sector_metadata: &SectorMetadataChecksummed,
     sector: &Sector,
     erasure_coding: &ErasureCoding,
     table_generator: &mut PosTable::Generator
-) -> Result<Piece, ReadingError>where
+) -> Result<Piece, ReadingError>where
     PosTable: Table,
     Sector: ReadAt + ?Sized,
Expand description

Read piece from sector

\ No newline at end of file diff --git a/subspace_farmer_components/reading/fn.read_sector_record_chunks.html b/subspace_farmer_components/reading/fn.read_sector_record_chunks.html index da5ae62741..b95d7ea22e 100644 --- a/subspace_farmer_components/reading/fn.read_sector_record_chunks.html +++ b/subspace_farmer_components/reading/fn.read_sector_record_chunks.html @@ -1,11 +1,11 @@ read_sector_record_chunks in subspace_farmer_components::reading - Rust
pub fn read_sector_record_chunks<PosTable, Sector>(
-    piece_offset: PieceOffset,
+    piece_offset: PieceOffset,
     pieces_in_sector: u16,
     s_bucket_offsets: &[u32; 65536],
     sector_contents_map: &SectorContentsMap,
     pos_table: &PosTable,
     sector: &Sector
-) -> Result<Box<[Option<Scalar>; 65536]>, ReadingError>where
+) -> Result<Box<[Option<Scalar>; 65536]>, ReadingError>where
     PosTable: Table,
     Sector: ReadAt + ?Sized,
Expand description

Read sector record chunks, only plotted s-buckets are returned (in decoded form)

\ No newline at end of file diff --git a/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html b/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html index 21441b3f8d..78b1c3938a 100644 --- a/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html +++ b/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html @@ -1,6 +1,6 @@ recover_extended_record_chunks in subspace_farmer_components::reading - Rust
pub fn recover_extended_record_chunks(
-    sector_record_chunks: &[Option<Scalar>; 65536],
-    piece_offset: PieceOffset,
+    sector_record_chunks: &[Option<Scalar>; 65536],
+    piece_offset: PieceOffset,
     erasure_coding: &ErasureCoding
-) -> Result<Box<[Scalar; 65536]>, ReadingError>
Expand description

Given sector record chunks recover extended record chunks (both source and parity)

+) -> Result<Box<[Scalar; 65536]>, ReadingError>
Expand description

Given sector record chunks recover extended record chunks (both source and parity)

\ No newline at end of file diff --git a/subspace_farmer_components/reading/fn.recover_source_record_chunks.html b/subspace_farmer_components/reading/fn.recover_source_record_chunks.html index f765536aaf..1277830793 100644 --- a/subspace_farmer_components/reading/fn.recover_source_record_chunks.html +++ b/subspace_farmer_components/reading/fn.recover_source_record_chunks.html @@ -1,6 +1,6 @@ recover_source_record_chunks in subspace_farmer_components::reading - Rust
pub fn recover_source_record_chunks(
-    sector_record_chunks: &[Option<Scalar>; 65536],
-    piece_offset: PieceOffset,
+    sector_record_chunks: &[Option<Scalar>; 65536],
+    piece_offset: PieceOffset,
     erasure_coding: &ErasureCoding
-) -> Result<impl ExactSizeIterator<Item = Scalar>, ReadingError>
Expand description

Given sector record chunks recover source record chunks in form of an iterator.

+) -> Result<impl ExactSizeIterator<Item = Scalar>, ReadingError>
Expand description

Given sector record chunks recover source record chunks in form of an iterator.

\ No newline at end of file diff --git a/subspace_farmer_components/reading/struct.PlotRecord.html b/subspace_farmer_components/reading/struct.PlotRecord.html index 0b04866d30..77d23630ed 100644 --- a/subspace_farmer_components/reading/struct.PlotRecord.html +++ b/subspace_farmer_components/reading/struct.PlotRecord.html @@ -1,11 +1,11 @@ PlotRecord in subspace_farmer_components::reading - Rust
pub struct PlotRecord {
-    pub scalars: Box<[Scalar; 32768]>,
-    pub commitment: RecordCommitment,
-    pub witness: RecordWitness,
+    pub scalars: Box<[Scalar; 32768]>,
+    pub commitment: RecordCommitment,
+    pub witness: RecordWitness,
 }
Expand description

Record contained in the plot

-

Fields§

§scalars: Box<[Scalar; 32768]>

Record scalars

-
§commitment: RecordCommitment

Record commitment

-
§witness: RecordWitness

Record witness

+

Fields§

§scalars: Box<[Scalar; 32768]>

Record scalars

+
§commitment: RecordCommitment

Record commitment

+
§witness: RecordWitness

Record witness

Trait Implementations§

source§

impl Clone for PlotRecord

source§

fn clone(&self) -> PlotRecord

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PlotRecord

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
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 diff --git a/subspace_farmer_components/sector/struct.SectorContentsMap.html b/subspace_farmer_components/sector/struct.SectorContentsMap.html index 91c74957c7..002ff9d572 100644 --- a/subspace_farmer_components/sector/struct.SectorContentsMap.html +++ b/subspace_farmer_components/sector/struct.SectorContentsMap.html @@ -16,7 +16,7 @@ &self, output: &mut [u8] ) -> Result<(), SectorContentsMapEncodeIntoError>

Encode internal contents into output

-
source

pub fn num_encoded_record_chunks(&self) -> &[SBucket]

Number of encoded chunks in each record

+
source

pub fn num_encoded_record_chunks(&self) -> &[SBucket]

Number of encoded chunks in each record

source

pub fn iter_record_bitfields(&self) -> &[BitArray<[u8; 8192]>]

Iterate over individual record bitfields

source

pub fn iter_record_bitfields_mut( &mut self @@ -24,14 +24,14 @@

source

pub fn s_bucket_sizes(&self) -> Box<[u16; 65536]>

Returns sizes of each s-bucket

source

pub fn iter_record_chunk_to_plot( &self, - piece_offset: PieceOffset -) -> impl Iterator<Item = (SBucket, bool, usize)> + '_

Creates an iterator of (s_bucket, encoded_chunk_used, chunk_location), where s_bucket is + piece_offset: PieceOffset +) -> impl Iterator<Item = (SBucket, bool, usize)> + '_

Creates an iterator of (s_bucket, encoded_chunk_used, chunk_location), where s_bucket is position of the chunk in the erasure coded record, encoded_chunk_used indicates whether it was encoded and chunk_location is the offset of the chunk in the plot (across all s-buckets).

source

pub fn par_iter_record_chunk_to_plot( &self, - piece_offset: PieceOffset + piece_offset: PieceOffset ) -> impl IndexedParallelIterator<Item = Option<(usize, bool)>> + '_

Creates an iterator of Option<(chunk_offset, encoded_chunk_used)>, where each entry corresponds s-bucket/position of the chunk in the erasure coded record, encoded_chunk_used indicates whether it was encoded and chunk_offset is the offset of the chunk in the @@ -40,19 +40,19 @@ all s-buckets and offsets are within corresponding s-buckets rather than the whole plot.

source

pub fn iter_s_bucket_records( &self, - s_bucket: SBucket -) -> Result<impl Iterator<Item = (PieceOffset, bool)> + '_, SectorContentsMapIterationError>

Creates an iterator of (piece_offset, encoded_chunk_used), where piece_offset + s_bucket: SBucket +) -> Result<impl Iterator<Item = (PieceOffset, bool)> + '_, SectorContentsMapIterationError>

Creates an iterator of (piece_offset, encoded_chunk_used), where piece_offset corresponds to the record to which chunk belongs and encoded_chunk_used indicates whether it was encoded.

Panics
-

Panics if s_bucket is outside of [Record::NUM_S_BUCKETS] range.

+

Panics if s_bucket is outside of Record::NUM_S_BUCKETS range.

source

pub fn iter_s_bucket_encoded_record_chunks_used( &self, - s_bucket: SBucket + s_bucket: SBucket ) -> Result<impl Iterator<Item = bool> + '_, SectorContentsMapIterationError>

Iterate over chunks of s-bucket indicating if encoded chunk is used at corresponding position

Panics
-

Panics if s_bucket is outside of [Record::NUM_S_BUCKETS] range.

+

Panics if s_bucket is outside of Record::NUM_S_BUCKETS range.

Trait Implementations§

source§

impl Clone for SectorContentsMap

source§

fn clone(&self) -> SectorContentsMap

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SectorContentsMap

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
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 diff --git a/subspace_farmer_components/sector/struct.SectorMetadata.html b/subspace_farmer_components/sector/struct.SectorMetadata.html index 6822e8d58c..f28c010784 100644 --- a/subspace_farmer_components/sector/struct.SectorMetadata.html +++ b/subspace_farmer_components/sector/struct.SectorMetadata.html @@ -1,13 +1,13 @@ SectorMetadata in subspace_farmer_components::sector - Rust
pub struct SectorMetadata {
-    pub sector_index: SectorIndex,
+    pub sector_index: SectorIndex,
     pub pieces_in_sector: u16,
     pub s_bucket_sizes: Box<[u16; 65536]>,
-    pub history_size: HistorySize,
+    pub history_size: HistorySize,
 }
Expand description

Metadata of the plotted sector

-

Fields§

§sector_index: SectorIndex

Sector index

+

Fields§

§sector_index: SectorIndex

Sector index

§pieces_in_sector: u16

Number of pieces stored in this sector

§s_bucket_sizes: Box<[u16; 65536]>

S-bucket sizes in a sector

-
§history_size: HistorySize

Size of the blockchain history at time of sector creation

+
§history_size: HistorySize

Size of the blockchain history at time of sector creation

Implementations§

source§

impl SectorMetadata

source

pub fn s_bucket_offsets(&self) -> Box<[u32; 65536]>

Returns offsets of each s-bucket relatively to the beginning of the sector (in chunks)

Trait Implementations§

source§

impl Clone for SectorMetadata

source§

fn clone(&self) -> SectorMetadata

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SectorMetadata

source§

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

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

impl Decode for SectorMetadata

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy diff --git a/subspace_farmer_components/struct.FarmerProtocolInfo.html b/subspace_farmer_components/struct.FarmerProtocolInfo.html index 266bd2a9ff..4ee1eb0365 100644 --- a/subspace_farmer_components/struct.FarmerProtocolInfo.html +++ b/subspace_farmer_components/struct.FarmerProtocolInfo.html @@ -1,15 +1,15 @@ FarmerProtocolInfo in subspace_farmer_components - Rust
pub struct FarmerProtocolInfo {
-    pub history_size: HistorySize,
+    pub history_size: HistorySize,
     pub max_pieces_in_sector: u16,
-    pub recent_segments: HistorySize,
-    pub recent_history_fraction: (HistorySize, HistorySize),
-    pub min_sector_lifetime: HistorySize,
+    pub recent_segments: HistorySize,
+    pub recent_history_fraction: (HistorySize, HistorySize),
+    pub min_sector_lifetime: HistorySize,
 }
Expand description

Information about the protocol necessary for farmer operation

-

Fields§

§history_size: HistorySize

Size of the blockchain history

+

Fields§

§history_size: HistorySize

Size of the blockchain history

§max_pieces_in_sector: u16

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

-
§recent_segments: HistorySize

Number of latest archived segments that are considered “recent history”.

-
§recent_history_fraction: (HistorySize, HistorySize)

Fraction of pieces from the “recent history” (recent_segments) in each sector.

-
§min_sector_lifetime: HistorySize

Minimum lifetime of a plotted sector, measured in archived segment

+
§recent_segments: HistorySize

Number of latest archived segments that are considered “recent history”.

+
§recent_history_fraction: (HistorySize, HistorySize)

Fraction of pieces from the “recent history” (recent_segments) in each sector.

+
§min_sector_lifetime: HistorySize

Minimum lifetime of a plotted sector, measured in archived segment

Trait Implementations§

source§

impl Clone for FarmerProtocolInfo

source§

fn clone(&self) -> FarmerProtocolInfo

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FarmerProtocolInfo

source§

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

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

impl<'de> Deserialize<'de> for FarmerProtocolInfo

source§

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

source§

fn serialize<__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 FarmerProtocolInfo

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/subspace_proof_of_space/chia/struct.ChiaQuality.html b/subspace_proof_of_space/chia/struct.ChiaQuality.html index 342af0ae3f..b2f0a77226 100644 --- a/subspace_proof_of_space/chia/struct.ChiaQuality.html +++ b/subspace_proof_of_space/chia/struct.ChiaQuality.html @@ -1,6 +1,6 @@ ChiaQuality in subspace_proof_of_space::chia - Rust
pub struct ChiaQuality<'a> { /* private fields */ }
Expand description

Abstraction that represents quality of the solution in the table.

Chia implementation.

-

Trait Implementations§

source§

impl<'a> Debug for ChiaQuality<'a>

source§

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

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

impl<'a> Quality for ChiaQuality<'a>

source§

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality
source§

fn create_proof(&self) -> PosProof

Create proof for this solution

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for ChiaQuality<'a>

§

impl<'a> Send for ChiaQuality<'a>

§

impl<'a> Sync for ChiaQuality<'a>

§

impl<'a> Unpin for ChiaQuality<'a>

§

impl<'a> UnwindSafe for ChiaQuality<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl<'a> Debug for ChiaQuality<'a>

source§

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

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

impl<'a> Quality for ChiaQuality<'a>

source§

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality
source§

fn create_proof(&self) -> PosProof

Create proof for this solution

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for ChiaQuality<'a>

§

impl<'a> Send for ChiaQuality<'a>

§

impl<'a> Sync for ChiaQuality<'a>

§

impl<'a> Unpin for ChiaQuality<'a>

§

impl<'a> UnwindSafe for ChiaQuality<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/chia/struct.ChiaTable.html b/subspace_proof_of_space/chia/struct.ChiaTable.html index e6e209c1d7..7e64f1e21a 100644 --- a/subspace_proof_of_space/chia/struct.ChiaTable.html +++ b/subspace_proof_of_space/chia/struct.ChiaTable.html @@ -1,10 +1,10 @@ ChiaTable in subspace_proof_of_space::chia - Rust
pub struct ChiaTable { /* private fields */ }
Expand description

Subspace proof of space table.

Chia implementation.

-

Trait Implementations§

source§

impl Debug for ChiaTable

source§

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

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

impl Table for ChiaTable

source§

const TABLE_TYPE: PosTableType = PosTableType::Chia

Proof of space table type
§

type Generator = ChiaTableGenerator

Instance that can be used to generate tables with better performance
§

type Quality<'a> = ChiaQuality<'a>

Abstraction that represents quality of the solution in the table
source§

fn generate(seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. Read more
source§

fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>

Try to find quality of the proof at challenge_index if proof exists
source§

fn is_proof_valid( - seed: &PosSeed, +

Trait Implementations§

source§

impl Debug for ChiaTable

source§

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

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

impl Table for ChiaTable

source§

const TABLE_TYPE: PosTableType = PosTableType::Chia

Proof of space table type
§

type Generator = ChiaTableGenerator

Instance that can be used to generate tables with better performance
§

type Quality<'a> = ChiaQuality<'a>

Abstraction that represents quality of the solution in the table
source§

fn generate(seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. Read more
source§

fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>

Try to find quality of the proof at challenge_index if proof exists
source§

fn is_proof_valid( + seed: &PosSeed, challenge_index: u32, - proof: &PosProof -) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes
source§

fn generator() -> Self::Generator

Returns a stateful table generator with better performance
source§

impl TableGenerator<ChiaTable> for ChiaTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere + proof: &PosProof +) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes
source§

fn generator() -> Self::Generator

Returns a stateful table generator with better performance
source§

impl TableGenerator<ChiaTable> for ChiaTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. 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
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html b/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html index 3fae9200de..a712a6130b 100644 --- a/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html +++ b/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html @@ -1,6 +1,6 @@ ChiaTableGenerator in subspace_proof_of_space::chia - Rust
pub struct ChiaTableGenerator { /* private fields */ }
Expand description

Subspace proof of space table generator.

Chia implementation.

-

Trait Implementations§

source§

impl Clone for ChiaTableGenerator

source§

fn clone(&self) -> ChiaTableGenerator

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChiaTableGenerator

source§

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

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

impl Default for ChiaTableGenerator

source§

fn default() -> ChiaTableGenerator

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

impl TableGenerator<ChiaTable> for ChiaTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for ChiaTableGenerator

source§

fn clone(&self) -> ChiaTableGenerator

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChiaTableGenerator

source§

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

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

impl Default for ChiaTableGenerator

source§

fn default() -> ChiaTableGenerator

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

impl TableGenerator<ChiaTable> for ChiaTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> ChiaTable

Generate new table with 32 bytes seed using parallelism. 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
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/shim/struct.ShimQuality.html b/subspace_proof_of_space/shim/struct.ShimQuality.html index 279cd475ed..eaeabf8a4d 100644 --- a/subspace_proof_of_space/shim/struct.ShimQuality.html +++ b/subspace_proof_of_space/shim/struct.ShimQuality.html @@ -1,6 +1,6 @@ ShimQuality in subspace_proof_of_space::shim - Rust
pub struct ShimQuality<'a> { /* private fields */ }
Expand description

Abstraction that represents quality of the solution in the table.

Shim implementation.

-

Trait Implementations§

source§

impl<'a> Debug for ShimQuality<'a>

source§

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

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

impl<'a> Quality for ShimQuality<'a>

source§

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality
source§

fn create_proof(&self) -> PosProof

Create proof for this solution

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for ShimQuality<'a>

§

impl<'a> Send for ShimQuality<'a>

§

impl<'a> Sync for ShimQuality<'a>

§

impl<'a> Unpin for ShimQuality<'a>

§

impl<'a> UnwindSafe for ShimQuality<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl<'a> Debug for ShimQuality<'a>

source§

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

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

impl<'a> Quality for ShimQuality<'a>

source§

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality
source§

fn create_proof(&self) -> PosProof

Create proof for this solution

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for ShimQuality<'a>

§

impl<'a> Send for ShimQuality<'a>

§

impl<'a> Sync for ShimQuality<'a>

§

impl<'a> Unpin for ShimQuality<'a>

§

impl<'a> UnwindSafe for ShimQuality<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/shim/struct.ShimTable.html b/subspace_proof_of_space/shim/struct.ShimTable.html index 6d30bc5f8d..8f93cdd7d3 100644 --- a/subspace_proof_of_space/shim/struct.ShimTable.html +++ b/subspace_proof_of_space/shim/struct.ShimTable.html @@ -1,10 +1,10 @@ ShimTable in subspace_proof_of_space::shim - Rust
pub struct ShimTable { /* private fields */ }
Expand description

Subspace proof of space table.

Shim implementation.

-

Trait Implementations§

source§

impl Debug for ShimTable

source§

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

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

impl Table for ShimTable

source§

const TABLE_TYPE: PosTableType = PosTableType::Shim

Proof of space table type
§

type Generator = ShimTableGenerator

Instance that can be used to generate tables with better performance
§

type Quality<'a> = ShimQuality<'a>

Abstraction that represents quality of the solution in the table
source§

fn generate(seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>

Try to find quality of the proof at challenge_index if proof exists
source§

fn is_proof_valid( - seed: &PosSeed, +

Trait Implementations§

source§

impl Debug for ShimTable

source§

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

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

impl Table for ShimTable

source§

const TABLE_TYPE: PosTableType = PosTableType::Shim

Proof of space table type
§

type Generator = ShimTableGenerator

Instance that can be used to generate tables with better performance
§

type Quality<'a> = ShimQuality<'a>

Abstraction that represents quality of the solution in the table
source§

fn generate(seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>

Try to find quality of the proof at challenge_index if proof exists
source§

fn is_proof_valid( + seed: &PosSeed, challenge_index: u32, - proof: &PosProof -) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes
source§

fn generate_parallel(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed using parallelism. Read more
source§

fn generator() -> Self::Generator

Returns a stateful table generator with better performance
source§

impl TableGenerator<ShimTable> for ShimTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere + proof: &PosProof +) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes
source§

fn generate_parallel(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed using parallelism. Read more
source§

fn generator() -> Self::Generator

Returns a stateful table generator with better performance
source§

impl TableGenerator<ShimTable> for ShimTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism. 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
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/shim/struct.ShimTableGenerator.html b/subspace_proof_of_space/shim/struct.ShimTableGenerator.html index 22dae22b69..acacc5e82d 100644 --- a/subspace_proof_of_space/shim/struct.ShimTableGenerator.html +++ b/subspace_proof_of_space/shim/struct.ShimTableGenerator.html @@ -1,6 +1,6 @@ ShimTableGenerator in subspace_proof_of_space::shim - Rust
pub struct ShimTableGenerator;
Expand description

Subspace proof of space table generator.

Shim implementation.

-

Trait Implementations§

source§

impl Clone for ShimTableGenerator

source§

fn clone(&self) -> ShimTableGenerator

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ShimTableGenerator

source§

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

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

impl Default for ShimTableGenerator

source§

fn default() -> ShimTableGenerator

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

impl TableGenerator<ShimTable> for ShimTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for ShimTableGenerator

source§

fn clone(&self) -> ShimTableGenerator

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ShimTableGenerator

source§

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

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

impl Default for ShimTableGenerator

source§

fn default() -> ShimTableGenerator

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

impl TableGenerator<ShimTable> for ShimTableGenerator

source§

fn generate(&mut self, seed: &PosSeed) -> ShimTable

Generate new table with 32 bytes seed. Read more
source§

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism. 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
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/trait.Quality.html b/subspace_proof_of_space/trait.Quality.html index cec63f2b9c..d143188883 100644 --- a/subspace_proof_of_space/trait.Quality.html +++ b/subspace_proof_of_space/trait.Quality.html @@ -1,8 +1,8 @@ Quality in subspace_proof_of_space - Rust
pub trait Quality {
     // Required methods
-    fn to_bytes(&self) -> PosQualityBytes;
-    fn create_proof(&self) -> PosProof;
+    fn to_bytes(&self) -> PosQualityBytes;
+    fn create_proof(&self) -> PosProof;
 }
Expand description

Abstraction that represents quality of the solution in the table

-

Required Methods§

source

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality

-
source

fn create_proof(&self) -> PosProof

Create proof for this solution

+

Required Methods§

source

fn to_bytes(&self) -> PosQualityBytes

Get underlying bytes representation of the quality

+
source

fn create_proof(&self) -> PosProof

Create proof for this solution

Implementors§

source§

impl<'a> Quality for ChiaQuality<'a>

source§

impl<'a> Quality for ShimQuality<'a>

\ No newline at end of file diff --git a/subspace_proof_of_space/trait.Table.html b/subspace_proof_of_space/trait.Table.html index 730931f107..4761e39226 100644 --- a/subspace_proof_of_space/trait.Table.html +++ b/subspace_proof_of_space/trait.Table.html @@ -6,16 +6,16 @@ const TABLE_TYPE: PosTableType; // Required methods - fn generate(seed: &PosSeed) -> Self; + fn generate(seed: &PosSeed) -> Self; fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>; fn is_proof_valid( - seed: &PosSeed, + seed: &PosSeed, challenge_index: u32, - proof: &PosProof - ) -> Option<PosQualityBytes>; + proof: &PosProof + ) -> Option<PosQualityBytes>; // Provided methods - fn generate_parallel(seed: &PosSeed) -> Self { ... } + fn generate_parallel(seed: &PosSeed) -> Self { ... } fn generator() -> Self::Generator { ... } }
Expand description

Proof of space kind

Required Associated Types§

source

type Generator: TableGenerator<Self>

Instance that can be used to generate tables with better performance

@@ -23,15 +23,15 @@ where Self: 'a

Abstraction that represents quality of the solution in the table

Required Associated Constants§

source

const TABLE_TYPE: PosTableType

Proof of space table type

-

Required Methods§

source

fn generate(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed.

+

Required Methods§

source

fn generate(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed.

There is also Self::generate_parallel() that can achieve lower latency.

source

fn find_quality(&self, challenge_index: u32) -> Option<Self::Quality<'_>>

Try to find quality of the proof at challenge_index if proof exists

source

fn is_proof_valid( - seed: &PosSeed, + seed: &PosSeed, challenge_index: u32, - proof: &PosProof -) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes

-

Provided Methods§

source

fn generate_parallel(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed using parallelism.

+ proof: &PosProof +) -> Option<PosQualityBytes>

Check whether proof created earlier is valid and return quality bytes if yes

+

Provided Methods§

source

fn generate_parallel(seed: &PosSeed) -> Self

Generate new table with 32 bytes seed using parallelism.

This implementation will trade efficiency of CPU and memory usage for lower latency, prefer Self::generate() unless lower latency is critical.

source

fn generator() -> Self::Generator

Returns a stateful table generator with better performance

diff --git a/subspace_proof_of_space/trait.TableGenerator.html b/subspace_proof_of_space/trait.TableGenerator.html index c48b52467b..3ad9e5aab6 100644 --- a/subspace_proof_of_space/trait.TableGenerator.html +++ b/subspace_proof_of_space/trait.TableGenerator.html @@ -1,13 +1,13 @@ TableGenerator in subspace_proof_of_space - Rust
pub trait TableGenerator<T: Table>: Debug + Default + Clone + Send + Sized + 'static {
     // Required method
-    fn generate(&mut self, seed: &PosSeed) -> T;
+    fn generate(&mut self, seed: &PosSeed) -> T;
 
     // Provided method
-    fn generate_parallel(&mut self, seed: &PosSeed) -> T { ... }
+    fn generate_parallel(&mut self, seed: &PosSeed) -> T { ... }
 }
Expand description

Stateful table generator with better performance

-

Required Methods§

source

fn generate(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed.

+

Required Methods§

source

fn generate(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed.

There is also Self::generate_parallel() that can achieve lower latency.

-

Provided Methods§

source

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism.

+

Provided Methods§

source

fn generate_parallel(&mut self, seed: &PosSeed) -> T

Generate new table with 32 bytes seed using parallelism.

This implementation will trade efficiency of CPU and memory usage for lower latency, prefer Self::generate() unless lower latency is critical.

Implementors§

\ No newline at end of file diff --git a/subspace_proof_of_time/fn.prove.html b/subspace_proof_of_time/fn.prove.html index 1a7a46339a..a45bd982b4 100644 --- a/subspace_proof_of_time/fn.prove.html +++ b/subspace_proof_of_time/fn.prove.html @@ -1,6 +1,6 @@ prove in subspace_proof_of_time - Rust
pub fn prove(
-    seed: PotSeed,
+    seed: PotSeed,
     iterations: NonZeroU32
-) -> Result<PotCheckpoints, PotError>
Expand description

Run PoT proving and produce checkpoints.

+) -> Result<PotCheckpoints, PotError>
Expand description

Run PoT proving and produce checkpoints.

Returns error if iterations is not a multiple of checkpoints times two.

\ No newline at end of file diff --git a/subspace_proof_of_time/fn.verify.html b/subspace_proof_of_time/fn.verify.html index e7c17e704b..0b691bbf20 100644 --- a/subspace_proof_of_time/fn.verify.html +++ b/subspace_proof_of_time/fn.verify.html @@ -1,7 +1,7 @@ verify in subspace_proof_of_time - Rust
pub fn verify(
-    seed: PotSeed,
+    seed: PotSeed,
     iterations: NonZeroU32,
-    checkpoints: &[PotOutput]
+    checkpoints: &[PotOutput]
 ) -> Result<bool, PotError>
Expand description

Verify checkpoint, number of iterations is set across uniformly distributed checkpoints.

Returns error if iterations is not a multiple of checkpoints times two.

\ No newline at end of file diff --git a/subspace_verification/enum.Error.html b/subspace_verification/enum.Error.html index 9a3ef18717..dbf1671bc9 100644 --- a/subspace_verification/enum.Error.html +++ b/subspace_verification/enum.Error.html @@ -4,13 +4,13 @@ max_pieces_in_sector: u16, }, SectorExpired { - expiration_history_size: HistorySize, - current_history_size: HistorySize, + expiration_history_size: HistorySize, + current_history_size: HistorySize, }, InvalidPiece, OutsideSolutionRange { - half_solution_range: SolutionRange, - solution_distance: SolutionRange, + half_solution_range: SolutionRange, + solution_distance: SolutionRange, }, InvalidProofOfSpace, InvalidAuditChunkOffset, @@ -20,12 +20,12 @@

Variants§

§

InvalidPieceOffset

Fields

§piece_offset: u16

Index of the piece that failed verification

§max_pieces_in_sector: u16

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

Invalid piece offset

-
§

SectorExpired

Fields

§expiration_history_size: HistorySize

Expiration history size

-
§current_history_size: HistorySize

Current history size

+
§

SectorExpired

Fields

§expiration_history_size: HistorySize

Expiration history size

+
§current_history_size: HistorySize

Current history size

Sector expired

§

InvalidPiece

Piece verification failed

-
§

OutsideSolutionRange

Fields

§half_solution_range: SolutionRange

Half of solution range

-
§solution_distance: SolutionRange

Solution distance

+
§

OutsideSolutionRange

Fields

§half_solution_range: SolutionRange

Half of solution range

+
§solution_distance: SolutionRange

Solution distance

Solution is outside of challenge range

§

InvalidProofOfSpace

Invalid proof of space

§

InvalidAuditChunkOffset

Invalid audit chunk offset

diff --git a/subspace_verification/fn.calculate_block_weight.html b/subspace_verification/fn.calculate_block_weight.html index 2b436d1b2e..f5e3e728ac 100644 --- a/subspace_verification/fn.calculate_block_weight.html +++ b/subspace_verification/fn.calculate_block_weight.html @@ -1,2 +1,2 @@ -calculate_block_weight in subspace_verification - Rust
pub fn calculate_block_weight(solution_range: SolutionRange) -> BlockWeight
Expand description

Calculate weight derived from provided solution range

+calculate_block_weight in subspace_verification - Rust
pub fn calculate_block_weight(solution_range: SolutionRange) -> BlockWeight
Expand description

Calculate weight derived from provided solution range

\ No newline at end of file diff --git a/subspace_verification/fn.check_reward_signature.html b/subspace_verification/fn.check_reward_signature.html index b59074ca81..12e3ff3549 100644 --- a/subspace_verification/fn.check_reward_signature.html +++ b/subspace_verification/fn.check_reward_signature.html @@ -1,7 +1,7 @@ check_reward_signature in subspace_verification - Rust
pub fn check_reward_signature(
     hash: &[u8],
-    signature: &RewardSignature,
-    public_key: &PublicKey,
+    signature: &RewardSignature,
+    public_key: &PublicKey,
     reward_signing_context: &SigningContext
 ) -> Result<(), SignatureError>
Expand description

Check the reward signature validity.

\ No newline at end of file diff --git a/subspace_verification/fn.derive_next_solution_range.html b/subspace_verification/fn.derive_next_solution_range.html index 5001589ee8..6cf7ee82b5 100644 --- a/subspace_verification/fn.derive_next_solution_range.html +++ b/subspace_verification/fn.derive_next_solution_range.html @@ -1,8 +1,8 @@ derive_next_solution_range in subspace_verification - Rust
pub fn derive_next_solution_range(
-    start_slot: SlotNumber,
-    current_slot: SlotNumber,
+    start_slot: SlotNumber,
+    current_slot: SlotNumber,
     slot_probability: (u64, u64),
-    current_solution_range: SolutionRange,
-    era_duration: BlockNumber
+    current_solution_range: SolutionRange,
+    era_duration: BlockNumber
 ) -> u64
Expand description

Derives next solution range based on the total era slots and slot probability

\ No newline at end of file diff --git a/subspace_verification/fn.derive_pot_entropy.html b/subspace_verification/fn.derive_pot_entropy.html index 48095c8714..fa579f7633 100644 --- a/subspace_verification/fn.derive_pot_entropy.html +++ b/subspace_verification/fn.derive_pot_entropy.html @@ -1,2 +1,2 @@ -derive_pot_entropy in subspace_verification - Rust
pub fn derive_pot_entropy(chunk: Scalar, proof_of_time: PotOutput) -> Blake3Hash
Expand description

Derive proof of time entropy from chunk and proof of time for injection purposes.

+derive_pot_entropy in subspace_verification - Rust
pub fn derive_pot_entropy(chunk: Scalar, proof_of_time: PotOutput) -> Blake3Hash
Expand description

Derive proof of time entropy from chunk and proof of time for injection purposes.

\ No newline at end of file diff --git a/subspace_verification/fn.is_within_solution_range.html b/subspace_verification/fn.is_within_solution_range.html index df58c24553..0a4f75e087 100644 --- a/subspace_verification/fn.is_within_solution_range.html +++ b/subspace_verification/fn.is_within_solution_range.html @@ -1,8 +1,8 @@ is_within_solution_range in subspace_verification - Rust
pub fn is_within_solution_range(
-    global_challenge: &Blake3Hash,
-    audit_chunk: SolutionRange,
-    sector_slot_challenge: &SectorSlotChallenge,
-    solution_range: SolutionRange
-) -> Option<SolutionRange>
Expand description

Returns Some(solution_distance) if solution distance is within the solution range for provided + global_challenge: &Blake3Hash, + audit_chunk: SolutionRange, + sector_slot_challenge: &SectorSlotChallenge, + solution_range: SolutionRange +) -> Option<SolutionRange>

Expand description

Returns Some(solution_distance) if solution distance is within the solution range for provided parameters.

\ No newline at end of file diff --git a/subspace_verification/fn.verify_solution.html b/subspace_verification/fn.verify_solution.html index ba06e5be7d..48e283af64 100644 --- a/subspace_verification/fn.verify_solution.html +++ b/subspace_verification/fn.verify_solution.html @@ -1,10 +1,10 @@ verify_solution in subspace_verification - Rust
pub fn verify_solution<'a, PosTable, FarmerPublicKey, RewardAddress>(
-    solution: &'a Solution<FarmerPublicKey, RewardAddress>,
-    slot: SlotNumber,
+    solution: &'a Solution<FarmerPublicKey, RewardAddress>,
+    slot: SlotNumber,
     params: &'a VerifySolutionParams,
-    kzg: &'a Kzg
-) -> Result<SolutionRange, Error>where
+    kzg: &'a Kzg
+) -> Result<SolutionRange, Error>where
     PosTable: Table,
-    PublicKey: From<&'a FarmerPublicKey>,
Expand description

Verify whether solution is valid, returns solution distance that is <= solution_range/2 on + PublicKey: From<&'a FarmerPublicKey>,

Expand description

Verify whether solution is valid, returns solution distance that is <= solution_range/2 on success.

\ No newline at end of file diff --git a/subspace_verification/struct.PieceCheckParams.html b/subspace_verification/struct.PieceCheckParams.html index 461cffdb29..39501b5f1b 100644 --- a/subspace_verification/struct.PieceCheckParams.html +++ b/subspace_verification/struct.PieceCheckParams.html @@ -1,19 +1,19 @@ PieceCheckParams in subspace_verification - Rust
pub struct PieceCheckParams {
     pub max_pieces_in_sector: u16,
-    pub segment_commitment: SegmentCommitment,
-    pub recent_segments: HistorySize,
-    pub recent_history_fraction: (HistorySize, HistorySize),
-    pub min_sector_lifetime: HistorySize,
-    pub current_history_size: HistorySize,
-    pub sector_expiration_check_segment_commitment: Option<SegmentCommitment>,
+    pub segment_commitment: SegmentCommitment,
+    pub recent_segments: HistorySize,
+    pub recent_history_fraction: (HistorySize, HistorySize),
+    pub min_sector_lifetime: HistorySize,
+    pub current_history_size: HistorySize,
+    pub sector_expiration_check_segment_commitment: Option<SegmentCommitment>,
 }
Expand description

Parameters for checking piece validity

Fields§

§max_pieces_in_sector: u16

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

-
§segment_commitment: SegmentCommitment

Segment commitment of segment to which piece belongs

-
§recent_segments: HistorySize

Number of latest archived segments that are considered “recent history”

-
§recent_history_fraction: (HistorySize, HistorySize)

Fraction of pieces from the “recent history” (recent_segments) in each sector

-
§min_sector_lifetime: HistorySize

Minimum lifetime of a plotted sector, measured in archived segment

-
§current_history_size: HistorySize

Current size of the history

-
§sector_expiration_check_segment_commitment: Option<SegmentCommitment>

Segment commitment at min_sector_lifetime from sector creation (if exists)

+
§segment_commitment: SegmentCommitment

Segment commitment of segment to which piece belongs

+
§recent_segments: HistorySize

Number of latest archived segments that are considered “recent history”

+
§recent_history_fraction: (HistorySize, HistorySize)

Fraction of pieces from the “recent history” (recent_segments) in each sector

+
§min_sector_lifetime: HistorySize

Minimum lifetime of a plotted sector, measured in archived segment

+
§current_history_size: HistorySize

Current size of the history

+
§sector_expiration_check_segment_commitment: Option<SegmentCommitment>

Segment commitment at min_sector_lifetime from sector creation (if exists)

Trait Implementations§

source§

impl Clone for PieceCheckParams

source§

fn clone(&self) -> PieceCheckParams

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PieceCheckParams

source§

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

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

impl Decode for PieceCheckParams

source§

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

Attempt to deserialise the value from input.
§

fn decode_into<I>( diff --git a/subspace_verification/struct.VerifySolutionParams.html b/subspace_verification/struct.VerifySolutionParams.html index bf86e0ff7c..3c900cc4d2 100644 --- a/subspace_verification/struct.VerifySolutionParams.html +++ b/subspace_verification/struct.VerifySolutionParams.html @@ -1,10 +1,10 @@ VerifySolutionParams in subspace_verification - Rust
pub struct VerifySolutionParams {
-    pub proof_of_time: PotOutput,
-    pub solution_range: SolutionRange,
+    pub proof_of_time: PotOutput,
+    pub solution_range: SolutionRange,
     pub piece_check_params: Option<PieceCheckParams>,
 }
Expand description

Parameters for solution verification

-

Fields§

§proof_of_time: PotOutput

Proof of time for which solution is built

-
§solution_range: SolutionRange

Solution range

+

Fields§

§proof_of_time: PotOutput

Proof of time for which solution is built

+
§solution_range: SolutionRange

Solution range

§piece_check_params: Option<PieceCheckParams>

Parameters for checking piece validity.

If None, piece validity check will be skipped.

Trait Implementations§

source§

impl Clone for VerifySolutionParams

source§

fn clone(&self) -> VerifySolutionParams

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VerifySolutionParams

source§

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

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

impl Decode for VerifySolutionParams

source§

fn decode<__CodecInputEdqy: Input>(