From 25956dcedc033f77e01632a75e0bcbe084cbfc2d Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Wed, 13 Dec 2023 15:30:27 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20subspace?= =?UTF-8?q?/subspace@bc81cca508e7e1b03500527f7fcf16fc612cd968=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/struct.DomainNodeBuilder.html | 2 +- implementors/core/convert/trait.From.js | 2 +- implementors/core/marker/trait.Sync.js | 2 +- .../archiver/fn.create_subspace_archiver.html | 2 +- .../archiver/fn.recreate_genesis_segment.html | 2 +- sc_proof_of_time/source/gossip/index.html | 2 +- .../source/gossip/struct.PotGossipWorker.html | 6 +- .../fn.build_consensus_relay.html | 2 +- src/sc_proof_of_time/source/gossip.rs.html | 86 +++++++++++++++---- .../plotting/fn.encode_sector.html | 2 +- .../plotting/fn.plot_sector.html | 2 +- .../plotting/struct.EncodeSectorOptions.html | 12 +-- .../plotting/struct.PlotSectorOptions.html | 12 +-- .../proving/struct.SolutionCandidates.html | 4 +- .../reading/fn.read_piece.html | 6 +- .../reading/fn.read_sector_record_chunks.html | 2 +- .../fn.recover_extended_record_chunks.html | 2 +- .../fn.recover_source_record_chunks.html | 2 +- subspace_service/enum.Error.html | 6 +- subspace_verification/fn.verify_solution.html | 2 +- 20 files changed, 104 insertions(+), 54 deletions(-) diff --git a/domain_test_service/domain/struct.DomainNodeBuilder.html b/domain_test_service/domain/struct.DomainNodeBuilder.html index aaa055fd7c..54b02d4220 100644 --- a/domain_test_service/domain/struct.DomainNodeBuilder.html +++ b/domain_test_service/domain/struct.DomainNodeBuilder.html @@ -13,7 +13,7 @@ self, role: Role, domain_id: DomainId, - mock_consensus_node: &mut MockConsensusNode + mock_consensus_node: &mut MockConsensusNode ) -> EvmDomainNode

Build a evm domain node

Auto Trait Implementations§

§

impl !RefUnwindSafe for DomainNodeBuilder

§

impl Send for DomainNodeBuilder

§

impl Sync for DomainNodeBuilder

§

impl Unpin for DomainNodeBuilder

§

impl !UnwindSafe for DomainNodeBuilder

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index b1744af32a..c4216a7e11 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -27,6 +27,6 @@ "subspace_farmer_components":[["impl From<Error> for ProvingError"],["impl From<AcquireError> for PlottingError"],["impl From<SectorMetadata> for SectorMetadataChecksummed"],["impl From<Box<[u8], Global>> for AsyncReadBytes<Box<[u8]>>"],["impl From<SectorContentsMapFromBytesError> for ReadingError"],["impl From<Error> for ReadingError"],["impl From<SectorContentsMapFromBytesError> for ProvingError"],["impl From<Vec<u8, Global>> for AsyncReadBytes<Vec<u8>>"],["impl From<ReadingError> for ProvingError"]], "subspace_networking":[["impl From<Canceled> for GetClosestPeersError"],["impl From<SubscriptionError> for SubscribeError"],["impl From<KeyWrapper<PieceIndex>> for RecordKey"],["impl From<Error> for KnownPeersManagerPersistenceError"],["impl From<Error> for SendRequestError"],["impl From<SendError> for SendRequestError"],["impl From<Canceled> for SendRequestError"],["impl From<SendError> for SubscribeError"],["impl From<Canceled> for SubscribeError"],["impl From<SendError> for GetClosestPeersError"],["impl From<Error> for CreationError"],["impl From<MultihashCode> for u64"],["impl From<TransportError<Error>> for CreationError"]], "subspace_runtime":[["impl From<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime, ()>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<OriginCaller> for RuntimeOrigin"],["impl From<Event> for RuntimeEvent"],["impl From<Option<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<Error<Runtime, ()>> for RuntimeError"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for OriginCaller"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<RuntimeOrigin> for Result<Origin<Runtime>, RuntimeOrigin>"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"]], -"subspace_service":[["impl From<Error> for Error"],["impl From<KnownPeersManagerPersistenceError> for DsnConfigurationError"],["impl From<DsnConfigurationError> for Error"],["impl From<BlockRelayConfigurationError> for Error"],["impl From<CreationError> for DsnConfigurationError"],["impl From<Error> for Error"],["impl From<AddrParseError> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"]], +"subspace_service":[["impl From<Error> for Error"],["impl From<KnownPeersManagerPersistenceError> for DsnConfigurationError"],["impl From<DsnConfigurationError> for Error"],["impl From<BlockRelayConfigurationError> for Error"],["impl From<CreationError> for DsnConfigurationError"],["impl From<Error> for Error"],["impl From<AddrParseError> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"]], "subspace_test_runtime":[["impl From<Event> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Option<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for RuntimeOrigin"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime, ()>> for RuntimeError"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime, ()>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"],["impl From<RawOrigin<<Runtime as Config>::AccountId>> for OriginCaller"],["impl From<Event<Runtime>> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<Event> for RuntimeEvent"],["impl From<Error<Runtime>> for RuntimeError"],["impl From<RuntimeOrigin> for Result<Origin<Runtime>, RuntimeOrigin>"],["impl From<OriginCaller> for RuntimeOrigin"],["impl From<<Pallet<Runtime> as Callable<Runtime>>::RuntimeCall> for RuntimeCall"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 5f050f3532..ace08e3e35 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -41,7 +41,7 @@ "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 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 RayonFiles",1,["subspace_farmer::single_disk_farm::farming::rayon_files::RayonFiles"]],["impl Sync for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl<'a, PosTable> Sync for PlotAuditOptions<'a, PosTable>",1,["subspace_farmer::single_disk_farm::farming::PlotAuditOptions"]],["impl<Plot> Sync for PlotAudit<Plot>",1,["subspace_farmer::single_disk_farm::farming::PlotAudit"]],["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 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"]],["impl Sync for Ss58ParsingError",1,["subspace_farmer::utils::ss58::Ss58ParsingError"]],["impl<T> Sync for AsyncJoinOnDrop<T>where\n T: Send,",1,["subspace_farmer::utils::AsyncJoinOnDrop"]]], -"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<'a, PosTable, PG> Sync for PlotSectorOptions<'a, PosTable, PG>where\n PG: Sync,\n <PosTable as Table>::Generator: Sync,",1,["subspace_farmer_components::plotting::PlotSectorOptions"]],["impl Sync for DownloadedSector",1,["subspace_farmer_components::plotting::DownloadedSector"]],["impl<'a, PG> Sync for DownloadSectorOptions<'a, PG>where\n PG: Sync,",1,["subspace_farmer_components::plotting::DownloadSectorOptions"]],["impl<'a, PosTable> Sync for EncodeSectorOptions<'a, PosTable>where\n <PosTable as Table>::Generator: Sync,",1,["subspace_farmer_components::plotting::EncodeSectorOptions"]],["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<S, A> Sync for ReadAt<S, A>where\n A: Sync,",1,["subspace_farmer_components::ReadAt"]],["impl<B> Sync for AsyncReadBytes<B>where\n B: Sync,",1,["subspace_farmer_components::AsyncReadBytes"]],["impl<'a, T> Sync for ReadAtOffset<'a, T>where\n T: Sync,",1,["subspace_farmer_components::ReadAtOffset"]],["impl Sync for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], +"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<'a, PosTable, PG> Sync for PlotSectorOptions<'a, PosTable, PG>where\n PG: Sync,\n <PosTable as Table>::Generator: Sync,",1,["subspace_farmer_components::plotting::PlotSectorOptions"]],["impl Sync for DownloadedSector",1,["subspace_farmer_components::plotting::DownloadedSector"]],["impl<'a, PG> Sync for DownloadSectorOptions<'a, PG>where\n PG: Sync,",1,["subspace_farmer_components::plotting::DownloadSectorOptions"]],["impl<'a, PosTable> Sync for EncodeSectorOptions<'a, PosTable>where\n <PosTable as Table>::Generator: Sync,",1,["subspace_farmer_components::plotting::EncodeSectorOptions"]],["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<S, A> Sync for ReadAt<S, A>where\n A: Sync,",1,["subspace_farmer_components::ReadAt"]],["impl<B> Sync for AsyncReadBytes<B>where\n B: Sync,",1,["subspace_farmer_components::AsyncReadBytes"]],["impl<'a, T> Sync for ReadAtOffset<'a, T>where\n T: Sync,",1,["subspace_farmer_components::ReadAtOffset"]],["impl Sync for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_metrics":[["impl Sync for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl Sync for metrics",1,["subspace_metrics::metrics"]]], "subspace_networking":[["impl Sync for PeerAddressRemovedEvent",1,["subspace_networking::behavior::persistent_parameters::PeerAddressRemovedEvent"]],["impl Sync for KnownPeersManagerConfig",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManagerConfig"]],["impl Sync for KnownPeersManagerPersistenceError",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManagerPersistenceError"]],["impl Sync for KnownPeersManager",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManager"]],["impl Sync for KademliaMode",1,["subspace_networking::constructor::KademliaMode"]],["impl<LocalRecordProvider> !Sync for Config<LocalRecordProvider>",1,["subspace_networking::constructor::Config"]],["impl Sync for CreationError",1,["subspace_networking::constructor::CreationError"]],["impl Sync for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl Sync for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl Sync for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl Sync for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl Sync for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !Sync for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl Sync for Config",1,["subspace_networking::protocols::peer_info::handler::Config"]],["impl Sync for Notification",1,["subspace_networking::protocols::peer_info::Notification"]],["impl Sync for PeerInfo",1,["subspace_networking::protocols::peer_info::PeerInfo"]],["impl Sync for PeerInfoProvider",1,["subspace_networking::protocols::peer_info::PeerInfoProvider"]],["impl<Request> Sync for GenericRequestHandler<Request>",1,["subspace_networking::protocols::request_response::handlers::generic_request_handler::GenericRequestHandler"]],["impl Sync for PieceByIndexRequest",1,["subspace_networking::protocols::request_response::handlers::piece_by_index::PieceByIndexRequest"]],["impl Sync for PieceByIndexResponse",1,["subspace_networking::protocols::request_response::handlers::piece_by_index::PieceByIndexResponse"]],["impl Sync for SegmentHeaderRequest",1,["subspace_networking::protocols::request_response::handlers::segment_header::SegmentHeaderRequest"]],["impl Sync for SegmentHeaderResponse",1,["subspace_networking::protocols::request_response::handlers::segment_header::SegmentHeaderResponse"]],["impl Sync for PeerDiscovered",1,["subspace_networking::shared::PeerDiscovered"]],["impl Sync for NewPeerInfo",1,["subspace_networking::shared::NewPeerInfo"]],["impl Sync for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl Sync for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl Sync for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> Sync for PieceProvider<PV>where\n PV: Sync,",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> Sync for KeyWrapper<T>where\n T: Sync,",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> Sync for UniqueRecordBinaryHeap<K>where\n K: Sync,",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]]], "subspace_node":[["impl Sync for Subcommand",1,["subspace_node::domain::cli::Subcommand"]],["impl Sync for DomainCli",1,["subspace_node::domain::cli::DomainCli"]],["impl<CNetwork> Sync for DomainInstanceStarter<CNetwork>where\n CNetwork: Send + Sync,",1,["subspace_node::domain::domain_instance_starter::DomainInstanceStarter"]],["impl Sync for EVMDomainExecutorDispatch",1,["subspace_node::domain::EVMDomainExecutorDispatch"]],["impl Sync for ExecutorDispatch",1,["subspace_node::ExecutorDispatch"]],["impl Sync for PurgeChainCmd",1,["subspace_node::PurgeChainCmd"]],["impl Sync for Subcommand",1,["subspace_node::Subcommand"]],["impl Sync for Cli",1,["subspace_node::Cli"]]], diff --git a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html index 7914ad6368..18e5dc74cf 100644 --- a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html +++ b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html @@ -8,7 +8,7 @@ Block: BlockT, Backend: BackendT<Block>, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + LockImportRun<Block, Backend> + Finalizer<Block, Backend> + AuxStore + Send + Sync + 'static, - Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, + Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>, AS: AuxStore + Send + Sync + 'static, SO: SyncOracle + Send + Sync + 'static,
Expand description

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

Expand description

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

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

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

\ No newline at end of file diff --git a/sc_proof_of_time/source/gossip/index.html b/sc_proof_of_time/source/gossip/index.html index 4e6f52291a..e9e29f2a87 100644 --- a/sc_proof_of_time/source/gossip/index.html +++ b/sc_proof_of_time/source/gossip/index.html @@ -1,2 +1,2 @@ -sc_proof_of_time::source::gossip - Rust
Expand description

PoT gossip functionality.

+sc_proof_of_time::source::gossip - Rust
Expand description

PoT gossip functionality.

Structs

Functions

\ No newline at end of file diff --git a/sc_proof_of_time/source/gossip/struct.PotGossipWorker.html b/sc_proof_of_time/source/gossip/struct.PotGossipWorker.html index da7e71f885..d78bb6122f 100644 --- a/sc_proof_of_time/source/gossip/struct.PotGossipWorker.html +++ b/sc_proof_of_time/source/gossip/struct.PotGossipWorker.html @@ -1,7 +1,7 @@ -PotGossipWorker in sc_proof_of_time::source::gossip - Rust
pub struct PotGossipWorker<Block>where
+PotGossipWorker in sc_proof_of_time::source::gossip - Rust
pub struct PotGossipWorker<Block>where
     Block: BlockT,{ /* private fields */ }
Expand description

PoT gossip worker

-

Implementations§

source§

impl<Block> PotGossipWorker<Block>where - Block: BlockT,

source

pub async fn run(self)

Run gossip engine.

+

Implementations§

source§

impl<Block> PotGossipWorker<Block>where + Block: BlockT,

source

pub async fn run(self)

Run gossip engine.

NOTE: Even though this function is async, it might do blocking operations internally and should be running on a dedicated thread.

Auto Trait Implementations§

§

impl<Block> !RefUnwindSafe for PotGossipWorker<Block>

§

impl<Block> Send for PotGossipWorker<Block>

§

impl<Block> Sync for PotGossipWorker<Block>

§

impl<Block> Unpin for PotGossipWorker<Block>where diff --git a/sc_subspace_block_relay/fn.build_consensus_relay.html b/sc_subspace_block_relay/fn.build_consensus_relay.html index f8d9a7d690..5a65b98ee2 100644 --- a/sc_subspace_block_relay/fn.build_consensus_relay.html +++ b/sc_subspace_block_relay/fn.build_consensus_relay.html @@ -6,6 +6,6 @@ ) -> Result<BlockRelayParams<Block>, BlockRelayConfigurationError>where Block: BlockT, Client: HeaderBackend<Block> + BlockBackend<Block> + ProvideRuntimeApi<Block> + 'static, - Client::Api: SubspaceApi<Block, FarmerPublicKey>, + Client::Api: SubspaceApi<Block, FarmerPublicKey>, Pool: TransactionPool<Block = Block> + 'static,

Expand description

Sets up the relay components.

\ No newline at end of file diff --git a/src/sc_proof_of_time/source/gossip.rs.html b/src/sc_proof_of_time/source/gossip.rs.html index 5010493065..70488d2e03 100644 --- a/src/sc_proof_of_time/source/gossip.rs.html +++ b/src/sc_proof_of_time/source/gossip.rs.html @@ -632,6 +632,31 @@ 632 633 634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659
//! PoT gossip functionality.
 
 use crate::source::state::PotState;
@@ -748,6 +773,7 @@
     Block: BlockT,
 {
     engine: Arc<Mutex<GossipEngine<Block>>>,
+    network: Arc<dyn NetworkPeers + Send + Sync>,
     topic: Block::Hash,
     state: Arc<PotState>,
     pot_verifier: PotVerifier,
@@ -783,10 +809,11 @@
             sync_oracle,
             network.clone(),
         ));
-        let engine = GossipEngine::new(network, sync, GOSSIP_PROTOCOL, validator, None);
+        let engine = GossipEngine::new(network.clone(), sync, GOSSIP_PROTOCOL, validator, None);
 
         Self {
             engine: Arc::new(Mutex::new(engine)),
+            network: Arc::new(network),
             topic,
             state,
             pot_verifier,
@@ -1018,6 +1045,7 @@
         // Avoid blocking gossip for too long
         rayon::spawn({
             let engine = Arc::clone(&self.engine);
+            let network = Arc::clone(&self.network);
             let pot_verifier = self.pot_verifier.clone();
             let from_gossip_sender = self.from_gossip_sender.clone();
             let topic = self.topic;
@@ -1027,6 +1055,7 @@
                     next_slot_input,
                     potentially_matching_proofs,
                     engine,
+                    network.as_ref(),
                     &pot_verifier,
                     from_gossip_sender,
                     topic,
@@ -1037,8 +1066,9 @@
 
     fn handle_potentially_matching_proofs(
         next_slot_input: PotNextSlotInput,
-        potentially_matching_proofs: Vec<(GossipProof, Vec<PeerId>)>,
+        mut potentially_matching_proofs: Vec<(GossipProof, Vec<PeerId>)>,
         engine: Arc<Mutex<GossipEngine<Block>>>,
+        network: &dyn NetworkPeers,
         pot_verifier: &PotVerifier,
         mut from_gossip_sender: mpsc::Sender<(PeerId, GossipProof)>,
         topic: Block::Hash,
@@ -1067,23 +1097,43 @@
 
             correct_proof
         } else {
-            match subspace_proof_of_time::prove(
-                next_slot_input.seed,
-                next_slot_input.slot_iterations,
+            // This sorts from lowest reputation to highest
+            potentially_matching_proofs.sort_by_cached_key(|(_proof, peer_ids)| {
+                peer_ids
+                    .iter()
+                    .map(|peer_id| network.peer_reputation(peer_id))
+                    .max()
+            });
+            // Last proof includes peer with the highest reputation
+            let (proof, _senders) = potentially_matching_proofs
+                .last()
+                .expect("Guaranteed to be non-empty; qed");
+
+            if pot_verifier.verify_checkpoints(
+                proof.seed,
+                proof.slot_iterations,
+                &proof.checkpoints,
             ) {
-                Ok(checkpoints) => Some(GossipProof {
-                    slot: next_slot_input.slot,
-                    seed: next_slot_input.seed,
-                    slot_iterations: next_slot_input.slot_iterations,
-                    checkpoints,
-                }),
-                Err(error) => {
-                    error!(
-                        %error,
-                        slot = %next_slot_input.slot,
-                        "Failed to run proof of time, this is an implementation bug",
-                    );
-                    return;
+                Some(*proof)
+            } else {
+                match subspace_proof_of_time::prove(
+                    next_slot_input.seed,
+                    next_slot_input.slot_iterations,
+                ) {
+                    Ok(checkpoints) => Some(GossipProof {
+                        slot: next_slot_input.slot,
+                        seed: next_slot_input.seed,
+                        slot_iterations: next_slot_input.slot_iterations,
+                        checkpoints,
+                    }),
+                    Err(error) => {
+                        error!(
+                            %error,
+                            slot = %next_slot_input.slot,
+                            "Failed to run proof of time, this is an implementation bug",
+                        );
+                        return;
+                    }
                 }
             }
         };
diff --git a/subspace_farmer_components/plotting/fn.encode_sector.html b/subspace_farmer_components/plotting/fn.encode_sector.html
index c0dcf72a9a..aacf625683 100644
--- a/subspace_farmer_components/plotting/fn.encode_sector.html
+++ b/subspace_farmer_components/plotting/fn.encode_sector.html
@@ -2,4 +2,4 @@
     downloaded_sector: DownloadedSector,
     encoding_options: EncodeSectorOptions<'_, PosTable>
 ) -> Result<PlottedSector, PlottingError>where
-    PosTable: Table,
\ No newline at end of file + PosTable: Table, \ No newline at end of file diff --git a/subspace_farmer_components/plotting/fn.plot_sector.html b/subspace_farmer_components/plotting/fn.plot_sector.html index 0420d7b753..e9a7dee3e6 100644 --- a/subspace_farmer_components/plotting/fn.plot_sector.html +++ b/subspace_farmer_components/plotting/fn.plot_sector.html @@ -1,7 +1,7 @@ plot_sector in subspace_farmer_components::plotting - Rust
pub async fn plot_sector<PosTable, PG>(
     options: PlotSectorOptions<'_, PosTable, PG>
 ) -> Result<PlottedSector, PlottingError>where
-    PosTable: Table,
+    PosTable: Table,
     PG: PieceGetter,
Expand description

Plot a single sector.

This is a convenient wrapper around download_sector and encode_sector functions.

NOTE: Even though this function is async, it has blocking code inside and must be running in a diff --git a/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html b/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html index 1782dfabc6..811330a1f3 100644 --- a/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html +++ b/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html @@ -1,18 +1,18 @@ EncodeSectorOptions in subspace_farmer_components::plotting - Rust

pub struct EncodeSectorOptions<'a, PosTable>where
-    PosTable: Table,{
+    PosTable: Table,{
     pub sector_index: SectorIndex,
-    pub erasure_coding: &'a ErasureCoding,
+    pub erasure_coding: &'a ErasureCoding,
     pub pieces_in_sector: u16,
     pub sector_output: &'a mut Vec<u8>,
     pub sector_metadata_output: &'a mut Vec<u8>,
     pub encoding_semaphore: Option<&'a Semaphore>,
-    pub table_generator: &'a mut PosTable::Generator,
+    pub table_generator: &'a mut PosTable::Generator,
 }
Expand description

Options for encoding a sector.

Sector output and sector metadata output should be either empty (in which case they’ll be resized to correct size automatically) or correctly sized from the beginning or else error will be returned.

Fields§

§sector_index: SectorIndex

Sector index

-
§erasure_coding: &'a ErasureCoding

Erasure coding instance

+
§erasure_coding: &'a ErasureCoding

Erasure coding instance

§pieces_in_sector: u16

How many pieces should sector contain

§sector_output: &'a mut Vec<u8>

Where plotted sector should be written, vector must either be empty (in which case it’ll be resized to correct size automatically) or correctly sized from the beginning

@@ -20,9 +20,9 @@ it’ll be resized to correct size automatically) or correctly sized from the beginning

§encoding_semaphore: Option<&'a Semaphore>

Semaphore for part of the plotting when farmer encodes downloaded sector, should typically allow one permit at a time for efficient CPU utilization

-
§table_generator: &'a mut PosTable::Generator

Proof of space table generator

+
§table_generator: &'a mut PosTable::Generator

Proof of space table generator

Auto Trait Implementations§

§

impl<'a, PosTable> !RefUnwindSafe for EncodeSectorOptions<'a, PosTable>

§

impl<'a, PosTable> Send for EncodeSectorOptions<'a, PosTable>

§

impl<'a, PosTable> Sync for EncodeSectorOptions<'a, PosTable>where - <PosTable as Table>::Generator: Sync,

§

impl<'a, PosTable> Unpin for EncodeSectorOptions<'a, PosTable>

§

impl<'a, PosTable> !UnwindSafe for EncodeSectorOptions<'a, PosTable>

Blanket Implementations§

source§

impl<T> Any for Twhere + <PosTable as Table>::Generator: Sync,

§

impl<'a, PosTable> Unpin for EncodeSectorOptions<'a, PosTable>

§

impl<'a, PosTable> !UnwindSafe for EncodeSectorOptions<'a, PosTable>

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
§

impl<T> Conv for T

§

fn conv<T>(self) -> Twhere diff --git a/subspace_farmer_components/plotting/struct.PlotSectorOptions.html b/subspace_farmer_components/plotting/struct.PlotSectorOptions.html index 2388ee1946..97e4e9e52b 100644 --- a/subspace_farmer_components/plotting/struct.PlotSectorOptions.html +++ b/subspace_farmer_components/plotting/struct.PlotSectorOptions.html @@ -1,18 +1,18 @@ PlotSectorOptions in subspace_farmer_components::plotting - Rust
pub struct PlotSectorOptions<'a, PosTable, PG>where
-    PosTable: Table,{
Show 13 fields + PosTable: Table,{
Show 13 fields pub public_key: &'a PublicKey, pub sector_index: SectorIndex, pub piece_getter: &'a PG, pub piece_getter_retry_policy: PieceGetterRetryPolicy, pub farmer_protocol_info: FarmerProtocolInfo, pub kzg: &'a Kzg, - pub erasure_coding: &'a ErasureCoding, + pub erasure_coding: &'a ErasureCoding, pub pieces_in_sector: u16, pub sector_output: &'a mut Vec<u8>, pub sector_metadata_output: &'a mut Vec<u8>, pub downloading_semaphore: Option<Arc<Semaphore>>, pub encoding_semaphore: Option<&'a Semaphore>, - pub table_generator: &'a mut PosTable::Generator, + pub table_generator: &'a mut PosTable::Generator,
}
Expand description

Options for plotting a sector.

Sector output and sector metadata output should be either empty (in which case they’ll be resized to correct size automatically) or correctly sized from the beginning or else error will @@ -23,7 +23,7 @@

§piece_getter_retry_policy: PieceGetterRetryPolicy

Retry policy for piece getter

§farmer_protocol_info: FarmerProtocolInfo

Farmer protocol info

§kzg: &'a Kzg

KZG instance

-
§erasure_coding: &'a ErasureCoding

Erasure coding instance

+
§erasure_coding: &'a ErasureCoding

Erasure coding instance

§pieces_in_sector: u16

How many pieces should sector contain

§sector_output: &'a mut Vec<u8>

Where plotted sector should be written, vector must either be empty (in which case it’ll be resized to correct size automatically) or correctly sized from the beginning

@@ -33,11 +33,11 @@ usage of the plotting process, permit will be held until the end of the plotting process

§encoding_semaphore: Option<&'a Semaphore>

Semaphore for part of the plotting when farmer encodes downloaded sector, should typically allow one permit at a time for efficient CPU utilization

-
§table_generator: &'a mut PosTable::Generator

Proof of space table generator

+
§table_generator: &'a mut PosTable::Generator

Proof of space table generator

Auto Trait Implementations§

§

impl<'a, PosTable, PG> !RefUnwindSafe for PlotSectorOptions<'a, PosTable, PG>

§

impl<'a, PosTable, PG> Send for PlotSectorOptions<'a, PosTable, PG>where PG: Sync,

§

impl<'a, PosTable, PG> Sync for PlotSectorOptions<'a, PosTable, PG>where PG: Sync, - <PosTable as Table>::Generator: Sync,

§

impl<'a, PosTable, PG> Unpin for PlotSectorOptions<'a, PosTable, PG>

§

impl<'a, PosTable, PG> !UnwindSafe for PlotSectorOptions<'a, PosTable, PG>

Blanket Implementations§

source§

impl<T> Any for Twhere + <PosTable as Table>::Generator: Sync,

§

impl<'a, PosTable, PG> Unpin for PlotSectorOptions<'a, PosTable, PG>

§

impl<'a, PosTable, PG> !UnwindSafe for PlotSectorOptions<'a, PosTable, PG>

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
§

impl<T> Conv for T

§

fn conv<T>(self) -> Twhere diff --git a/subspace_farmer_components/proving/struct.SolutionCandidates.html b/subspace_farmer_components/proving/struct.SolutionCandidates.html index ee888d0356..81860d00ab 100644 --- a/subspace_farmer_components/proving/struct.SolutionCandidates.html +++ b/subspace_farmer_components/proving/struct.SolutionCandidates.html @@ -7,11 +7,11 @@ self, reward_address: &'a RewardAddress, kzg: &'a Kzg, - erasure_coding: &'a ErasureCoding, + erasure_coding: &'a ErasureCoding, table_generator: TableGenerator ) -> Result<impl ProvableSolutions<Item = Result<Solution<PublicKey, RewardAddress>, ProvingError>> + 'a, ProvingError>where RewardAddress: Copy, - PosTable: Table, + PosTable: Table, TableGenerator: FnMut(&PosSeed) -> PosTable + 'a,

Turn solution candidates into actual solutions

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 diff --git a/subspace_farmer_components/reading/fn.read_piece.html b/subspace_farmer_components/reading/fn.read_piece.html index 48ac5c0c63..ca211f8e2f 100644 --- a/subspace_farmer_components/reading/fn.read_piece.html +++ b/subspace_farmer_components/reading/fn.read_piece.html @@ -3,10 +3,10 @@ sector_id: &SectorId, sector_metadata: &SectorMetadataChecksummed, sector: &ReadAt<S, A>, - erasure_coding: &ErasureCoding, - table_generator: &mut PosTable::Generator + erasure_coding: &ErasureCoding, + table_generator: &mut PosTable::Generator ) -> Result<Piece, ReadingError>where - PosTable: Table, + PosTable: Table, S: ReadAtSync, A: ReadAtAsync,
Expand description

Read piece from sector.

NOTE: Even though this function is async, proof of time table generation is expensive and should 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 35cf03adb2..aa0481adc6 100644 --- a/subspace_farmer_components/reading/fn.read_sector_record_chunks.html +++ b/subspace_farmer_components/reading/fn.read_sector_record_chunks.html @@ -6,7 +6,7 @@ pos_table: &PosTable, sector: &ReadAt<S, A> ) -> Result<Box<[Option<Scalar>; 65536]>, ReadingError>where - PosTable: Table, + PosTable: Table, S: ReadAtSync, A: ReadAtAsync,

Expand description

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

NOTE: This is an async function, but it also does CPU-intensive operation internally, while it 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 fabc8838ed..a632a70556 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,
-    erasure_coding: &ErasureCoding
+    erasure_coding: &ErasureCoding
 ) -> 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 4837dbe0ed..f9801c0b99 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,
-    erasure_coding: &ErasureCoding
+    erasure_coding: &ErasureCoding
 ) -> 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_service/enum.Error.html b/subspace_service/enum.Error.html index d970952716..887747460a 100644 --- a/subspace_service/enum.Error.html +++ b/subspace_service/enum.Error.html @@ -6,7 +6,7 @@ Telemetry(Error), Prometheus(PrometheusError), SubspaceDsn(DsnConfigurationError), - BlockRelay(BlockRelayConfigurationError), + BlockRelay(BlockRelayConfigurationError), Other(Box<dyn Error + Send + Sync>), }
Expand description

Error type for Subspace service.

Variants§

§

Io(Error)

IO error.

@@ -16,9 +16,9 @@
§

Telemetry(Error)

Telemetry error.

§

Prometheus(PrometheusError)

Prometheus error.

§

SubspaceDsn(DsnConfigurationError)

Subspace networking (DSN) error.

-
§

BlockRelay(BlockRelayConfigurationError)

Failed to set up block relay.

+
§

BlockRelay(BlockRelayConfigurationError)

Failed to set up block relay.

§

Other(Box<dyn Error + Send + Sync>)

Other.

-

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

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

source§

fn from(source: AddrParseError) -> Self

Converts to this type from the input type.
source§

impl From<BlockRelayConfigurationError> for Error

source§

fn from(source: BlockRelayConfigurationError) -> Self

Converts to this type from the input type.
source§

impl From<DsnConfigurationError> for Error

source§

fn from(source: DsnConfigurationError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: PrometheusError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

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

source§

fn from(source: AddrParseError) -> Self

Converts to this type from the input type.
source§

impl From<BlockRelayConfigurationError> for Error

source§

fn from(source: BlockRelayConfigurationError) -> Self

Converts to this type from the input type.
source§

impl From<DsnConfigurationError> for Error

source§

fn from(source: DsnConfigurationError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: PrometheusError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

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

§

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

§

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

§

impl<T> AnySync for Twhere T: Any + Send + Sync,

§

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

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere diff --git a/subspace_verification/fn.verify_solution.html b/subspace_verification/fn.verify_solution.html index 2bdc620946..d4958570cf 100644 --- a/subspace_verification/fn.verify_solution.html +++ b/subspace_verification/fn.verify_solution.html @@ -4,7 +4,7 @@ params: &'a VerifySolutionParams, kzg: &'a Kzg ) -> Result<SolutionRange, Error>where - PosTable: Table, + PosTable: Table, 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