From 4370697c4f30cd0a1f28ba9c01ca851f1223093b Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Mon, 29 Jan 2024 12:08:36 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20subspace?= =?UTF-8?q?/subspace@b5a7e3ca5fd09000eb3069d327cd9a64af5f4736=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/struct.EthProvider.html | 14 ++-- .../trait.DomainCoreApi.html | 4 +- .../domain/struct.DomainNodeBuilder.html | 2 +- .../domain/type.DomainOperator.html | 2 +- help.html | 4 +- index.html | 4 +- .../dispatchables/fn.submit_fraud_proof.html | 2 +- pallet_domains/enum.Call.html | 8 +-- pallet_domains/struct.Pallet.html | 4 +- pallet_subspace/pallet/struct.Pallet.html | 2 +- pallet_transaction_fees/trait.Config.html | 4 +- search-index.js | 2 +- settings.html | 4 +- src/subspace_farmer/utils.rs.html | 64 +++++++++++++++++-- .../enum.ArchiverInstantiationError.html | 4 +- .../archiver/enum.SegmentItem.html | 4 +- .../archiver/fn.is_piece_valid.html | 6 +- .../fn.is_record_commitment_hash_valid.html | 8 +-- .../archiver/struct.Archiver.html | 16 ++--- .../archiver/struct.NewArchivedSegment.html | 12 ++-- .../struct.PiecesReconstructor.html | 10 +-- .../enum.ReconstructorError.html | 6 +- .../struct.ReconstructedContents.html | 8 +-- .../reconstructor/struct.Reconstructor.html | 2 +- .../struct.ErasureCoding.html | 16 ++--- subspace_farmer/all.html | 2 +- subspace_farmer/utils/fn.all_cpu_cores.html | 4 +- ...n.create_plotting_thread_pool_manager.html | 2 +- .../utils/fn.parse_cpu_cores_sets.html | 2 +- .../utils/fn.rayon_custom_spawn_handler.html | 2 +- ...recommended_number_of_farming_threads.html | 4 ++ .../fn.run_future_in_dedicated_thread.html | 2 +- .../utils/fn.thread_pool_core_indices.html | 2 +- .../utils/fn.tokio_rayon_spawn_handler.html | 2 +- subspace_farmer/utils/index.html | 7 +- subspace_farmer/utils/sidebar-items.js | 2 +- .../utils/struct.AsyncJoinOnDrop.html | 6 +- subspace_farmer/utils/struct.CpuCoreSet.html | 8 +-- .../auditing/enum.AuditingError.html | 8 +-- .../auditing/fn.audit_plot_sync.html | 8 +-- .../auditing/fn.audit_sector_sync.html | 6 +- .../auditing/struct.AuditResult.html | 8 +-- .../plotting/enum.PlottingError.html | 12 ++-- .../plotting/fn.encode_sector.html | 2 +- .../plotting/fn.plot_sector.html | 2 +- .../struct.DownloadSectorOptions.html | 12 ++-- .../plotting/struct.EncodeSectorOptions.html | 18 +++--- .../plotting/struct.PlotSectorOptions.html | 24 +++---- .../plotting/struct.PlottedSector.html | 12 ++-- .../plotting/trait.PieceGetter.html | 18 +++--- .../proving/enum.ProvingError.html | 8 +-- .../proving/struct.SolutionCandidates.html | 10 +-- .../proving/trait.ProvableSolutions.html | 4 +- .../reading/enum.ReadingError.html | 8 +-- .../reading/fn.read_piece.html | 12 ++-- .../reading/fn.read_sector_record_chunks.html | 6 +- .../fn.recover_extended_record_chunks.html | 8 +-- .../fn.recover_source_record_chunks.html | 8 +-- .../reading/struct.PlotRecord.html | 12 ++-- .../sector/struct.SectorContentsMap.html | 18 +++--- .../sector/struct.SectorMetadata.html | 8 +-- .../struct.FarmerProtocolInfo.html | 16 ++--- .../struct.DomainInstanceStarter.html | 4 +- .../chia/struct.ChiaTable.html | 8 +-- .../chia/struct.ChiaTableGenerator.html | 2 +- .../shim/struct.ShimTable.html | 8 +-- .../shim/struct.ShimTableGenerator.html | 2 +- subspace_proof_of_space/trait.Table.html | 20 +++--- .../trait.TableGenerator.html | 8 +-- subspace_proof_of_time/fn.prove.html | 4 +- subspace_proof_of_time/fn.verify.html | 4 +- .../struct.MockConsensusNode.html | 12 ++-- subspace_verification/enum.Error.html | 16 ++--- .../fn.calculate_block_weight.html | 2 +- .../fn.check_reward_signature.html | 4 +- .../fn.derive_next_solution_range.html | 8 +-- .../fn.derive_pot_entropy.html | 2 +- .../fn.is_within_solution_range.html | 8 +-- subspace_verification/fn.verify_solution.html | 12 ++-- .../struct.PieceCheckParams.html | 24 +++---- .../struct.VerifySolutionParams.html | 8 +-- trait.impl/core/marker/trait.Sync.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../providers/trait.BlockImportProvider.js | 2 +- .../providers/trait.RpcProvider.js | 2 +- trait.impl/scale_info/trait.TypeInfo.js | 2 +- .../trait.FindBlockRewardAddress.js | 2 +- .../trait.FindVotingRewardAddresses.js | 2 +- type.impl/pallet_domains/struct.Pallet.js | 2 +- .../pallet_subspace/pallet/struct.Pallet.js | 2 +- 90 files changed, 369 insertions(+), 310 deletions(-) create mode 100644 subspace_farmer/utils/fn.recommended_number_of_farming_threads.html diff --git a/domain_eth_service/provider/struct.EthProvider.html b/domain_eth_service/provider/struct.EthProvider.html index 6869a310f5..06bf73a85d 100644 --- a/domain_eth_service/provider/struct.EthProvider.html +++ b/domain_eth_service/provider/struct.EthProvider.html @@ -6,10 +6,10 @@ ) -> Self
source

pub fn with_configuration( base_path: Option<&Path>, eth_config: EthConfiguration -) -> Self

Trait Implementations§

source§

impl<Block, RuntimeApi, CT, EC> BlockImportProvider<Block, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>> for EthProvider<CT, EC>
where +) -> Self

Trait Implementations§

source§

impl<Block, RuntimeApi, CT, EC> BlockImportProvider<Block, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>> for EthProvider<CT, EC>
where Block: BlockT, - RuntimeApi: ConstructRuntimeApi<Block, FullClient<Block, RuntimeApi>> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: ApiExt<Block> + Core<Block> + BlockBuilder<Block> + EthereumRuntimeRPCApi<Block>,

§

type BI = FrontierBlockImport<Block, Arc<Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>>, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>>

source§

fn block_import(&self, client: Arc<FullClient<Block, RuntimeApi>>) -> Self::BI

source§

impl<Block, Client, BE, TxPool, CA, AccountId, CT, EC, CIDP> RpcProvider<Block, Client, TxPool, CA, BE, AccountId, CIDP> for EthProvider<CT, EC>
where + RuntimeApi: ConstructRuntimeApi<Block, FullClient<Block, RuntimeApi>> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: ApiExt<Block> + Core<Block> + BlockBuilder<Block> + EthereumRuntimeRPCApi<Block>,

§

type BI = FrontierBlockImport<Block, Arc<Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>>, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>>

source§

fn block_import(&self, client: Arc<FullClient<Block, RuntimeApi>>) -> Self::BI

source§

impl<Block, Client, BE, TxPool, CA, AccountId, CT, EC, CIDP> RpcProvider<Block, Client, TxPool, CA, BE, AccountId, CIDP> for EthProvider<CT, EC>
where Block: BlockT<Hash = H256>, BE: Backend<Block> + 'static, Client: ProvideRuntimeApi<Block> + BlockchainEvents<Block> + StorageProvider<Block, BE> + HeaderBackend<Block> + CallApiAt<Block> + HeaderMetadata<Block, Error = Error> + BlockBackend<Block> + AuxStore + Send + Sync + 'static, @@ -19,12 +19,12 @@ TxPool: TransactionPool<Block = Block> + Sync + Send + 'static, CA: ChainApi<Block = Block> + 'static, AccountId: DeserializeOwned + Encode + Debug + Decode + Display + Clone + Sync + Send + 'static, - CIDP: CreateInherentDataProviders<Block, ()> + Send + Clone + 'static,

§

type Deps = EthDeps<Client, TxPool, CA, CT, Block, BE, CIDP>

source§

fn deps( + CIDP: CreateInherentDataProviders<Block, ()> + Send + Clone + 'static,

§

type Deps = EthDeps<Client, TxPool, CA, CT, Block, BE, CIDP>

source§

fn deps( &self, - full_deps: FullDeps<Block, Client, TxPool, CA, BE, CIDP> -) -> Result<Self::Deps, Error>

source§

fn rpc_id(&self) -> Option<Box<dyn RpcSubscriptionIdProvider>>

source§

fn rpc_builder<SE>( + full_deps: FullDeps<Block, Client, TxPool, CA, BE, CIDP> +) -> Result<Self::Deps, Error>

source§

fn rpc_id(&self) -> Option<Box<dyn RpcSubscriptionIdProvider>>

source§

fn rpc_builder<SE>( &self, - deps: Self::Deps, + deps: Self::Deps, subscription_task_executor: SubscriptionTaskExecutor, essential_task_spawner: SE ) -> Result<RpcModule<()>, Box<dyn Error + Send + Sync>>
where diff --git a/domain_runtime_primitives/trait.DomainCoreApi.html b/domain_runtime_primitives/trait.DomainCoreApi.html index 195b6857f4..7677099ae2 100644 --- a/domain_runtime_primitives/trait.DomainCoreApi.html +++ b/domain_runtime_primitives/trait.DomainCoreApi.html @@ -35,7 +35,7 @@ fn construct_timestamp_extrinsic( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, - moment: Moment + moment: Moment ) -> Result<Block::Extrinsic, ApiError> { ... } fn construct_consensus_chain_byte_fee_extrinsic( &self, @@ -115,7 +115,7 @@

source

fn construct_timestamp_extrinsic( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, - moment: Moment + moment: Moment ) -> Result<Block::Extrinsic, ApiError>

Returns an encoded extrinsic to set timestamp.

source

fn construct_consensus_chain_byte_fee_extrinsic( &self, diff --git a/domain_test_service/domain/struct.DomainNodeBuilder.html b/domain_test_service/domain/struct.DomainNodeBuilder.html index 83eef5b8ca..65a2cf261c 100644 --- a/domain_test_service/domain/struct.DomainNodeBuilder.html +++ b/domain_test_service/domain/struct.DomainNodeBuilder.html @@ -14,7 +14,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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where diff --git a/domain_test_service/domain/type.DomainOperator.html b/domain_test_service/domain/type.DomainOperator.html index 5c89810342..c7ac30db50 100644 --- a/domain_test_service/domain/type.DomainOperator.html +++ b/domain_test_service/domain/type.DomainOperator.html @@ -1,5 +1,5 @@ DomainOperator in domain_test_service::domain - Rust -
pub type DomainOperator<RuntimeApi> = DomainOperator<Block, Block, Client, RuntimeApi>;
Expand description

Domain executor for the test service.

+
pub type DomainOperator<RuntimeApi> = DomainOperator<Block, Block, Client, RuntimeApi>;
Expand description

Domain executor for the test service.

Aliased Type§

struct DomainOperator<RuntimeApi> {
     pub transaction_pool: Arc<BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), HostFunctions, HostFunctions, HostFunctions)>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
     pub keystore: Arc<dyn Keystore>,
diff --git a/help.html b/help.html
index 397c9c0d51..eb0c3db08f 100644
--- a/help.html
+++ b/help.html
@@ -1,2 +1,2 @@
-Help
-    

Rustdoc help

Back
\ No newline at end of file +Help +

Rustdoc help

Back
\ No newline at end of file diff --git a/index.html b/index.html index a59f9a1aaf..cf66d2097d 100644 --- a/index.html +++ b/index.html @@ -1,2 +1,2 @@ -Index of crates -
\ No newline at end of file +Index of crates +
\ No newline at end of file diff --git a/pallet_domains/dispatchables/fn.submit_fraud_proof.html b/pallet_domains/dispatchables/fn.submit_fraud_proof.html index eb96b78ff1..c677f8f0df 100644 --- a/pallet_domains/dispatchables/fn.submit_fraud_proof.html +++ b/pallet_domains/dispatchables/fn.submit_fraud_proof.html @@ -1,6 +1,6 @@ submit_fraud_proof in pallet_domains::dispatchables - Rust
pub fn submit_fraud_proof<T: Config>(
-    fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>
+    fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>
 )
Expand description

Warning: Doc-Only

This function is an automatically generated, and is doc-only, uncallable stub. See the real version in diff --git a/pallet_domains/enum.Call.html b/pallet_domains/enum.Call.html index 8bd2f515c0..3d6023746d 100644 --- a/pallet_domains/enum.Call.html +++ b/pallet_domains/enum.Call.html @@ -4,7 +4,7 @@ opaque_bundle: OpaqueBundleOf<T>, }, submit_fraud_proof { - fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>, + fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>, }, register_domain_runtime { runtime_name: String, @@ -54,7 +54,7 @@ // some variants omitted

}
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

Variants§

§

submit_bundle

Fields

§opaque_bundle: OpaqueBundleOf<T>
§

submit_fraud_proof

Fields

§fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>
§

submit_fraud_proof

Fields

§fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>
§

register_domain_runtime

Fields

§runtime_name: String
§runtime_type: RuntimeType
§raw_genesis_storage: Vec<u8>
§

upgrade_domain_runtime

Fields

§runtime_id: RuntimeId
§raw_genesis_storage: Vec<u8>
§

register_operator

Fields

§domain_id: DomainId
§amount: <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance
§config: OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>

See Pallet::register_operator.

@@ -69,7 +69,7 @@
§

force_staking_epoch_transition

Fields

§domain_id: DomainId

Implementations§

source§

impl<T: Config> Call<T>

source

pub fn new_call_variant_submit_bundle(opaque_bundle: OpaqueBundleOf<T>) -> Self

Create a call with the variant submit_bundle.

source

pub fn new_call_variant_submit_fraud_proof( - fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>> + fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>> ) -> Self

Create a call with the variant submit_fraud_proof.

source

pub fn new_call_variant_register_domain_runtime( runtime_name: String, @@ -127,7 +127,7 @@ sufficient, and should not be overridden without very good reason.

source§

impl<T> TypeInfo for Call<T>
where PhantomData<(T,)>: TypeInfo + 'static, OpaqueBundleOf<T>: TypeInfo + 'static, - Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>: TypeInfo + 'static, + Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>: TypeInfo + 'static, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: TypeInfo + 'static, OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static, DomainConfig<T::AccountId>: TypeInfo + 'static, diff --git a/pallet_domains/struct.Pallet.html b/pallet_domains/struct.Pallet.html index 8a3b42a54f..1f113cfc3a 100644 --- a/pallet_domains/struct.Pallet.html +++ b/pallet_domains/struct.Pallet.html @@ -6,7 +6,7 @@ opaque_bundle: OpaqueBundleOf<T> ) -> DispatchResultWithPostInfo

source

pub fn submit_fraud_proof( origin: OriginFor<T>, - fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>> + fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>> ) -> DispatchResult

source

pub fn register_domain_runtime( origin: OriginFor<T>, runtime_name: String, @@ -108,7 +108,7 @@ ) -> Option<ReceiptHashFor<T>>

source§

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

source

pub fn submit_bundle_unsigned(opaque_bundle: OpaqueBundleOf<T>)

Submits an unsigned extrinsic Call::submit_bundle.

source

pub fn submit_fraud_proof_unsigned( - fraud_proof: FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader> + fraud_proof: FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader> )

Submits an unsigned extrinsic Call::submit_fraud_proof.

Trait Implementations§

source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
source§

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

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

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

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

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

§

type CurrentStorageVersion = StorageVersion

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

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

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

source§

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

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

fn on_finalize(_: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are diff --git a/pallet_subspace/pallet/struct.Pallet.html b/pallet_subspace/pallet/struct.Pallet.html index 67849cdbfb..6202f1a3fe 100644 --- a/pallet_subspace/pallet/struct.Pallet.html +++ b/pallet_subspace/pallet/struct.Pallet.html @@ -61,7 +61,7 @@ signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId> )

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

-

Trait Implementations§

source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
source§

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

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

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

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

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

source§

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

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

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

source§

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

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

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

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

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

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

source§

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

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

fn on_finalize(block_number: BlockNumberFor<T>)

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

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

Hook to consume a block’s idle time. This will run when the block is being finalized (before +

Trait Implementations§

source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
source§

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

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

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

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

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

source§

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

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

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

source§

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

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

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

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

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

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

source§

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

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

fn on_finalize(block_number: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

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

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

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

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

source§

fn offchain_worker(n: BlockNumberFor<T>)

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

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

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

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

source§

fn on_genesis()

Something that should happen at genesis.
source§

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

source§

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

See [Hooks::on_idle].
source§

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

source§

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

See [Hooks::on_initialize].
source§

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

source§

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

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

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

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

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

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

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

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

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

impl<T> PartialEq for Pallet<T>

source§

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

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

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

This method tests for !=. The default implementation is almost always diff --git a/pallet_transaction_fees/trait.Config.html b/pallet_transaction_fees/trait.Config.html index bf1ff19b80..633634a348 100644 --- a/pallet_transaction_fees/trait.Config.html +++ b/pallet_transaction_fees/trait.Config.html @@ -6,7 +6,7 @@ type TotalSpacePledged: Get<u128>; type BlockchainHistorySize: Get<u128>; type Currency: Currency<Self::AccountId>; - type FindBlockRewardAddress: FindBlockRewardAddress<Self::AccountId>; + type FindBlockRewardAddress: FindBlockRewardAddress<Self::AccountId>; type DynamicCostOfStorage: Get<bool>; type WeightInfo: WeightInfo; }
Expand description

Configuration trait of this pallet.

@@ -21,5 +21,5 @@
source

type TotalSpacePledged: Get<u128>

How much space there is on the network.

source

type BlockchainHistorySize: Get<u128>

How big is the history of the blockchain in archived state (thus includes erasure coding, but not replication).

-
source

type Currency: Currency<Self::AccountId>

source

type FindBlockRewardAddress: FindBlockRewardAddress<Self::AccountId>

source

type DynamicCostOfStorage: Get<bool>

Whether dynamic cost of storage should be used

+
source

type Currency: Currency<Self::AccountId>

source

type FindBlockRewardAddress: FindBlockRewardAddress<Self::AccountId>

source

type DynamicCostOfStorage: Get<bool>

Whether dynamic cost of storage should be used

source

type WeightInfo: WeightInfo

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/search-index.js b/search-index.js index 696f3d6a43..4d2073845c 100644 --- a/search-index.js +++ b/search-index.js @@ -45,7 +45,7 @@ var searchIndex = new Map(JSON.parse('[\ ["subspace_archiving",{"doc":"Collection of modules used for dealing with archived state …","t":"CCCFGPPPPPPFPPGGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOPPPPFGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPFFGGPNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOO","n":["archiver","piece_reconstructor","reconstructor","Archiver","ArchiverInstantiationError","Block","BlockContinuation","BlockStart","FailedToInitializeErasureCoding","InvalidBlockSmallSize","InvalidLastArchivedBlock","NewArchivedSegment","Padding","ParentSegmentHeader","Segment","SegmentItem","V0","add_block","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","init","init","init","init","init","into","into","into","into","into","is_piece_valid","is_record_commitment_hash_valid","last_archived_block_number","new","object_mapping","partial_cmp","pieces","segment_header","serialize","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","with_initial_state","archived_block_bytes","block_bytes","items","bytes","bytes","bytes","DataShardsReconstruction","FailedToInitializeErasureCoding","IncorrectPiecePosition","InvalidInputPieceCommitment","PiecesReconstructor","ReconstructorError","ReconstructorInstantiationError","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","hash","init","init","init","into","into","into","new","partial_cmp","reconstruct_piece","reconstruct_segment","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","DataShardsReconstruction","FailedToInitializeErasureCoding","IncorrectSegmentOrder","ReconstructedContents","Reconstructor","ReconstructorError","ReconstructorInstantiationError","SegmentDecoding","add_segment","blocks","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","hash","init","init","init","init","into","into","into","into","new","partial_cmp","segment_header","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","actual_segment_index","expected_segment_index"],"q":[[0,"subspace_archiving"],[3,"subspace_archiving::archiver"],[133,"subspace_archiving::archiver::ArchiverInstantiationError"],[135,"subspace_archiving::archiver::Segment"],[136,"subspace_archiving::archiver::SegmentItem"],[139,"subspace_archiving::piece_reconstructor"],[203,"subspace_archiving::reconstructor"],[286,"subspace_archiving::reconstructor::ReconstructorError"],[288,"alloc::vec"],[289,"subspace_core_primitives::objects"],[290,"core::cmp"],[291,"parity_scale_codec::error"],[292,"core::result"],[293,"parity_scale_codec::codec"],[294,"serde::de"],[295,"parity_scale_codec::codec"],[296,"core::fmt"],[297,"core::fmt"],[298,"subspace_core_primitives::crypto::kzg"],[299,"subspace_core_primitives::pieces"],[300,"subspace_core_primitives::segments"],[301,"subspace_core_primitives::crypto"],[302,"subspace_core_primitives::pieces"],[303,"core::option"],[304,"serde::ser"],[305,"alloc::string"],[306,"core::any"],[307,"subspace_core_primitives"]],"d":["","","","Block archiver for Subspace blockchain.","Archiver instantiation error","Contains full block inside","Continuation of the partial block spilled over into the …","Contains the beginning of the block inside, remainder will …","Failed to initialize erasure coding","Invalid block, its size is smaller than already archived …","Invalid last archived block, its size is the same as …","Newly archived segment as a combination of segment header …","Special dummy enum variant only used as an implementation …","Segment header of the parent","Segment represents a collection of items stored in …","Kinds of items that are contained within a segment","","Adds new block to internal buffer, potentially producing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Validate witness embedded within a piece produced by …","Validate witness for record commitment hash produced by …","Get last archived block if there was any","Create a new instance with specified record size and …","Mappings for objects stored in corresponding pieces.","","Segment of archived history containing pieces","Segment header","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new instance of the archiver with initial state …","Already archived portion of the block","Full block size","Segment items","Block bytes","Block bytes","Block bytes","Segment size is not bigger than record size","Failed to initialize erasure coding","Incorrect piece position provided.","Commitment of input piece is invalid.","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns the missing piece for a segment using given set of …","Returns all the pieces for a segment using given set of …","","","","","","","","","","","","","","","Error during data shards reconstruction","Failed to initialize erasure coding","Incorrect segment order, each next segment must have …","Data structure that contains information reconstructed …","Reconstructor helps to retrieve blocks from archived …","Reconstructor-related instantiation error","Reconstructor-related instantiation error.","Segment size is not bigger than record size","Given a set of pieces of a segment of the archived history …","Reconstructed encoded blocks with their block numbers","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Segment header stored in a segment","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,8,8,8,9,9,9,0,8,8,0,0,7,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,9,7,8,6,7,8,6,7,8,6,7,8,6,7,8,6,9,1,7,8,6,9,1,6,7,8,6,9,1,7,8,6,7,8,6,9,7,8,6,9,9,1,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,0,0,1,1,6,9,6,6,6,7,8,6,7,8,6,7,8,6,9,1,9,7,8,6,9,1,7,8,6,9,1,7,8,6,9,1,1,44,44,45,46,47,48,36,35,36,36,0,0,0,35,36,37,35,36,37,35,36,37,35,36,37,35,35,36,37,35,36,37,35,36,37,35,36,35,35,36,36,37,35,36,37,35,35,36,37,35,36,37,37,35,37,37,35,36,37,35,36,35,36,37,35,36,37,35,36,37,42,43,42,0,0,0,0,42,40,41,43,42,41,40,43,42,41,40,43,42,41,40,43,42,41,40,43,41,43,42,41,40,43,42,41,40,43,42,41,40,43,42,41,43,43,42,42,41,40,43,42,41,40,43,43,42,41,40,43,42,41,40,40,43,41,43,42,41,40,43,42,43,42,41,40,43,42,41,40,43,42,41,40,49,49],"f":"`````````````````{{b{f{d}}hj}{{f{l}}}}{ce{}{}}000000000{nn}{A`A`}{ll}{AbAb}{bb}{{ce}Ad{}{}}0000{{AbAb}Af}{c{{Aj{nAh}}}Al}{c{{Aj{A`Ah}}}Al}{c{{Aj{lAh}}}Al}{{{An{d}}}{{Aj{cAh}}}{}}00{{B`{An{d}}}{{Aj{cAh}}}{}}00{{B`c}{{Aj{eAh}}}Al{}}00{Bbc{}}000000000{c{{Aj{l}}}Bd}{BbAd}0000{{nc}Ad{BfBh}}{{A`c}Ad{BfBh}}{{lc}Ad{BfBh}}{{nn}j}{{A`A`}j}{{ll}j}{{AbAb}j}{{nBj}Bl}{{A`Bj}Bl}{{lBj}Bl}{{AbBj}Bl}0{{bBj}Bl}{cc{}}0000{{Abc}AdBn}{{}Bb}0000{ce{}{}}0000{{C`CbCdB`}j}{{C`CfCdChB`}j}{b{{Cl{Cj}}}}{C`{{Aj{bAb}}}}`{{AbAb}{{Cl{Af}}}}``{{lc}AjCn}{nBb}{A`Bb}{lBb}{{c{An{d}}}{{f{d}}}{}}00:::::{cD`{}}{c{{Aj{e}}}{}{}}000000000{cDb{}}0000{{C`Dd{An{d}}h}{{Aj{bAb}}}}`````````````>>>>>>{DfDf}{DhDh}{DjDj}{{ce}Ad{}{}}00{{DfDf}Af}{Bbc{}}00000{BbAd}00{{DfDf}j}{{DhDh}j}{{DfBj}Bl}0{{DhBj}Bl}0{{DjBj}Bl}{cc{}}00{{Dfc}AdBn}{{}Bb}00{ce{}{}}00{C`{{Aj{DjDf}}}}{{DfDf}{{Cl{Af}}}}{{Dj{An{{Cl{Dl}}}}Bb}{{Aj{DlDh}}}}{{Dj{An{{Cl{Dl}}}}}{{Aj{DnDh}}}}444{cD`{}}0{c{{Aj{e}}}{}{}}00000{cDb{}}00````````{{E`{An{{Cl{Dl}}}}}{{Aj{EbEd}}}}`88888888{EfEf}{EdEd}{EbEb}{E`E`}{{ce}Ad{}{}}000{{EfEf}Af}{{}Eb}{Bbc{}}0000000{BbAd}000{{EfEf}j}{{EdEd}j}{{EbEb}j}{{EfBj}Bl}0{{EdBj}Bl}0{{EbBj}Bl}{{E`Bj}Bl}{cc{}}000{{Efc}AdBn}{{}Bb}000{ce{}{}}000{{}{{Aj{E`Ef}}}}{{EfEf}{{Cl{Af}}}}`2222{cD`{}}0{c{{Aj{e}}}{}{}}0000000{cDb{}}000``","c":[],"p":[[5,"Archiver",3],[1,"u8"],[5,"Vec",288],[5,"BlockObjectMapping",289],[1,"bool"],[5,"NewArchivedSegment",3],[6,"Segment",3],[6,"SegmentItem",3],[6,"ArchiverInstantiationError",3],[1,"unit"],[6,"Ordering",290],[5,"Error",291],[6,"Result",292],[10,"Input",293],[1,"slice"],[1,"u32"],[1,"usize"],[10,"Deserializer",294],[10,"Output",293],[10,"Sized",295],[5,"Formatter",296],[8,"Result",296],[10,"Hasher",297],[5,"Kzg",298],[5,"PieceArray",299],[5,"SegmentCommitment",300],[5,"Scalar",301],[5,"RecordWitness",299],[8,"BlockNumber",302],[6,"Option",303],[10,"Serializer",304],[5,"String",305],[5,"TypeId",306],[6,"SegmentHeader",302],[6,"ReconstructorInstantiationError",139],[6,"ReconstructorError",139],[5,"PiecesReconstructor",139],[5,"Piece",299],[5,"ArchivedHistorySegment",300],[5,"Reconstructor",203],[5,"ReconstructedContents",203],[6,"ReconstructorError",203],[6,"ReconstructorInstantiationError",203],[15,"InvalidBlockSmallSize",133],[15,"V0",135],[15,"Block",136],[15,"BlockStart",136],[15,"BlockContinuation",136],[15,"IncorrectSegmentOrder",286]],"b":[[77,"impl-Debug-for-ArchiverInstantiationError"],[78,"impl-Display-for-ArchiverInstantiationError"],[170,"impl-Debug-for-ReconstructorInstantiationError"],[171,"impl-Display-for-ReconstructorInstantiationError"],[172,"impl-Debug-for-ReconstructorError"],[173,"impl-Display-for-ReconstructorError"],[246,"impl-Display-for-ReconstructorInstantiationError"],[247,"impl-Debug-for-ReconstructorInstantiationError"],[248,"impl-Debug-for-ReconstructorError"],[249,"impl-Display-for-ReconstructorError"]]}],\ ["subspace_core_primitives",{"doc":"Core primitives for Subspace Network.","t":"GFSIIIIFPTPFFFTTTTTTTTTFGTTTSPFFFFFFFFFFFSSSFFFFFFFFTTTTTTTTTTTTTTTFIFFGFIFIFPTTTTNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNNNNNNNNNNNNNNNNNNNNNNNNNONNOONNONONONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNTTFNNHHHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNFSFSSFFNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFGGFPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOO","n":["ArchivedBlockProgress","ArchivedHistorySegment","BLAKE3_HASH_SIZE","Blake3Hash","BlockHash","BlockNumber","BlockWeight","ChunkWitness","Complete","ERASURE_CODING_RATE","EmptyVec","FlatPieces","HistorySize","LastArchivedBlock","MAX","MAX","MIDDLE","NUM_CHECKPOINTS","NUM_CHUNKS","NUM_CHUNKS","NUM_PIECES","NUM_RAW_RECORDS","NUM_S_BUCKETS","NonEmptyVec","NonEmptyVecErr","ONE","ONE","ONE","PUBLIC_KEY_LENGTH","Partial","Piece","PieceArray","PieceIndex","PieceOffset","PosProof","PosSeed","PotCheckpoints","PotKey","PotOutput","PotSeed","PublicKey","RANDOMNESS_LENGTH","REWARD_SIGNATURE_LENGTH","REWARD_SIGNING_CONTEXT","Randomness","RawRecord","Record","RecordCommitment","RecordWitness","RecordedHistorySegment","RewardSignature","SBucket","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SIZE","SectorId","SectorIndex","SectorSlotChallenge","SegmentCommitment","SegmentHeader","SegmentIndex","SlotNumber","Solution","SolutionRange","U256","V0","ZERO","ZERO","ZERO","ZERO","add","add","add","add","add","add_assign","add_assign","add_assign","add_assign","archived_progress","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_byte_slice","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_byte_slice","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_mut_slice_of","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","as_slice_of","backward_checked","backward_checked","backward_checked","backward_checked","bidirectional_distance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div","checked_mul","checked_sub","checksum","chunk","chunk_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","commitment","commitment_mut","crypto","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_into","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","derive_evaluation_seed","derive_expiration_history_size","derive_global_challenge","derive_global_randomness","derive_piece_index","derive_sector_slot_challenge","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","div","div","div","div","div","div_assign","div_assign","div_assign","div_assign","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_hex_upper","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","first","first_piece_index","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_be_bytes","from_bytes","from_genesis","from_hex","from_hex","from_hex","from_le_bytes","from_str","genesis_solution","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","history_size","in_pieces","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_reward_address_format","iter","iter_mut","key","last","last_archived_block","last_piece_index","len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","max_encoded_len","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","mul_assign","new","new","new","new","new_boxed","new_boxed","new_boxed","new_boxed","new_with_entry","new_zero_vec","number","objects","one","output","par_parity","par_parity_mut","par_source","par_source_mut","parity","parity_mut","partial","partial_archived","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","piece_offset","position","prev_segment_header_hash","proof_of_space","public_key","push","record","record_commitment","record_mut","record_witness","rem","reward_address","s_bucket_audit_index","saturating_add","saturating_mul","saturating_sub","sector_expiration_check","sector_index","seed","seed_with_entropy","segment_commitment","segment_index","segment_index","segment_index","segment_piece_indexes","segment_piece_indexes_source_first","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_complete","set_partial","set_partial_archived","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_to_repr","source","source_mut","split","split_mut","steps_between","steps_between","steps_between","steps_between","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","to_be_bytes","to_bytes","to_bytes","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_le_bytes","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_vec","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","witness","witness_mut","wrapping_add","wrapping_sub","zero","last_archived_block","prev_segment_header_hash","segment_commitment","segment_index","Blake3Checksummed","borrow","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","encoded_size","fmt","from","init","into","size_hint","to_keyed_vec","to_owned","try_from","try_into","type_id","FULL_BYTES","SAFE_BYTES","Scalar","as_mut","as_ref","blake3_254_hash_to_scalar","blake3_hash","blake3_hash_list","blake3_hash_parallel","blake3_hash_with_key","borrow","borrow_mut","clone","clone_into","cmp","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref_mut","deref_mut","deserialize","drop","encoded_fixed_size","encoded_size","eq","fmt","from","from","from","from","hash","init","into","kzg","max_encoded_len","partial_cmp","serialize","size_hint","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_option_from_repr","slice_option_mut_from_repr","slice_option_mut_to_repr","slice_option_to_repr","slice_to_repr","to_bytes","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","type_id","type_info","using_encoded","vec_from_repr","vec_option_from_repr","vec_option_to_repr","vec_to_repr","Commitment","EMBEDDED_KZG_SETTINGS_BYTES","Kzg","NUM_G1_POWERS","NUM_G2_POWERS","Polynomial","Witness","as_mut","as_mut","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_to_kzg_settings","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commit","create_witness","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","embedded_kzg_settings","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_fft_settings","init","init","init","init","into","into","into","into","new","normalize","poly","slice_from_repr","slice_mut_from_repr","slice_mut_to_repr","slice_option_from_repr","slice_option_mut_from_repr","slice_option_mut_to_repr","slice_option_to_repr","slice_to_repr","to_bytes","to_bytes","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_bytes","try_from_bytes","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vec_from_repr","vec_option_from_repr","vec_option_to_repr","vec_to_repr","verify","BlockObject","BlockObjectMapping","GlobalObject","PieceObject","PieceObjectMapping","V0","V0","V0","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","hash","hash","hash","hash","hash","hash","init","init","init","init","init","into","into","into","into","into","objects","objects","offset","offset","offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","piece_index","serialize","serialize","serialize","serialize","serialize","set_offset","size_hint","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","using_encoded","using_encoded","hash","offset","offset","piece_index","hash","offset"],"q":[[0,"subspace_core_primitives"],[1415,"subspace_core_primitives::SegmentHeader"],[1419,"subspace_core_primitives::checksum"],[1443,"subspace_core_primitives::crypto"],[1507,"subspace_core_primitives::crypto::kzg"],[1626,"subspace_core_primitives::objects"],[1794,"subspace_core_primitives::objects::BlockObject"],[1796,"subspace_core_primitives::objects::GlobalObject"],[1798,"subspace_core_primitives::objects::PieceObject"],[1800,"byte_slice_cast"],[1801,"core::result"],[1802,"byte_slice_cast"],[1803,"core::option"],[1804,"num_traits::ops::wrapping"],[1805,"core::cmp"],[1806,"core::cmp"],[1807,"parity_scale_codec::codec"],[1808,"parity_scale_codec::codec"],[1809,"parity_scale_codec::decode_finished"],[1810,"serde::de"],[1811,"serde::de"],[1812,"core::iter::traits::collect"],[1813,"parity_scale_codec::codec"],[1814,"parity_scale_codec::codec"],[1815,"core::fmt"],[1816,"core::convert"],[1817,"core::hash"],[1818,"core::convert"],[1819,"alloc::boxed"],[1820,"rayon::iter"],[1821,"core::iter::traits::exact_size"],[1822,"serde::ser"],[1823,"serde::ser"],[1824,"core::any"],[1825,"scale_info::ty"],[1826,"core::ops::function"],[1827,"rust_kzg_blst::types::fr"],[1828,"rust_kzg_blst::types::g1"],[1829,"rust_kzg_blst::types::kzg_settings"],[1830,"rust_kzg_blst::types::poly"],[1831,"rust_kzg_blst::types::fft_settings"],[1832,"alloc::sync"]],"d":["Progress of an archived block.","Archived history segment after archiving is applied.","Size of BLAKE3 hash output (in bytes).","BLAKE3 hash output","Block hash in Subspace network.","Block number in Subspace network.","BlockWeight type for fork choice rules.","Witness for chunk contained within a record.","The block has been fully archived.","Erasure coding rate for records during archiving process.","Tried to create with an empty Vec","Flat representation of multiple pieces concatenated for …","Size of blockchain history in segments.","Last archived block","Max s-bucket index","Maximum value.","The middle of the piece distance field. The analogue of …","Number of PoT checkpoints produced (used to optimize …","Number of chunks (scalars) within one raw record.","Number of chunks (scalars) within one record.","Number of pieces in one segment of archived history.","Number of raw records in one segment of recorded history.","Number of s-buckets contained within one record (and by …","A Vec<> that enforces the invariant that it cannot be …","Error codes for NonEmptyVec.","Piece index 1.","Piece index 1.","Segment index 1.","Length of public key in bytes.","Number of partially archived bytes of a block.","A piece of archival history in Subspace Network.","A piece of archival history in Subspace Network.","Piece index in consensus","Piece offset in sector","Proof of space proof bytes.","Proof of space seed.","Proof of time checkpoints, result of proving","Proof of time key(input to the encryption).","Proof of time output, can be intermediate checkpoint or …","Proof of time seed","A Ristretto Schnorr public key as bytes produced by …","Byte length of a randomness type.","Length of signature in bytes","Signing context used for creating reward signatures by …","Type of randomness.","Raw record contained within recorded history segment …","Record contained within a piece.","Record commitment contained within a piece.","Record witness contained within a piece.","Recorded history segment before archiving is applied.","A Ristretto Schnorr signature as bytes produced by …","S-bucket used in consensus","Size in bytes.","Size of raw record in bytes, is guaranteed to be a …","Size of a segment record given the global piece size (in …","Size of record commitment in bytes.","Size of record witness in bytes.","Size of chunk witness in bytes.","Size of a piece (in bytes).","Size of segment commitment in bytes.","Size of recorded history segment in bytes.","Size of archived history segment in bytes.","Size of proof of space seed in bytes.","Size of proof of space proof in bytes.","Size of proof of time key in bytes","Size of proof of time seed in bytes","Size of proof of time proof in bytes","Data structure representing sector ID in farmer’s plot","Sector index in consensus","Challenge used for a particular sector for particular slot","Segment commitment contained within segment header.","Segment header for a specific segment.","Segment index type.","Slot number in Subspace network.","Farmer solution for slot challenge.","Type of solution range.","256-bit unsigned integer","V0 of the segment header data structure","S-bucket 0.","Piece index 0.","Piece index 0.","Segment index 0.","","","","","","","","","","Progress of an archived block.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the slice of the entries.","","","","","","","","","","","","","","","","","","","Bidirectional distance metric implemented on top of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Adds two numbers, checking for overflow. If overflow …","Divides two numbers, checking for underflow, overflow and …","Multiplies two numbers, checking for underflow or …","Subtracts two numbers, checking for underflow. If …","Module containing wrapper for SCALE encoding/decoding with …","Chunk at above offset","Witness for above chunk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Commitment contained within a piece.","Mutable commitment contained within a piece.","Various cryptographic utilities used across Subspace …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We assume a block can always fit into the segment …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Derive evaluation seed","Derive history size when sector created at history_size …","Derive global slot challenge from global randomness.","Derives the global randomness from the output","Derive piece index that should be stored in sector at …","Derive sector slot challenge for this sector from provided …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the first entry.","Get the first piece index in this segment.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create from big endian bytes","Create piece index from bytes.","Derive initial PoT seed from genesis block hash","","","","Create from little endian bytes","","Dummy solution for the genesis block","","","","","","","","","","","","","Proof hash.","","","","","Public key hash.","","","","Hash of the whole segment header","","","","","Size of the blockchain history at time of sector creation","Size of blockchain history in pieces.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extract internal representation.","Transform solution with one reward address type into …","Returns an iterator for the entries.","Returns a mutable iterator for the entries.","Derive key from proof of time seed","Returns the last entry.","Last archived block","Get the last piece index in this segment.","Returns the number of entries.","","","","","","","","","","","","","","","","","","","","","","","","","","","Allocate FlatPieces that will hold piece_count pieces …","Create new instance.","Create new sector ID by deriving it from public key and …","Creates the Vec.","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Create boxed value without hitting stack overflow","Creates the Vec with the entry.","Create vector filled with zeroe records without hitting …","Block number","Data structures related to objects (useful data) stored on …","One (multiplicative identity) of this type.","Get proof of time output out of checkpoints (last …","Parallel iterator over parity pieces (odd indices).","Mutable parallel iterator over parity pieces (odd indices).","Parallel iterator over source pieces (even indices).","Mutable parallel iterator over source pieces (even …","Iterator over parity pieces (odd indices).","Mutable iterator over parity pieces (odd indices).","Return the number of partially archived bytes if the …","Returns the number of partially archived bytes for a block.","","","","","","","","","","","","","","","","Pieces offset within sector","Position of a piece in a segment","Hash of the segment header of the previous segment","Proof of space for piece offset","Public key of the farmer that created the solution","Adds an entry to the end.","Record contained within a piece.","Record commitment that can use used to verify that piece …","Mutable record contained within a piece.","Witness for above record commitment","","Address for receiving block reward","Index of s-bucket within sector to be audited","Saturating addition. Computes self + other, saturating at …","Saturating multiplication. Computes self * other, …","Saturating subtraction. Computes self - other, saturating …","History size at which expiration check for sector happens.","Index of the sector where solution was found","Derive seed from proof of time in case entropy injection …","Derive seed from proof of time with entropy injection","Segment commitment of the records in a segment.","Segment index piece index corresponds to","Segment index that corresponds to this history size.","Segment index","List of piece indexes that belong to this segment.","List of piece indexes that belong to this segment with …","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the archived state of this block to …","Sets new number of partially archived bytes.","Sets new number of partially archived bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of record to …","Convenient conversion from slice of record to underlying …","Iterator over source pieces (even indices).","Mutable iterator over source pieces (even indices).","Split piece into underlying components.","Split piece into underlying mutable components.","","","","","","","","","","","","","","Convert to big endian bytes","Convert piece index to bytes.","Convert piece offset to bytes.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert to little endian bytes","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the entries in the collection.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Witness contained within a piece.","Mutable witness contained within a piece.","","","Zero (additive identity) of this type.","Last archived block","Hash of the segment header of the previous segment","Root of commitments of all records in a segment.","Segment index","Wrapper data structure that when encoded/decoded will …","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","How many bytes Scalar contains physically, use …","How many full bytes can be stored in BLS12-381 scalar (for …","Representation of a single BLS12-381 scalar value.","","","BLAKE3 hashing of a single value truncated to 254 bits.","BLAKE3 hashing of a single value.","BLAKE3 hashing of a list of values.","BLAKE3 hashing of a single value in parallel (only useful …","BLAKE3 keyed hashing of a single value.","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","Tools for KZG commitment scheme","","","","","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of scalar to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional scalar to …","Convenient conversion from slice of scalar to underlying …","Convert scalar into bytes","","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional scalar to …","Convenient conversion from vector of scalar to underlying …","Commitment to polynomial","Embedded KZG settings as bytes, too big for no_std in most …","Wrapper data structure for working with KZG commitment …","Number of G1 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Number of G2 powers stored in EMBEDDED_KZG_SETTINGS_BYTES","Commitment to polynomial","Witness for polynomial evaluation","","","","","","","","","","","","","Function turns bytes into FsKZGSettings, it is up to the …","","","","","","","","","Computes a Commitment to polynomial","Computes a Witness of evaluation of polynomial at index","","","","","","","","","","","","","","","","","","","Embedded KZG settings","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Get FFT settings for specified number of values, uses …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create new instance with given KZG settings.","Normalize polynomial by removing trailing zeroes","Create polynomial from data. Data must be multiple of 32 …","Convenient conversion from slice of underlying …","Convenient conversion from mutable slice of underlying …","Convenient conversion from mutable slice of commitment to …","Convenient conversion from slice of optional underlying …","Convenient conversion from optional mutable slice of …","Convenient conversion from optional mutable slice of …","Convenient conversion from slice of optional commitment to …","Convenient conversion from slice of commitment to …","Convert commitment to raw bytes","Convert witness to raw bytes","","","","","","","","","","","","","","","","","","","","","Try to deserialize commitment from raw bytes","Try to deserialize witness from raw bytes","","","","","","","","","Convenient conversion from vector of underlying …","Convenient conversion from vector of optional underlying …","Convenient conversion from vector of optional commitment …","Convenient conversion from vector of commitment to …","Verifies that value is the evaluation at index of the …","Object stored inside of the block","Mapping of objects stored inside of the block","Object stored inside in the history of the blockchain","Object stored inside of the block","Mapping of objects stored inside of the piece","V0 of object mapping data structure","V0 of object mapping data structure","V0 of object mapping data structure","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Object hash","","","Object hash","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Objects stored inside of the block","Objects stored inside of the block","Offset of object in the encoded block.","Offset of the object","Offset of the object","","","","","","Piece index where object is contained (at least its …","","","","","","Sets new offset.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Object hash","Offset of object in the encoded block.","Offset of the object","Piece index where object is contained (at least its …","Object hash","Offset of the object"],"i":[0,0,0,0,0,0,0,0,41,19,70,0,0,0,1,5,5,40,9,10,37,19,10,0,0,2,3,4,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,10,11,12,13,14,18,19,37,38,39,21,22,23,0,0,0,0,0,0,0,0,0,0,43,1,2,3,4,1,2,3,4,5,1,2,3,4,42,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,17,18,19,20,9,10,11,12,13,14,15,15,17,18,19,20,21,22,23,27,28,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,1,2,3,4,0,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,5,5,5,5,0,44,44,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,14,15,17,4,36,27,28,41,42,5,45,29,15,15,0,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,11,12,13,15,4,18,36,37,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,19,37,20,39,21,22,23,40,27,41,5,1,2,3,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,4,18,18,36,36,19,19,37,37,20,20,38,38,39,39,21,21,22,22,23,23,40,40,27,27,28,28,41,42,43,44,5,45,45,29,30,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,39,21,21,22,22,23,23,40,40,27,28,41,42,43,44,5,45,29,30,70,29,29,20,23,29,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,27,28,41,42,43,44,29,1,2,3,4,5,1,2,3,4,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,5,29,30,9,10,11,12,13,14,15,17,18,19,20,27,28,29,9,10,11,12,13,14,15,17,18,19,20,27,28,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,30,4,1,1,2,2,3,3,9,10,11,12,13,14,15,17,4,4,18,36,36,19,37,20,38,39,21,21,22,22,23,23,40,27,27,28,41,42,43,44,5,5,45,29,30,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,21,21,22,22,23,23,40,27,27,28,28,41,42,43,44,5,5,5,5,5,5,45,29,30,70,5,2,22,15,17,39,5,21,44,1,2,3,11,12,13,14,15,17,4,18,36,39,22,23,40,27,27,28,41,42,43,43,5,45,29,44,36,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,17,44,30,30,22,30,43,4,30,1,2,3,11,12,13,15,4,18,36,37,20,39,21,22,23,40,1,2,3,4,5,1,2,3,4,17,36,29,30,9,10,15,19,30,10,42,0,5,40,17,17,17,17,17,17,41,42,1,2,3,14,15,17,4,36,27,28,41,42,5,45,29,44,2,43,44,44,30,15,44,15,44,5,44,45,5,5,5,36,44,23,23,43,2,36,43,4,4,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,27,28,41,42,43,44,29,42,41,42,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,10,10,10,10,17,17,15,15,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2,3,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,30,5,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,1,2,3,4,36,21,22,23,27,5,30,1,1,2,3,9,10,11,11,12,12,13,13,14,14,14,15,17,4,18,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,9,10,11,12,13,14,15,17,4,18,36,19,37,20,38,39,21,22,23,40,27,28,41,42,43,44,5,45,29,30,70,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,41,42,43,44,5,29,1,2,3,11,12,13,14,15,17,4,18,36,37,20,39,21,22,23,40,27,28,5,29,30,15,15,5,5,5,109,109,109,109,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,95,95,0,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,72,73,72,73,99,72,73,100,99,72,73,100,0,99,72,73,100,99,72,73,100,100,100,72,73,99,72,72,73,73,100,99,72,72,73,73,100,99,72,73,100,0,72,73,99,72,73,100,99,99,72,72,73,73,100,100,99,72,73,100,99,72,73,100,100,99,100,72,72,72,72,72,72,72,72,72,73,99,72,73,100,99,72,72,72,72,72,72,72,73,73,73,73,73,73,73,100,72,73,99,72,73,100,99,72,73,100,72,72,72,72,100,0,0,0,0,0,104,106,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,105,107,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,105,107,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,104,105,106,106,107,108,104,105,106,107,108,104,105,106,107,108,105,107,104,106,108,104,105,106,107,108,108,104,105,106,107,108,104,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,104,105,106,107,108,105,107,110,110,111,111,112,112],"f":"``````````````````````````````````````````````````````````````````````````````````{{bb}b}{{dd}d}{{ff}f}{{hh}h}{{jj}j}{{bb}l}{{dd}l}{{ff}l}{{hh}l}`{c{{A`{n}}}{}}0000000000000{Ab{{A`{n}}}}{Ad{{A`{n}}}}{Af{{A`{n}}}}{Ah{{A`{n}}}}{Aj{{A`{n}}}}{Al{{A`{n}}}}{An{{B`{n}}}}{An{{A`{n}}}}{Bb{{A`{n}}}}{Bd{{A`{n}}}}{Bf{{A`{n}}}}{Bh{{A`{n}}}}{Bj{{B`{n}}}}{Bl{{B`{n}}}}{Bn{{B`{n}}}}???????????{c{{Cb{{A`{e}}C`}}}{}Cd}0000000000?>=<;:987654321{Cf{{A`{n}}}}{Ch{{A`{n}}}}{Cj{{A`{n}}}}{{{Cl{c}}}{{A`{c}}}Cn}44444444444444{{bD`}{{Db{b}}}}{{dD`}{{Db{d}}}}{{fD`}{{Db{f}}}}{{hD`}{{Db{h}}}}{{cc}c{DdDf}}{ce{}{}}0000000000000000000000000000000000000000000000000000000000000000000{{jj}{{Db{j}}}}000```{bb}{dd}{ff}{AbAb}{AdAd}{AfAf}{AhAh}{AjAj}{AlAl}{AnAn}{BbBb}{hh}{BdBd}{DhDh}{BfBf}{DjDj}{BhBh}{DlDl}{DnDn}{BjBj}{BlBl}{BnBn}{E`E`}{CfCf}{ChCh}{EbEb}{EdEd}{EfEf}{{{Eh{ce}}}{{Eh{ce}}}CnCn}{jj}{EjEj}{CjCj}{{{Cl{c}}}{{Cl{c}}}Cn}{{ce}l{}{}}00000000000000000000000000000000{{bb}El}{{dd}El}{{ff}El}{{AlAl}El}{{AnAn}El}{{BbBb}El}{{hh}El}{{DhDh}El}{{CfCf}El}{{ChCh}El}{{EbEb}El}{{EdEd}El}{{jj}El}{{EjEj}El}{{CjCj}El}{AnAf}0`{c{{Cb{bEn}}}F`}{c{{Cb{dEn}}}F`}{c{{Cb{fEn}}}F`}{c{{Cb{AfEn}}}F`}{c{{Cb{AhEn}}}F`}{c{{Cb{AjEn}}}F`}{c{{Cb{AlEn}}}F`}{c{{Cb{AnEn}}}F`}{c{{Cb{BbEn}}}F`}{c{{Cb{hEn}}}F`}{c{{Cb{BdEn}}}F`}{c{{Cb{DhEn}}}F`}{c{{Cb{DjEn}}}F`}{c{{Cb{BhEn}}}F`}{c{{Cb{DnEn}}}F`}{c{{Cb{BjEn}}}F`}{c{{Cb{BlEn}}}F`}{c{{Cb{BnEn}}}F`}{c{{Cb{E`En}}}F`}{c{{Cb{CfEn}}}F`}{c{{Cb{ChEn}}}F`}{c{{Cb{EbEn}}}F`}{c{{Cb{EdEn}}}F`}{c{{Cb{EfEn}}}F`}{c{{Cb{{Eh{eg}}En}}}F`FbFb}{c{{Cb{jEn}}}F`}{c{{Cb{CjEn}}}F`}{c{{Cb{{Cl{e}}En}}}F`{}}{{{A`{n}}}{{Cb{cEn}}}{}}000000000000000000000000000{{Fd{A`{n}}}{{Cb{cEn}}}{}}000000000000000000000000000{{c{Ff{b}}}{{Cb{FhEn}}}F`}{{c{Ff{d}}}{{Cb{FhEn}}}F`}{{c{Ff{f}}}{{Cb{FhEn}}}F`}{{c{Ff{Af}}}{{Cb{FhEn}}}F`}{{c{Ff{Ah}}}{{Cb{FhEn}}}F`}{{c{Ff{Aj}}}{{Cb{FhEn}}}F`}{{c{Ff{An}}}{{Cb{FhEn}}}F`}{{c{Ff{h}}}{{Cb{FhEn}}}F`}{{c{Ff{Bd}}}{{Cb{FhEn}}}F`}{{c{Ff{Dh}}}{{Cb{FhEn}}}F`}{{c{Ff{Dj}}}{{Cb{FhEn}}}F`}{{Fdc}{{Cb{eEn}}}F`{}}000000000000000000000000000{{}b}{{}d}{{}f}{{}Ab}{{}Ad}{{}Af}{{}Ah}{{}Aj}{{}Al}{{}An}{{}Bb}{{}h}{{}Bd}{{}Bf}{{}Dj}{{}Bh}{{}Dn}{{}Bj}{{}Bl}{{}Bn}{{}E`}{{}Cf}{{}Eb}{{}j}{D`c{}}000{Abc{}}{Adc{}}2{Afc{}}33{Ahc{}}{Ajc{}}55{Alc{}}{Anc{}}7{Bbc{}}888{Bdc{}}9{Dhc{}}{Bfc{}};;{Djc{}}<{Bhc{}}={Dlc{}}>{Dnc{}}{Bjc{}}{D`c{}}{Blc{}}1{Bnc{}}22{E`c{}}3{Cfc{}}{Chc{}}5555555{Ejc{}}666666{Abc{}}7{Adc{}}88{Afc{}}{Ahc{}}::{Ajc{}}{Alc{}}<{Anc{}}={Bbc{}}>>{Bdc{}}?{Dhc{}}{D`c{}}{Bfc{}}11{Djc{}}222{Dnc{}}{Bjc{}}44{Blc{}}5{Bnc{}}6{E`c{}}77777777777{{CjfDh}Dl}{{CjDhBdDh}{{Db{Dh}}}}{{BhFj}Fl}{BnBh}{{CjfDhFnDh{G`{DhDh}}}d}{{CjFl}Ej}{c{{Cb{b}}}Gb}{c{{Cb{d}}}Gb}{c{{Cb{f}}}Gb}{c{{Cb{Af}}}Gb}{c{{Cb{Ah}}}Gb}{c{{Cb{Aj}}}Gb}{c{{Cb{Al}}}Gb}{c{{Cb{An}}}Gb}{c{{Cb{Bb}}}Gb}{c{{Cb{h}}}Gb}{c{{Cb{Bd}}}Gb}{c{{Cb{Dh}}}Gb}{c{{Cb{Dj}}}Gb}{c{{Cb{Bh}}}Gb}{c{{Cb{Dn}}}Gb}{c{{Cb{Bj}}}Gb}{c{{Cb{Bl}}}Gb}{c{{Cb{Bn}}}Gb}{c{{Cb{Cf}}}Gb}{c{{Cb{Ch}}}Gb}{c{{Cb{Eb}}}Gb}{c{{Cb{Ed}}}Gb}{c{{Cb{Ef}}}Gb}{c{{Cb{{Eh{eg}}}}}GbGdGd}{c{{Cb{Cj}}}Gb}{{bc}b{}}{{dc}d{}}{{fc}f{}}{{hc}h{}}{{jc}j{}}{{bc}l{}}{{dc}l{}}{{fc}l{}}{{hc}l{}}{D`l}000000000000000000000000000000000{b{{Gf{n}}}}{d{{Gf{n}}}}{f{{Gf{n}}}}{Af{{Gf{n}}}}{Ah{{Gf{n}}}}{Aj{{Gf{n}}}}{Al{{Gf{n}}}}{An{{Gf{n}}}}{Bb{{Gf{n}}}}{h{{Gf{n}}}}{Bd{{Gf{n}}}}{Dh{{Gf{n}}}}{Dj{{Gf{n}}}}{Bh{{Gf{n}}}}{Dn{{Gf{n}}}}{Bj{{Gf{n}}}}{Bl{{Gf{n}}}}{Bn{{Gf{n}}}}{E`{{Gf{n}}}}{Cf{{Gf{n}}}}{Ch{{Gf{n}}}}{j{{Gf{n}}}}{Cj{{Gf{n}}}}{{{Cl{c}}}{{Gf{n}}}{}}{ce{}{{Gj{Gh}}}}000000000000000000000000000{{bc}l{GlGn}}{{dc}l{GlGn}}{{fc}l{GlGn}}{{Afc}l{GlGn}}{{Ahc}l{GlGn}}{{Ajc}l{GlGn}}{{Alc}l{GlGn}}{{Anc}l{GlGn}}{{Bbc}l{GlGn}}{{hc}l{GlGn}}{{Bdc}l{GlGn}}{{Dhc}l{GlGn}}{{Djc}l{GlGn}}{{Bhc}l{GlGn}}{{Dnc}l{GlGn}}{{Bjc}l{GlGn}}{{Blc}l{GlGn}}{{Bnc}l{GlGn}}{{E`c}l{GlGn}}{{Cfc}l{GlGn}}{{Chc}l{GlGn}}{{Ebc}l{GlGn}}{{Edc}l{GlGn}}{{Efc}l{GlGn}}{{{Eh{ce}}g}lH`H`{GlGn}}{{jc}l{GlGn}}{{Cjc}l{GlGn}}{{{Cl{c}}e}l{}{GlGn}}{{bb}Hb}{{dd}Hb}{{ff}Hb}{{AbAb}Hb}{{AdAd}Hb}{{AfAf}Hb}{{AhAh}Hb}{{AjAj}Hb}{{AlAl}Hb}{{AnAn}Hb}{{BbBb}Hb}{{hh}Hb}{{BdBd}Hb}{{DhDh}Hb}{{BfBf}Hb}{{DjDj}Hb}{{BhBh}Hb}{{DlDl}Hb}{{DnDn}Hb}{{BjBj}Hb}{{BlBl}Hb}{{BnBn}Hb}{{E`E`}Hb}{{CfCf}Hb}{{ChCh}Hb}{{EbEb}Hb}{{EdEd}Hb}{{EfEf}Hb}{{{Eh{ce}}{Eh{ce}}}HbHdHd}{{jj}Hb}{{EjEj}Hb}{{CjCj}Hb}{{{Cl{c}}{Cl{c}}}HbHd}{{{Cl{c}}}cCn}{hd}{{bHf}Hh}0{{dHf}Hh}0{{fHf}Hh}0{{AbHf}Hh}{{AdHf}Hh}{{AfHf}Hh}{{AhHf}Hh}{{AjHf}Hh}{{AlHf}Hh}{{AnHf}Hh}{{BbHf}Hh}{{hHf}Hh}0{{BdHf}Hh}{{DhHf}Hh}0{{BfHf}Hh}{{DjHf}Hh}{{BhHf}Hh}{{DlHf}Hh}{{DnHf}Hh}{{BjHf}Hh}0{{BlHf}Hh}0{{BnHf}Hh}0{{E`Hf}Hh}{{CfHf}Hh}0{{ChHf}Hh}{{EbHf}Hh}{{EdHf}Hh}{{EfHf}Hh}{{{Eh{ce}}Hf}HhHjHj}{{jHf}Hh}0{{EjHf}Hh}{{CjHf}Hh}{{{Cl{c}}Hf}HhHj}{{HlHf}Hh}{{bD`}{{Db{b}}}}{{dD`}{{Db{d}}}}{{fD`}{{Db{f}}}}{{hD`}{{Db{h}}}}{Fnb}{cc{}}0{Hnd}{Fnf}2222{{{B`{n}}}Af}{I`Af}4{IbAh}{{{B`{n}}}Ah}6{{{B`{n}}}Aj}{IbAj}{AnAl}99{AnBb}::{Hnh};{I`Bd}{{{B`{n}}}Bd}{IdDh}>{hDh}???{{{B`{n}}}Bh}{{{B`{n}}}Dl}{cc{}}0{{{B`{n}}}Dn}{{{B`{n}}}Bj}2{{{B`{n}}}Bl}33{{{B`{n}}}Bn}4{{{B`{n}}}Cf}5{{{B`{n}}}Ch}66666{Fdj}{Fnj}{nj}{Hnj}{Ifj};;;;;{{{B`{n}}}j}{{{B`{n}}}d}{{{A`{n}}{A`{n}}}Bl}{c{{Cb{Ane}}}{{Ih{{A`{n}}}}}{}}{c{{Cb{Bbe}}}{{Ih{{A`{n}}}}}{}}{c{{Cb{Dne}}}{{Ih{{A`{n}}}}}{}}5{Ij{{Cb{Bjc}}}{}}{{ce}{{Eh{ce}}}{}{}}{{bc}lIl}{{dc}lIl}{{fc}lIl}{{Afc}lIl}{{Ahc}lIl}{{Ajc}lIl}{{Alc}lIl}{{Anc}lIl}{{Bbc}lIl}{{hc}lIl}{{Bdc}lIl}{{Dhc}lIl}{DnFl}{{Blc}lIl}{{Bnc}lIl}{{E`c}lIl}{{Cfc}lIl}{CfFl}{{Chc}lIl}{{Ebc}lIl}{{Edc}lIl}{EfFl}{{Efc}lIl}{{jc}lIl}{{Ejc}lIl}{{Cjc}lIl}`{DhId}{{}D`}000000000000000000000000000000000{ce{}{}}000000000000000000000000000000000{Bb{{Gf{An}}}}{{{Eh{ci}}}{{Eh{ce}}}{}{}{{In{e}}}{{In{g}}}}{{{Cl{c}}}{{Jb{J`}}}Cn}0{BlBj}{{{Cl{c}}}cCn}{EfEd}{hd}{{{Cl{c}}}D`Cn}99999999999999999{{bc}b{}}{{dc}d{}}{{fc}f{}}{{hc}h{}}{{jc}j{}}{{bc}l{}}{{dc}l{}}{{fc}l{}}{{hc}l{}}{D`Bb}{IdDh}{{FlJd}Cj}{{{Gf{c}}}{{Cb{{Cl{c}}Hl}}}Cn}{{}{{Jb{Ab}}}}{{}{{Jb{Ad}}}}{{}{{Jb{An}}}}{{}{{Jb{Bf}}}}{c{{Cl{c}}}Cn}{D`{{Gf{Ad}}}}``{{}j}{E`Bn}{Bb{{`{{Jh{}{{Jf{An}}}}}}}}000{Bb{{`{{Jj{}{{Jf{An}}}}}}}}0{Eb{{Db{Fd}}}}{Ed{{Db{Fd}}}}{{bb}{{Db{El}}}}{{dd}{{Db{El}}}}{{ff}{{Db{El}}}}{{AlAl}{{Db{El}}}}{{AnAn}{{Db{El}}}}{{BbBb}{{Db{El}}}}{{hh}{{Db{El}}}}{{DhDh}{{Db{El}}}}{{CfCf}{{Db{El}}}}{{ChCh}{{Db{El}}}}{{EbEb}{{Db{El}}}}{{EdEd}{{Db{El}}}}{{jj}{{Db{El}}}}{{EjEj}{{Db{El}}}}{{CjCj}{{Db{El}}}}`{dFd}{EfFl}``{{{Cl{c}}c}lCn}{AnAd}`0`{{jc}j{}}`{Ejb}{{jj}j}00{{DhDh}{{Db{Dh}}}}`{BnBl}{{BnFl}Bl}{EfBd}{dh}{Dhh}{Efh}{h{{B`{d}}}}0{{bc}CbJl}{{dc}CbJl}{{fc}CbJl}{{Afc}CbJl}{{Ahc}CbJl}{{Ajc}CbJl}{{Alc}CbJl}{{Anc}CbJl}{{Bbc}CbJl}{{hc}CbJl}{{Bdc}CbJl}{{Dhc}CbJl}{{Djc}CbJl}{{Bhc}CbJl}{{Dnc}CbJl}{{Bjc}CbJl}{{Blc}CbJl}{{Bnc}CbJl}{{Cfc}CbJl}{{Chc}CbJl}{{Ebc}CbJl}{{Edc}CbJl}{{Efc}CbJl}{{{Eh{ce}}g}CbJnJnJl}{{Cjc}CbJl}{Edl}{{EbFd}l}{{EdK`}l}{bD`}{dD`}{fD`}{AfD`}{AhD`}{AjD`}{AlD`}{AnD`}{BbD`}{hD`}{BdD`}{DhD`}{DjD`}{BhD`}{DnD`}{BjD`}{BlD`}{BnD`}{E`D`}{CfD`}{ChD`}{EbD`}{EdD`}{EfD`}{{{Eh{ce}}}D`H`H`}{jD`}{CjD`}{{{Cl{c}}}D`{}}{{{A`{{B`{n}}}}}{{A`{Ad}}}}0{{{A`{Ad}}}{{A`{{B`{n}}}}}}0{Bb{{`{{Jj{}{{Jf{An}}}}}}}}0{An{{G`{AdAfAh}}}}0{{bb}{{Db{D`}}}}{{dd}{{Db{D`}}}}{{ff}{{Db{D`}}}}{{hh}{{Db{D`}}}}{{bb}b}{{dd}d}{{ff}f}{{hh}h}{{jj}j}{{bb}l}{{dd}l}{{ff}l}{{hh}l}{j{{B`{n}}}}{d{{B`{n}}}}{f{{B`{n}}}}{{c{A`{n}}}{{Gf{n}}}{}}0000000000000000000000000003{ce{}{}}00000000000000000000000000000000{cKb{}}000000000{{{Cl{c}}}{{Gf{c}}}Cn}{c{{Cb{e}}}{}{}}{D`{{Cb{bc}}}{}}11111{{{A`{n}}}{{Cb{Afc}}}{}}2{{{A`{n}}}{{Cb{Ahc}}}{}}{{{A`{n}}}{{Cb{Ajc}}}{}}44{{{A`{n}}}{{Cb{Alc}}}{}}{{{Gf{n}}}{{Cb{Alc}}}{}}666{{{A`{n}}}{{Cb{Bdc}}}{}}77777777777777777777777777777777777777777777777777777777{cKd{}}000000000000000000000000000000000{{}Kf}00000000000000000000000000{{be}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{de}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{fe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Afe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Ahe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Aje}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Ale}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Ane}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Bbe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{he}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Bde}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Dhe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Dje}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Bhe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Dne}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Bje}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Ble}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Bne}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{E`e}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Cfe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Che}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{je}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Cje}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{{Cl{c}}g}e{}{}{{Kj{{A`{n}}}{{Kh{e}}}}}}{AnAh}0{{jj}j}0{{}j}`````{ce{}{}}0{{{Kl{c}}}{{Kl{c}}}Cn}{{ce}l{}{}}{c{{Cb{{Kl{e}}En}}}F`Fb}{{{A`{n}}}{{Cb{cEn}}}{}}{{Fd{A`{n}}}{{Cb{cEn}}}{}}{{Fdc}{{Cb{eEn}}}F`{}}{D`c{}}0{D`l}{{{Kl{c}}e}lH`{GlGn}}{{{Kl{c}}}D`H`}{{{Kl{c}}Hf}HhHj}{cc{}}{{}D`}=3{{c{A`{n}}}{{Gf{n}}}{}}>{c{{Cb{e}}}{}{}}0{cKd{}}```{KnL`}0{{{A`{n}}}Kn}{{{A`{n}}}Fl}{{{A`{{A`{n}}}}}Fl}1{{{B`{n}}{A`{n}}}Fl}{ce{}{}}0{KnKn}{{ce}l{}{}}{{KnKn}El}{c{{Cb{KnEn}}}F`}{{{A`{n}}}{{Cb{cEn}}}{}}{{Fd{A`{n}}}{{Cb{cEn}}}{}}{{Fdc}{{Cb{eEn}}}F`{}}{{}Kn}{D`c{}}{Knc{}}01{c{{Cb{Kn}}}Gb}{D`l}{{}{{Db{D`}}}}{KnD`}{{KnKn}Hb}{{KnHf}Hh}{{{B`{n}}}Kn}{L`Kn}1{cc{}}{{Knc}lIl}{{}D`}{ce{}{}}`1{{KnKn}{{Db{El}}}}{{Knc}CbJl}:{{{A`{L`}}}{{A`{Kn}}}}0{{{A`{Kn}}}{{A`{L`}}}}{{{A`{{Db{L`}}}}}{{A`{{Db{Kn}}}}}}0{{{A`{{Db{Kn}}}}}{{A`{{Db{L`}}}}}}02{Kn{{B`{n}}}}{{c{A`{n}}}{{Gf{n}}}{}}8{c{{Cb{e}}}{}{}}{{{B`{n}}}{{Cb{Knc}}}{}}01{cKd{}}{{}Kf}{{Kne}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{{Gf{L`}}}{{Gf{Kn}}}}{{{Gf{{Db{L`}}}}}{{Gf{{Db{Kn}}}}}}{{{Gf{{Db{Kn}}}}}{{Gf{{Db{L`}}}}}}{{{Gf{Kn}}}{{Gf{L`}}}}```````{I`Lb}{IbLb}10{ce{}{}}0000000{{{A`{n}}D`D`}{{Cb{LdKb}}}}{LfLf}{I`I`}{IbIb}{LhLh}{{ce}l{}{}}000{{LhLf}{{Cb{I`Kb}}}}{{LhLfD`Fd}{{Cb{IbKb}}}}{{}I`}{{}Ib}{D`c{}}{I`c{}}1{Ibc{}}22221202{D`l}000{{}Ld}{{I`I`}Hb}{{IbIb}Hb}{{LfHf}Hh}{{I`Hf}Hh}{{IbHf}Hh}{{LhHf}Hh}{cc{}}{LjLf}{LbI`}22{LbIb}3{{LhD`}{{Cb{{Ln{Ll}}Kb}}}}{{}D`}000{ce{}{}}000{LdLh}{Lfl}{{Lh{A`{Kn}}}{{Cb{LfKb}}}}{{{A`{Lb}}}{{A`{I`}}}}0{{{A`{I`}}}{{A`{Lb}}}}{{{A`{{Db{Lb}}}}}{{A`{{Db{I`}}}}}}0{{{A`{{Db{I`}}}}}{{A`{{Db{Lb}}}}}}02{I`{{B`{n}}}}{Ib{{B`{n}}}}9999{c{{Cb{e}}}{}{}}{Af{{Cb{I`c}}}{}}{{{B`{n}}}{{Cb{I`c}}}{}}{Bd{{Cb{I`c}}}{}}2130{Aj{{Cb{Ibc}}}{}}0{Ah{{Cb{Ibc}}}{}}{{{B`{n}}}{{Cb{Ibc}}}{}}0616{{{B`{n}}}{{Cb{I`Kb}}}}{{{B`{n}}}{{Cb{IbKb}}}}8888{cKd{}}000{{{Gf{Lb}}}{{Gf{I`}}}}{{{Gf{{Db{Lb}}}}}{{Gf{{Db{I`}}}}}}{{{Gf{{Db{I`}}}}}{{Gf{{Db{Lb}}}}}}{{{Gf{I`}}}{{Gf{Lb}}}}{{LhI`D`FdKnIb}Hb}````````{ce{}{}}000000000{M`M`}{MbMb}{MdMd}{MfMf}{MhMh}{{ce}l{}{}}0000{{M`M`}El}{{MbMb}El}{{MdMd}El}{{MfMf}El}{{MhMh}El}{c{{Cb{M`En}}}F`}{c{{Cb{MbEn}}}F`}{c{{Cb{MdEn}}}F`}{c{{Cb{MfEn}}}F`}{c{{Cb{MhEn}}}F`}{{{A`{n}}}{{Cb{cEn}}}{}}0000{{Fd{A`{n}}}{{Cb{cEn}}}{}}0000{{Fdc}{{Cb{eEn}}}F`{}}0000{{}Mb}{{}Mf}{D`c{}}000000000{c{{Cb{M`}}}Gb}{c{{Cb{Mb}}}Gb}{c{{Cb{Md}}}Gb}{c{{Cb{Mf}}}Gb}{c{{Cb{Mh}}}Gb}{D`l}0000{Mb{{Gf{n}}}}{Mf{{Gf{n}}}}{{M`c}l{GlGn}}{{Mbc}l{GlGn}}{{Mdc}l{GlGn}}{{Mfc}l{GlGn}}{{Mhc}l{GlGn}}{{M`M`}Hb}{{MbMb}Hb}{{MdMd}Hb}{{MfMf}Hb}{{MhMh}Hb}{{M`Hf}Hh}{{MbHf}Hh}{{MdHf}Hh}{{MfHf}Hh}{{MhHf}Hh}{cc{}}0000{M`Fl}{{M`c}lIl}{{Mbc}lIl}{MdFl}{{Mdc}lIl}{{Mfc}lIl}{{Mhc}lIl}{{}D`}0000{ce{}{}}0000``{M`Fd}{MdFd}{MhFd}{{M`M`}{{Db{El}}}}{{MbMb}{{Db{El}}}}{{MdMd}{{Db{El}}}}{{MfMf}{{Db{El}}}}{{MhMh}{{Db{El}}}}{Mhd}{{M`c}CbJl}{{Mbc}CbJl}{{Mdc}CbJl}{{Mfc}CbJl}{{Mhc}CbJl}{{M`Fd}l}{M`D`}{MbD`}{MdD`}{MfD`}{MhD`}{{c{A`{n}}}{{Gf{n}}}{}}0000{ce{}{}}0000{c{{Cb{e}}}{}{}}000000000{cKd{}}0000{{}Kf}0000{{Mbe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}{{Mfe}c{}{{Kj{{A`{n}}}{{Kh{c}}}}}}``````","c":[],"p":[[5,"SBucket",0],[5,"PieceIndex",0],[5,"PieceOffset",0],[5,"SegmentIndex",0],[5,"U256",0],[1,"unit"],[1,"u8"],[1,"slice"],[5,"RawRecord",0],[5,"Record",0],[5,"RecordCommitment",0],[5,"RecordWitness",0],[5,"ChunkWitness",0],[5,"Piece",0],[5,"PieceArray",0],[1,"array"],[5,"FlatPieces",0],[5,"SegmentCommitment",0],[5,"RecordedHistorySegment",0],[5,"Randomness",0],[5,"PotKey",0],[5,"PotSeed",0],[5,"PotOutput",0],[6,"Error",1800],[6,"Result",1801],[10,"FromByteSlice",1800],[5,"PublicKey",0],[5,"RewardSignature",0],[5,"SectorId",0],[5,"NonEmptyVec",0],[10,"Clone",1802],[1,"usize"],[6,"Option",1803],[10,"WrappingSub",1804],[10,"Ord",1805],[5,"HistorySize",0],[5,"ArchivedHistorySegment",0],[5,"PosSeed",0],[5,"PosProof",0],[5,"PotCheckpoints",0],[6,"ArchivedBlockProgress",0],[5,"LastArchivedBlock",0],[6,"SegmentHeader",0],[5,"Solution",0],[5,"SectorSlotChallenge",0],[6,"Ordering",1805],[5,"Error",1806],[10,"Input",1807],[10,"Decode",1807],[1,"u32"],[20,"MaybeUninit",1808],[5,"DecodeFinished",1809],[8,"SlotNumber",0],[8,"Blake3Hash",0],[1,"u16"],[1,"tuple"],[10,"Deserializer",1810],[10,"Deserialize",1810],[5,"Vec",1811],[1,"char"],[10,"FromIterator",1812],[10,"Output",1807],[10,"Sized",1813],[10,"Encode",1807],[1,"bool"],[10,"PartialEq",1805],[5,"Formatter",1814],[8,"Result",1814],[10,"Debug",1814],[6,"NonEmptyVecErr",0],[1,"u64"],[5,"Commitment",1507],[5,"Witness",1507],[5,"NonZeroU64",1815],[1,"u128"],[10,"AsRef",1816],[1,"str"],[10,"Hasher",1817],[10,"Into",1816],[10,"Iterator",1818],[5,"Box",1819],[8,"SectorIndex",0],[17,"Item"],[10,"IndexedParallelIterator",1820],[10,"ExactSizeIterator",1821],[10,"Serializer",1822],[10,"Serialize",1822],[8,"BlockNumber",0],[5,"String",1823],[5,"TypeId",1824],[5,"Type",1825],[17,"Output"],[10,"FnOnce",1826],[5,"Blake3Checksummed",1419],[5,"Scalar",1443],[5,"FsFr",1827],[5,"FsG1",1828],[5,"FsKZGSettings",1829],[5,"Polynomial",1507],[5,"Kzg",1507],[5,"FsPoly",1830],[5,"FsFFTSettings",1831],[5,"Arc",1832],[6,"BlockObject",1626],[5,"BlockObjectMapping",1626],[6,"PieceObject",1626],[5,"PieceObjectMapping",1626],[6,"GlobalObject",1626],[15,"V0",1415],[15,"V0",1794],[15,"V0",1796],[15,"V0",1798]],"b":[[112,"impl-AsMut%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[113,"impl-AsMut%3C%5Bu8%5D%3E-for-PieceArray"],[149,"impl-AsRef%3C%5Bu8;+Piece::SIZE%5D%3E-for-PieceArray"],[150,"impl-AsRef%3C%5Bu8%5D%3E-for-PieceArray"],[783,"impl-Display-for-SBucket"],[784,"impl-Debug-for-SBucket"],[785,"impl-Debug-for-PieceIndex"],[786,"impl-Display-for-PieceIndex"],[787,"impl-Display-for-PieceOffset"],[788,"impl-Debug-for-PieceOffset"],[797,"impl-Debug-for-SegmentIndex"],[798,"impl-Display-for-SegmentIndex"],[800,"impl-Display-for-HistorySize"],[801,"impl-Debug-for-HistorySize"],[807,"impl-Debug-for-PotKey"],[808,"impl-Display-for-PotKey"],[809,"impl-Debug-for-PotSeed"],[810,"impl-Display-for-PotSeed"],[811,"impl-Display-for-PotOutput"],[812,"impl-Debug-for-PotOutput"],[814,"impl-Debug-for-PublicKey"],[815,"impl-Display-for-PublicKey"],[821,"impl-Debug-for-U256"],[822,"impl-Display-for-U256"],[840,"impl-From%3C%5Bu8;+RecordCommitment::SIZE%5D%3E-for-RecordCommitment"],[841,"impl-From%3CCommitment%3E-for-RecordCommitment"],[843,"impl-From%3CWitness%3E-for-RecordWitness"],[844,"impl-From%3C%5Bu8;+RecordWitness::SIZE%5D%3E-for-RecordWitness"],[846,"impl-From%3C%5Bu8;+ChunkWitness::SIZE%5D%3E-for-ChunkWitness"],[847,"impl-From%3CWitness%3E-for-ChunkWitness"],[856,"impl-From%3CCommitment%3E-for-SegmentCommitment"],[857,"impl-From%3C%5Bu8;+SegmentCommitment::SIZE%5D%3E-for-SegmentCommitment"],[858,"impl-From%3CNonZeroU64%3E-for-HistorySize"],[860,"impl-From%3CSegmentIndex%3E-for-HistorySize"],[884,"impl-From%3Cu32%3E-for-U256"],[885,"impl-From%3Cu16%3E-for-U256"],[886,"impl-From%3Cu8%3E-for-U256"],[887,"impl-From%3Cu64%3E-for-U256"],[888,"impl-From%3Cu128%3E-for-U256"],[919,"impl-Hash-for-PublicKey"],[920,"impl-PublicKey"],[924,"impl-SegmentHeader"],[925,"impl-Hash-for-SegmentHeader"],[1263,"impl-TryFrom%3C%26%5Bu8%5D%3E-for-Piece"],[1264,"impl-TryFrom%3CVec%3Cu8%3E%3E-for-Piece"],[1473,"impl-From%3C%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1474,"impl-From%3CFsFr%3E-for-Scalar"],[1475,"impl-From%3C%26%5Bu8;+Self::SAFE_BYTES%5D%3E-for-Scalar"],[1497,"impl-TryFrom%3C%26%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1498,"impl-TryFrom%3C%5Bu8;+Self::FULL_BYTES%5D%3E-for-Scalar"],[1596,"impl-TryFrom%3C%26RecordCommitment%3E-for-Commitment"],[1597,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1598,"impl-TryFrom%3C%26SegmentCommitment%3E-for-Commitment"],[1599,"impl-TryFrom%3CRecordCommitment%3E-for-Commitment"],[1600,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Commitment"],[1602,"impl-TryFrom%3CSegmentCommitment%3E-for-Commitment"],[1603,"impl-TryFrom%3CChunkWitness%3E-for-Witness"],[1604,"impl-TryFrom%3C%26ChunkWitness%3E-for-Witness"],[1605,"impl-TryFrom%3C%26RecordWitness%3E-for-Witness"],[1606,"impl-TryFrom%3C%26%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1607,"impl-TryFrom%3C%5Bu8;+Self::SIZE%5D%3E-for-Witness"],[1609,"impl-TryFrom%3CRecordWitness%3E-for-Witness"],[1723,"impl-BlockObject"],[1724,"impl-Hash-for-BlockObject"],[1726,"impl-PieceObject"],[1727,"impl-Hash-for-PieceObject"]]}],\ ["subspace_erasure_coding",{"doc":"","t":"FNNNNNNNNNNNNNNNNNNNNNN","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":"`{ce{}{}}0{bb}{{ce}d{}{}}{fc{}}0{fd}{{b{j{h}}}{{A`{{l{h}}n}}}}{{b{j{Ab}}}{{A`{{l{Ab}}n}}}}{{bAd}Af}{cc{}}{{}f}9{bf}{Ah{{A`{bn}}}}{{b{j{{Aj{h}}}}}{{A`{{l{h}}n}}}}{{b{j{{Aj{h}}}}}{{A`{Aln}}}}{{b{j{{Aj{h}}}}}{{A`{{`{{B`{}{{An{h}}}}}}n}}}}>{c{{A`{e}}}{}{}}0{cBb{}}","c":[],"p":[[5,"ErasureCoding",0],[1,"unit"],[1,"usize"],[5,"Scalar",23],[1,"slice"],[5,"Vec",24],[5,"String",25],[6,"Result",26],[5,"Commitment",27],[5,"Formatter",28],[8,"Result",28],[5,"NonZeroUsize",29],[6,"Option",30],[5,"Polynomial",27],[17,"Item"],[10,"ExactSizeIterator",31],[5,"TypeId",32]],"b":[]}],\ -["subspace_farmer",{"doc":"subspace-farmer library implementation overview","t":"FSEFENNNNNNNNNNNNNNNNNNNNNNNNNNNENNCNNNCNCNNNCNNNNNNCNNNNNNNNNNCNNIKKMMMMMMMMMMMFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPEPPPPPPPPPPPPTPPPPPTPPPGPPGGGFGGGFFGGPPPPPPPPNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNOOOCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNONNNNCNOCNNNNOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPFPFPPPGGPPPPFFPFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCOOOONNNNNONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNPPFGPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNFFHNNNNNNNHNNNNNNNCNNNNNNNNNHCNNHCHCHNHNNNNNNNNNNNNFNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNPPPPPGNNNNNNNNNNHNNNNNN","n":["Identity","KNOWN_PEERS_CACHE_SIZE","NodeClient","NodeRpcClient","RpcClientError","acknowledge_archived_segment_header","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","deref","deref","deref","deref_mut","deref_mut","drop","drop","entropy","farmer_app_info","file_size","fmt","from","from","init","init","into","into","jsonrpsee","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","thread_pool_manager","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","NodeClientExt","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_piece","init","init","into","into","new","on_sync_progress","record","replace_backing_caches","run","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","reward_signing","AboutToExpire","BackgroundDownloadingPanicked","BackgroundTaskError","BackgroundTaskPanicked","CacheCantBeOpened","CacheFileDoesNotExist","CantPreallocateMetadataFile","CantPreallocatePlotFile","Determined","Downloaded","Downloading","Encoded","Encoding","Error","Expiration","Expired","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToOpenIdentity","FailedToReadBytes","FailedToSubscribeArchivedSegments","FailedToWriteBytes","FarmInfoCantBeOpened","FarmInfoFileDoesNotExist","FarmIsShuttingDown","FarmTooLarge","Farming","FarmingError","Finished","Found","IdentityCantBeOpened","IdentityFileDoesNotExist","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","LikelyAlreadyInUse","LikelyAlreadyInUse","LowLevel","METADATA_FILE","MetadataCantBeOpened","MetadataFileDoesNotExist","MetadataFileTooSmall","MissingArchivedSegmentHeader","NotFound","PLOT_FILE","PieceCacheError","Plotting","Plotting","PlottingError","PublicKeyMismatch","RewardSigning","SectorExpirationDetails","SectorPlottingDetails","SectorUpdate","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmInfoLock","SingleDiskFarmOptions","SingleDiskFarmScrubError","SingleDiskFarmSummary","Starting","Ulid","UnexpectedMetadataVersion","UnexpectedMetadataVersion","V0","Writing","Written","WrongChain","allocated_space","allocated_space","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","cache_percentage","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","collect_summary","compare","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","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","deserialize","deserialize","directory","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","eq","equivalent","equivalent","equivalent","erasure_coding","farm_during_initial_plotting","farmer_app_info","farming","farming_thread_pool_size","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","hash","id","id","info","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","kzg","load_from","max_pieces_in_sector","new","new","new","node_client","on_farming_notification","on_sector_update","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","plotting_delay","plotting_thread_pool_manager","public_key","read_all_sectors_metadata","reward_address","run","scrub","serialize","serialize","size_hint","size_hint","size_hint","source","source","source","store_to","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","total_sectors_count","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_lock","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","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","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","task","error","error","error","segment_index","expires_at","last_queued","old_plotted_sector","plotted_sector","progress","replotting","time","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","Auditing","AuditingDetails","Decoded","DecodedFarmingError","FailedToCreateThreadPool","FailedToGetFarmerInfo","FailedToSubscribeSlotInfo","FarmingError","FarmingNotification","Io","LowLevelAuditing","LowLevelProving","NonFatalError","PlotAudit","PlotAuditOptions","Proving","ProvingDetails","ProvingResult","Rejected","Success","Timeout","audit","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","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_to","encode_to","encode_to","encode_to","encode_to","encode_to","erasure_coding","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_fatal","kzg","maybe_sector_being_modified","new","public_key","rayon_files","result","reward_address","sectors_count","sectors_metadata","size_hint","size_hint","size_hint","size_hint","size_hint","slot_info","source","str_variant","table_generator","time","time","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","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","error","error","RayonFiles","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","open","read_at","read_at","try_from","try_into","type_id","unique_saturated_into","vzip","CantPreallocateCacheFile","ChecksumMismatch","DiskPieceCache","DiskPieceCacheError","Io","Offset","OffsetOutsideOfRange","ZeroCapacity","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","into","into","into","source","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","max","provided","PieceReader","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read_piece","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","PlottingThreadPoolManager","PlottingThreadPoolPair","PlottingThreadPoolsGuard","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","from","from","from","get_thread_pools","init","init","init","into","into","into","new","plotting","replotting","to_owned","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","AsyncJoinOnDrop","CpuCoreSet","all_cpu_cores","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cpu_cores","create_plotting_thread_pool_manager","deref","deref","deref_mut","deref_mut","drop","drop","drop","farmer_piece_getter","fmt","from","from","init","init","into","into","into_future","new","parse_cpu_cores_sets","piece_validator","pin_current_thread","poll","rayon_custom_spawn_handler","readers_and_pieces","run_future_in_dedicated_thread","ss58","thread_pool_core_indices","to_owned","tokio_rayon_spawn_handler","truncate","try_from","try_from","try_into","try_into","try_poll","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","FarmerPieceGetter","borrow","borrow_mut","deref","deref_mut","drop","from","get_piece","init","into","new","try_from","try_into","type_id","unique_saturated_into","vzip","SegmentCommitmentPieceValidator","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","init","into","new","to_owned","try_from","try_into","type_id","unique_saturated_into","validate_piece","vzip","ReadersAndPieces","add_sector","borrow","borrow_mut","contains_piece","delete_sector","deref","deref_mut","drop","fmt","from","init","into","new","piece_indices","read_piece","try_from","try_into","type_id","unique_saturated_into","vzip","BadBase58","BadLength","FormatNotAllowed","InvalidChecksum","InvalidPrefix","Ss58ParsingError","borrow","borrow_mut","deref","deref_mut","drop","fmt","fmt","from","init","into","parse_ss58_reward_address","to_string","try_from","try_into","type_id","unique_saturated_into","vzip"],"q":[[0,"subspace_farmer"],[66,"subspace_farmer::node_client"],[80,"subspace_farmer::piece_cache"],[119,"subspace_farmer::reward_signing"],[120,"subspace_farmer::single_disk_farm"],[488,"subspace_farmer::single_disk_farm::BackgroundTaskError"],[489,"subspace_farmer::single_disk_farm::PlottingError"],[493,"subspace_farmer::single_disk_farm::SectorExpirationDetails"],[494,"subspace_farmer::single_disk_farm::SectorPlottingDetails"],[500,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[515,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[520,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[547,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[552,"subspace_farmer::single_disk_farm::farming"],[768,"subspace_farmer::single_disk_farm::farming::FarmingError"],[770,"subspace_farmer::single_disk_farm::farming::rayon_files"],[787,"subspace_farmer::single_disk_farm::piece_cache"],[849,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[851,"subspace_farmer::single_disk_farm::piece_reader"],[870,"subspace_farmer::thread_pool_manager"],[924,"subspace_farmer::utils"],[975,"subspace_farmer::utils::farmer_piece_getter"],[991,"subspace_farmer::utils::piece_validator"],[1010,"subspace_farmer::utils::readers_and_pieces"],[1031,"subspace_farmer::utils::ss58"],[1054,"subspace_core_primitives::segments"],[1055,"core::future::future"],[1056,"alloc::boxed"],[1057,"core::pin"],[1058,"core::result"],[1059,"std::path"],[1060,"core::convert"],[1061,"core::fmt"],[1062,"core::fmt"],[1063,"core::option"],[1064,"subspace_core_primitives::pieces"],[1065,"schnorrkel::keys"],[1066,"schnorrkel::keys"],[1067,"schnorrkel::sign"],[1068,"subspace_rpc_primitives"],[1069,"subspace_rpc_primitives"],[1070,"core::fmt"],[1071,"subspace_core_primitives::pieces"],[1072,"core::ops::function"],[1073,"alloc::sync"],[1074,"event_listener_primitives::handler_id"],[1075,"libp2p_kad::record"],[1076,"subspace_farmer_components::plotting"],[1077,"core::error"],[1078,"core::cmp"],[1079,"std::path"],[1080,"parity_scale_codec::codec"],[1081,"serde::de"],[1082,"parity_scale_codec::codec"],[1083,"subspace_farmer_components::plotting"],[1084,"ulid"],[1085,"core::hash"],[1086,"std::io::error"],[1087,"core::marker"],[1088,"subspace_farmer_components::plotting"],[1089,"subspace_farmer_components::sector"],[1090,"anyhow"],[1091,"serde::ser"],[1092,"alloc::string"],[1093,"subspace_core_primitives"],[1094,"subspace_farmer_components::proving"],[1095,"subspace_farmer_components"],[1096,"subspace_proof_of_space"],[1097,"rayon_core"],[1098,"subspace_core_primitives::pieces"],[1099,"core::ops::function"],[1100,"tokio::runtime::task::join"],[1101,"core::num::error"],[1102,"core::task::wake"],[1103,"core::task::poll"],[1104,"rayon_core::registry"],[1105,"core::ops::function"],[1106,"subspace_networking::utils::piece_provider"],[1107,"subspace_networking::node"],[1108,"subspace_core_primitives::crypto::kzg"],[1109,"subspace_core_primitives::segments"]],"d":["Identity struct is an abstraction of public & secret key …","Size of the LRU cache for peers.","","WsClient wrapper.","","","","","","","","","","","Creates new identity, overrides identity that might …","","","","","","","","Returns entropy used to generate keypair.","","Size of the identity file on disk","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","Create a new instance of NodeClient.","","Opens the existing identity, returns Ok(None) if it doesn…","Opens the existing identity, or creates a new one.","","","Returns the public key of the identity.","","Returns the secret key of the identity.","","Sign reward hash.","","Submit a block signature","","","","","","","","","","","","","","","","","","","","To become error type agnostic","Abstraction of the Node Client","Node Client extension methods that are not necessary for …","Acknowledge segment header.","Get farmer app info","Get the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","Subscribe to cache sync notifications","","Initialize replacement of backing caches, returns …","Run the cache worker with provided piece getter","","","","","","","","","","","","","Sector will expire at the next segment index and should be …","Background downloading panicked","Errors that happen in background tasks","Background task panicked","Cache can’t be opened","Cache file does not exist","Can’t preallocate metadata file, probably not enough …","Can’t preallocate plot file, probably not enough space …","Sector expiration became known","Downloaded sector pieces","Downloading sector pieces","Encoded sector pieces","Encoding sector pieces","Failed to open farm","Sector expiration information updated","Sector already expired","Failed to decode metadata header","Failed to decode metadata header","Failed to determine file size","Failed to retrieve farmer info","Failed to get segment header","Failed to open or create identity","Failed to read bytes from file","Failed to subscribe to archived segments","Failed to write bytes from file","Farm info can’t be opened","Farm info file does not exist","Farm is shutting down","Farm is too large","Farming error","","Finished plotting","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","Farm is likely already in use, make sure no other farmer …","Farm is likely already in use, make sure no other farmer …","Low-level plotting error","","Metadata can’t be opened","Metadata file does not exist","Metadata file too small","Missing archived segment header","Farm was not found","","Piece cache error","Plotting error","Sector is being plotted","Errors that happen during plotting","Identity public key doesn’t match public key in the disk …","Reward signing","Details about sector expiration","Details about sector currently being plotted","Various sector updates","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 …","Exclusive lock for single disk farm info file, ensuring no …","Options used to open single disk farm","Errors happening during scrubbing","Summary of single disk farm for presentational purposes","Starting plotting of a sector","Farm ID","Unexpected metadata version","Unexpected metadata version","V0 of the info","Writing sector","Written sector","Wrong chain (genesis hash)","How much space in bytes is allocated for this farm","How much space in bytes was allocated","","","","","","","","","","","","","","","","","","","","","","","","","","","Percentage of allocated space dedicated for caching …","","","","","","","","","","","","Collect summary of single disk farm for presentational …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Path to directory where farm is stored.","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","","","","","","","","","","","","","","Erasure coding instance to use.","Whether to farm during initial plotting","Information necessary for farmer application","","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","ID of this farm","","Info 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).","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","Creates new ID","","RPC client connected to Subspace node","Subscribe to farming notifications","Subscribe to sector updates","Subscribe to new solution notification","","","Get piece cache instance","Piece receiver implementation for plotting purposes.","","Get piece reader to read plotted pieces later","How many pieces does one sector contain.","Read information about sectors plotted so far","Number of sectors successfully plotted so far","Notification for plotter to start, can be used to delay …","Thread pool manager used for plotting","","Read all sectors metadata","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 …","","","","","","","","","","","","","","Number of sectors in this farm","","","","","","","","","","","","","","","","","","","","","","","","","","","Try to acquire exclusive lock on the single disk farm info …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipe everything that belongs to this single disk farm","","Lower-level error","Lower-level error","Lower-level error","Segment index that was missing","Segment index at which sector expires","Whether this is the last sector queued so far","Information about old plotted sector that was replaced","Information about plotted sector","Progress so far in % (not including this sector)","Whether sector is being replotted","How much time it took to plot a sector","","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","Auditing","Auditing details","Decoded farming error","Special decoded farming error","Failed to create thread pool","Failed to retrieve farmer info","Failed to subscribe to slot info notifications","Errors that happen during farming","Various farming notifications","I/O error occurred","Low-level auditing error","Low-level proving error","Non-fatal farming error","Plot auditing implementation","Plot audit options","Proving","Proving details","Result of the proving","Managed to prove within time limit, but node rejected …","Proved successfully and accepted by the node","Proving took too long","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Erasure coding instance","","","","","","","","","","","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.","","","","","","","","","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).","Whether this error is fatal and makes farm unusable","Kzg instance","Optional sector that is currently being modified (for …","Create new instance","Public key of the farm","","Whether proving ended up being successful","Reward address to use for solutions","Number of sectors that were audited","Metadata of all sectors plotted so far","","","","","","Slot info for the audit","","String variant of the error, primarily for monitoring …","Proof of space table generator","Audit duration","Audit duration","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Wrapper data structure for multiple files to be used with …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Open file at specified as many times as there is number of …","","","","","","","","Can’t preallocate cache file, probably not enough space …","Checksum mismatch","Piece cache stored on one disk","Disk piece cache open error","I/O error occurred","Offset wrapper for pieces in DiskPieceCache","Offset outsize of range","Cache size has zero capacity, this is not supported","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Max offset","Provided offset","Wrapper data structure that can be used to read pieces …","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Read piece from sector by offset, None means input …","","","","","","","Plotting thread pool manager.","A wrapper around thread pool pair for plotting purposes","Wrapper around PlottingThreadPoolPair that on Drop will …","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get one of inner thread pool pairs, will block until one …","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create new thread pool manager by instantiating …","","","","","","","","","","","","","","","","","","","Joins async join handle on drop","Abstraction for CPU core set","Get all cpu cores, grouped into sets according to NUMA …","","","","","","","","Creates thread pool pairs for each of CPU core set pair …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Create new instance.","Parse space-separated set of groups of CPU cores …","","Pin current thread to this NUMA node (not just one CPU …","","This function is supposed to be used with …","","Runs future on a dedicated thread with the specified name, …","Modified version of SS58 parser extracted from Substrate …","Thread indices for each thread pool","","This function is supposed to be used with …","Will truncate list of CPU cores to this number.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","","","Base 58 requirement is violated","Length is bad","Disallowed SS58 Address Format for this datatype","Invalid checksum","Invalid SS58 prefix byte","An error type for SS58 decoding.","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Some if the string is a properly encoded SS58Check address.","","","","","",""],"i":[0,0,0,0,0,1,6,1,6,1,6,1,6,1,6,6,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,0,1,1,0,6,6,1,0,6,0,6,1,6,0,1,1,1,1,1,1,0,6,1,6,1,6,1,6,1,6,1,0,6,1,0,0,0,28,28,29,28,28,28,28,28,28,28,28,0,0,31,30,31,30,30,30,31,30,31,30,31,30,31,30,31,30,30,31,30,31,30,30,30,30,30,31,30,31,30,31,30,31,30,31,30,31,30,0,48,62,0,65,64,64,63,63,48,47,47,47,47,53,50,48,63,64,64,62,62,63,64,62,64,64,64,62,63,65,0,47,53,64,64,63,63,63,62,63,63,64,62,58,64,64,64,62,53,58,63,65,50,0,64,65,0,0,0,0,0,0,0,0,0,0,0,47,49,63,64,46,47,47,63,46,74,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,74,47,48,49,46,50,47,48,49,46,50,49,58,49,47,48,50,47,48,50,47,48,50,47,48,50,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,49,46,74,74,89,74,58,58,47,48,62,49,46,53,63,64,65,50,47,48,50,49,49,49,49,74,74,74,0,74,47,48,62,62,49,49,46,53,63,63,64,64,65,65,50,89,74,58,47,48,62,62,62,49,49,46,53,63,63,63,64,65,65,65,65,50,46,49,58,46,58,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,74,46,74,58,49,46,74,58,58,58,49,0,58,74,0,58,46,58,58,74,74,46,58,74,58,58,49,46,47,48,50,62,63,65,46,47,48,50,47,48,49,46,50,62,49,63,64,65,58,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,46,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,58,134,135,136,137,138,139,140,141,141,140,140,141,142,143,142,144,145,144,145,146,146,142,142,146,143,144,145,147,147,147,147,147,148,149,150,151,152,153,154,148,149,150,155,151,156,152,157,153,158,159,154,160,160,149,150,158,149,150,158,161,162,163,163,161,101,0,70,0,70,70,70,0,0,70,70,70,101,0,0,101,0,0,99,99,99,90,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,98,99,100,101,91,98,99,100,101,91,98,99,100,101,102,70,98,99,100,101,102,70,98,99,100,101,102,70,98,99,100,101,102,70,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,98,99,100,101,102,70,91,98,99,99,100,101,102,102,70,70,91,90,98,99,100,101,102,70,70,70,70,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,70,91,91,90,91,0,100,91,98,91,98,99,100,101,102,91,70,70,91,98,100,98,99,100,101,102,70,98,99,100,101,91,99,102,70,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,164,165,0,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,69,69,0,0,69,0,69,69,69,105,41,69,105,41,105,41,105,41,69,105,41,69,105,41,69,105,41,69,69,105,105,41,69,69,105,41,69,105,41,69,105,41,69,105,41,69,105,69,105,41,69,105,41,69,105,41,69,105,41,69,105,41,166,166,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,0,0,0,109,108,107,109,108,107,107,107,109,108,108,107,109,108,107,109,108,108,107,109,108,107,109,108,107,107,109,108,107,109,108,107,107,109,109,107,109,108,107,109,108,107,109,108,107,109,108,107,109,108,107,0,0,0,114,112,114,112,112,112,112,0,114,112,114,112,114,114,112,0,112,114,112,114,112,114,112,114,114,0,0,112,114,0,0,0,0,0,112,0,112,114,112,114,112,114,114,112,114,112,114,112,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,133,133,133,133,133,0,133,133,133,133,133,133,133,133,133,133,0,133,133,133,133,133,133],"f":"`````{{bd}{{j{{h{f}}}}}}{ce{}{}}000{ll}{bb}{{ce}n{}{}}0{c{{A`{l`}}}{{Ad{Ab}}}}{lc{}}{Afc{}}000{Afn}0{l{{Aj{Ah}}}}{b{{j{{h{f}}}}}}{{}Af}{{bAl}An}{cc{}}022<<`{{bB`}{{j{{h{f}}}}}}{Bb{{A`{bBd}}}}`{c{{A`{{Bf{l}}`}}}{{Ad{Ab}}}};{{bBh}{{j{{h{f}}}}}}`{lBj}`{lBl}{{b{Bn{d}}}{{j{{h{f}}}}}}{{l{Aj{Ah}}}C`}`{{bCb}{{j{{h{f}}}}}}{{bCd}{{j{{h{f}}}}}}====`{ce{}{}}0{c{{A`{e}}}{}{}}000{cCf{}}022`22```{{Chd}{{j{{h{f}}}}}}{Ch{{j{{h{f}}}}}}{{CjB`}{{j{{h{f}}}}}}{{ChBh}{{j{{h{f}}}}}}{{Ch{Bn{d}}}{{j{{h{f}}}}}}{{ChCb}{{j{{h{f}}}}}}{{ChCd}{{j{{h{f}}}}}}5555``9999{ClCl}{{ce}n{}{}}{Afc{}}000{Afn}0{{{Cn{c}}Al}An{D`D`}}{{ClAl}An}{cc{}}0{{ClDb}{{Bf{Dd}}}}{{}Af}0{ce{}{}}0{{cDf}{{Dh{Cl{Cn{c}}}}}Ch}{{Cl{Dl{Dj}}}Dn}{{ClDb}{{Bf{E`}}}}{{Cl{Bn{Eb}}}{{Ed{n}}}}{{{Cn{c}}e}nChEf}5{c{{A`{e}}}{}{}}000{cCf{}}07777{{cl}{{A`{{`{{f{}{{Eh{n}}}}}}{h{Ej}}}}}Ch}```````````````````````````````````````````````````````````````````````````{ElB`}`99999999999999999999999999`{EnEn}{F`F`}{FbFb}{ElEl}{FdFd}{{ce}n{}{}}0000{{FbFb}Ff}{FhFj}{{ce}Ff{}{}}{c{{A`{EnFl}}}Fn}{c{{A`{F`Fl}}}Fn}{c{{A`{FdFl}}}Fn}{{{Aj{Ah}}}{{A`{cFl}}}{}}00{{G`{Aj{Ah}}}{{A`{cFl}}}{}}00{{G`c}{{A`{eFl}}}Fn{}}00{Afc{}}0000000000000000000000000{c{{A`{Fb}}}Gb}{c{{A`{El}}}Gb}``{Afn}00{Gdn}1111111111{{Enc}n{GfGh}}{{F`c}n{GfGh}}{{Fdc}n{GfGh}}{{FbFb}Gj}{{ce}Gj{}{}}00`````{{EnAl}An}{{F`Al}An}{{GlAl}An}0{{FbAl}An}0{{ElAl}An}{{FjAl}An}{{GnAl}An}0{{H`Al}An}0{{HbAl}An}0{{FdAl}An}{cc{}}0000{HdGl}1{HfGl}{HhFb}333{HfGn}{HjGn}55{GlHb}6{{{h{Ej}}}Hb}{HlHb}8{El{{Hn{Ah}}}}{{Fbc}nI`}{GdFb}{ElFb}{GdEl}{{}Af}000000000000{ce{}{}}000000000000`{Ab{{Ib{{Bf{El}}}}}}`{{{Id{ce}}Af}{{A`{GdGn}}}Ch{EfIfIhIj}}{{}Fb}{{Fb{Hn{Ah}}IlInB`}El}`{{Gd{Dl{Dj}}}Dn}00{{FbFb}{{Bf{Ff}}}}`{GdEb}``{GdJ`}{ElIn}{Gd{{`{{Jf{}{{Jb{{A`{JdFl}}}}}}}}}}{GdAf}``{ElIl}{Ab{{Ib{{Bn{Jh}}}}}}`{Gd{{Jj{Fb}}}}{Ab{{A`{nH`}}}}{{Fbc}A`Jl}{{Elc}A`Jl}{EnAf}{F`Af}{FdAf}{Gl{{Bf{Ej}}}}{Gn{{Bf{Ej}}}}{Hb{{Bf{Ej}}}}{{ElAb}{{Ib{n}}}}{{c{Aj{Ah}}}{{Bn{Ah}}}{}}00{ce{}{}}0000{cJn{}}0000{GdK`}{c{{A`{e}}}{}{}}0000000000000000000000000{Ab{{Ib{Kb}}}}{cCf{}}00000000000055555555555555555555555555{Ab{{Ib{n}}}}`````````````````````````````````````````````````````````````````````````````````````{{{Kd{c}}{Kf{e}}}{{A`{{Bn{{Dh{K`{`{{Kl{}{{Jb{{A`{{Kh{IlIl}}Kj}}}}}}}}}}}}Kn}}}L`Lb}7777777777777777{LdLd}{LfLf}{LhLh}{LjLj}{{{Kf{c}}}{{Kf{c}}}Lb}{{ce}n{}{}}0000{c{{A`{LdFl}}}Fn}{c{{A`{LfFl}}}Fn}{c{{A`{LhFl}}}Fn}{c{{A`{LjFl}}}Fn}{c{{A`{LlFl}}}Fn}{c{{A`{HlFl}}}Fn}{{{Aj{Ah}}}{{A`{cFl}}}{}}00000{{G`{Aj{Ah}}}{{A`{cFl}}}{}}00000{{G`c}{{A`{eFl}}}Fn{}}00000{Afc{}}000000000000000{Afn}0000000{{Ldc}n{GfGh}}{{Lfc}n{GfGh}}{{Lhc}n{GfGh}}{{Ljc}n{GfGh}}{{Llc}n{GfGh}}{{Hlc}n{GfGh}}`{{LdAl}An}{{LfAl}An}0{{LhAl}An}{{LjAl}An}{{LlAl}An}0{{HlAl}An}0{{{Kf{c}}Al}An{LbD`}}{cc{}}00000{KnHl}{KjHl}{HfHl}3{LnHl}4{{}Af}0000000{ce{}{}}0000000{HlGj}``{c{{Kd{c}}}L`}``````{LdAf}{LfAf}{LhAf}{LjAf}{LlAf}`{Hl{{Bf{Ej}}}}{HlBb}```{{c{Aj{Ah}}}{{Bn{Ah}}}{}}00000:::::{cJn{}}00{c{{A`{e}}}{}{}}000000000000000{cCf{}}0000000================```=={Afc{}}0{Afn}{cc{}}{{}Af}{ce{}{}}{Ab{{Ib{M`}}}}{{M`{Aj{Ah}}Af}{{Ib{n}}}}088722````````222222{MbMb}{EbEb}{{ce}n{}{}}0999999888{{HjAl}An}0{{MbAl}An}0{{EbAl}An}:{HfHj};;:::999{Hj{{Bf{Ej}}}}::{cJn{}}0{c{{A`{e}}}{}{}}00000{cCf{}}00======```=={J`J`}9{Afc{}}0{Afn}{{J`Al}An}{cc{}}{{}Af}{ce{}{}}{{J`K`Md}{{Bf{Dd}}}}199811```111111{MfMf}{{ce}n{}{}}8{Mhc{}}9999988{Mhn}9{{MjAl}An}{{MhAl}An}{{MfAl}An}:::{MfMh}:::999{{cMl}{{A`{MfLn}}}{{Mn{Af}{{Eh{{A`{MjLn}}}}}}}}``:{c{{A`{e}}}{}{}}00000{cCf{}}00<<<<<<``{{}{{Bn{N`}}}}===={N`N`};{N`{{Aj{Af}}}}{c{{A`{MfLn}}}{{Nb{}{{Jb{{Dh{N`N`}}}}}}}}{Afc{}}000{{{Nd{c}}}n{}}{Afn}0`{{N`Al}An}{cc{}}0{{}Af}0{ce{}{}}0{c{}{}}{{{Nf{c}}Gj}{{Nd{c}}}{}}{Bb{{A`{{Bn{N`}}Nh}}}}`{N`n}{{{j{{Nd{c}}}}Nj}{{Nl{e}}}{}{}}{g{{`{{Mn{Nn}{{Eh{{Ib{n}}}}}}}}}Ih{{O`{}{{Eh{c}}}}Ih}{{Mn{Nn}{{Eh{e}}}}If}}`{{gJn}{{Ib{{`{{f{}{{Eh{{A`{cOb}}}}}}Ih}}}}}Ih{{f{}{{Eh{c}}}}}{{O`{}{{Eh{e}}}}Ih}}`{{{Bf{Ml}}{Bf{Ml}}}{{Bn{N`}}}}8{{}{{`{{Mn{Nn}{{Eh{{Ib{n}}}}}}}}}}{{N`Af}n}{c{{A`{e}}}{}{}}000{{{j{c}}Nj}Nl{}}{cCf{}}0====`=={Afc{}}0{Afn}{cc{}}{{{Od{ce}}BhOf}{{j{{h{f}}}}}{OhIh}Ch}{{}Af}{ce{}{}}{{{Oj{c}}Cle{Dl{{On{{Bf{Ol}}}}}}}{{Od{ce}}}{}{}}99711`11{{{A`{c}}}{{A`{c}}}If}{{ce}n{}{}}887643{{AbcAd{Dl{{On{{Ah{dAf}}}}}}}{{A`{c}}}{}}4<<:4{{{A`{c}}DfBhDd}{{j{{h{f}}}}}Ch}5`{{OlAhJd}n}66{{OlBh}Gj}1<<;{{OlAl}An};98{{{Bn{J`}}}Ol}{Ol{{`{{Jf{}{{Jb{Bh}}}}}}}}{{OlBh}{{Bf{{`{{f{}{{Eh{{Bf{Dd}}}}}}}}}}}}{c{{A`{e}}}{}{}}0{cCf{}}==``````=={Afc{}}0{Afn}{{AjAl}An}0{cc{}}{{}Af}{ce{}{}}{Bb{{A`{IlAj}}}}{cJn{}}99822","c":[],"p":[[5,"NodeRpcClient",0],[5,"SegmentIndex",1054],[10,"Future",1055],[5,"Box",1056],[5,"Pin",1057],[5,"Identity",0],[1,"unit"],[6,"Result",1058],[5,"Path",1059],[10,"AsRef",1060],[1,"usize"],[1,"u8"],[1,"slice"],[5,"Formatter",1061],[8,"Result",1061],[1,"u64"],[1,"str"],[6,"Error",1062],[6,"Option",1063],[5,"PieceIndex",1064],[5,"PublicKey",1065],[5,"SecretKey",1065],[5,"Vec",1066],[5,"Signature",1067],[5,"RewardSignatureResponse",1068],[5,"SolutionResponse",1068],[5,"TypeId",1069],[10,"NodeClient",66],[10,"NodeClientExt",66],[5,"PieceCache",80],[5,"CacheWorker",80],[10,"Debug",1061],[5,"Key",1070],[5,"Piece",1064],[5,"PeerId",1071],[1,"tuple"],[10,"Fn",1072],[5,"Arc",1073],[5,"HandlerId",1074],[5,"ProviderRecord",1070],[5,"DiskPieceCache",787],[5,"Receiver",1075],[10,"PieceGetter",1076],[17,"Output"],[10,"Error",1077],[6,"SingleDiskFarmInfo",120],[6,"SectorPlottingDetails",120],[6,"SectorExpirationDetails",120],[6,"SingleDiskFarmId",120],[6,"SectorUpdate",120],[6,"Ordering",1078],[5,"PathBuf",1059],[6,"SingleDiskFarmSummary",120],[5,"Error",1079],[10,"Input",1080],[1,"u32"],[10,"Deserializer",1081],[5,"SingleDiskFarm",120],[10,"Output",1080],[10,"Sized",1082],[1,"bool"],[6,"PlottingError",120],[6,"SingleDiskFarmError",120],[6,"SingleDiskFarmScrubError",120],[6,"BackgroundTaskError",120],[6,"PlottingError",1076],[5,"Error",1083],[5,"Ulid",1084],[6,"DiskPieceCacheError",787],[6,"FarmingError",552],[1,"array"],[10,"Hasher",1085],[8,"Result",1083],[5,"SingleDiskFarmOptions",120],[10,"Clone",1086],[10,"Send",1082],[10,"Sync",1082],[5,"PublicKey",1087],[1,"u16"],[5,"PieceReader",851],[17,"Item"],[5,"PlottedSector",1076],[10,"Iterator",1088],[5,"SectorMetadataChecksummed",1089],[8,"Result",1090],[10,"Serializer",1091],[5,"String",1092],[8,"SectorIndex",1087],[5,"SingleDiskFarmInfoLock",120],[5,"PlotAudit",552],[5,"PlotAuditOptions",552],[5,"Solution",1087],[6,"ProvingError",1093],[10,"ProvableSolutions",1093],[6,"AuditingError",1094],[10,"ReadAtSync",1095],[10,"Table",1096],[5,"AuditingDetails",552],[6,"ProvingResult",552],[5,"ProvingDetails",552],[6,"FarmingNotification",552],[5,"DecodedFarmingError",552],[5,"ThreadPoolBuildError",1097],[5,"RayonFiles",770],[5,"Offset",787],[5,"PieceOffset",1064],[5,"PlottingThreadPoolManager",870],[5,"PlottingThreadPoolsGuard",870],[5,"PlottingThreadPoolPair",870],[5,"NonZeroUsize",1098],[10,"FnMut",1072],[5,"CpuCoreSet",924],[10,"ExactSizeIterator",1099],[5,"AsyncJoinOnDrop",924],[5,"JoinHandle",1100],[5,"ParseIntError",1101],[5,"Context",1102],[6,"Poll",1103],[5,"ThreadBuilder",1104],[10,"FnOnce",1072],[5,"Canceled",1075],[5,"FarmerPieceGetter",975],[6,"PieceGetterRetryPolicy",1076],[10,"PieceValidator",1105],[5,"PieceProvider",1105],[5,"ReadersAndPieces",1010],[8,"Mutex",1106],[5,"SegmentCommitmentPieceValidator",991],[5,"Node",1107],[5,"Kzg",1108],[5,"SegmentCommitment",1054],[5,"LruCache",1109],[6,"Ss58ParsingError",1031],[15,"BackgroundTaskPanicked",488],[15,"FailedToGetFarmerInfo",489],[15,"FailedToGetSegmentHeader",489],[15,"FailedToSubscribeArchivedSegments",489],[15,"MissingArchivedSegmentHeader",489],[15,"Determined",493],[15,"Starting",494],[15,"Finished",494],[15,"FarmTooLarge",500],[15,"InsufficientAllocatedSpace",500],[15,"WrongChain",500],[15,"IdentityMismatch",500],[15,"InvalidPiecesInSector",500],[15,"V0",515],[15,"FailedToDetermineFileSize",520],[15,"FailedToReadBytes",520],[15,"FailedToWriteBytes",520],[15,"FarmInfoCantBeOpened",520],[15,"IdentityCantBeOpened",520],[15,"MetadataCantBeOpened",520],[15,"CacheCantBeOpened",520],[15,"FarmInfoFileDoesNotExist",520],[15,"IdentityFileDoesNotExist",520],[15,"MetadataFileDoesNotExist",520],[15,"MetadataFileTooSmall",520],[15,"CacheFileDoesNotExist",520],[15,"PublicKeyMismatch",520],[15,"Found",547],[15,"NotFound",547],[15,"Error",547],[15,"FailedToSubscribeSlotInfo",768],[15,"FailedToGetFarmerInfo",768],[15,"OffsetOutsideOfRange",849]],"b":[[307,"impl-Debug-for-PlottingError"],[308,"impl-Display-for-PlottingError"],[309,"impl-Debug-for-SingleDiskFarmId"],[310,"impl-Display-for-SingleDiskFarmId"],[313,"impl-Display-for-SingleDiskFarmError"],[314,"impl-Debug-for-SingleDiskFarmError"],[315,"impl-Display-for-SingleDiskFarmScrubError"],[316,"impl-Debug-for-SingleDiskFarmScrubError"],[317,"impl-Display-for-BackgroundTaskError"],[318,"impl-Debug-for-BackgroundTaskError"],[325,"impl-From%3CPlottingError%3E-for-PlottingError"],[327,"impl-From%3CError%3E-for-PlottingError"],[332,"impl-From%3CError%3E-for-SingleDiskFarmError"],[333,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[336,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[338,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-BackgroundTaskError"],[339,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[656,"impl-Display-for-ProvingResult"],[657,"impl-Debug-for-ProvingResult"],[660,"impl-Display-for-DecodedFarmingError"],[661,"impl-Debug-for-DecodedFarmingError"],[662,"impl-Display-for-FarmingError"],[663,"impl-Debug-for-FarmingError"],[671,"impl-From%3CAuditingError%3E-for-FarmingError"],[672,"impl-From%3CProvingError%3E-for-FarmingError"],[673,"impl-From%3CError%3E-for-FarmingError"],[675,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[780,"impl-ReadAtSync-for-RayonFiles"],[781,"impl-ReadAtSync-for-%26RayonFiles"],[814,"impl-Display-for-DiskPieceCacheError"],[815,"impl-Debug-for-DiskPieceCacheError"],[816,"impl-Display-for-Offset"],[817,"impl-Debug-for-Offset"],[1042,"impl-Display-for-Ss58ParsingError"],[1043,"impl-Debug-for-Ss58ParsingError"]]}],\ +["subspace_farmer",{"doc":"subspace-farmer library implementation overview","t":"FSEFENNNNNNNNNNNNNNNNNNNNNNNNNNNENNCNNNCNCNNNCNNNNNNCNNNNNNNNNNCNNIKKMMMMMMMMMMMFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPEPPPPPPPPPPPPTPPPPPTPPPGPPGGGFGGGFFGGPPPPPPPPNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNOOOCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNONNNNCNOCNNNNOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPFPFPPPGGPPPPFFPFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCOOOONNNNNONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNPPFGPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNFFHNNNNNNNHNNNNNNNCNNNNNNNNNHCNNHCHHCHNHNNNNNNNNNNNNFNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNPPPPPGNNNNNNNNNNHNNNNNN","n":["Identity","KNOWN_PEERS_CACHE_SIZE","NodeClient","NodeRpcClient","RpcClientError","acknowledge_archived_segment_header","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","deref","deref","deref","deref_mut","deref_mut","drop","drop","entropy","farmer_app_info","file_size","fmt","from","from","init","init","into","into","jsonrpsee","last_segment_headers","new","node_client","open","open_or_create","piece","piece_cache","public_key","reward_signing","secret_key","segment_headers","sign_reward_hash","single_disk_farm","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","thread_pool_manager","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","utils","vzip","vzip","Error","NodeClient","NodeClientExt","acknowledge_archived_segment_header","farmer_app_info","last_segment_headers","piece","segment_headers","submit_reward_signature","submit_solution_response","subscribe_archived_segment_headers","subscribe_node_sync_status_change","subscribe_reward_signing","subscribe_slot_info","CacheWorker","PieceCache","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_piece","init","init","into","into","new","on_sync_progress","record","replace_backing_caches","run","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","reward_signing","AboutToExpire","BackgroundDownloadingPanicked","BackgroundTaskError","BackgroundTaskPanicked","CacheCantBeOpened","CacheFileDoesNotExist","CantPreallocateMetadataFile","CantPreallocatePlotFile","Determined","Downloaded","Downloading","Encoded","Encoding","Error","Expiration","Expired","FailedToDecodeMetadataHeader","FailedToDecodeMetadataHeader","FailedToDetermineFileSize","FailedToGetFarmerInfo","FailedToGetSegmentHeader","FailedToOpenIdentity","FailedToReadBytes","FailedToSubscribeArchivedSegments","FailedToWriteBytes","FarmInfoCantBeOpened","FarmInfoFileDoesNotExist","FarmIsShuttingDown","FarmTooLarge","Farming","FarmingError","Finished","Found","IdentityCantBeOpened","IdentityFileDoesNotExist","IdentityMismatch","InsufficientAllocatedSpace","InvalidPiecesInSector","Io","Io","LikelyAlreadyInUse","LikelyAlreadyInUse","LowLevel","METADATA_FILE","MetadataCantBeOpened","MetadataFileDoesNotExist","MetadataFileTooSmall","MissingArchivedSegmentHeader","NotFound","PLOT_FILE","PieceCacheError","Plotting","Plotting","PlottingError","PublicKeyMismatch","RewardSigning","SectorExpirationDetails","SectorPlottingDetails","SectorUpdate","SingleDiskFarm","SingleDiskFarmError","SingleDiskFarmId","SingleDiskFarmInfo","SingleDiskFarmInfoLock","SingleDiskFarmOptions","SingleDiskFarmScrubError","SingleDiskFarmSummary","Starting","Ulid","UnexpectedMetadataVersion","UnexpectedMetadataVersion","V0","Writing","Written","WrongChain","allocated_space","allocated_space","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","cache_percentage","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","collect_summary","compare","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","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","deserialize","deserialize","directory","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","eq","equivalent","equivalent","equivalent","erasure_coding","farm_during_initial_plotting","farmer_app_info","farming","farming_thread_pool_size","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","hash","id","id","info","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","kzg","load_from","max_pieces_in_sector","new","new","new","node_client","on_farming_notification","on_sector_update","on_solution","partial_cmp","piece_cache","piece_cache","piece_getter","piece_reader","piece_reader","pieces_in_sector","plotted_sectors","plotted_sectors_count","plotting_delay","plotting_thread_pool_manager","public_key","read_all_sectors_metadata","reward_address","run","scrub","serialize","serialize","size_hint","size_hint","size_hint","source","source","source","store_to","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","total_sectors_count","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_lock","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","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","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wipe","task","error","error","error","segment_index","expires_at","last_queued","old_plotted_sector","plotted_sector","progress","replotting","time","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","Auditing","AuditingDetails","Decoded","DecodedFarmingError","FailedToCreateThreadPool","FailedToGetFarmerInfo","FailedToSubscribeSlotInfo","FarmingError","FarmingNotification","Io","LowLevelAuditing","LowLevelProving","NonFatalError","PlotAudit","PlotAuditOptions","Proving","ProvingDetails","ProvingResult","Rejected","Success","Timeout","audit","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","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_to","encode_to","encode_to","encode_to","encode_to","encode_to","erasure_coding","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_fatal","kzg","maybe_sector_being_modified","new","public_key","rayon_files","result","reward_address","sectors_count","sectors_metadata","size_hint","size_hint","size_hint","size_hint","size_hint","slot_info","source","str_variant","table_generator","time","time","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","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","error","error","RayonFiles","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","open","read_at","read_at","try_from","try_into","type_id","unique_saturated_into","vzip","CantPreallocateCacheFile","ChecksumMismatch","DiskPieceCache","DiskPieceCacheError","Io","Offset","OffsetOutsideOfRange","ZeroCapacity","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","into","into","into","source","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","max","provided","PieceReader","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read_piece","to_owned","try_from","try_into","type_id","unique_saturated_into","vzip","PlottingThreadPoolManager","PlottingThreadPoolPair","PlottingThreadPoolsGuard","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","from","from","from","get_thread_pools","init","init","init","into","into","into","new","plotting","replotting","to_owned","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","AsyncJoinOnDrop","CpuCoreSet","all_cpu_cores","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cpu_cores","create_plotting_thread_pool_manager","deref","deref","deref_mut","deref_mut","drop","drop","drop","farmer_piece_getter","fmt","from","from","init","init","into","into","into_future","new","parse_cpu_cores_sets","piece_validator","pin_current_thread","poll","rayon_custom_spawn_handler","readers_and_pieces","recommended_number_of_farming_threads","run_future_in_dedicated_thread","ss58","thread_pool_core_indices","to_owned","tokio_rayon_spawn_handler","truncate","try_from","try_from","try_into","try_into","try_poll","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","FarmerPieceGetter","borrow","borrow_mut","deref","deref_mut","drop","from","get_piece","init","into","new","try_from","try_into","type_id","unique_saturated_into","vzip","SegmentCommitmentPieceValidator","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","init","into","new","to_owned","try_from","try_into","type_id","unique_saturated_into","validate_piece","vzip","ReadersAndPieces","add_sector","borrow","borrow_mut","contains_piece","delete_sector","deref","deref_mut","drop","fmt","from","init","into","new","piece_indices","read_piece","try_from","try_into","type_id","unique_saturated_into","vzip","BadBase58","BadLength","FormatNotAllowed","InvalidChecksum","InvalidPrefix","Ss58ParsingError","borrow","borrow_mut","deref","deref_mut","drop","fmt","fmt","from","init","into","parse_ss58_reward_address","to_string","try_from","try_into","type_id","unique_saturated_into","vzip"],"q":[[0,"subspace_farmer"],[66,"subspace_farmer::node_client"],[80,"subspace_farmer::piece_cache"],[119,"subspace_farmer::reward_signing"],[120,"subspace_farmer::single_disk_farm"],[488,"subspace_farmer::single_disk_farm::BackgroundTaskError"],[489,"subspace_farmer::single_disk_farm::PlottingError"],[493,"subspace_farmer::single_disk_farm::SectorExpirationDetails"],[494,"subspace_farmer::single_disk_farm::SectorPlottingDetails"],[500,"subspace_farmer::single_disk_farm::SingleDiskFarmError"],[515,"subspace_farmer::single_disk_farm::SingleDiskFarmInfo"],[520,"subspace_farmer::single_disk_farm::SingleDiskFarmScrubError"],[547,"subspace_farmer::single_disk_farm::SingleDiskFarmSummary"],[552,"subspace_farmer::single_disk_farm::farming"],[768,"subspace_farmer::single_disk_farm::farming::FarmingError"],[770,"subspace_farmer::single_disk_farm::farming::rayon_files"],[787,"subspace_farmer::single_disk_farm::piece_cache"],[849,"subspace_farmer::single_disk_farm::piece_cache::DiskPieceCacheError"],[851,"subspace_farmer::single_disk_farm::piece_reader"],[870,"subspace_farmer::thread_pool_manager"],[924,"subspace_farmer::utils"],[976,"subspace_farmer::utils::farmer_piece_getter"],[992,"subspace_farmer::utils::piece_validator"],[1011,"subspace_farmer::utils::readers_and_pieces"],[1032,"subspace_farmer::utils::ss58"],[1055,"subspace_core_primitives::segments"],[1056,"core::future::future"],[1057,"alloc::boxed"],[1058,"core::pin"],[1059,"core::result"],[1060,"std::path"],[1061,"core::convert"],[1062,"core::fmt"],[1063,"core::fmt"],[1064,"core::option"],[1065,"subspace_core_primitives::pieces"],[1066,"schnorrkel::keys"],[1067,"schnorrkel::keys"],[1068,"schnorrkel::sign"],[1069,"subspace_rpc_primitives"],[1070,"subspace_rpc_primitives"],[1071,"core::fmt"],[1072,"subspace_core_primitives::pieces"],[1073,"core::ops::function"],[1074,"alloc::sync"],[1075,"event_listener_primitives::handler_id"],[1076,"libp2p_kad::record"],[1077,"subspace_farmer_components::plotting"],[1078,"core::error"],[1079,"core::cmp"],[1080,"std::path"],[1081,"parity_scale_codec::codec"],[1082,"serde::de"],[1083,"parity_scale_codec::codec"],[1084,"subspace_farmer_components::plotting"],[1085,"ulid"],[1086,"core::hash"],[1087,"std::io::error"],[1088,"core::marker"],[1089,"subspace_farmer_components::plotting"],[1090,"subspace_farmer_components::sector"],[1091,"anyhow"],[1092,"serde::ser"],[1093,"alloc::string"],[1094,"subspace_core_primitives"],[1095,"subspace_farmer_components::proving"],[1096,"subspace_farmer_components"],[1097,"subspace_proof_of_space"],[1098,"rayon_core"],[1099,"subspace_core_primitives::pieces"],[1100,"core::ops::function"],[1101,"tokio::runtime::task::join"],[1102,"core::num::error"],[1103,"core::task::wake"],[1104,"core::task::poll"],[1105,"rayon_core::registry"],[1106,"core::ops::function"],[1107,"subspace_networking::utils::piece_provider"],[1108,"subspace_networking::node"],[1109,"subspace_core_primitives::crypto::kzg"],[1110,"subspace_core_primitives::segments"]],"d":["Identity struct is an abstraction of public & secret key …","Size of the LRU cache for peers.","","WsClient wrapper.","","","","","","","","","","","Creates new identity, overrides identity that might …","","","","","","","","Returns entropy used to generate keypair.","","Size of the identity file on disk","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","Create a new instance of NodeClient.","","Opens the existing identity, returns Ok(None) if it doesn…","Opens the existing identity, or creates a new one.","","","Returns the public key of the identity.","","Returns the secret key of the identity.","","Sign reward hash.","","Submit a block signature","","","","","","","","","","","","","","","","","","","","To become error type agnostic","Abstraction of the Node Client","Node Client extension methods that are not necessary for …","Acknowledge segment header.","Get farmer app info","Get the last segment headers.","Get piece by index.","Get segment headers for the segments","Submit a block signature","Submit a slot solution","Subscribe to archived segment headers","Subscribe to node sync status change","Subscribe to block signing request","Subscribe to slot","Cache worker used to drive the cache","Piece cache that aggregates caches of multiple disks","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get piece from cache","","","Calls U::from(self).","Calls U::from(self).","Create new piece cache instance and corresponding worker.","Subscribe to cache sync notifications","","Initialize replacement of backing caches, returns …","Run the cache worker with provided piece getter","","","","","","","","","","","","","Sector will expire at the next segment index and should be …","Background downloading panicked","Errors that happen in background tasks","Background task panicked","Cache can’t be opened","Cache file does not exist","Can’t preallocate metadata file, probably not enough …","Can’t preallocate plot file, probably not enough space …","Sector expiration became known","Downloaded sector pieces","Downloading sector pieces","Encoded sector pieces","Encoding sector pieces","Failed to open farm","Sector expiration information updated","Sector already expired","Failed to decode metadata header","Failed to decode metadata header","Failed to determine file size","Failed to retrieve farmer info","Failed to get segment header","Failed to open or create identity","Failed to read bytes from file","Failed to subscribe to archived segments","Failed to write bytes from file","Farm info can’t be opened","Farm info file does not exist","Farm is shutting down","Farm is too large","Farming error","","Finished plotting","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","Farm is likely already in use, make sure no other farmer …","Farm is likely already in use, make sure no other farmer …","Low-level plotting error","","Metadata can’t be opened","Metadata file does not exist","Metadata file too small","Missing archived segment header","Farm was not found","","Piece cache error","Plotting error","Sector is being plotted","Errors that happen during plotting","Identity public key doesn’t match public key in the disk …","Reward signing","Details about sector expiration","Details about sector currently being plotted","Various sector updates","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 …","Exclusive lock for single disk farm info file, ensuring no …","Options used to open single disk farm","Errors happening during scrubbing","Summary of single disk farm for presentational purposes","Starting plotting of a sector","Farm ID","Unexpected metadata version","Unexpected metadata version","V0 of the info","Writing sector","Written sector","Wrong chain (genesis hash)","How much space in bytes is allocated for this farm","How much space in bytes was allocated","","","","","","","","","","","","","","","","","","","","","","","","","","","Percentage of allocated space dedicated for caching …","","","","","","","","","","","","Collect summary of single disk farm for presentational …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Path to directory where farm is stored.","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","","","","","","","","","","","","","","Erasure coding instance to use.","Whether to farm during initial plotting","Information necessary for farmer application","","Thread pool size used for farming (mostly for blocking …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","ID of this farm","","Info 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).","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","Creates new ID","","RPC client connected to Subspace node","Subscribe to farming notifications","Subscribe to sector updates","Subscribe to new solution notification","","","Get piece cache instance","Piece receiver implementation for plotting purposes.","","Get piece reader to read plotted pieces later","How many pieces does one sector contain.","Read information about sectors plotted so far","Number of sectors successfully plotted so far","Notification for plotter to start, can be used to delay …","Thread pool manager used for plotting","","Read all sectors metadata","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 …","","","","","","","","","","","","","","Number of sectors in this farm","","","","","","","","","","","","","","","","","","","","","","","","","","","Try to acquire exclusive lock on the single disk farm info …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipe everything that belongs to this single disk farm","","Lower-level error","Lower-level error","Lower-level error","Segment index that was missing","Segment index at which sector expires","Whether this is the last sector queued so far","Information about old plotted sector that was replaced","Information about plotted sector","Progress so far in % (not including this sector)","Whether sector is being replotted","How much time it took to plot a sector","","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","Auditing","Auditing details","Decoded farming error","Special decoded farming error","Failed to create thread pool","Failed to retrieve farmer info","Failed to subscribe to slot info notifications","Errors that happen during farming","Various farming notifications","I/O error occurred","Low-level auditing error","Low-level proving error","Non-fatal farming error","Plot auditing implementation","Plot audit options","Proving","Proving details","Result of the proving","Managed to prove within time limit, but node rejected …","Proved successfully and accepted by the node","Proving took too long","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Erasure coding instance","","","","","","","","","","","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.","","","","","","","","","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).","Whether this error is fatal and makes farm unusable","Kzg instance","Optional sector that is currently being modified (for …","Create new instance","Public key of the farm","","Whether proving ended up being successful","Reward address to use for solutions","Number of sectors that were audited","Metadata of all sectors plotted so far","","","","","","Slot info for the audit","","String variant of the error, primarily for monitoring …","Proof of space table generator","Audit duration","Audit duration","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Wrapper data structure for multiple files to be used with …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Open file at specified as many times as there is number of …","","","","","","","","Can’t preallocate cache file, probably not enough space …","Checksum mismatch","Piece cache stored on one disk","Disk piece cache open error","I/O error occurred","Offset wrapper for pieces in DiskPieceCache","Offset outsize of range","Cache size has zero capacity, this is not supported","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Max offset","Provided offset","Wrapper data structure that can be used to read pieces …","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Read piece from sector by offset, None means input …","","","","","","","Plotting thread pool manager.","A wrapper around thread pool pair for plotting purposes","Wrapper around PlottingThreadPoolPair that on Drop will …","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get one of inner thread pool pairs, will block until one …","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create new thread pool manager by instantiating …","","","","","","","","","","","","","","","","","","","Joins async join handle on drop","Abstraction for CPU core set","Get all cpu cores, grouped into sets according to NUMA …","","","","","","","","Creates thread pool pairs for each of CPU core set pair …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Create new instance.","Parse space-separated set of groups of CPU cores …","","Pin current thread to this NUMA node (not just one CPU …","","This function is supposed to be used with …","","Recommended number of thread pool size for farming, equal …","Runs future on a dedicated thread with the specified name, …","Modified version of SS58 parser extracted from Substrate …","Thread indices for each thread pool","","This function is supposed to be used with …","Will truncate list of CPU cores to this number.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","Wrapper data structure for pieces plotted under multiple …","","","","Check if piece is known and can be retrieved","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","Read piece from one of the associated readers.","","","","","","Base 58 requirement is violated","Length is bad","Disallowed SS58 Address Format for this datatype","Invalid checksum","Invalid SS58 prefix byte","An error type for SS58 decoding.","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Some if the string is a properly encoded SS58Check address.","","","","","",""],"i":[0,0,0,0,0,1,6,1,6,1,6,1,6,1,6,6,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,0,1,1,0,6,6,1,0,6,0,6,1,6,0,1,1,1,1,1,1,0,6,1,6,1,6,1,6,1,6,1,0,6,1,0,0,0,28,28,29,28,28,28,28,28,28,28,28,0,0,31,30,31,30,30,30,31,30,31,30,31,30,31,30,31,30,30,31,30,31,30,30,30,30,30,31,30,31,30,31,30,31,30,31,30,31,30,0,48,62,0,65,64,64,63,63,48,47,47,47,47,53,50,48,63,64,64,62,62,63,64,62,64,64,64,62,63,65,0,47,53,64,64,63,63,63,62,63,63,64,62,58,64,64,64,62,53,58,63,65,50,0,64,65,0,0,0,0,0,0,0,0,0,0,0,47,49,63,64,46,47,47,63,46,74,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,74,47,48,49,46,50,47,48,49,46,50,49,58,49,47,48,50,47,48,50,47,48,50,47,48,50,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,49,46,74,74,89,74,58,58,47,48,62,49,46,53,63,64,65,50,47,48,50,49,49,49,49,74,74,74,0,74,47,48,62,62,49,49,46,53,63,63,64,64,65,65,50,89,74,58,47,48,62,62,62,49,49,46,53,63,63,63,64,65,65,65,65,50,46,49,58,46,58,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,74,46,74,58,49,46,74,58,58,58,49,0,58,74,0,58,46,58,58,74,74,46,58,74,58,58,49,46,47,48,50,62,63,65,46,47,48,50,47,48,49,46,50,62,49,63,64,65,58,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,46,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,89,74,58,47,48,62,49,46,53,63,64,65,50,58,134,135,136,137,138,139,140,141,141,140,140,141,142,143,142,144,145,144,145,146,146,142,142,146,143,144,145,147,147,147,147,147,148,149,150,151,152,153,154,148,149,150,155,151,156,152,157,153,158,159,154,160,160,149,150,158,149,150,158,161,162,163,163,161,101,0,70,0,70,70,70,0,0,70,70,70,101,0,0,101,0,0,99,99,99,90,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,98,99,100,101,91,98,99,100,101,91,98,99,100,101,102,70,98,99,100,101,102,70,98,99,100,101,102,70,98,99,100,101,102,70,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,98,99,100,101,102,70,91,98,99,99,100,101,102,102,70,70,91,90,98,99,100,101,102,70,70,70,70,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,70,91,91,90,91,0,100,91,98,91,98,99,100,101,102,91,70,70,91,98,100,98,99,100,101,102,70,98,99,100,101,91,99,102,70,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,90,98,99,100,101,102,70,91,164,165,0,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,69,69,0,0,69,0,69,69,69,105,41,69,105,41,105,41,105,41,69,105,41,69,105,41,69,105,41,69,69,105,105,41,69,69,105,41,69,105,41,69,105,41,69,105,41,69,105,69,105,41,69,105,41,69,105,41,69,105,41,69,105,41,166,166,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,0,0,0,109,108,107,109,108,107,107,107,109,108,108,107,109,108,107,109,108,108,107,109,108,107,109,108,107,107,109,108,107,109,108,107,107,109,109,107,109,108,107,109,108,107,109,108,107,109,108,107,109,108,107,0,0,0,114,112,114,112,112,112,112,0,114,112,114,112,114,114,112,0,112,114,112,114,112,114,112,114,114,0,0,112,114,0,0,0,0,0,0,112,0,112,114,112,114,112,114,114,112,114,112,114,112,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,133,133,133,133,133,0,133,133,133,133,133,133,133,133,133,133,0,133,133,133,133,133,133],"f":"`````{{bd}{{j{{h{f}}}}}}{ce{}{}}000{ll}{bb}{{ce}n{}{}}0{c{{A`{l`}}}{{Ad{Ab}}}}{Afc{}}{lc{}}111{Afn}0{l{{Aj{Ah}}}}{b{{j{{h{f}}}}}}{{}Af}{{bAl}An}{cc{}}022<<`{{bB`}{{j{{h{f}}}}}}{Bb{{A`{bBd}}}}`{c{{A`{{Bf{l}}`}}}{{Ad{Ab}}}};{{bBh}{{j{{h{f}}}}}}`{lBj}`{lBl}{{b{Bn{d}}}{{j{{h{f}}}}}}{{l{Aj{Ah}}}C`}`{{bCb}{{j{{h{f}}}}}}{{bCd}{{j{{h{f}}}}}}====`{ce{}{}}0{c{{A`{e}}}{}{}}000{cCf{}}022`22```{{Chd}{{j{{h{f}}}}}}{Ch{{j{{h{f}}}}}}{{CjB`}{{j{{h{f}}}}}}{{ChBh}{{j{{h{f}}}}}}{{Ch{Bn{d}}}{{j{{h{f}}}}}}{{ChCb}{{j{{h{f}}}}}}{{ChCd}{{j{{h{f}}}}}}5555``9999{ClCl}{{ce}n{}{}}{Afc{}}000{Afn}0{{{Cn{c}}Al}An{D`D`}}{{ClAl}An}{cc{}}0{{ClDb}{{Bf{Dd}}}}{{}Af}0{ce{}{}}0{{cDf}{{Dh{Cl{Cn{c}}}}}Ch}{{Cl{Dl{Dj}}}Dn}{{ClDb}{{Bf{E`}}}}{{Cl{Bn{Eb}}}{{Ed{n}}}}{{{Cn{c}}e}nChEf}5{c{{A`{e}}}{}{}}000{cCf{}}07777{{cl}{{A`{{`{{f{}{{Eh{n}}}}}}{h{Ej}}}}}Ch}```````````````````````````````````````````````````````````````````````````{ElB`}`99999999999999999999999999`{EnEn}{F`F`}{FbFb}{ElEl}{FdFd}{{ce}n{}{}}0000{{FbFb}Ff}{FhFj}{{ce}Ff{}{}}{c{{A`{EnFl}}}Fn}{c{{A`{F`Fl}}}Fn}{c{{A`{FdFl}}}Fn}{{{Aj{Ah}}}{{A`{cFl}}}{}}00{{G`{Aj{Ah}}}{{A`{cFl}}}{}}00{{G`c}{{A`{eFl}}}Fn{}}00{Afc{}}0000000000000000000000000{c{{A`{Fb}}}Gb}{c{{A`{El}}}Gb}``{Afn}00{Gdn}1111111111{{Enc}n{GfGh}}{{F`c}n{GfGh}}{{Fdc}n{GfGh}}{{FbFb}Gj}{{ce}Gj{}{}}00`````{{EnAl}An}{{F`Al}An}{{GlAl}An}0{{FbAl}An}0{{ElAl}An}{{FjAl}An}{{GnAl}An}0{{H`Al}An}0{{HbAl}An}0{{FdAl}An}{cc{}}0000{HdGl}{HfGl}2{HhFb}333{HjGn}4{HfGn}55{GlHb}{{{h{Ej}}}Hb}{HlHb}8{El{{Hn{Ah}}}}{{Fbc}nI`}{GdFb}{ElFb}{GdEl}{{}Af}000000000000{ce{}{}}000000000000`{Ab{{Ib{{Bf{El}}}}}}`{{{Id{ce}}Af}{{A`{GdGn}}}Ch{EfIfIhIj}}{{}Fb}{{Fb{Hn{Ah}}IlInB`}El}`{{Gd{Dl{Dj}}}Dn}00{{FbFb}{{Bf{Ff}}}}`{GdEb}``{GdJ`}{ElIn}{Gd{{`{{Jf{}{{Jb{{A`{JdFl}}}}}}}}}}{GdAf}``{ElIl}{Ab{{Ib{{Bn{Jh}}}}}}`{Gd{{Jj{Fb}}}}{Ab{{A`{nH`}}}}{{Fbc}A`Jl}{{Elc}A`Jl}{EnAf}{F`Af}{FdAf}{Gl{{Bf{Ej}}}}{Gn{{Bf{Ej}}}}{Hb{{Bf{Ej}}}}{{ElAb}{{Ib{n}}}}{{c{Aj{Ah}}}{{Bn{Ah}}}{}}00{ce{}{}}0000{cJn{}}0000{GdK`}{c{{A`{e}}}{}{}}0000000000000000000000000{Ab{{Ib{Kb}}}}{cCf{}}00000000000055555555555555555555555555{Ab{{Ib{n}}}}`````````````````````````````````````````````````````````````````````````````````````{{{Kd{c}}{Kf{e}}}{{A`{{Bn{{Dh{K`{`{{Kl{}{{Jb{{A`{{Kh{IlIl}}Kj}}}}}}}}}}}}Kn}}}L`Lb}7777777777777777{LdLd}{LfLf}{LhLh}{LjLj}{{{Kf{c}}}{{Kf{c}}}Lb}{{ce}n{}{}}0000{c{{A`{LdFl}}}Fn}{c{{A`{LfFl}}}Fn}{c{{A`{LhFl}}}Fn}{c{{A`{LjFl}}}Fn}{c{{A`{LlFl}}}Fn}{c{{A`{HlFl}}}Fn}{{{Aj{Ah}}}{{A`{cFl}}}{}}00000{{G`{Aj{Ah}}}{{A`{cFl}}}{}}00000{{G`c}{{A`{eFl}}}Fn{}}00000{Afc{}}000000000000000{Afn}0000000{{Ldc}n{GfGh}}{{Lfc}n{GfGh}}{{Lhc}n{GfGh}}{{Ljc}n{GfGh}}{{Llc}n{GfGh}}{{Hlc}n{GfGh}}`{{LdAl}An}{{LfAl}An}0{{LhAl}An}{{LjAl}An}{{LlAl}An}0{{HlAl}An}0{{{Kf{c}}Al}An{LbD`}}{cc{}}00000{KjHl}{KnHl}{HfHl}3{LnHl}4{{}Af}0000000{ce{}{}}0000000{HlGj}``{c{{Kd{c}}}L`}``````{LdAf}{LfAf}{LhAf}{LjAf}{LlAf}`{Hl{{Bf{Ej}}}}{HlBb}```{{c{Aj{Ah}}}{{Bn{Ah}}}{}}00000:::::{cJn{}}00{c{{A`{e}}}{}{}}000000000000000{cCf{}}0000000================```=={Afc{}}0{Afn}{cc{}}{{}Af}{ce{}{}}{Ab{{Ib{M`}}}}{{M`{Aj{Ah}}Af}{{Ib{n}}}}088722````````222222{MbMb}{EbEb}{{ce}n{}{}}0999999888{{HjAl}An}0{{MbAl}An}0{{EbAl}An}:{HfHj};;:::999{Hj{{Bf{Ej}}}}::{cJn{}}0{c{{A`{e}}}{}{}}00000{cCf{}}00======```=={J`J`}9{Afc{}}0{Afn}{{J`Al}An}{cc{}}{{}Af}{ce{}{}}{{J`K`Md}{{Bf{Dd}}}}199811```111111{MfMf}{{ce}n{}{}}8{Mhc{}}9999988{Mhn}9{{MjAl}An}{{MhAl}An}{{MfAl}An}:::{MfMh}:::999{{cMl}{{A`{MfLn}}}{{Mn{Af}{{Eh{{A`{MjLn}}}}}}}}``:{c{{A`{e}}}{}{}}00000{cCf{}}00<<<<<<``{{}{{Bn{N`}}}}===={N`N`};{N`{{Aj{Af}}}}{c{{A`{MfLn}}}{{Nb{}{{Jb{{Dh{N`N`}}}}}}}}{Afc{}}000{Afn}{{{Nd{c}}}n{}}1`{{N`Al}An}{cc{}}0{{}Af}0{ce{}{}}0{c{}{}}{{{Nf{c}}Gj}{{Nd{c}}}{}}{Bb{{A`{{Bn{N`}}Nh}}}}`{N`n}{{{j{{Nd{c}}}}Nj}{{Nl{e}}}{}{}}{g{{`{{Mn{Nn}{{Eh{{Ib{n}}}}}}}}}Ih{{O`{}{{Eh{c}}}}Ih}{{Mn{Nn}{{Eh{e}}}}If}}`7{{gJn}{{Ib{{`{{f{}{{Eh{{A`{cOb}}}}}}Ih}}}}}Ih{{f{}{{Eh{c}}}}}{{O`{}{{Eh{e}}}}Ih}}`{{{Bf{Ml}}{Bf{Ml}}}{{Bn{N`}}}}8{{}{{`{{Mn{Nn}{{Eh{{Ib{n}}}}}}}}}}{{N`Af}n}{c{{A`{e}}}{}{}}000{{{j{c}}Nj}Nl{}}{cCf{}}0====`=={Afc{}}0{Afn}{cc{}}{{{Od{ce}}BhOf}{{j{{h{f}}}}}{OhIh}Ch}{{}Af}{ce{}{}}{{{Oj{c}}Cle{Dl{{On{{Bf{Ol}}}}}}}{{Od{ce}}}{}{}}99711`11{{{A`{c}}}{{A`{c}}}If}{{ce}n{}{}}887643{{AbcAd{Dl{{On{{Ah{dAf}}}}}}}{{A`{c}}}{}}4<<:4{{{A`{c}}DfBhDd}{{j{{h{f}}}}}Ch}5`{{OlAhJd}n}66{{OlBh}Gj}1<<;{{OlAl}An};98{{{Bn{J`}}}Ol}{Ol{{`{{Jf{}{{Jb{Bh}}}}}}}}{{OlBh}{{Bf{{`{{f{}{{Eh{{Bf{Dd}}}}}}}}}}}}{c{{A`{e}}}{}{}}0{cCf{}}==``````=={Afc{}}0{Afn}{{AjAl}An}0{cc{}}{{}Af}{ce{}{}}{Bb{{A`{IlAj}}}}{cJn{}}99822","c":[],"p":[[5,"NodeRpcClient",0],[5,"SegmentIndex",1055],[10,"Future",1056],[5,"Box",1057],[5,"Pin",1058],[5,"Identity",0],[1,"unit"],[6,"Result",1059],[5,"Path",1060],[10,"AsRef",1061],[1,"usize"],[1,"u8"],[1,"slice"],[5,"Formatter",1062],[8,"Result",1062],[1,"u64"],[1,"str"],[6,"Error",1063],[6,"Option",1064],[5,"PieceIndex",1065],[5,"PublicKey",1066],[5,"SecretKey",1066],[5,"Vec",1067],[5,"Signature",1068],[5,"RewardSignatureResponse",1069],[5,"SolutionResponse",1069],[5,"TypeId",1070],[10,"NodeClient",66],[10,"NodeClientExt",66],[5,"PieceCache",80],[5,"CacheWorker",80],[10,"Debug",1062],[5,"Key",1071],[5,"Piece",1065],[5,"PeerId",1072],[1,"tuple"],[10,"Fn",1073],[5,"Arc",1074],[5,"HandlerId",1075],[5,"ProviderRecord",1071],[5,"DiskPieceCache",787],[5,"Receiver",1076],[10,"PieceGetter",1077],[17,"Output"],[10,"Error",1078],[6,"SingleDiskFarmInfo",120],[6,"SectorPlottingDetails",120],[6,"SectorExpirationDetails",120],[6,"SingleDiskFarmId",120],[6,"SectorUpdate",120],[6,"Ordering",1079],[5,"PathBuf",1060],[6,"SingleDiskFarmSummary",120],[5,"Error",1080],[10,"Input",1081],[1,"u32"],[10,"Deserializer",1082],[5,"SingleDiskFarm",120],[10,"Output",1081],[10,"Sized",1083],[1,"bool"],[6,"PlottingError",120],[6,"SingleDiskFarmError",120],[6,"SingleDiskFarmScrubError",120],[6,"BackgroundTaskError",120],[6,"PlottingError",1077],[5,"Error",1084],[5,"Ulid",1085],[6,"DiskPieceCacheError",787],[6,"FarmingError",552],[1,"array"],[10,"Hasher",1086],[8,"Result",1084],[5,"SingleDiskFarmOptions",120],[10,"Clone",1087],[10,"Send",1083],[10,"Sync",1083],[5,"PublicKey",1088],[1,"u16"],[5,"PieceReader",851],[17,"Item"],[5,"PlottedSector",1077],[10,"Iterator",1089],[5,"SectorMetadataChecksummed",1090],[8,"Result",1091],[10,"Serializer",1092],[5,"String",1093],[8,"SectorIndex",1088],[5,"SingleDiskFarmInfoLock",120],[5,"PlotAudit",552],[5,"PlotAuditOptions",552],[5,"Solution",1088],[6,"ProvingError",1094],[10,"ProvableSolutions",1094],[6,"AuditingError",1095],[10,"ReadAtSync",1096],[10,"Table",1097],[5,"AuditingDetails",552],[6,"ProvingResult",552],[5,"ProvingDetails",552],[6,"FarmingNotification",552],[5,"DecodedFarmingError",552],[5,"ThreadPoolBuildError",1098],[5,"RayonFiles",770],[5,"Offset",787],[5,"PieceOffset",1065],[5,"PlottingThreadPoolManager",870],[5,"PlottingThreadPoolsGuard",870],[5,"PlottingThreadPoolPair",870],[5,"NonZeroUsize",1099],[10,"FnMut",1073],[5,"CpuCoreSet",924],[10,"ExactSizeIterator",1100],[5,"AsyncJoinOnDrop",924],[5,"JoinHandle",1101],[5,"ParseIntError",1102],[5,"Context",1103],[6,"Poll",1104],[5,"ThreadBuilder",1105],[10,"FnOnce",1073],[5,"Canceled",1076],[5,"FarmerPieceGetter",976],[6,"PieceGetterRetryPolicy",1077],[10,"PieceValidator",1106],[5,"PieceProvider",1106],[5,"ReadersAndPieces",1011],[8,"Mutex",1107],[5,"SegmentCommitmentPieceValidator",992],[5,"Node",1108],[5,"Kzg",1109],[5,"SegmentCommitment",1055],[5,"LruCache",1110],[6,"Ss58ParsingError",1032],[15,"BackgroundTaskPanicked",488],[15,"FailedToGetFarmerInfo",489],[15,"FailedToGetSegmentHeader",489],[15,"FailedToSubscribeArchivedSegments",489],[15,"MissingArchivedSegmentHeader",489],[15,"Determined",493],[15,"Starting",494],[15,"Finished",494],[15,"FarmTooLarge",500],[15,"InsufficientAllocatedSpace",500],[15,"WrongChain",500],[15,"IdentityMismatch",500],[15,"InvalidPiecesInSector",500],[15,"V0",515],[15,"FailedToDetermineFileSize",520],[15,"FailedToReadBytes",520],[15,"FailedToWriteBytes",520],[15,"FarmInfoCantBeOpened",520],[15,"IdentityCantBeOpened",520],[15,"MetadataCantBeOpened",520],[15,"CacheCantBeOpened",520],[15,"FarmInfoFileDoesNotExist",520],[15,"IdentityFileDoesNotExist",520],[15,"MetadataFileDoesNotExist",520],[15,"MetadataFileTooSmall",520],[15,"CacheFileDoesNotExist",520],[15,"PublicKeyMismatch",520],[15,"Found",547],[15,"NotFound",547],[15,"Error",547],[15,"FailedToSubscribeSlotInfo",768],[15,"FailedToGetFarmerInfo",768],[15,"OffsetOutsideOfRange",849]],"b":[[307,"impl-Display-for-PlottingError"],[308,"impl-Debug-for-PlottingError"],[309,"impl-Debug-for-SingleDiskFarmId"],[310,"impl-Display-for-SingleDiskFarmId"],[313,"impl-Display-for-SingleDiskFarmError"],[314,"impl-Debug-for-SingleDiskFarmError"],[315,"impl-Display-for-SingleDiskFarmScrubError"],[316,"impl-Debug-for-SingleDiskFarmScrubError"],[317,"impl-Debug-for-BackgroundTaskError"],[318,"impl-Display-for-BackgroundTaskError"],[325,"impl-From%3CPlottingError%3E-for-PlottingError"],[326,"impl-From%3CError%3E-for-PlottingError"],[332,"impl-From%3CDiskPieceCacheError%3E-for-SingleDiskFarmError"],[334,"impl-From%3CError%3E-for-SingleDiskFarmError"],[337,"impl-From%3CPlottingError%3E-for-BackgroundTaskError"],[338,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-BackgroundTaskError"],[339,"impl-From%3CFarmingError%3E-for-BackgroundTaskError"],[656,"impl-Debug-for-ProvingResult"],[657,"impl-Display-for-ProvingResult"],[660,"impl-Debug-for-DecodedFarmingError"],[661,"impl-Display-for-DecodedFarmingError"],[662,"impl-Display-for-FarmingError"],[663,"impl-Debug-for-FarmingError"],[671,"impl-From%3CProvingError%3E-for-FarmingError"],[672,"impl-From%3CAuditingError%3E-for-FarmingError"],[673,"impl-From%3CError%3E-for-FarmingError"],[675,"impl-From%3CThreadPoolBuildError%3E-for-FarmingError"],[780,"impl-ReadAtSync-for-%26RayonFiles"],[781,"impl-ReadAtSync-for-RayonFiles"],[814,"impl-Display-for-DiskPieceCacheError"],[815,"impl-Debug-for-DiskPieceCacheError"],[816,"impl-Display-for-Offset"],[817,"impl-Debug-for-Offset"],[1043,"impl-Display-for-Ss58ParsingError"],[1044,"impl-Debug-for-Ss58ParsingError"]]}],\ ["subspace_farmer_components",{"doc":"Components of the reference implementation of Subspace …","t":"PFFGKFKPNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNONNNNNNNNNOONNCCMMNNNNCOOCNNNNNNNNNNNNNNNNNNNNNNNNNFGPHHONNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNOOOKKMMMMMMMPPFFFPPPPKGPPFFGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHONNNNNNNHNONOOOONNNNNNNNNNNNMNNNNNNNNNNNNNNOOOOOOOOOOHOOOOOOOOOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOPPPPPKGPFMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOPPPPPPFGPNNNNNNONNNNNNNNNNNNNNNNNNHHHHONNNNNNNNNNNNNOOOOOOOOOOOPFPPPPFGGGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNOOHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOO","n":["Async","AsyncReadBytes","FarmerProtocolInfo","ReadAt","ReadAtAsync","ReadAtOffset","ReadAtSync","Sync","as_mut","as_mut_bits","as_mut_byte_slice","as_mut_slice_of","auditing","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","file_ext","fmt","fmt","from","from","from","from","from","from","from_async","from_sync","history_size","init","init","init","init","into","into","into","into","into_inner","max_pieces_in_sector","min_sector_lifetime","offset","offset","plotting","proving","read_at","read_at","read_at","read_at","read_at","read_at","reading","recent_history_fraction","recent_segments","sector","serialize","to_owned","to_owned","to_owned","try_as_mut_bits","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","AuditResult","AuditingError","SBucketReading","audit_plot_sync","audit_sector_sync","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","init","init","into","into","sector_index","solution_candidates","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","error","s_bucket_audit_index","sector_index","FileExt","OpenOptionsExt","advise_random_access","advise_random_access","advise_sequential_access","advise_sequential_access","preallocate","read_exact_at","write_all_at","BadSectorMetadataOutputSize","BadSectorOutputSize","DownloadSectorOptions","DownloadedSector","EncodeSectorOptions","FailedToAcquirePermit","FailedToRetrievePiece","InvalidErasureCodingInstance","Limited","PieceGetter","PieceGetterRetryPolicy","PieceNotFound","PieceRecoveryFailed","PlotSectorOptions","PlottedSector","PlottingError","Unlimited","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","download_sector","downloading_semaphore","drop","drop","drop","drop","drop","drop","drop","encode_sector","encode_to","encoding_semaphore","eq","erasure_coding","erasure_coding","farmer_protocol_info","farmer_protocol_info","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_piece","init","init","init","init","init","init","init","into","into","into","into","into","into","into","kzg","kzg","piece_getter","piece_getter","piece_getter_retry_policy","piece_getter_retry_policy","piece_indexes","pieces_in_sector","pieces_in_sector","pieces_in_sector","plot_sector","public_key","public_key","sector_id","sector_index","sector_index","sector_index","sector_index","sector_metadata","sector_metadata_output","sector_metadata_output","sector_output","sector_output","size_hint","source","table_generator","table_generator","to_keyed_vec","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip","vzip","vzip","error","error","expected","expected","piece_index","piece_index","piece_index","provided","provided","FailedToCreateChunkWitness","FailedToCreatePolynomialForRecord","FailedToDecodeSectorContentsMap","InvalidErasureCodingInstance","Io","ProvableSolutions","ProvingError","RecordReadingError","SolutionCandidates","best_solution_distance","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","from","init","init","into","into","into_solutions","is_empty","is_fatal","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","is_fatal","read_piece","read_sector_record_chunks","recover_extended_record_chunks","recover_source_record_chunks","scalars","source","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unique_saturated_into","unique_saturated_into","vzip","vzip","witness","actual","chunk_location","chunk_location","encoded_chunk_used","error","error","error","expected","piece_offset","s_bucket","ChecksumMismatch","EncodedChunksUsed","InvalidBytesLength","InvalidBytesLength","InvalidEncodedRecordChunks","SBucketOutOfRange","SectorContentsMap","SectorContentsMapEncodeIntoError","SectorContentsMapFromBytesError","SectorContentsMapIterationError","SectorMetadata","SectorMetadataChecksummed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode_into","encode_to","encode_to","encoded_size","encoded_size","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bytes","history_size","init","init","init","init","init","init","init","into","into","into","into","into","into","into","iter","iter_mut","iter_record_bitfields","iter_record_bitfields_mut","iter_record_chunk_to_plot","iter_s_bucket_encoded_record_chunks_used","iter_s_bucket_records","new","num_encoded_record_chunks","par_iter_record_chunk_to_plot","pieces_in_sector","s_bucket_offsets","s_bucket_sizes","s_bucket_sizes","sector_index","sector_record_chunks_size","sector_record_metadata_size","sector_size","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip","vzip","vzip","vzip","actual","expected","actual","actual","expected","max","max","provided"],"q":[[0,"subspace_farmer_components"],[102,"subspace_farmer_components::auditing"],[143,"subspace_farmer_components::auditing::AuditingError"],[146,"subspace_farmer_components::file_ext"],[155,"subspace_farmer_components::plotting"],[319,"subspace_farmer_components::plotting::PlottingError"],[328,"subspace_farmer_components::proving"],[379,"subspace_farmer_components::proving::ProvingError"],[384,"subspace_farmer_components::reading"],[437,"subspace_farmer_components::reading::ReadingError"],[447,"subspace_farmer_components::sector"],[626,"subspace_farmer_components::sector::SectorContentsMapEncodeIntoError"],[628,"subspace_farmer_components::sector::SectorContentsMapFromBytesError"],[632,"subspace_farmer_components::sector::SectorContentsMapIterationError"],[634,"core::convert"],[635,"core::marker"],[636,"bitvec::slice"],[637,"bitvec::order"],[638,"byte_slice_cast"],[639,"core::result"],[640,"byte_slice_cast"],[641,"serde::de"],[642,"core::fmt"],[643,"core::fmt"],[644,"alloc::boxed"],[645,"std::io::error"],[646,"core::future::future"],[647,"serde::ser"],[648,"bitvec::ptr::span"],[649,"core::any"],[650,"subspace_core_primitives"],[651,"subspace_core_primitives"],[652,"alloc::string"],[653,"parity_scale_codec::error"],[654,"parity_scale_codec::codec"],[655,"subspace_proof_of_space"],[656,"parity_scale_codec::codec"],[657,"subspace_core_primitives::pieces"],[658,"core::pin"],[659,"core::error"],[660,"std::io::error"],[661,"subspace_erasure_coding"],[662,"subspace_core_primitives"],[663,"subspace_core_primitives::pieces"],[664,"core::iter::traits::exact_size"],[665,"core::ops::deref"],[666,"core::ops::deref"],[667,"subspace_core_primitives::pieces"],[668,"rayon::iter"],[669,"core::ops::function"]],"d":["Async variant","Container or asynchronously reading bytes using in …","Information about the protocol necessary for farmer …","Enum to encapsulate the selection between ReadAtSync and […","Async version of ReadAt, it is neither Send nor Sync and …","Reader with fixed offset added to all attempted reads","Sync version of ReadAt, it is both Send and Sync and is …","Sync variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","File extension trait","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Instantiate ReadAt from some ReadAtAsync implementation","Instantiate ReadAt from some ReadAtSync implementation","Size of the blockchain history","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extract inner value","How many pieces one sector is supposed to contain (max)","Minimum lifetime of a plotted sector, measured in archived …","Get implementation of ReadAtSync that add specified offset …","Get implementation of ReadAtAsync that add specified …","","","Fill the buffer by reading bytes at a specific offset","Fill the buffer by reading bytes at a specific offset and …","","","","","","Fraction of pieces from the “recent history” (…","Number of latest archived segments that are considered “…","","","","","","","","","","","","","","","","","","","","","","","","","","","Result of sector audit","Errors that happen during proving","Failed read s-bucket","Audit the whole plot and generate streams of solutions","Audit a single sector and generate a stream of solutions.","Best solution distance found","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Sector index","Solution candidates","","","","","","","","","","","","","Low-level error","S-bucket audit index","Sector index","Extension convenience trait that allows pre-allocating …","Extension convenience trait that allows setting some file …","Advise OS/file system that file will use random access and …","Advise OS/file system that file will use random access and …","Advise OS/file system that file will use sequential access …","Advise OS/file system that file will use sequential access …","Make sure file has specified number of bytes allocated for …","Read exact number of bytes at a specific offset","Write all provided bytes at a specific offset","Bad sector metadata output size","Bad sector output size","Options for sector downloading","Opaque sector downloaded and ready for encoding","Options for encoding a sector.","Failed to acquire permit","Failed to retrieve piece","Invalid erasure coding instance","Retry N times (including zero)","Duplicate trait for the …","Defines retry policy on error during piece acquiring.","Piece not found, can’t create sector, this should never …","Can’t recover missing piece","Options for plotting a sector.","Information about sector that was plotted","Plotting status","No restrictions on retries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Download sector for plotting.","Semaphore for part of the plotting when farmer downloads …","","","","","","","","","","Semaphore for part of the plotting when farmer encodes …","","Erasure coding instance","Erasure coding instance","Farmer protocol info","Farmer protocol info","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","KZG instance","KZG instance","Getter for pieces of archival history","Getter for pieces of archival history","Retry policy for piece getter","Retry policy for piece getter","Indexes of pieces that were plotted","How many pieces should sector contain","How many pieces should sector contain","How many pieces should sector contain","Plot a single sector.","Public key corresponding to sector","Public key corresponding to sector","Sector ID","Sector index","Sector index","Sector index","Sector index","Sector metadata","Where plotted sector metadata should be written, vector …","Where plotted sector metadata should be written, vector …","Where plotted sector should be written, vector must either …","Where plotted sector should be written, vector must either …","","","Proof of space table generator","Proof of space table generator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lower-level error","Lower-level error","Expected size","Expected size","Piece index","Piece index","Piece index","Actual size","Actual size","Failed to create chunk witness","Failed to create polynomial for record","Failed to decode sector contents map","Invalid erasure coding instance","I/O error occurred","Solutions that can be proven if necessary.","Errors that happen during proving","Record reading error","Container for solution candidates.","Best solution distance found, None in case there are no …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Turn solution candidates into actual solutions","Returns true if no candidates inside","Whether this error is fatal and makes farm unusable","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).","Whether this error is fatal and renders farm unusable","Read piece from sector.","Read sector record chunks, only plotted s-buckets are …","Given sector record chunks recover extended record chunks …","Given sector record chunks recover source record chunks in …","Record scalars","","","","","","","","","","","","","","Record witness","Actual size in bytes","Chunk location","Chunk location","Indicates whether chunk was encoded","Low-level error","Lower-level error","Lower-level error","Expected size in bytes","Piece offset","S-bucket","Checksum mismatch","Wrapper data structure that allows to iterate mutably over …","Invalid bytes length","Invalid bytes length","Invalid number of encoded record chunks","S-bucket provided is out of range","Abstraction on top of bitfields that allow making sense of …","Error happening when trying to encode SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Error happening when trying to create SectorContentsMap …","Metadata of the plotted sector","Same as SectorMetadata, but with checksums verified during …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Encode internal contents into output","","","Size of encoded checksummed sector metadata.","Size of sector contents map when encoded and stored in the …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Reconstruct sector contents map from bytes.","Size of the blockchain history at time of sector creation","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Produces an iterator over encoded chunks bitfields.","Produces a mutable iterator over encoded chunks bitfields.","Iterate over individual record bitfields","Iterate mutably over individual record bitfields","Creates an iterator of …","Iterate over chunks of s-bucket indicating if encoded …","Creates an iterator of (piece_offset, encoded_chunk_used), …","Create new sector contents map initialized with zeroes to …","Number of encoded chunks in each record","Creates an iterator of …","Number of pieces stored in this sector","Returns offsets of each s-bucket relatively to the …","Returns sizes of each s-bucket","S-bucket sizes in a sector","Sector index","Size of the part of the plot containing record chunks …","Size of the part of the plot containing record metadata.","Exact sector plot size (sector contents map, record …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Actual length","Expected length","Actual length","Actual number of encoded record chunks","Expected length","Max supported","Max s-bucket","Provided s-bucket"],"i":[11,0,0,0,0,0,0,11,1,1,1,1,0,1,11,15,16,1,11,15,16,11,15,16,11,15,16,1,11,15,16,1,11,15,16,16,1,11,15,16,0,15,16,1,1,1,11,15,16,11,11,16,1,11,15,16,1,11,15,16,1,16,16,12,14,0,0,12,14,15,15,15,15,0,16,16,0,16,11,15,16,1,1,11,15,16,1,11,15,16,1,11,15,16,1,11,15,16,1,11,15,16,0,0,39,0,0,38,39,38,39,38,38,38,39,38,39,38,39,38,39,39,38,39,38,39,38,39,38,38,38,38,39,39,38,39,38,39,38,39,38,39,38,98,98,98,0,0,41,42,41,42,42,42,42,51,51,0,0,0,51,51,51,44,0,0,51,51,0,0,0,44,61,50,49,53,44,45,51,61,50,49,53,44,45,51,44,45,44,45,45,45,45,45,44,61,50,49,53,44,45,51,61,50,49,53,44,45,51,0,61,61,50,49,53,44,45,51,0,45,61,44,61,53,61,49,44,45,51,51,61,50,49,53,44,45,51,51,52,61,50,49,53,44,45,51,61,50,49,53,44,45,51,61,49,61,49,61,49,45,61,49,53,0,61,49,45,61,49,53,45,45,61,53,61,53,45,51,61,53,45,44,45,51,61,50,49,53,44,45,51,61,50,49,53,44,45,51,61,50,49,53,44,45,51,61,50,49,53,44,45,51,61,50,49,53,44,45,51,99,100,101,102,103,104,99,101,102,65,65,65,65,65,0,0,65,0,63,65,64,65,64,64,64,65,64,65,64,65,64,65,65,64,65,65,65,65,64,65,64,65,64,64,64,65,64,65,64,65,65,64,65,64,65,64,65,64,65,64,105,106,105,106,105,68,68,68,68,68,68,0,0,68,68,76,68,76,76,76,76,68,76,68,76,68,76,68,68,76,68,68,68,76,68,76,68,76,68,0,0,0,0,76,68,76,68,68,76,68,76,68,76,68,76,68,76,76,107,108,109,109,108,109,110,107,110,109,66,0,66,86,66,87,0,0,0,0,0,0,88,85,35,66,86,87,82,88,85,35,66,86,87,82,85,35,66,86,87,82,85,35,66,86,87,82,85,35,85,35,85,35,85,35,88,85,35,35,66,86,87,82,88,85,35,35,66,86,87,82,88,88,85,35,66,86,87,82,35,82,85,35,35,82,66,86,87,85,35,66,66,86,86,87,87,82,88,85,35,35,66,86,87,82,82,85,88,85,35,66,86,87,82,88,85,35,66,86,87,82,88,88,82,82,82,82,82,82,82,82,85,85,82,85,85,0,0,0,85,35,85,35,85,35,66,86,87,82,66,86,87,88,85,35,66,86,87,82,88,85,35,66,86,87,82,88,85,35,66,86,87,82,88,85,35,66,86,87,82,35,88,85,35,66,86,87,82,111,111,112,113,112,113,114,114],"f":"````````{{{b{c}}}{{f{d}}}{{h{{f{d}}}}j}}{c{{l{eg}}}{}{}n}{c{{f{d}}}{}}{c{{Ab{{f{e}}A`}}}{}Ad}`{ce{}{}}0000000{{{Af{ce}}}{{Af{ce}}}{AhAj}{AlAj}}{{{An{c}}}{{An{c}}}Aj}{B`B`}{{ce}Bb{}{}}00{Bdc{}}0000000{c{{Ab{B`}}}Bf}{BdBb}000`{{{An{c}}Bh}BjBl}{{B`Bh}Bj}{cc{}}{{{Bn{d}}}{{b{{Bn{d}}}}}}{{{C`{{f{d}}}}}{{b{{C`{{f{d}}}}}}}}222{c{{Af{Cbc}}}Al}{c{{Af{cCb}}}Ah}`{{}Bd}000????{{{b{c}}}c{{h{{f{d}}}}j}}``{{AhBd}{{An{Ah}}}}{{AlBd}{{An{Al}}}}``{{Ah{f{d}}Bd}{{Cd{Bb}}}}{{AlcBd}{{`{{Ch{}{{Cf{{Cd{c}}}}}}}}}{{h{{f{d}}}}j}}{{{An{c}}eBd}{{Cd{e}}}Al{{h{{f{d}}}}j}}{{{An{c}}{f{d}}Bd}{{Cd{Bb}}}Ah}10````{{B`c}AbCj}{ce{}{}}00{c{{Ab{{l{eg}}{Cl{e}}}}}{}{}n}{c{{Ab{e}}}{}{}}0000000{cCn{}}00033333333```{{D`DbDdc{f{Df}}{Dj{Dh}}}{{Ab{{Bn{{Dl{{An{c}}}}}}Dn}}}Ah}{{D`DbDdcDf}{{Ab{{Dj{{Dl{c}}}}Dn}}}Ah}`5555{{{Dl{c}}}{{Dl{c}}}Aj}{{ce}Bb{}{}}{Bdc{}}000{BdBb}0{{DnBh}Bj}0{{{Dl{c}}Bh}BjBl}{cc{}}0{{}Bd}0==``={cE`{}}<<<<;;>>>>`````{EbEb}{Ed{{Cd{Bb}}}}10{{EdEf}{{Cd{Bb}}}}{{Ed{f{d}}Ef}{{Cd{Bb}}}}0`````````````````{ce{}{}}0000000000000{EhEh}{EjEj}>>{c{{Ab{EjEl}}}En}{{{f{d}}}{{Ab{cEl}}}{}}{{F`{f{d}}}{{Ab{cEl}}}{}}{{F`c}{{Ab{eEl}}}En{}}{{}Eh}{Bdc{}}0000000000000{{{Fb{c}}}{{Ab{FdFf}}}Fh}`{BdBb}000000{{Fd{Fj{c}}}{{Ab{EjFf}}}Fl}{{Ejc}Bb{FnG`}}`{{EhEh}Gb}````{{EhBh}Bj}{{EjBh}Bj}{{FfBh}Bj}0{cc{}}00000{GdFf}1{{FhGfEh}{{Gh{{C`{Ch}}}}}}{{}Bd}000000{ce{}{}}000000``````````{{{Gj{ce}}}{{Ab{EjFf}}}FlFh}````````````{EjBd}{Ff{{Dj{Gl}}}}``{{c{f{d}}}{{Bn{d}}}{}}44{cE`{}}{c{{Ab{e}}}{}{}}0000000000000{cCn{}}00000077777777777777``````````````````{Gn{{Dj{Dd}}}}8888{{{H`{c}}}{{H`{c}}}Aj}{{ce}Bb{}{}}{Bdc{}}000{BdBb}0{{HbBh}Bj}0{{{H`{c}}Bh}BjBl}{HdHb}{HfHb}{HhHb}{cc{}}0{{}Bd}0{ce{}{}}0{{{H`{c}}eHjHli}{{Ab{{`{{Gn{}{{Hn{{Ab{{I`{D`e}}Hb}}}}}}}}Hb}}}AhIbFl{{If{Id}{{Cf{g}}}}}}{{{H`{c}}}GbAh}{HbGb}{{{H`{c}}}BdAh}{Hb{{Dj{Gl}}}}5{cE`{}}{c{{Ab{e}}}{}{}}000{cCn{}}08888``````````````8888{IhIh}{{ce}Bb{}{}}`{Bdc{}}000{BdBb}0{{HhBh}Bj}0{{IhBh}Bj}{HfHh}{cc{}}{HdHh}1{{}Bd}0{ce{}{}}0{HhGb}{{IjIlDf{Af{ce}}Hl}{{Ab{InHh}}}AhAl}{{IjJ`{Jb{F`}}Jdc{Af{eg}}}{{Ab{{C`{{Jb{{Dj{Jf}}}}}}Hh}}}FlAhAl}{{{Jb{{Dj{Jf}}}}IjHl}{{Ab{{C`{{Jb{Jf}}}}Hh}}}}{{{Jb{{Dj{Jf}}}}IjHl}{{Ab{{`{{Jh{}{{Hn{Jf}}}}}}Hh}}}}`{Hh{{Dj{Gl}}}}6{cE`{}}{c{{Ab{e}}}{}{}}000{cCn{}}09999```````````````````````99999999999999{JjJj}{DfDf}{HdHd}{JlJl}{JnJn}{JdJd}{{ce}Bb{}{}}00000{c{{Ab{JjEl}}}En}{c{{Ab{DfEl}}}En}{{{f{d}}}{{Ab{cEl}}}{}}0{{F`{f{d}}}{{Ab{cEl}}}{}}0{{F`c}{{Ab{eEl}}}En{}}0{Bdc{}}00{Dfc{}}111111011111{K`Bb}{BdBb}000000{Df{{Bn{d}}}}{{Jd{f{d}}}{{Ab{BbJl}}}}{{Jjc}Bb{FnG`}}{{Dfc}Bb{FnG`}}{{}Bd}{J`Bd}{{HdHd}Gb}{{JlJl}Gb}{{JnJn}Gb}{{JjBh}Bj}{{DfBh}Bj}{{HdBh}Bj}0{{JlBh}Bj}0{{JnBh}Bj}0{{JdBh}Bj}{cc{}}0{JjDf}11111{{{f{d}}J`}{{Ab{JdHd}}}}`======={ce{}{}}000000{K`{{`{{Jh{}{{Hn{{`{{Kd{}{{Kb{Gb}}}}}}}}}}}}}}{K`{{`{{Jh{}{{Hn{{`{{Kf{}{{Kb{Gb}}}}}}}}}}}}}}{Jd{{f{{Kh{{Jb{d}}}}}}}}{Jd{{`{{Jh{}{{Hn{K`}}}}}}}}{{JdIj}{{`{{Kn{}{{Hn{{Kl{KjGbBd}}}}}}}}}}{{JdKj}{{Ab{{`{{Kn{}{{Hn{Gb}}}}}}Jn}}}}{{JdKj}{{Ab{{`{{Kn{}{{Hn{{Kl{IjGb}}}}}}}}Jn}}}}{J`Jd}{Jd{{f{Kj}}}}{{JdIj}{{`{{L`{}{{Hn{{Dj{{Kl{BdGb}}}}}}}}}}}}`{Jj{{C`{{Jb{F`}}}}}}{Jd{{C`{{Jb{J`}}}}}}``{J`Bd}00{JjBd}{DfBd}{{c{f{d}}}{{Bn{d}}}{}}0{ce{}{}}00000{cE`{}}00{c{{Ab{e}}}{}{}}0000000000000{cCn{}}0000003333333{{Dfe}c{}{{Lb{{f{d}}}{{Cf{c}}}}}}4444444````````","c":[],"p":[[5,"AsyncReadBytes",0],[1,"u8"],[1,"slice"],[10,"AsMut",634],[10,"Unpin",635],[5,"BitSlice",636],[10,"BitOrder",637],[6,"Error",638],[6,"Result",639],[10,"FromByteSlice",638],[6,"ReadAt",0],[10,"ReadAtSync",0],[10,"Clone",640],[10,"ReadAtAsync",0],[5,"ReadAtOffset",0],[5,"FarmerProtocolInfo",0],[1,"unit"],[1,"usize"],[10,"Deserializer",641],[5,"Formatter",642],[8,"Result",642],[10,"Debug",642],[5,"Vec",643],[5,"Box",644],[1,"never"],[8,"Result",645],[17,"Output"],[10,"Future",646],[10,"Serializer",647],[6,"BitSpanError",648],[5,"TypeId",649],[5,"PublicKey",650],[8,"Blake3Hash",650],[8,"SolutionRange",650],[5,"SectorMetadataChecksummed",447],[8,"SectorIndex",650],[6,"Option",651],[5,"AuditResult",102],[6,"AuditingError",102],[5,"String",652],[10,"OpenOptionsExt",146],[10,"FileExt",146],[1,"u64"],[6,"PieceGetterRetryPolicy",155],[5,"PlottedSector",155],[5,"Error",653],[10,"Input",654],[1,"u32"],[5,"DownloadSectorOptions",155],[5,"DownloadedSector",155],[6,"PlottingError",155],[10,"PieceGetter",155],[5,"EncodeSectorOptions",155],[10,"Table",655],[10,"Output",654],[10,"Sized",635],[1,"bool"],[5,"AcquireError",656],[5,"PieceIndex",657],[5,"Pin",658],[5,"PlotSectorOptions",155],[10,"Error",659],[10,"ProvableSolutions",328],[5,"SolutionCandidates",328],[6,"ProvingError",328],[6,"SectorContentsMapFromBytesError",447],[5,"Error",645],[6,"ReadingError",384],[5,"Kzg",660],[5,"ErasureCoding",661],[17,"Item"],[5,"Solution",650],[10,"Copy",635],[5,"PosSeed",650],[10,"FnMut",662],[5,"PlotRecord",384],[5,"PieceOffset",657],[5,"SectorId",650],[5,"Piece",657],[1,"u16"],[1,"array"],[5,"SectorContentsMap",447],[5,"Scalar",663],[10,"ExactSizeIterator",664],[5,"SectorMetadata",447],[6,"SectorContentsMapEncodeIntoError",447],[6,"SectorContentsMapIterationError",447],[5,"EncodedChunksUsed",447],[17,"Target"],[10,"Deref",665],[10,"DerefMut",665],[5,"BitArray",666],[5,"SBucket",657],[1,"tuple"],[10,"Iterator",667],[10,"IndexedParallelIterator",668],[10,"FnOnce",662],[15,"SBucketReading",143],[15,"FailedToRetrievePiece",319],[15,"FailedToAcquirePermit",319],[15,"BadSectorOutputSize",319],[15,"BadSectorMetadataOutputSize",319],[15,"PieceNotFound",319],[15,"PieceRecoveryFailed",319],[15,"FailedToCreateChunkWitness",379],[15,"FailedToCreatePolynomialForRecord",379],[15,"WrongRecordSizeAfterDecoding",437],[15,"FailedToReadChunk",437],[15,"InvalidChunk",437],[15,"FailedToErasureDecodeRecord",437],[15,"InvalidBytesLength",626],[15,"InvalidBytesLength",628],[15,"InvalidEncodedRecordChunks",628],[15,"SBucketOutOfRange",632]],"b":[[44,"impl-From%3CVec%3Cu8%3E%3E-for-AsyncReadBytes%3CVec%3Cu8%3E%3E"],[45,"impl-From%3CBox%3C%5Bu8%5D%3E%3E-for-AsyncReadBytes%3CBox%3C%5Bu8%5D%3E%3E"],[69,"impl-ReadAtAsync-for-ReadAtOffset%3C\'_,+T%3E"],[70,"impl-ReadAtSync-for-%26ReadAtOffset%3C\'_,+T%3E"],[71,"impl-ReadAtAsync-for-%26ReadAtOffset%3C\'_,+T%3E"],[72,"impl-ReadAtSync-for-ReadAtOffset%3C\'_,+T%3E"],[120,"impl-Display-for-AuditingError"],[121,"impl-Debug-for-AuditingError"],[228,"impl-Debug-for-PlottingError"],[229,"impl-Display-for-PlottingError"],[350,"impl-Display-for-ProvingError"],[351,"impl-Debug-for-ProvingError"],[353,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ProvingError"],[354,"impl-From%3CError%3E-for-ProvingError"],[355,"impl-From%3CReadingError%3E-for-ProvingError"],[406,"impl-Display-for-ReadingError"],[407,"impl-Debug-for-ReadingError"],[409,"impl-From%3CError%3E-for-ReadingError"],[411,"impl-From%3CSectorContentsMapFromBytesError%3E-for-ReadingError"],[528,"impl-Display-for-SectorContentsMapFromBytesError"],[529,"impl-Debug-for-SectorContentsMapFromBytesError"],[530,"impl-Debug-for-SectorContentsMapEncodeIntoError"],[531,"impl-Display-for-SectorContentsMapEncodeIntoError"],[532,"impl-Debug-for-SectorContentsMapIterationError"],[533,"impl-Display-for-SectorContentsMapIterationError"]]}],\ ["subspace_malicious_operator",{"doc":"Subspace malicious operator library.","t":"FFNNNNNNNNNNNNNNNNNHNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNOONNNNNNNNNNNNNNNNNNNNFOONNOOOOONNOONNNNNNONNNNNNNONONNNNNNN","n":["Cli","DomainCli","additional_args","augment_args","augment_args","augment_args_for_update","augment_args_for_update","author","author","borrow","borrow","borrow_mut","borrow_mut","command","command","command_for_update","command_for_update","copyright_start_year","copyright_start_year","create_malicious_operator_configuration","deref","deref","deref_mut","deref_mut","description","description","domain_args","domain_id","drop","drop","executable_name","executable_name","fmt","fmt","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","group_id","group_id","impl_name","impl_name","impl_version","impl_version","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","load_spec","load_spec","malicious_domain_instance_starter","new","run","run","support_url","support_url","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","DomainInstanceStarter","base_path","block_importing_notification_stream","borrow","borrow_mut","consensus_client","consensus_keystore","consensus_network","consensus_offchain_tx_pool_factory","consensus_sync_service","deref","deref_mut","domain_cli","domain_message_receiver","drop","from","from_mut","from_mut","from_ref","from_ref","gossip_message_sink","init","into","into_any","into_any_arc","into_any_rc","into_mut","into_ref","new_slot_notification_stream","start","tokio_handle","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","vzip"],"q":[[0,"subspace_malicious_operator"],[94,"subspace_malicious_operator::malicious_domain_instance_starter"],[132,"alloc::string"],[133,"core::iter::traits::iterator"],[134,"clap_builder::builder::command"],[135,"sp_domains"],[136,"sc_service::config"],[137,"sc_chain_spec"],[138,"alloc::boxed"],[139,"tokio::runtime::handle"],[140,"sc_service::config"],[141,"core::fmt"],[142,"core::fmt"],[143,"clap_builder"],[144,"core::result"],[145,"clap_builder::util::id"],[146,"core::option"],[147,"core::any"],[148,"alloc::sync"],[149,"alloc::rc"],[150,"core::any"],[151,"domain_client_operator::fetch_domain_bootstrap_info"],[152,"core::error"],[153,"sc_network::service::traits"],[154,"core::marker"],[155,"core::marker"]],"d":["Subspace Cli.","","","","","","","","","","","","","","","","","","","Create a Configuration object from the current object, …","","","","","","","Domain arguments","","","","","","","","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 DomainCli.","Run a node.","Run a domain node.","","","","","","","","","","","","","","","","","","","","","DomainInstanceStarter used to start a domain instance node …","","","","","","","","","","","","","","","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).","","","","","","","","","","","","","","",""],"i":[0,0,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,0,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,16,1,1,16,16,1,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,0,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29],"f":"``{b{{`{{h{}{{d{f}}}}}}}}{jj}000{{}f}0{ce{}{}}000{{}j}000{{}l}0{{nA`b{Ad{Ab}}Af}{{Aj{Ah}}}}{Alc{}}00055``{AlAn}066{{B`Bb}Bd}{{bBb}Bd}{cc{}}0{Bf{{Bj{B`Bh}}}}{Bf{{Bj{bBh}}}}10:22::2:2{{}{{Bn{Bl}}}}0<<<<{{}Al}0<<{{{Ad{c}}}{{Ad{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0????{{B`Cf}{{Bj{{Ad{Ab}}f}}}}{{bCf}{{Bj{{Ad{Ab}}f}}}}`{cb{{h{}{{d{f}}}}}}``{{}f}0{c{{Bj{e}}}{}{}}000{cCh{}}0{cCf{}}0{ce{}{}}000{{B`Bf}{{Bj{AnBh}}}}{{bBf}{{Bj{AnBh}}}}1022```22`````{Alc{}}0``{AlAn}{cc{}}5050`{{}Al}6{{{Ad{c}}}{{Ad{C`}}}{}}{{{Cb{c}}}{{Cb{C`}}}{}}{{{Cd{c}}}{{Cd{C`}}}{}}99`{{{Cj{c}}{Cn{Cl}}}{{Bj{An{Ad{D`}}}}}{DbDdDf}}`==<;:::","c":[],"p":[[5,"DomainCli",0],[17,"Item"],[5,"String",132],[10,"Iterator",133],[5,"Command",134],[1,"i32"],[5,"DomainId",135],[5,"BasePath",136],[10,"ChainSpec",137],[5,"Box",138],[5,"Handle",139],[5,"Configuration",136],[8,"Result",140],[1,"usize"],[1,"unit"],[5,"Cli",0],[5,"Formatter",141],[8,"Result",141],[5,"ArgMatches",142],[8,"Error",143],[6,"Result",144],[5,"Id",145],[6,"Option",146],[10,"Any",147],[5,"Arc",148],[5,"Rc",149],[1,"str"],[5,"TypeId",147],[5,"DomainInstanceStarter",94],[8,"Block",150],[5,"BootstrapResult",151],[10,"Error",152],[10,"NetworkPeers",153],[10,"Send",154],[10,"Sync",154]],"b":[]}],\ ["subspace_metrics",{"doc":"This Rust module serves as a bridge between two different …","t":"PPGPNNNNNNNNFNHNNNNNNNN","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,"std::io::error"],[27,"core::future::future"],[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":"````{ce{}{}}000{cc{}}011`{{bd}f}{{{j{h}}l}{{A`{{`{{Ab{}{{n{{A`{f}}}}}}}}}}}}{c{{Ad{e}}}{}{}}000{cAf{}}055","c":[],"p":[[5,"metrics",0],[5,"AppService",23],[1,"unit"],[6,"SocketAddr",24],[5,"Vec",25],[6,"RegistryAdapter",0],[17,"Output"],[8,"Result",26],[10,"Future",27],[6,"Result",28],[5,"TypeId",29]],"b":[]}],\ diff --git a/settings.html b/settings.html index 69cf5b40ea..fa19562571 100644 --- a/settings.html +++ b/settings.html @@ -1,2 +1,2 @@ -Settings -

Rustdoc settings

Back
\ No newline at end of file +Settings +

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/subspace_farmer/utils.rs.html b/src/subspace_farmer/utils.rs.html index d984586ec6..6f4a6b0231 100644 --- a/src/subspace_farmer/utils.rs.html +++ b/src/subspace_farmer/utils.rs.html @@ -428,6 +428,33 @@

Files

426 427 428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455
pub mod farmer_piece_getter;
 pub mod piece_validator;
 pub mod readers_and_pieces;
@@ -439,6 +466,7 @@ 

Files

use futures::channel::oneshot; use futures::channel::oneshot::Canceled; use futures::future::Either; +use hwlocality::object::types::ObjectType; use rayon::{ThreadBuilder, ThreadPool, ThreadPoolBuildError, ThreadPoolBuilder}; use std::future::Future; use std::num::{NonZeroUsize, ParseIntError}; @@ -617,7 +645,30 @@

Files

} } -/// Get all cpu cores, grouped into sets according to NUMA nodes. +/// Recommended number of thread pool size for farming, equal to number of CPU cores in the first +/// NUMA node +pub fn recommended_number_of_farming_threads() -> usize { + #[cfg(feature = "numa")] + match hwlocality::Topology::new().map(std::sync::Arc::new) { + Ok(topology) => { + return topology + // Iterate over NUMA nodes + .objects_at_depth(hwlocality::object::depth::Depth::NUMANode) + // For each NUMA nodes get CPU set + .filter_map(|node| node.cpuset()) + // Get number of CPU cores + .map(|cpuset| cpuset.iter_set().count()) + .find(|&count| count > 0) + .unwrap_or_else(num_cpus::get); + } + Err(error) => { + warn!(%error, "Failed to get NUMA topology"); + } + } + num_cpus::get() +} + +/// Get all cpu cores, grouped into sets according to NUMA nodes or L3 cache groups on large CPUs. /// /// Returned vector is guaranteed to have at least one element and have non-zero number of CPU cores /// in each set. @@ -626,8 +677,8 @@

Files

match hwlocality::Topology::new().map(std::sync::Arc::new) { Ok(topology) => { let cpu_cores = topology - // Iterate over NUMA nodes - .objects_at_depth(hwlocality::object::depth::Depth::NUMANode) + // Iterate over groups of L3 caches + .objects_with_type(ObjectType::L3Cache) // For each NUMA nodes get CPU set .filter_map(|node| node.cpuset()) // For each CPU set extract individual cores @@ -644,7 +695,7 @@

Files

} } Err(error) => { - warn!(%error, "Failed to get CPU topology"); + warn!(%error, "Failed to get L3 cache topology"); } } vec![CpuCoreSet { @@ -657,6 +708,9 @@

Files

/// Parse space-separated set of groups of CPU cores (individual cores are coma-separated) into /// vector of CPU core sets that can be used for creation of plotting/replotting thread pools. pub fn parse_cpu_cores_sets(s: &str) -> Result<Vec<CpuCoreSet>, ParseIntError> { + #[cfg(feature = "numa")] + let topology = hwlocality::Topology::new().map(std::sync::Arc::new).ok(); + s.split(' ') .map(|s| { let cores = s @@ -667,7 +721,7 @@

Files

Ok(CpuCoreSet { cores, #[cfg(feature = "numa")] - topology: hwlocality::Topology::new().map(std::sync::Arc::new).ok(), +
topology: topology.clone(), }) }) .collect() diff --git a/subspace_archiving/archiver/enum.ArchiverInstantiationError.html b/subspace_archiving/archiver/enum.ArchiverInstantiationError.html index 4b06d61e52..0d975aa8b5 100644 --- a/subspace_archiving/archiver/enum.ArchiverInstantiationError.html +++ b/subspace_archiving/archiver/enum.ArchiverInstantiationError.html @@ -1,14 +1,14 @@ 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 6ae0385275..85b5e17ec4 100644 --- a/subspace_archiving/archiver/enum.SegmentItem.html +++ b/subspace_archiving/archiver/enum.SegmentItem.html @@ -13,7 +13,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

@@ -22,7 +22,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 61ed20c700..9279d9f2d0 100644 --- a/subspace_archiving/archiver/fn.is_piece_valid.html +++ b/subspace_archiving/archiver/fn.is_piece_valid.html @@ -1,8 +1,8 @@ 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 3d6c96251f..de80473076 100644 --- a/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html +++ b/subspace_archiving/archiver/fn.is_record_commitment_hash_valid.html @@ -1,9 +1,9 @@ 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 0bf949fb52..26b30696af 100644 --- a/subspace_archiving/archiver/struct.Archiver.html +++ b/subspace_archiving/archiver/struct.Archiver.html @@ -1,28 +1,28 @@ 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 75cf69b2b7..47a033966c 100644 --- a/subspace_archiving/archiver/struct.NewArchivedSegment.html +++ b/subspace_archiving/archiver/struct.NewArchivedSegment.html @@ -1,13 +1,13 @@ 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 3cf748c291..a2beb06f57 100644 --- a/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html +++ b/subspace_archiving/piece_reconstructor/struct.PiecesReconstructor.html @@ -1,16 +1,16 @@ 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§

§

impl !RefUnwindSafe for PiecesReconstructor

§

impl Send for PiecesReconstructor

§

impl Sync for PiecesReconstructor

§

impl Unpin for PiecesReconstructor

§

impl !UnwindSafe for PiecesReconstructor

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/subspace_archiving/reconstructor/enum.ReconstructorError.html b/subspace_archiving/reconstructor/enum.ReconstructorError.html index 35f898e140..b610c07e00 100644 --- a/subspace_archiving/reconstructor/enum.ReconstructorError.html +++ b/subspace_archiving/reconstructor/enum.ReconstructorError.html @@ -3,13 +3,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 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 T
where diff --git a/subspace_archiving/reconstructor/struct.ReconstructedContents.html b/subspace_archiving/reconstructor/struct.ReconstructedContents.html index ebf1db7c38..775865658e 100644 --- a/subspace_archiving/reconstructor/struct.ReconstructedContents.html +++ b/subspace_archiving/reconstructor/struct.ReconstructedContents.html @@ -1,11 +1,11 @@ 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 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 T
where diff --git a/subspace_archiving/reconstructor/struct.Reconstructor.html b/subspace_archiving/reconstructor/struct.Reconstructor.html index 9eb88977d4..11e33e3acd 100644 --- a/subspace_archiving/reconstructor/struct.Reconstructor.html +++ b/subspace_archiving/reconstructor/struct.Reconstructor.html @@ -2,7 +2,7 @@
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 600419c143..8520117c01 100644 --- a/subspace_erasure_coding/struct.ErasureCoding.html +++ b/subspace_erasure_coding/struct.ErasureCoding.html @@ -5,28 +5,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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/subspace_farmer/all.html b/subspace_farmer/all.html index 194a4cc45b..7f354b81a5 100644 --- a/subspace_farmer/all.html +++ b/subspace_farmer/all.html @@ -1,2 +1,2 @@ List of all items in this crate -

List of all items

Structs

Enums

Traits

Functions

Type Aliases

Constants

\ No newline at end of file +

List of all items

Structs

Enums

Traits

Functions

Type Aliases

Constants

\ No newline at end of file diff --git a/subspace_farmer/utils/fn.all_cpu_cores.html b/subspace_farmer/utils/fn.all_cpu_cores.html index 0c0ce87355..1a021faf60 100644 --- a/subspace_farmer/utils/fn.all_cpu_cores.html +++ b/subspace_farmer/utils/fn.all_cpu_cores.html @@ -1,5 +1,5 @@ -all_cpu_cores in subspace_farmer::utils - Rust -
pub fn all_cpu_cores() -> Vec<CpuCoreSet>
Expand description

Get all cpu cores, grouped into sets according to NUMA nodes.

+all_cpu_cores in subspace_farmer::utils - Rust +
pub fn all_cpu_cores() -> Vec<CpuCoreSet>
Expand description

Get all cpu cores, grouped into sets according to NUMA nodes or L3 cache groups on large CPUs.

Returned vector is guaranteed to have at least one element and have non-zero number of CPU cores in each set.

\ No newline at end of file diff --git a/subspace_farmer/utils/fn.create_plotting_thread_pool_manager.html b/subspace_farmer/utils/fn.create_plotting_thread_pool_manager.html index d493830c95..1eda20dcd3 100644 --- a/subspace_farmer/utils/fn.create_plotting_thread_pool_manager.html +++ b/subspace_farmer/utils/fn.create_plotting_thread_pool_manager.html @@ -1,5 +1,5 @@ create_plotting_thread_pool_manager in subspace_farmer::utils - Rust -
pub fn create_plotting_thread_pool_manager<I>(
+    
pub fn create_plotting_thread_pool_manager<I>(
     cpu_core_sets: I
 ) -> Result<PlottingThreadPoolManager, ThreadPoolBuildError>
Expand description

Creates thread pool pairs for each of CPU core set pair with number of plotting and replotting threads corresponding diff --git a/subspace_farmer/utils/fn.parse_cpu_cores_sets.html b/subspace_farmer/utils/fn.parse_cpu_cores_sets.html index cfdf0d5fc0..6fad437e47 100644 --- a/subspace_farmer/utils/fn.parse_cpu_cores_sets.html +++ b/subspace_farmer/utils/fn.parse_cpu_cores_sets.html @@ -1,4 +1,4 @@ parse_cpu_cores_sets in subspace_farmer::utils - Rust

-
pub fn parse_cpu_cores_sets(s: &str) -> Result<Vec<CpuCoreSet>, ParseIntError>
Expand description

Parse space-separated set of groups of CPU cores (individual cores are coma-separated) into +

pub fn parse_cpu_cores_sets(s: &str) -> Result<Vec<CpuCoreSet>, ParseIntError>
Expand description

Parse space-separated set of groups of CPU cores (individual cores are coma-separated) into vector of CPU core sets that can be used for creation of plotting/replotting thread pools.

\ No newline at end of file diff --git a/subspace_farmer/utils/fn.rayon_custom_spawn_handler.html b/subspace_farmer/utils/fn.rayon_custom_spawn_handler.html index 1b31b9ae6f..ed846c31f9 100644 --- a/subspace_farmer/utils/fn.rayon_custom_spawn_handler.html +++ b/subspace_farmer/utils/fn.rayon_custom_spawn_handler.html @@ -1,5 +1,5 @@ rayon_custom_spawn_handler in subspace_farmer::utils - Rust -
pub fn rayon_custom_spawn_handler<SpawnHandlerBuilder, SpawnHandler, SpawnHandlerResult>(
+    
pub fn rayon_custom_spawn_handler<SpawnHandlerBuilder, SpawnHandler, SpawnHandlerResult>(
     spawn_handler_builder: SpawnHandlerBuilder
 ) -> impl FnMut(ThreadBuilder) -> Result<()>
where SpawnHandlerBuilder: FnMut(ThreadBuilder) -> SpawnHandler + Clone, diff --git a/subspace_farmer/utils/fn.recommended_number_of_farming_threads.html b/subspace_farmer/utils/fn.recommended_number_of_farming_threads.html new file mode 100644 index 0000000000..257b429d19 --- /dev/null +++ b/subspace_farmer/utils/fn.recommended_number_of_farming_threads.html @@ -0,0 +1,4 @@ +recommended_number_of_farming_threads in subspace_farmer::utils - Rust +
pub fn recommended_number_of_farming_threads() -> usize
Expand description

Recommended number of thread pool size for farming, equal to number of CPU cores in the first +NUMA node

+
\ No newline at end of file diff --git a/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html b/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html index 62e7354140..100d26009a 100644 --- a/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html +++ b/subspace_farmer/utils/fn.run_future_in_dedicated_thread.html @@ -1,5 +1,5 @@ run_future_in_dedicated_thread in subspace_farmer::utils - Rust -
pub fn run_future_in_dedicated_thread<CreateFut, Fut, T>(
+    
pub fn run_future_in_dedicated_thread<CreateFut, Fut, T>(
     create_future: CreateFut,
     thread_name: String
 ) -> Result<impl Future<Output = Result<T, Canceled>> + Send>
where diff --git a/subspace_farmer/utils/fn.thread_pool_core_indices.html b/subspace_farmer/utils/fn.thread_pool_core_indices.html index 8eba83d36d..609fd174c4 100644 --- a/subspace_farmer/utils/fn.thread_pool_core_indices.html +++ b/subspace_farmer/utils/fn.thread_pool_core_indices.html @@ -1,5 +1,5 @@ thread_pool_core_indices in subspace_farmer::utils - Rust -
pub fn thread_pool_core_indices(
+    
pub fn thread_pool_core_indices(
     thread_pool_size: Option<NonZeroUsize>,
     thread_pools: Option<NonZeroUsize>
 ) -> Vec<CpuCoreSet>
Expand description

Thread indices for each thread pool

diff --git a/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html b/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html index 34a9f989c2..512eac3094 100644 --- a/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html +++ b/subspace_farmer/utils/fn.tokio_rayon_spawn_handler.html @@ -1,4 +1,4 @@ tokio_rayon_spawn_handler in subspace_farmer::utils - Rust -
pub fn tokio_rayon_spawn_handler() -> impl FnMut(ThreadBuilder) -> Result<()>
Expand description

This function is supposed to be used with [rayon::ThreadPoolBuilder::spawn_handler()] to +

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

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

\ No newline at end of file diff --git a/subspace_farmer/utils/index.html b/subspace_farmer/utils/index.html index 130cd2349e..c1c1a3395d 100644 --- a/subspace_farmer/utils/index.html +++ b/subspace_farmer/utils/index.html @@ -1,9 +1,10 @@ subspace_farmer::utils - Rust -

Module subspace_farmer::utils

source ·

Modules

Structs

Functions

\ 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 8883132944..1ec8c0e6b4 100644 --- a/subspace_farmer_components/plotting/fn.plot_sector.html +++ b/subspace_farmer_components/plotting/fn.plot_sector.html @@ -2,7 +2,7 @@
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.DownloadSectorOptions.html b/subspace_farmer_components/plotting/struct.DownloadSectorOptions.html index aa78808053..089016ab20 100644 --- a/subspace_farmer_components/plotting/struct.DownloadSectorOptions.html +++ b/subspace_farmer_components/plotting/struct.DownloadSectorOptions.html @@ -1,19 +1,19 @@ DownloadSectorOptions in subspace_farmer_components::plotting - Rust

pub struct DownloadSectorOptions<'a, PG> {
-    pub public_key: &'a PublicKey,
-    pub sector_index: SectorIndex,
+    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 kzg: &'a Kzg,
     pub pieces_in_sector: u16,
 }
Expand description

Options for sector downloading

-

Fields§

§public_key: &'a PublicKey

Public key corresponding to sector

-
§sector_index: SectorIndex

Sector index

+

Fields§

§public_key: &'a PublicKey

Public key corresponding to sector

+
§sector_index: SectorIndex

Sector index

§piece_getter: &'a PG

Getter for pieces of archival history

§piece_getter_retry_policy: PieceGetterRetryPolicy

Retry policy for piece getter

§farmer_protocol_info: FarmerProtocolInfo

Farmer protocol info

-
§kzg: &'a Kzg

KZG instance

+
§kzg: &'a Kzg

KZG instance

§pieces_in_sector: u16

How many pieces should sector contain

Auto Trait Implementations§

§

impl<'a, PG> !RefUnwindSafe for DownloadSectorOptions<'a, PG>

§

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

§

impl<'a, PG> Sync for DownloadSectorOptions<'a, PG>
where diff --git a/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html b/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html index 2be9be8b05..6680fb1f84 100644 --- a/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html +++ b/subspace_farmer_components/plotting/struct.EncodeSectorOptions.html @@ -1,27 +1,27 @@ EncodeSectorOptions in subspace_farmer_components::plotting - Rust
pub struct EncodeSectorOptions<'a, PosTable>
where - PosTable: Table,
{ - pub sector_index: SectorIndex, - pub erasure_coding: &'a ErasureCoding, + PosTable: Table,
{ + pub sector_index: SectorIndex, + 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 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

+

Fields§

§sector_index: SectorIndex

Sector index

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

§sector_metadata_output: &'a mut Vec<u8>

Where plotted sector metadata 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

-
§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>
where - <PosTable as Table>::Generator: RefUnwindSafe,

§

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 T
where + <PosTable as Table>::Generator: RefUnwindSafe,

§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where diff --git a/subspace_farmer_components/plotting/struct.PlotSectorOptions.html b/subspace_farmer_components/plotting/struct.PlotSectorOptions.html index 09b3a87f38..572283349f 100644 --- a/subspace_farmer_components/plotting/struct.PlotSectorOptions.html +++ b/subspace_farmer_components/plotting/struct.PlotSectorOptions.html @@ -1,30 +1,30 @@ PlotSectorOptions in subspace_farmer_components::plotting - Rust
pub struct PlotSectorOptions<'a, PosTable, PG>
where - PosTable: Table,
{
Show 13 fields - pub public_key: &'a PublicKey, - pub sector_index: SectorIndex, + 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 kzg: &'a Kzg, + 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 be returned.

-

Fields§

§public_key: &'a PublicKey

Public key corresponding to sector

-
§sector_index: SectorIndex

Sector index

+

Fields§

§public_key: &'a PublicKey

Public key corresponding to sector

+
§sector_index: SectorIndex

Sector index

§piece_getter: &'a PG

Getter for pieces of archival history

§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

+
§kzg: &'a Kzg

KZG 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

@@ -34,11 +34,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 T
where + <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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where diff --git a/subspace_farmer_components/plotting/struct.PlottedSector.html b/subspace_farmer_components/plotting/struct.PlottedSector.html index 32956d253a..4e4313e5da 100644 --- a/subspace_farmer_components/plotting/struct.PlottedSector.html +++ b/subspace_farmer_components/plotting/struct.PlottedSector.html @@ -1,14 +1,14 @@ 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
source§

impl Decode for PlottedSector

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_farmer_components/plotting/trait.PieceGetter.html b/subspace_farmer_components/plotting/trait.PieceGetter.html index 77401a0626..63d8ce37a2 100644 --- a/subspace_farmer_components/plotting/trait.PieceGetter.html +++ b/subspace_farmer_components/plotting/trait.PieceGetter.html @@ -3,30 +3,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 PieceGetter for ArchivedHistorySegment

source§

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

Implementations on Foreign Types§

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,

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,

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 01e663c194..7b2fda912b 100644 --- a/subspace_farmer_components/proving/enum.ProvingError.html +++ b/subspace_farmer_components/proving/enum.ProvingError.html @@ -2,11 +2,11 @@
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,
     },
@@ -15,10 +15,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 2d59e60b32..ee4453f209 100644 --- a/subspace_farmer_components/proving/struct.SolutionCandidates.html +++ b/subspace_farmer_components/proving/struct.SolutionCandidates.html @@ -7,13 +7,13 @@
source

pub fn into_solutions<RewardAddress, PosTable, TableGenerator>( self, reward_address: &'a RewardAddress, - kzg: &'a Kzg, - erasure_coding: &'a ErasureCoding, + 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,

Turn solution candidates into actual solutions

+ 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 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 diff --git a/subspace_farmer_components/proving/trait.ProvableSolutions.html b/subspace_farmer_components/proving/trait.ProvableSolutions.html index 8617391fd0..3bfa50ba75 100644 --- a/subspace_farmer_components/proving/trait.ProvableSolutions.html +++ b/subspace_farmer_components/proving/trait.ProvableSolutions.html @@ -1,7 +1,7 @@ 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 there are no solutions

+

Required Methods§

source

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

Best solution distance found, None in case there are no solutions

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 e42d288af9..c7fbe78ed7 100644 --- a/subspace_farmer_components/reading/enum.ReadingError.html +++ b/subspace_farmer_components/reading/enum.ReadingError.html @@ -5,13 +5,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 { @@ -27,12 +27,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 e293638c14..caa6025e6e 100644 --- a/subspace_farmer_components/reading/fn.read_piece.html +++ b/subspace_farmer_components/reading/fn.read_piece.html @@ -1,13 +1,13 @@ read_piece in subspace_farmer_components::reading - Rust
pub async fn read_piece<PosTable, S, A>(
-    piece_offset: PieceOffset,
-    sector_id: &SectorId,
+    piece_offset: PieceOffset,
+    sector_id: &SectorId,
     sector_metadata: &SectorMetadataChecksummed,
     sector: &ReadAt<S, A>,
-    erasure_coding: &ErasureCoding,
-    table_generator: &mut PosTable::Generator
-) -> Result<Piece, ReadingError>
where - PosTable: Table, + erasure_coding: &ErasureCoding, + table_generator: &mut PosTable::Generator +) -> Result<Piece, ReadingError>
where + 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 06c817fb26..95f12a3edc 100644 --- a/subspace_farmer_components/reading/fn.read_sector_record_chunks.html +++ b/subspace_farmer_components/reading/fn.read_sector_record_chunks.html @@ -1,13 +1,13 @@ read_sector_record_chunks in subspace_farmer_components::reading - Rust

pub async fn read_sector_record_chunks<PosTable, S, A>(
-    piece_offset: PieceOffset,
+    piece_offset: PieceOffset,
     pieces_in_sector: u16,
     s_bucket_offsets: &[u32; 65536],
     sector_contents_map: &SectorContentsMap,
     pos_table: &PosTable,
     sector: &ReadAt<S, A>
-) -> Result<Box<[Option<Scalar>; 65536]>, ReadingError>
where - PosTable: Table, +) -> Result<Box<[Option<Scalar>; 65536]>, ReadingError>
where + 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 aab9a03b12..d629f7a85c 100644 --- a/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html +++ b/subspace_farmer_components/reading/fn.recover_extended_record_chunks.html @@ -1,7 +1,7 @@ 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
-) -> Result<Box<[Scalar; 65536]>, ReadingError>
Expand description

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

+ 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)

\ 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 9de3bab350..7c1e4afd37 100644 --- a/subspace_farmer_components/reading/fn.recover_source_record_chunks.html +++ b/subspace_farmer_components/reading/fn.recover_source_record_chunks.html @@ -1,7 +1,7 @@ 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
-) -> Result<impl ExactSizeIterator<Item = Scalar>, ReadingError>
Expand description

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

+ 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.

\ 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 c70ba25235..3247fc7559 100644 --- a/subspace_farmer_components/reading/struct.PlotRecord.html +++ b/subspace_farmer_components/reading/struct.PlotRecord.html @@ -1,12 +1,12 @@ 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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/subspace_farmer_components/sector/struct.SectorContentsMap.html b/subspace_farmer_components/sector/struct.SectorContentsMap.html index e91faf683f..2d0422102d 100644 --- a/subspace_farmer_components/sector/struct.SectorContentsMap.html +++ b/subspace_farmer_components/sector/struct.SectorContentsMap.html @@ -17,7 +17,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 @@ -25,14 +25,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 @@ -41,18 +41,18 @@ 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.

-

Returns error if s_bucket is outside of Record::NUM_S_BUCKETS range.

+

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/subspace_farmer_components/sector/struct.SectorMetadata.html b/subspace_farmer_components/sector/struct.SectorMetadata.html index e1c0579b01..272febd124 100644 --- a/subspace_farmer_components/sector/struct.SectorMetadata.html +++ b/subspace_farmer_components/sector/struct.SectorMetadata.html @@ -1,14 +1,14 @@ 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 db58605062..845fa34d2e 100644 --- a/subspace_farmer_components/struct.FarmerProtocolInfo.html +++ b/subspace_farmer_components/struct.FarmerProtocolInfo.html @@ -1,16 +1,16 @@ 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 T
where diff --git a/subspace_malicious_operator/malicious_domain_instance_starter/struct.DomainInstanceStarter.html b/subspace_malicious_operator/malicious_domain_instance_starter/struct.DomainInstanceStarter.html index 572fdeafd2..ab67efef5b 100644 --- a/subspace_malicious_operator/malicious_domain_instance_starter/struct.DomainInstanceStarter.html +++ b/subspace_malicious_operator/malicious_domain_instance_starter/struct.DomainInstanceStarter.html @@ -3,7 +3,7 @@ pub domain_cli: DomainCli, pub base_path: PathBuf, pub tokio_handle: Handle, - pub consensus_client: Arc<FullClient<RuntimeApi>>, + pub consensus_client: Arc<FullClient<RuntimeApi>>, pub consensus_keystore: KeystorePtr, pub consensus_offchain_tx_pool_factory: OffchainTransactionPoolFactory<Block>, pub block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<Block>>, @@ -14,7 +14,7 @@ pub consensus_network: Arc<CNetwork>, }
Expand description

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

-

Fields§

§domain_cli: DomainCli§base_path: PathBuf§tokio_handle: Handle§consensus_client: Arc<FullClient<RuntimeApi>>§consensus_keystore: KeystorePtr§consensus_offchain_tx_pool_factory: OffchainTransactionPoolFactory<Block>§block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<Block>>§new_slot_notification_stream: SubspaceNotificationStream<NewSlotNotification>§consensus_sync_service: Arc<SyncingService<Block>>§domain_message_receiver: TracingUnboundedReceiver<ChainTxPoolMsg>§gossip_message_sink: TracingUnboundedSender<Message>§consensus_network: Arc<CNetwork>

Implementations§

source§

impl<CNetwork> DomainInstanceStarter<CNetwork>
where +

Fields§

§domain_cli: DomainCli§base_path: PathBuf§tokio_handle: Handle§consensus_client: Arc<FullClient<RuntimeApi>>§consensus_keystore: KeystorePtr§consensus_offchain_tx_pool_factory: OffchainTransactionPoolFactory<Block>§block_importing_notification_stream: SubspaceNotificationStream<BlockImportingNotification<Block>>§new_slot_notification_stream: SubspaceNotificationStream<NewSlotNotification>§consensus_sync_service: Arc<SyncingService<Block>>§domain_message_receiver: TracingUnboundedReceiver<ChainTxPoolMsg>§gossip_message_sink: TracingUnboundedSender<Message>§consensus_network: Arc<CNetwork>

Implementations§

source§

impl<CNetwork> DomainInstanceStarter<CNetwork>
where CNetwork: NetworkPeers + Send + Sync + 'static,

source

pub async fn start( self, bootstrap_result: BootstrapResult<CBlock> diff --git a/subspace_proof_of_space/chia/struct.ChiaTable.html b/subspace_proof_of_space/chia/struct.ChiaTable.html index 84aa52511c..0f69f2c264 100644 --- a/subspace_proof_of_space/chia/struct.ChiaTable.html +++ b/subspace_proof_of_space/chia/struct.ChiaTable.html @@ -1,11 +1,11 @@ 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
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_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it 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
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_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it exists
source§

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

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 T
where + proof: &PosProof +) -> bool

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html b/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html index c543d52e4d..078651231b 100644 --- a/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html +++ b/subspace_proof_of_space/chia/struct.ChiaTableGenerator.html @@ -1,7 +1,7 @@ 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 T
where +

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/shim/struct.ShimTable.html b/subspace_proof_of_space/shim/struct.ShimTable.html index 96ecb4e757..7e590044c6 100644 --- a/subspace_proof_of_space/shim/struct.ShimTable.html +++ b/subspace_proof_of_space/shim/struct.ShimTable.html @@ -1,11 +1,11 @@ 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
source§

fn generate(seed: &PosSeed) -> ShimTable

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

fn find_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it 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
source§

fn generate(seed: &PosSeed) -> ShimTable

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

fn find_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it exists
source§

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

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 T
where + proof: &PosProof +) -> bool

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/shim/struct.ShimTableGenerator.html b/subspace_proof_of_space/shim/struct.ShimTableGenerator.html index 1e7f9a1cef..87225a26f9 100644 --- a/subspace_proof_of_space/shim/struct.ShimTableGenerator.html +++ b/subspace_proof_of_space/shim/struct.ShimTableGenerator.html @@ -1,7 +1,7 @@ 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 T
where +

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/subspace_proof_of_space/trait.Table.html b/subspace_proof_of_space/trait.Table.html index 972fbc4399..e7f70e58da 100644 --- a/subspace_proof_of_space/trait.Table.html +++ b/subspace_proof_of_space/trait.Table.html @@ -5,29 +5,29 @@ const TABLE_TYPE: PosTableType; // Required methods - fn generate(seed: &PosSeed) -> Self; - fn find_proof(&self, challenge_index: u32) -> Option<PosProof>; + fn generate(seed: &PosSeed) -> Self; + fn find_proof(&self, challenge_index: u32) -> Option<PosProof>; fn is_proof_valid( - seed: &PosSeed, + seed: &PosSeed, challenge_index: u32, - proof: &PosProof + proof: &PosProof ) -> bool; // 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

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_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it exists

+
source

fn find_proof(&self, challenge_index: u32) -> Option<PosProof>

Try to find proof at challenge_index if it exists

source

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

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.

+

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 ebbc50e750..fef08dc7d4 100644 --- a/subspace_proof_of_space/trait.TableGenerator.html +++ b/subspace_proof_of_space/trait.TableGenerator.html @@ -1,14 +1,14 @@ 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.

Object Safety§

This trait is not object safe.

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 e7290822a5..f1a3dddc04 100644 --- a/subspace_proof_of_time/fn.prove.html +++ b/subspace_proof_of_time/fn.prove.html @@ -1,7 +1,7 @@ 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 f7d3134733..9df846e2b0 100644 --- a/subspace_proof_of_time/fn.verify.html +++ b/subspace_proof_of_time/fn.verify.html @@ -1,8 +1,8 @@ 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_test_service/struct.MockConsensusNode.html b/subspace_test_service/struct.MockConsensusNode.html index 555eb4669f..f9a273caf4 100644 --- a/subspace_test_service/struct.MockConsensusNode.html +++ b/subspace_test_service/struct.MockConsensusNode.html @@ -1,10 +1,10 @@ MockConsensusNode in subspace_test_service - Rust
pub struct MockConsensusNode {
     pub task_manager: TaskManager,
-    pub client: Arc<Client>,
-    pub backend: Arc<Backend>,
+    pub client: Arc<Client>,
+    pub backend: Arc<Backend>,
     pub executor: RuntimeExecutor,
-    pub transaction_pool: Arc<FullPool<Client, Block, Header>>,
+    pub transaction_pool: Arc<FullPool<Client, Block, Header>>,
     pub select_chain: FullSelectChain,
     pub network_service: Arc<NetworkService<Block, <Block as BlockT>::Hash>>,
     pub xdm_gossip_notification_service: Option<Box<dyn NotificationService>>,
@@ -14,10 +14,10 @@
     /* private fields */
 }
Expand description

A mock Subspace consensus node instance used for testing.

Fields§

§task_manager: TaskManager

TaskManager’s instance.

-
§client: Arc<Client>

Client’s instance.

-
§backend: Arc<Backend>

Backend.

+
§client: Arc<Client>

Client’s instance.

+
§backend: Arc<Backend>

Backend.

§executor: RuntimeExecutor

Code executor.

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

Transaction pool.

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

Transaction pool.

§select_chain: FullSelectChain

The SelectChain Strategy

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

Network service.

§xdm_gossip_notification_service: Option<Box<dyn NotificationService>>

Cross-domain gossip notification service.

diff --git a/subspace_verification/enum.Error.html b/subspace_verification/enum.Error.html index bd8bf2eb31..0534899f82 100644 --- a/subspace_verification/enum.Error.html +++ b/subspace_verification/enum.Error.html @@ -5,13 +5,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, @@ -21,12 +21,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 8fcad8e5e2..e1675d1bcf 100644 --- a/subspace_verification/fn.calculate_block_weight.html +++ b/subspace_verification/fn.calculate_block_weight.html @@ -1,3 +1,3 @@ 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

+
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 d176796ce7..21e153cefc 100644 --- a/subspace_verification/fn.check_reward_signature.html +++ b/subspace_verification/fn.check_reward_signature.html @@ -1,8 +1,8 @@ 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 42d0342c88..402fbe1381 100644 --- a/subspace_verification/fn.derive_next_solution_range.html +++ b/subspace_verification/fn.derive_next_solution_range.html @@ -1,9 +1,9 @@ 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 bd203c0ad3..dc839e0740 100644 --- a/subspace_verification/fn.derive_pot_entropy.html +++ b/subspace_verification/fn.derive_pot_entropy.html @@ -1,3 +1,3 @@ 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.

+
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 33fecf8e80..6dc780a263 100644 --- a/subspace_verification/fn.is_within_solution_range.html +++ b/subspace_verification/fn.is_within_solution_range.html @@ -1,9 +1,9 @@ is_within_solution_range in subspace_verification - Rust
pub fn is_within_solution_range(
-    global_challenge: &Blake3Hash,
+    global_challenge: &Blake3Hash,
     chunk: &[u8; 32],
-    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 + 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 13d5d38ddc..7e34e62137 100644 --- a/subspace_verification/fn.verify_solution.html +++ b/subspace_verification/fn.verify_solution.html @@ -1,11 +1,11 @@ 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 - PosTable: Table, - PublicKey: From<&'a FarmerPublicKey>,
Expand description

Verify whether solution is valid, returns solution distance that is <= solution_range/2 on + 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 success.

\ No newline at end of file diff --git a/subspace_verification/struct.PieceCheckParams.html b/subspace_verification/struct.PieceCheckParams.html index 4d42be7e8f..158b635e56 100644 --- a/subspace_verification/struct.PieceCheckParams.html +++ b/subspace_verification/struct.PieceCheckParams.html @@ -1,20 +1,20 @@ 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 f11e343b2f..1112eaeb20 100644 --- a/subspace_verification/struct.VerifySolutionParams.html +++ b/subspace_verification/struct.VerifySolutionParams.html @@ -1,11 +1,11 @@ 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>( diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index 8b8f5a2b34..a56031372f 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -42,7 +42,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 AuditingDetails",1,["subspace_farmer::single_disk_farm::farming::AuditingDetails"]],["impl Sync for ProvingResult",1,["subspace_farmer::single_disk_farm::farming::ProvingResult"]],["impl Sync for ProvingDetails",1,["subspace_farmer::single_disk_farm::farming::ProvingDetails"]],["impl Sync for FarmingNotification",1,["subspace_farmer::single_disk_farm::farming::FarmingNotification"]],["impl Sync for DecodedFarmingError",1,["subspace_farmer::single_disk_farm::farming::DecodedFarmingError"]],["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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::plotting::SectorPlottingDetails"]],["impl Sync for SectorExpirationDetails",1,["subspace_farmer::single_disk_farm::plotting::SectorExpirationDetails"]],["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 SingleDiskFarmInfoLock",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfoLock"]],["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 SectorUpdate",1,["subspace_farmer::single_disk_farm::SectorUpdate"]],["impl !Sync for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl Sync for PlottingThreadPoolPair",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolPair"]],["impl Sync for PlottingThreadPoolsGuard",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolsGuard"]],["impl Sync for PlottingThreadPoolManager",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolManager"]],["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"]],["impl Sync for CpuCoreSet",1,["subspace_farmer::utils::CpuCoreSet"]]], -"subspace_farmer_components":[["impl Sync for AuditingError",1,["subspace_farmer_components::auditing::AuditingError"]],["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 Sync for AuditingError",1,["subspace_farmer_components::auditing::AuditingError"]],["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_malicious_operator":[["impl<CNetwork> Sync for DomainInstanceStarter<CNetwork>
where\n CNetwork: Sync + Send,
",1,["subspace_malicious_operator::malicious_domain_instance_starter::DomainInstanceStarter"]],["impl Sync for Cli",1,["subspace_malicious_operator::Cli"]],["impl Sync for DomainCli",1,["subspace_malicious_operator::DomainCli"]]], "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<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 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"]],["impl Sync for SubspaceMetrics",1,["subspace_networking::utils::SubspaceMetrics"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 446b3da167..26f0ff50d6 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -42,7 +42,7 @@ "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 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 RayonFiles",1,["subspace_farmer::single_disk_farm::farming::rayon_files::RayonFiles"]],["impl RefUnwindSafe for AuditingDetails",1,["subspace_farmer::single_disk_farm::farming::AuditingDetails"]],["impl RefUnwindSafe for ProvingResult",1,["subspace_farmer::single_disk_farm::farming::ProvingResult"]],["impl RefUnwindSafe for ProvingDetails",1,["subspace_farmer::single_disk_farm::farming::ProvingDetails"]],["impl !RefUnwindSafe for FarmingNotification",1,["subspace_farmer::single_disk_farm::farming::FarmingNotification"]],["impl RefUnwindSafe for DecodedFarmingError",1,["subspace_farmer::single_disk_farm::farming::DecodedFarmingError"]],["impl !RefUnwindSafe for FarmingError",1,["subspace_farmer::single_disk_farm::farming::FarmingError"]],["impl<'a, PosTable> !RefUnwindSafe for PlotAuditOptions<'a, PosTable>",1,["subspace_farmer::single_disk_farm::farming::PlotAuditOptions"]],["impl<Plot> RefUnwindSafe for PlotAudit<Plot>
where\n Plot: RefUnwindSafe,
",1,["subspace_farmer::single_disk_farm::farming::PlotAudit"]],["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 SectorPlottingDetails",1,["subspace_farmer::single_disk_farm::plotting::SectorPlottingDetails"]],["impl RefUnwindSafe for SectorExpirationDetails",1,["subspace_farmer::single_disk_farm::plotting::SectorExpirationDetails"]],["impl !RefUnwindSafe for PlottingError",1,["subspace_farmer::single_disk_farm::plotting::PlottingError"]],["impl RefUnwindSafe for SingleDiskFarmId",1,["subspace_farmer::single_disk_farm::SingleDiskFarmId"]],["impl RefUnwindSafe for SingleDiskFarmInfoLock",1,["subspace_farmer::single_disk_farm::SingleDiskFarmInfoLock"]],["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 SectorUpdate",1,["subspace_farmer::single_disk_farm::SectorUpdate"]],["impl !RefUnwindSafe for SingleDiskFarm",1,["subspace_farmer::single_disk_farm::SingleDiskFarm"]],["impl !RefUnwindSafe for PlottingThreadPoolPair",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolPair"]],["impl !RefUnwindSafe for PlottingThreadPoolsGuard",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolsGuard"]],["impl !RefUnwindSafe for PlottingThreadPoolManager",1,["subspace_farmer::thread_pool_manager::PlottingThreadPoolManager"]],["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"]],["impl RefUnwindSafe for Ss58ParsingError",1,["subspace_farmer::utils::ss58::Ss58ParsingError"]],["impl<T> RefUnwindSafe for AsyncJoinOnDrop<T>",1,["subspace_farmer::utils::AsyncJoinOnDrop"]],["impl RefUnwindSafe for CpuCoreSet",1,["subspace_farmer::utils::CpuCoreSet"]]], -"subspace_farmer_components":[["impl !RefUnwindSafe for AuditingError",1,["subspace_farmer_components::auditing::AuditingError"]],["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<'a, PosTable, PG> !RefUnwindSafe for PlotSectorOptions<'a, PosTable, PG>",1,["subspace_farmer_components::plotting::PlotSectorOptions"]],["impl RefUnwindSafe for DownloadedSector",1,["subspace_farmer_components::plotting::DownloadedSector"]],["impl<'a, PG> !RefUnwindSafe for DownloadSectorOptions<'a, PG>",1,["subspace_farmer_components::plotting::DownloadSectorOptions"]],["impl<'a, PosTable> RefUnwindSafe for EncodeSectorOptions<'a, PosTable>
where\n <PosTable as Table>::Generator: RefUnwindSafe,
",1,["subspace_farmer_components::plotting::EncodeSectorOptions"]],["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<S, A> RefUnwindSafe for ReadAt<S, A>
where\n A: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["subspace_farmer_components::ReadAt"]],["impl<B> RefUnwindSafe for AsyncReadBytes<B>
where\n B: RefUnwindSafe,
",1,["subspace_farmer_components::AsyncReadBytes"]],["impl<'a, T> RefUnwindSafe for ReadAtOffset<'a, T>
where\n T: RefUnwindSafe,
",1,["subspace_farmer_components::ReadAtOffset"]],["impl RefUnwindSafe for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], +"subspace_farmer_components":[["impl !RefUnwindSafe for AuditingError",1,["subspace_farmer_components::auditing::AuditingError"]],["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<'a, PosTable, PG> !RefUnwindSafe for PlotSectorOptions<'a, PosTable, PG>",1,["subspace_farmer_components::plotting::PlotSectorOptions"]],["impl RefUnwindSafe for DownloadedSector",1,["subspace_farmer_components::plotting::DownloadedSector"]],["impl<'a, PG> !RefUnwindSafe for DownloadSectorOptions<'a, PG>",1,["subspace_farmer_components::plotting::DownloadSectorOptions"]],["impl<'a, PosTable> RefUnwindSafe for EncodeSectorOptions<'a, PosTable>
where\n <PosTable as Table>::Generator: RefUnwindSafe,
",1,["subspace_farmer_components::plotting::EncodeSectorOptions"]],["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<S, A> RefUnwindSafe for ReadAt<S, A>
where\n A: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["subspace_farmer_components::ReadAt"]],["impl<B> RefUnwindSafe for AsyncReadBytes<B>
where\n B: RefUnwindSafe,
",1,["subspace_farmer_components::AsyncReadBytes"]],["impl<'a, T> RefUnwindSafe for ReadAtOffset<'a, T>
where\n T: RefUnwindSafe,
",1,["subspace_farmer_components::ReadAtOffset"]],["impl RefUnwindSafe for FarmerProtocolInfo",1,["subspace_farmer_components::FarmerProtocolInfo"]]], "subspace_malicious_operator":[["impl<CNetwork> !RefUnwindSafe for DomainInstanceStarter<CNetwork>",1,["subspace_malicious_operator::malicious_domain_instance_starter::DomainInstanceStarter"]],["impl RefUnwindSafe for Cli",1,["subspace_malicious_operator::Cli"]],["impl RefUnwindSafe for DomainCli",1,["subspace_malicious_operator::DomainCli"]]], "subspace_metrics":[["impl !RefUnwindSafe for RegistryAdapter",1,["subspace_metrics::RegistryAdapter"]],["impl RefUnwindSafe for metrics",1,["subspace_metrics::metrics"]]], "subspace_networking":[["impl RefUnwindSafe for PeerAddressRemovedEvent",1,["subspace_networking::behavior::persistent_parameters::PeerAddressRemovedEvent"]],["impl RefUnwindSafe for KnownPeersManagerConfig",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManagerConfig"]],["impl !RefUnwindSafe for KnownPeersManagerPersistenceError",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManagerPersistenceError"]],["impl !RefUnwindSafe for KnownPeersManager",1,["subspace_networking::behavior::persistent_parameters::KnownPeersManager"]],["impl RefUnwindSafe for KademliaMode",1,["subspace_networking::constructor::KademliaMode"]],["impl<LocalRecordProvider> !RefUnwindSafe for Config<LocalRecordProvider>",1,["subspace_networking::constructor::Config"]],["impl !RefUnwindSafe for CreationError",1,["subspace_networking::constructor::CreationError"]],["impl !RefUnwindSafe for TopicSubscription",1,["subspace_networking::node::TopicSubscription"]],["impl RefUnwindSafe for GetClosestPeersError",1,["subspace_networking::node::GetClosestPeersError"]],["impl !RefUnwindSafe for SubscribeError",1,["subspace_networking::node::SubscribeError"]],["impl !RefUnwindSafe for SendRequestError",1,["subspace_networking::node::SendRequestError"]],["impl !RefUnwindSafe for Node",1,["subspace_networking::node::Node"]],["impl<LocalRecordProvider> !RefUnwindSafe for NodeRunner<LocalRecordProvider>",1,["subspace_networking::node_runner::NodeRunner"]],["impl<Request> !RefUnwindSafe for GenericRequestHandler<Request>",1,["subspace_networking::protocols::request_response::handlers::generic_request_handler::GenericRequestHandler"]],["impl RefUnwindSafe for PieceByIndexRequest",1,["subspace_networking::protocols::request_response::handlers::piece_by_index::PieceByIndexRequest"]],["impl RefUnwindSafe for PieceByIndexResponse",1,["subspace_networking::protocols::request_response::handlers::piece_by_index::PieceByIndexResponse"]],["impl RefUnwindSafe for SegmentHeaderRequest",1,["subspace_networking::protocols::request_response::handlers::segment_header::SegmentHeaderRequest"]],["impl RefUnwindSafe for SegmentHeaderResponse",1,["subspace_networking::protocols::request_response::handlers::segment_header::SegmentHeaderResponse"]],["impl RefUnwindSafe for PeerDiscovered",1,["subspace_networking::shared::PeerDiscovered"]],["impl RefUnwindSafe for MultihashCode",1,["subspace_networking::utils::multihash::MultihashCode"]],["impl RefUnwindSafe for NoPieceValidator",1,["subspace_networking::utils::piece_provider::NoPieceValidator"]],["impl RefUnwindSafe for RetryPolicy",1,["subspace_networking::utils::piece_provider::RetryPolicy"]],["impl<PV> !RefUnwindSafe for PieceProvider<PV>",1,["subspace_networking::utils::piece_provider::PieceProvider"]],["impl<T> RefUnwindSafe for KeyWrapper<T>
where\n T: RefUnwindSafe,
",1,["subspace_networking::utils::unique_record_binary_heap::KeyWrapper"]],["impl<K> RefUnwindSafe for UniqueRecordBinaryHeap<K>
where\n K: RefUnwindSafe,
",1,["subspace_networking::utils::unique_record_binary_heap::UniqueRecordBinaryHeap"]],["impl RefUnwindSafe for SubspaceMetrics",1,["subspace_networking::utils::SubspaceMetrics"]]], diff --git a/trait.impl/domain_service/providers/trait.BlockImportProvider.js b/trait.impl/domain_service/providers/trait.BlockImportProvider.js index 670ec2fe74..c06b43c034 100644 --- a/trait.impl/domain_service/providers/trait.BlockImportProvider.js +++ b/trait.impl/domain_service/providers/trait.BlockImportProvider.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"domain_eth_service":[["impl<Block, RuntimeApi, CT, EC> BlockImportProvider<Block, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>> for EthProvider<CT, EC>
where\n Block: BlockT,\n RuntimeApi: ConstructRuntimeApi<Block, FullClient<Block, RuntimeApi>> + Send + Sync + 'static,\n RuntimeApi::RuntimeApi: ApiExt<Block> + Core<Block> + BlockBuilder<Block> + EthereumRuntimeRPCApi<Block>,
"]], +"domain_eth_service":[["impl<Block, RuntimeApi, CT, EC> BlockImportProvider<Block, Client<Backend<Block>, LocalCallExecutor<Block, Backend<Block>, WasmExecutor<((HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions),)>>, Block, RuntimeApi>> for EthProvider<CT, EC>
where\n Block: BlockT,\n RuntimeApi: ConstructRuntimeApi<Block, FullClient<Block, RuntimeApi>> + Send + Sync + 'static,\n RuntimeApi::RuntimeApi: ApiExt<Block> + Core<Block> + BlockBuilder<Block> + EthereumRuntimeRPCApi<Block>,
"]], "domain_service":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/domain_service/providers/trait.RpcProvider.js b/trait.impl/domain_service/providers/trait.RpcProvider.js index ccb2b50c92..d0b83d84c5 100644 --- a/trait.impl/domain_service/providers/trait.RpcProvider.js +++ b/trait.impl/domain_service/providers/trait.RpcProvider.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"domain_eth_service":[["impl<Block, Client, BE, TxPool, CA, AccountId, CT, EC, CIDP> RpcProvider<Block, Client, TxPool, CA, BE, AccountId, CIDP> for EthProvider<CT, EC>
where\n Block: BlockT<Hash = H256>,\n BE: Backend<Block> + 'static,\n Client: ProvideRuntimeApi<Block> + BlockchainEvents<Block> + StorageProvider<Block, BE> + HeaderBackend<Block> + CallApiAt<Block> + HeaderMetadata<Block, Error = Error> + BlockBackend<Block> + AuxStore + Send + Sync + 'static,\n Client::Api: TransactionPaymentRuntimeApi<Block, Balance> + EthereumRuntimeRPCApi<Block> + AccountNonceApi<Block, AccountId, Nonce> + ConvertTransactionRuntimeApi<Block> + BlockBuilder<Block>,\n CT: ConvertTransaction<<Block as BlockT>::Extrinsic> + Clone + Default + Send + Sync + 'static,\n EC: EthConfig<Block, Client>,\n TxPool: TransactionPool<Block = Block> + Sync + Send + 'static,\n CA: ChainApi<Block = Block> + 'static,\n AccountId: DeserializeOwned + Encode + Debug + Decode + Display + Clone + Sync + Send + 'static,\n CIDP: CreateInherentDataProviders<Block, ()> + Send + Clone + 'static,
"]], +"domain_eth_service":[["impl<Block, Client, BE, TxPool, CA, AccountId, CT, EC, CIDP> RpcProvider<Block, Client, TxPool, CA, BE, AccountId, CIDP> for EthProvider<CT, EC>
where\n Block: BlockT<Hash = H256>,\n BE: Backend<Block> + 'static,\n Client: ProvideRuntimeApi<Block> + BlockchainEvents<Block> + StorageProvider<Block, BE> + HeaderBackend<Block> + CallApiAt<Block> + HeaderMetadata<Block, Error = Error> + BlockBackend<Block> + AuxStore + Send + Sync + 'static,\n Client::Api: TransactionPaymentRuntimeApi<Block, Balance> + EthereumRuntimeRPCApi<Block> + AccountNonceApi<Block, AccountId, Nonce> + ConvertTransactionRuntimeApi<Block> + BlockBuilder<Block>,\n CT: ConvertTransaction<<Block as BlockT>::Extrinsic> + Clone + Default + Send + Sync + 'static,\n EC: EthConfig<Block, Client>,\n TxPool: TransactionPool<Block = Block> + Sync + Send + 'static,\n CA: ChainApi<Block = Block> + 'static,\n AccountId: DeserializeOwned + Encode + Debug + Decode + Display + Clone + Sync + Send + 'static,\n CIDP: CreateInherentDataProviders<Block, ()> + Send + Clone + 'static,
"]], "domain_service":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/scale_info/trait.TypeInfo.js b/trait.impl/scale_info/trait.TypeInfo.js index 6c14125535..dbca8feca1 100644 --- a/trait.impl/scale_info/trait.TypeInfo.js +++ b/trait.impl/scale_info/trait.TypeInfo.js @@ -6,7 +6,7 @@ "orml_vesting":[["impl<BlockNumber, Balance> TypeInfo for VestingSchedule<BlockNumber, Balance>
where\n BlockNumber: TypeInfo + 'static,\n Balance: HasCompact + MaxEncodedLen + HasCompact + TypeInfo + 'static,
"],["impl<T> TypeInfo for Event<T>
where\n T::AccountId: TypeInfo + 'static,\n VestingSchedule<BlockNumberFor<T>, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,\n <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,\n VestingSchedule<BlockNumberFor<T>, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,\n Vec<VestingSchedule<BlockNumberFor<T>, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"]], "pallet_block_fees":[["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n T::Balance: HasCompact,\n T: Config + 'static,
"]], "pallet_domain_id":[["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,
"]], -"pallet_domains":[["impl<AccountId> TypeInfo for DomainConfig<AccountId>
where\n OperatorAllowList<AccountId>: TypeInfo + 'static,\n AccountId: Ord + TypeInfo + 'static,
"],["impl TypeInfo for Error"],["impl<T> TypeInfo for Event<T>
where\n BlockNumberFor<T>: TypeInfo + 'static,\n <T as Config>::AccountId: TypeInfo + 'static,\n <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n Option<DomainBlockNumberFor<T>>: TypeInfo + 'static,\n SlashedReason<DomainBlockNumberFor<T>, ReceiptHashFor<T>>: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl TypeInfo for BundleError"],["impl<Hash> TypeInfo for ScheduledRuntimeUpgrade<Hash>
where\n Hash: TypeInfo + 'static,
"],["impl TypeInfo for TxRangeState"],["impl TypeInfo for FraudProofError"],["impl TypeInfo for DomainRuntimeInfo"],["impl<Number, Hash, DomainNumber, DomainHash, Balance> TypeInfo for BlockTreeNode<Number, Hash, DomainNumber, DomainHash, Balance>
where\n ExecutionReceipt<Number, Hash, DomainNumber, DomainHash, Balance>: TypeInfo + 'static,\n Number: TypeInfo + 'static,\n Hash: TypeInfo + 'static,\n DomainNumber: TypeInfo + 'static,\n DomainHash: TypeInfo + 'static,\n Balance: TypeInfo + 'static,
"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n OpaqueBundleOf<T>: TypeInfo + 'static,\n Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>: TypeInfo + 'static,\n <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,\n DomainConfig<T::AccountId>: TypeInfo + 'static,\n T::Share: TypeInfo + 'static,\n OperatorAllowList<T::AccountId>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl TypeInfo for Error"],["impl TypeInfo for Error"],["impl<Number, ReceiptHash, AccountId> TypeInfo for DomainObject<Number, ReceiptHash, AccountId>
where\n AccountId: TypeInfo + 'static + Ord,\n Number: TypeInfo + 'static,\n ReceiptHash: TypeInfo + 'static,\n DomainConfig<AccountId>: TypeInfo + 'static,
"],["impl<Balance> TypeInfo for OperatorConfig<Balance>
where\n Balance: TypeInfo + 'static,
"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<Number, Hash> TypeInfo for RuntimeObject<Number, Hash>
where\n Hash: TypeInfo + 'static,\n Number: TypeInfo + 'static,
"],["impl<DomainBlock, ReceiptHash> TypeInfo for SlashedReason<DomainBlock, ReceiptHash>
where\n DomainBlock: TypeInfo + 'static,\n ReceiptHash: TypeInfo + 'static,
"]], +"pallet_domains":[["impl<AccountId> TypeInfo for DomainConfig<AccountId>
where\n OperatorAllowList<AccountId>: TypeInfo + 'static,\n AccountId: Ord + TypeInfo + 'static,
"],["impl TypeInfo for Error"],["impl<T> TypeInfo for Event<T>
where\n BlockNumberFor<T>: TypeInfo + 'static,\n <T as Config>::AccountId: TypeInfo + 'static,\n <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n Option<DomainBlockNumberFor<T>>: TypeInfo + 'static,\n SlashedReason<DomainBlockNumberFor<T>, ReceiptHashFor<T>>: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl TypeInfo for BundleError"],["impl<Hash> TypeInfo for ScheduledRuntimeUpgrade<Hash>
where\n Hash: TypeInfo + 'static,
"],["impl TypeInfo for TxRangeState"],["impl TypeInfo for FraudProofError"],["impl TypeInfo for DomainRuntimeInfo"],["impl<Number, Hash, DomainNumber, DomainHash, Balance> TypeInfo for BlockTreeNode<Number, Hash, DomainNumber, DomainHash, Balance>
where\n ExecutionReceipt<Number, Hash, DomainNumber, DomainHash, Balance>: TypeInfo + 'static,\n Number: TypeInfo + 'static,\n Hash: TypeInfo + 'static,\n DomainNumber: TypeInfo + 'static,\n DomainHash: TypeInfo + 'static,\n Balance: TypeInfo + 'static,
"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n OpaqueBundleOf<T>: TypeInfo + 'static,\n Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>: TypeInfo + 'static,\n <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,\n OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,\n DomainConfig<T::AccountId>: TypeInfo + 'static,\n T::Share: TypeInfo + 'static,\n OperatorAllowList<T::AccountId>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl TypeInfo for Error"],["impl TypeInfo for Error"],["impl<Number, ReceiptHash, AccountId> TypeInfo for DomainObject<Number, ReceiptHash, AccountId>
where\n AccountId: TypeInfo + 'static + Ord,\n Number: TypeInfo + 'static,\n ReceiptHash: TypeInfo + 'static,\n DomainConfig<AccountId>: TypeInfo + 'static,
"],["impl<Balance> TypeInfo for OperatorConfig<Balance>
where\n Balance: TypeInfo + 'static,
"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<Number, Hash> TypeInfo for RuntimeObject<Number, Hash>
where\n Hash: TypeInfo + 'static,\n Number: TypeInfo + 'static,
"],["impl<DomainBlock, ReceiptHash> TypeInfo for SlashedReason<DomainBlock, ReceiptHash>
where\n DomainBlock: TypeInfo + 'static,\n ReceiptHash: TypeInfo + 'static,
"]], "pallet_feeds":[["impl<T> TypeInfo for Event<T>
where\n T::FeedId: TypeInfo + 'static,\n T::AccountId: TypeInfo + 'static,\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl TypeInfo for TotalObjectsAndSize"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n T::FeedProcessorKind: TypeInfo + 'static,\n T::FeedId: TypeInfo + 'static,\n <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,\n T: Config + 'static,
"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<FeedProcessorId, AccountId> TypeInfo for FeedConfig<FeedProcessorId, AccountId>
where\n FeedProcessorId: TypeInfo + 'static,\n AccountId: TypeInfo + 'static,
"]], "pallet_grandpa_finality_verifier":[["impl TypeInfo for InitializationData"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n T: Config + 'static,
"]], "pallet_messenger":[["impl<T> TypeInfo for Event<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl<T> TypeInfo for Error<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<T> TypeInfo for Call<T>
where\n PhantomData<(T,)>: TypeInfo + 'static,\n InitiateChannelParams<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,\n CrossDomainMessage<BlockNumberFor<T>, T::Hash, <<T as Config>::Hashing as Hash>::Output>: TypeInfo + 'static,\n T: Config + 'static,
"],["impl<Balance> TypeInfo for Channel<Balance>
where\n FeeModel<Balance>: TypeInfo + 'static,\n Balance: TypeInfo + 'static,
"],["impl TypeInfo for ChannelState"],["impl TypeInfo for OutboxMessageResult"]], diff --git a/trait.impl/subspace_runtime_primitives/trait.FindBlockRewardAddress.js b/trait.impl/subspace_runtime_primitives/trait.FindBlockRewardAddress.js index 84683eee36..37b07885fb 100644 --- a/trait.impl/subspace_runtime_primitives/trait.FindBlockRewardAddress.js +++ b/trait.impl/subspace_runtime_primitives/trait.FindBlockRewardAddress.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"pallet_subspace":[["impl<T: Config> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>"]] +"pallet_subspace":[["impl<T: Config> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/subspace_runtime_primitives/trait.FindVotingRewardAddresses.js b/trait.impl/subspace_runtime_primitives/trait.FindVotingRewardAddresses.js index e535c8feac..4d6604fe14 100644 --- a/trait.impl/subspace_runtime_primitives/trait.FindVotingRewardAddresses.js +++ b/trait.impl/subspace_runtime_primitives/trait.FindVotingRewardAddresses.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"pallet_subspace":[["impl<T: Config> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>"]] +"pallet_subspace":[["impl<T: Config> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/type.impl/pallet_domains/struct.Pallet.js b/type.impl/pallet_domains/struct.Pallet.js index 1f1db58caa..d6f4d577ea 100644 --- a/type.impl/pallet_domains/struct.Pallet.js +++ b/type.impl/pallet_domains/struct.Pallet.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"pallet_domains":[["
source§

impl<T: Config> Pallet<T>

source

pub fn submit_bundle(\n origin: OriginFor<T>,\n opaque_bundle: OpaqueBundleOf<T>\n) -> DispatchResultWithPostInfo

source

pub fn submit_fraud_proof(\n origin: OriginFor<T>,\n fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>\n) -> DispatchResult

source

pub fn register_domain_runtime(\n origin: OriginFor<T>,\n runtime_name: String,\n runtime_type: RuntimeType,\n raw_genesis_storage: Vec<u8>\n) -> DispatchResult

source

pub fn upgrade_domain_runtime(\n origin: OriginFor<T>,\n runtime_id: RuntimeId,\n raw_genesis_storage: Vec<u8>\n) -> DispatchResult

source

pub fn register_operator(\n origin: OriginFor<T>,\n domain_id: DomainId,\n amount: <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance,\n config: OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>\n) -> DispatchResult

source

pub fn nominate_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n amount: <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance\n) -> DispatchResult

source

pub fn instantiate_domain(\n origin: OriginFor<T>,\n domain_config: DomainConfig<T::AccountId>\n) -> DispatchResult

source

pub fn switch_domain(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n new_domain_id: DomainId\n) -> DispatchResult

source

pub fn deregister_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

source

pub fn withdraw_stake(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n shares: T::Share\n) -> DispatchResult

source

pub fn unlock_funds(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

Unlocks the first withdrawal given the unlocking period is complete.\nEven if rest of the withdrawals are out of unlocking period, nominator\nshould call this extrinsic to unlock each withdrawal

\n
source

pub fn unlock_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

Unlocks the operator given the unlocking period is complete.\nAnyone can initiate the operator unlock.

\n
source

pub fn update_domain_operator_allow_list(\n origin: OriginFor<T>,\n domain_id: DomainId,\n operator_allow_list: OperatorAllowList<T::AccountId>\n) -> DispatchResult

Extrinsic to update domain’s operator allow list.\nNote:

\n
    \n
  • If the previous allowed list is set to specific operators and new allow list is set\nto Anyone, then domain will become permissioned to open for all operators.
  • \n
  • If the previous allowed list is set to Anyone or specific operators and the new\nallow list is set to specific operators, then all the registered not allowed operators\nwill continue to operate until they de-register themselves.
  • \n
\n
source

pub fn force_staking_epoch_transition(\n origin: OriginFor<T>,\n domain_id: DomainId\n) -> DispatchResult

Force staking epoch transition for a given domain

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn operator_signing_key<KArg>(k: KArg) -> Option<OperatorId>
where\n KArg: EncodeLike<OperatorPublicKey>,

An auto-generated getter for OperatorSigningKey.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn domain_staking_summary<KArg>(\n k: KArg\n) -> Option<StakingSummary<OperatorId, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>>
where\n KArg: EncodeLike<DomainId>,

An auto-generated getter for DomainStakingSummary.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn consensus_block_info<KArg1, KArg2>(\n k1: KArg1,\n k2: KArg2\n) -> Option<T::Hash>
where\n KArg1: EncodeLike<DomainId>,\n KArg2: EncodeLike<BlockNumberFor<T>>,

An auto-generated getter for ConsensusBlockHash.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn successful_bundles(domain_id: DomainId) -> Vec<H256>

source

pub fn successful_fraud_proofs(domain_id: DomainId) -> Vec<T::DomainHash>

source

pub fn domain_runtime_code(domain_id: DomainId) -> Option<Vec<u8>>

source

pub fn domain_best_number(\n domain_id: DomainId\n) -> Option<DomainBlockNumberFor<T>>

source

pub fn domain_state_root(\n domain_id: DomainId,\n domain_block_number: DomainBlockNumberFor<T>,\n domain_block_hash: T::DomainHash\n) -> Option<T::DomainHash>

source

pub fn runtime_id(domain_id: DomainId) -> Option<RuntimeId>

source

pub fn domain_instance_data(\n domain_id: DomainId\n) -> Option<(DomainInstanceData, BlockNumberFor<T>)>

source

pub fn genesis_state_root(domain_id: DomainId) -> Option<H256>

source

pub fn domain_tx_range(domain_id: DomainId) -> U256

Returns the tx range for the domain.

\n
source

pub fn bundle_producer_election_params(\n domain_id: DomainId\n) -> Option<BundleProducerElectionParams<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>>

source

pub fn operator(\n operator_id: OperatorId\n) -> Option<(OperatorPublicKey, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance)>

source

pub fn head_receipt_number(domain_id: DomainId) -> DomainBlockNumberFor<T>

Returns the best execution chain number.

\n
source

pub fn oldest_unconfirmed_receipt_number(\n domain_id: DomainId\n) -> Option<DomainBlockNumberFor<T>>

Returns the block number of the oldest existing unconfirmed execution receipt, return None\nmeans there is no unconfirmed ER exist or submitted yet.

\n
source

pub fn domain_block_limit(domain_id: DomainId) -> Option<DomainBlockLimit>

Returns the domain block limit of the given domain.

\n
source

pub fn non_empty_er_exists(domain_id: DomainId) -> bool

Returns if there are any ERs in the challenge period that have non empty extrinsics.\nNote that Genesis ER is also considered special and hence non empty

\n
source

pub fn extrinsics_shuffling_seed() -> T::Hash

source

pub fn execution_receipt(\n receipt_hash: ReceiptHashFor<T>\n) -> Option<ExecutionReceiptOf<T>>

source

pub fn receipt_hash(\n domain_id: DomainId,\n domain_number: DomainBlockNumberFor<T>\n) -> Option<ReceiptHashFor<T>>

",0,"pallet_domains::pallet::Module"],["
source§

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

source

pub fn submit_bundle_unsigned(opaque_bundle: OpaqueBundleOf<T>)

Submits an unsigned extrinsic Call::submit_bundle.

\n
source

pub fn submit_fraud_proof_unsigned(\n fraud_proof: FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>\n)

Submits an unsigned extrinsic Call::submit_fraud_proof.

\n
",0,"pallet_domains::pallet::Module"],["
source§

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

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","pallet_domains::pallet::Module"],["
source§

impl<T> Eq for Pallet<T>

","Eq","pallet_domains::pallet::Module"],["
source§

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

source§

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

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

fn on_finalize(_: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","pallet_domains::pallet::Module"],["
source§

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

","Callable","pallet_domains::pallet::Module"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","pallet_domains::pallet::Module"],["
source§

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

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","pallet_domains::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call to validate
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
source§

fn validate_unsigned(\n _source: TransactionSource,\n call: &Self::Call\n) -> TransactionValidity

Return the validity of the call Read more
","ValidateUnsigned","pallet_domains::pallet::Module"],["
source§

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

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
","Clone","pallet_domains::pallet::Module"],["
source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","pallet_domains::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

§

type CurrentStorageVersion = StorageVersion

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","pallet_domains::pallet::Module"],["
source§

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

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","pallet_domains::pallet::Module"],["
source§

impl<T> PartialEq for Pallet<T>

source§

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

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","pallet_domains::pallet::Module"]] +"pallet_domains":[["
source§

impl<T: Config> Pallet<T>

source

pub fn submit_bundle(\n origin: OriginFor<T>,\n opaque_bundle: OpaqueBundleOf<T>\n) -> DispatchResultWithPostInfo

source

pub fn submit_fraud_proof(\n origin: OriginFor<T>,\n fraud_proof: Box<FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>>\n) -> DispatchResult

source

pub fn register_domain_runtime(\n origin: OriginFor<T>,\n runtime_name: String,\n runtime_type: RuntimeType,\n raw_genesis_storage: Vec<u8>\n) -> DispatchResult

source

pub fn upgrade_domain_runtime(\n origin: OriginFor<T>,\n runtime_id: RuntimeId,\n raw_genesis_storage: Vec<u8>\n) -> DispatchResult

source

pub fn register_operator(\n origin: OriginFor<T>,\n domain_id: DomainId,\n amount: <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance,\n config: OperatorConfig<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>\n) -> DispatchResult

source

pub fn nominate_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n amount: <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance\n) -> DispatchResult

source

pub fn instantiate_domain(\n origin: OriginFor<T>,\n domain_config: DomainConfig<T::AccountId>\n) -> DispatchResult

source

pub fn switch_domain(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n new_domain_id: DomainId\n) -> DispatchResult

source

pub fn deregister_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

source

pub fn withdraw_stake(\n origin: OriginFor<T>,\n operator_id: OperatorId,\n shares: T::Share\n) -> DispatchResult

source

pub fn unlock_funds(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

Unlocks the first withdrawal given the unlocking period is complete.\nEven if rest of the withdrawals are out of unlocking period, nominator\nshould call this extrinsic to unlock each withdrawal

\n
source

pub fn unlock_operator(\n origin: OriginFor<T>,\n operator_id: OperatorId\n) -> DispatchResult

Unlocks the operator given the unlocking period is complete.\nAnyone can initiate the operator unlock.

\n
source

pub fn update_domain_operator_allow_list(\n origin: OriginFor<T>,\n domain_id: DomainId,\n operator_allow_list: OperatorAllowList<T::AccountId>\n) -> DispatchResult

Extrinsic to update domain’s operator allow list.\nNote:

\n
    \n
  • If the previous allowed list is set to specific operators and new allow list is set\nto Anyone, then domain will become permissioned to open for all operators.
  • \n
  • If the previous allowed list is set to Anyone or specific operators and the new\nallow list is set to specific operators, then all the registered not allowed operators\nwill continue to operate until they de-register themselves.
  • \n
\n
source

pub fn force_staking_epoch_transition(\n origin: OriginFor<T>,\n domain_id: DomainId\n) -> DispatchResult

Force staking epoch transition for a given domain

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn operator_signing_key<KArg>(k: KArg) -> Option<OperatorId>
where\n KArg: EncodeLike<OperatorPublicKey>,

An auto-generated getter for OperatorSigningKey.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn domain_staking_summary<KArg>(\n k: KArg\n) -> Option<StakingSummary<OperatorId, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>>
where\n KArg: EncodeLike<DomainId>,

An auto-generated getter for DomainStakingSummary.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn consensus_block_info<KArg1, KArg2>(\n k1: KArg1,\n k2: KArg2\n) -> Option<T::Hash>
where\n KArg1: EncodeLike<DomainId>,\n KArg2: EncodeLike<BlockNumberFor<T>>,

An auto-generated getter for ConsensusBlockHash.

\n
",0,"pallet_domains::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn successful_bundles(domain_id: DomainId) -> Vec<H256>

source

pub fn successful_fraud_proofs(domain_id: DomainId) -> Vec<T::DomainHash>

source

pub fn domain_runtime_code(domain_id: DomainId) -> Option<Vec<u8>>

source

pub fn domain_best_number(\n domain_id: DomainId\n) -> Option<DomainBlockNumberFor<T>>

source

pub fn domain_state_root(\n domain_id: DomainId,\n domain_block_number: DomainBlockNumberFor<T>,\n domain_block_hash: T::DomainHash\n) -> Option<T::DomainHash>

source

pub fn runtime_id(domain_id: DomainId) -> Option<RuntimeId>

source

pub fn domain_instance_data(\n domain_id: DomainId\n) -> Option<(DomainInstanceData, BlockNumberFor<T>)>

source

pub fn genesis_state_root(domain_id: DomainId) -> Option<H256>

source

pub fn domain_tx_range(domain_id: DomainId) -> U256

Returns the tx range for the domain.

\n
source

pub fn bundle_producer_election_params(\n domain_id: DomainId\n) -> Option<BundleProducerElectionParams<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>>

source

pub fn operator(\n operator_id: OperatorId\n) -> Option<(OperatorPublicKey, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance)>

source

pub fn head_receipt_number(domain_id: DomainId) -> DomainBlockNumberFor<T>

Returns the best execution chain number.

\n
source

pub fn oldest_unconfirmed_receipt_number(\n domain_id: DomainId\n) -> Option<DomainBlockNumberFor<T>>

Returns the block number of the oldest existing unconfirmed execution receipt, return None\nmeans there is no unconfirmed ER exist or submitted yet.

\n
source

pub fn domain_block_limit(domain_id: DomainId) -> Option<DomainBlockLimit>

Returns the domain block limit of the given domain.

\n
source

pub fn non_empty_er_exists(domain_id: DomainId) -> bool

Returns if there are any ERs in the challenge period that have non empty extrinsics.\nNote that Genesis ER is also considered special and hence non empty

\n
source

pub fn extrinsics_shuffling_seed() -> T::Hash

source

pub fn execution_receipt(\n receipt_hash: ReceiptHashFor<T>\n) -> Option<ExecutionReceiptOf<T>>

source

pub fn receipt_hash(\n domain_id: DomainId,\n domain_number: DomainBlockNumberFor<T>\n) -> Option<ReceiptHashFor<T>>

",0,"pallet_domains::pallet::Module"],["
source§

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

source

pub fn submit_bundle_unsigned(opaque_bundle: OpaqueBundleOf<T>)

Submits an unsigned extrinsic Call::submit_bundle.

\n
source

pub fn submit_fraud_proof_unsigned(\n fraud_proof: FraudProof<BlockNumberFor<T>, T::Hash, T::DomainHeader>\n)

Submits an unsigned extrinsic Call::submit_fraud_proof.

\n
",0,"pallet_domains::pallet::Module"],["
source§

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

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","pallet_domains::pallet::Module"],["
source§

impl<T> Eq for Pallet<T>

","Eq","pallet_domains::pallet::Module"],["
source§

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

source§

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

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

fn on_finalize(_: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","pallet_domains::pallet::Module"],["
source§

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

","Callable","pallet_domains::pallet::Module"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","pallet_domains::pallet::Module"],["
source§

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

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","pallet_domains::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call to validate
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
source§

fn validate_unsigned(\n _source: TransactionSource,\n call: &Self::Call\n) -> TransactionValidity

Return the validity of the call Read more
","ValidateUnsigned","pallet_domains::pallet::Module"],["
source§

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

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
","Clone","pallet_domains::pallet::Module"],["
source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","pallet_domains::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_domains::pallet::Module"],["
source§

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

§

type CurrentStorageVersion = StorageVersion

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","pallet_domains::pallet::Module"],["
source§

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

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","pallet_domains::pallet::Module"],["
source§

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

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","pallet_domains::pallet::Module"],["
source§

impl<T> PartialEq for Pallet<T>

source§

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

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","pallet_domains::pallet::Module"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/pallet_subspace/pallet/struct.Pallet.js b/type.impl/pallet_subspace/pallet/struct.Pallet.js index b99ffcddc1..086a7cec22 100644 --- a/type.impl/pallet_subspace/pallet/struct.Pallet.js +++ b/type.impl/pallet_subspace/pallet/struct.Pallet.js @@ -1,5 +1,5 @@ (function() {var type_impls = { -"pallet_subspace":[["
source§

impl<T: Config> Pallet<T>

Methods for the ValidateUnsigned implementation:\nIt restricts calls to report_equivocation to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include\nequivocation reports.

\n
source

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

source

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

",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

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

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

\n

This extrinsic must be called unsigned and it is expected that only block authors will\ncall it (validated in ValidateUnsigned), as such if the block author is defined it\nwill be defined as the equivocation reporter.

\n
source

pub fn store_segment_headers(\n origin: OriginFor<T>,\n segment_headers: Vec<SegmentHeader>\n) -> DispatchResult

Submit new segment header to the blockchain. This is an inherent extrinsic and part of\nthe Subspace consensus logic.

\n
source

pub fn enable_solution_range_adjustment(\n origin: OriginFor<T>,\n solution_range_override: Option<u64>,\n voting_solution_range_override: Option<u64>\n) -> DispatchResult

Enable solution range adjustment after every era.\nNote: No effect on the solution range for the current era

\n
source

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

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

\n
source

pub fn enable_rewards_at(\n origin: OriginFor<T>,\n enable_rewards_at: EnableRewardsAt<BlockNumberFor<T>>\n) -> DispatchResult

Enable rewards for blocks and votes at specified block height.

\n
source

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

Enable storage access for all users.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

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

An auto-generated getter for SegmentCommitment.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

\n
source

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

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

\n
source

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

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

\n
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

\n
source

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

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

\n
source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

\n
",0,"pallet_subspace::pallet::Module"],["
source§

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

source

pub fn submit_vote(\n signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>\n)

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

\n
",0,"pallet_subspace::pallet::Module"],["
source§

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

","Callable","pallet_subspace::pallet::Module"],["
source§

impl<T> PartialEq for Pallet<T>

source§

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

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","pallet_subspace::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call to validate
source§

fn validate_unsigned(\n source: TransactionSource,\n call: &Self::Call\n) -> TransactionValidity

Return the validity of the call Read more
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
","ValidateUnsigned","pallet_subspace::pallet::Module"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Randomness<<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn random(subject: &[u8]) -> (T::Hash, BlockNumberFor<T>)

Get the most recently determined random seed, along with the time in the past\nsince when it was determinable by chain observers. Read more
source§

fn random_seed() -> (T::Hash, BlockNumberFor<T>)

Get the basic random seed. Read more
","Randomness<::Hash, <<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","pallet_subspace::pallet::Module"],["
source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","pallet_subspace::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

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

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

fn on_finalize(block_number: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

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

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

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

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

fn check_inherent(\n call: &Self::Call,\n data: &InherentData\n) -> Result<(), Self::Error>

Check whether the given inherent is valid. Checking the inherent is optional and can be\nomitted by using the default implementation. Read more
source§

fn is_inherent(call: &Self::Call) -> bool

Return whether the call is an inherent call. Read more
","ProvideInherent","pallet_subspace::pallet::Module"],["
source§

impl<T> Eq for Pallet<T>

","Eq","pallet_subspace::pallet::Module"],["
source§

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

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","pallet_subspace::pallet::Module"],["
source§

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

source§

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

Find the addresses for voting rewards based on transactions found in the block.
","FindVotingRewardAddresses<::AccountId>","pallet_subspace::pallet::Module"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
","Clone","pallet_subspace::pallet::Module"],["
source§

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

source§

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

Find the address for a block rewards based on the pre-runtime digests.
","FindBlockRewardAddress<::AccountId>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","pallet_subspace::pallet::Module"],["
source§

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

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","pallet_subspace::pallet::Module"],["
source§

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

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","pallet_subspace::pallet::Module"],["
source§

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

source§

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

A handler for an offence of a particular kind. Read more
","OnOffenceHandler","pallet_subspace::pallet::Module"],["
source§

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

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","pallet_subspace::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"]], +"pallet_subspace":[["
source§

impl<T: Config> Pallet<T>

Methods for the ValidateUnsigned implementation:\nIt restricts calls to report_equivocation to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include\nequivocation reports.

\n
source

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

source

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

",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

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

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

\n

This extrinsic must be called unsigned and it is expected that only block authors will\ncall it (validated in ValidateUnsigned), as such if the block author is defined it\nwill be defined as the equivocation reporter.

\n
source

pub fn store_segment_headers(\n origin: OriginFor<T>,\n segment_headers: Vec<SegmentHeader>\n) -> DispatchResult

Submit new segment header to the blockchain. This is an inherent extrinsic and part of\nthe Subspace consensus logic.

\n
source

pub fn enable_solution_range_adjustment(\n origin: OriginFor<T>,\n solution_range_override: Option<u64>,\n voting_solution_range_override: Option<u64>\n) -> DispatchResult

Enable solution range adjustment after every era.\nNote: No effect on the solution range for the current era

\n
source

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

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

\n
source

pub fn enable_rewards_at(\n origin: OriginFor<T>,\n enable_rewards_at: EnableRewardsAt<BlockNumberFor<T>>\n) -> DispatchResult

Enable rewards for blocks and votes at specified block height.

\n
source

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

Enable storage access for all users.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

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

An auto-generated getter for SegmentCommitment.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn root_plot_public_key() -> Option<FarmerPublicKey>

An auto-generated getter for RootPlotPublicKey.

\n
",0,"pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Pallet<T>

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

\n
source

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

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

\n
source

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

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

\n
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

\n
source

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

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

\n
source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

\n
",0,"pallet_subspace::pallet::Module"],["
source§

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

source

pub fn submit_vote(\n signed_vote: SignedVote<BlockNumberFor<T>, T::Hash, T::AccountId>\n)

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

\n
",0,"pallet_subspace::pallet::Module"],["
source§

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

","Callable","pallet_subspace::pallet::Module"],["
source§

impl<T> PartialEq for Pallet<T>

source§

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

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","pallet_subspace::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call to validate
source§

fn validate_unsigned(\n source: TransactionSource,\n call: &Self::Call\n) -> TransactionValidity

Return the validity of the call Read more
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
","ValidateUnsigned","pallet_subspace::pallet::Module"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","pallet_subspace::pallet::Module"],["
source§

impl<T: Config> Randomness<<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn random(subject: &[u8]) -> (T::Hash, BlockNumberFor<T>)

Get the most recently determined random seed, along with the time in the past\nsince when it was determinable by chain observers. Read more
source§

fn random_seed() -> (T::Hash, BlockNumberFor<T>)

Get the basic random seed. Read more
","Randomness<::Hash, <<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","pallet_subspace::pallet::Module"],["
source§

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

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","pallet_subspace::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

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

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

fn on_finalize(block_number: BlockNumberFor<T>)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

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

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

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

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

fn check_inherent(\n call: &Self::Call,\n data: &InherentData\n) -> Result<(), Self::Error>

Check whether the given inherent is valid. Checking the inherent is optional and can be\nomitted by using the default implementation. Read more
source§

fn is_inherent(call: &Self::Call) -> bool

Return whether the call is an inherent call. Read more
","ProvideInherent","pallet_subspace::pallet::Module"],["
source§

impl<T> Eq for Pallet<T>

","Eq","pallet_subspace::pallet::Module"],["
source§

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

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","pallet_subspace::pallet::Module"],["
source§

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

source§

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

Find the addresses for voting rewards based on transactions found in the block.
","FindVotingRewardAddresses<::AccountId>","pallet_subspace::pallet::Module"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
","Clone","pallet_subspace::pallet::Module"],["
source§

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

source§

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

Find the address for a block rewards based on the pre-runtime digests.
","FindBlockRewardAddress<::AccountId>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","pallet_subspace::pallet::Module"],["
source§

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

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","pallet_subspace::pallet::Module"],["
source§

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

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","pallet_subspace::pallet::Module"],["
source§

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

source§

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

A handler for an offence of a particular kind. Read more
","OnOffenceHandler","pallet_subspace::pallet::Module"],["
source§

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

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","pallet_subspace::pallet::Module"],["
source§

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

source§

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

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"],["
source§

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

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version() -> Self::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","pallet_subspace::pallet::Module"],["
source§

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

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","pallet_subspace::pallet::Module"]], "subspace_runtime":[["
source§

impl<T> Pallet<T>
where\n T: Config,

Methods for the ValidateUnsigned implementation:\nIt restricts calls to report_equivocation to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include\nequivocation reports.

\n
source

pub fn validate_equivocation_report(\n source: TransactionSource,\n equivocation_proof: &EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Result<ValidTransaction, TransactionValidityError>

source

pub fn pre_dispatch_equivocation_report(\n equivocation_proof: &EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Result<(), TransactionValidityError>

",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn report_equivocation(\n origin: <T as Config>::RuntimeOrigin,\n equivocation_proof: Box<EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>>\n) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>

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

\n

This extrinsic must be called unsigned and it is expected that only block authors will\ncall it (validated in ValidateUnsigned), as such if the block author is defined it\nwill be defined as the equivocation reporter.

\n
source

pub fn store_segment_headers(\n origin: <T as Config>::RuntimeOrigin,\n segment_headers: Vec<SegmentHeader>\n) -> Result<(), DispatchError>

Submit new segment header to the blockchain. This is an inherent extrinsic and part of\nthe Subspace consensus logic.

\n
source

pub fn enable_solution_range_adjustment(\n origin: <T as Config>::RuntimeOrigin,\n solution_range_override: Option<u64>,\n voting_solution_range_override: Option<u64>\n) -> Result<(), DispatchError>

Enable solution range adjustment after every era.\nNote: No effect on the solution range for the current era

\n
source

pub fn vote(\n origin: <T as Config>::RuntimeOrigin,\n signed_vote: Box<SignedVote<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::AccountId>>\n) -> Result<(), DispatchError>

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

\n
source

pub fn enable_rewards_at(\n origin: <T as Config>::RuntimeOrigin,\n enable_rewards_at: EnableRewardsAt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>\n) -> Result<(), DispatchError>

Enable rewards for blocks and votes at specified block height.

\n
source

pub fn enable_authoring_by_anyone(\n origin: <T as Config>::RuntimeOrigin\n) -> Result<(), DispatchError>

Enable storage access for all users.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

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

An auto-generated getter for SegmentCommitment.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn root_plot_public_key() -> Option<Public>

An auto-generated getter for RootPlotPublicKey.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

\n
source

pub fn submit_equivocation_report(\n equivocation_proof: EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Option<()>

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

\n
source

pub fn submit_test_equivocation_report(\n equivocation_proof: EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Option<()>

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

\n
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

\n
source

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

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

\n
source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

\n
",0,"subspace_runtime::Subspace"],["
source§

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

source

pub fn submit_vote(\n signed_vote: SignedVote<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::AccountId>\n)

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

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

This impl block contains no items.

Methods for the ValidateUnsigned implementation:\nIt restricts calls to store_segment_header to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include root\nblocks.

\n
",0,"subspace_runtime::Subspace"],["
source§

impl<T> OnRuntimeUpgrade for Pallet<T>
where\n T: Config,

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","subspace_runtime::Subspace"],["
source§

impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_idle(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,\n remaining_weight: Weight\n) -> Weight

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"],["
source§

impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_finalize(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"],["
source§

impl<T> StorageInfoTrait for Pallet<T>
where\n T: Config,

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","subspace_runtime::Subspace"],["
source§

impl<T> Callable<T> for Pallet<T>
where\n T: Config,

","Callable","subspace_runtime::Subspace"],["
source§

impl<T> PartialEq for Pallet<T>

source§

fn eq(&self, other: &Pallet<T>) -> bool

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","subspace_runtime::Subspace"],["
source§

impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_initialize(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n) -> Weight

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"],["
source§

impl<T> GetStorageVersion for Pallet<T>
where\n T: Config,

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version(\n) -> <Pallet<T> as GetStorageVersion>::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","subspace_runtime::Subspace"],["
source§

impl<T> ValidateUnsigned for Pallet<T>
where\n T: Config,

§

type Call = Call<T>

The call to validate
source§

fn validate_unsigned(\n source: TransactionSource,\n call: &<Pallet<T> as ValidateUnsigned>::Call\n) -> Result<ValidTransaction, TransactionValidityError>

Return the validity of the call Read more
source§

fn pre_dispatch(\n call: &<Pallet<T> as ValidateUnsigned>::Call\n) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
","ValidateUnsigned","subspace_runtime::Subspace"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","subspace_runtime::Subspace"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Pallet<T>

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

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

Performs copy-assignment from source. Read more
","Clone","subspace_runtime::Subspace"],["
source§

impl<T> WhitelistedStorageKeys for Pallet<T>
where\n T: Config,

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","subspace_runtime::Subspace"],["
source§

impl<T> Eq for Pallet<T>

","Eq","subspace_runtime::Subspace"],["
source§

impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn offchain_worker(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"],["
source§

impl<T> IntegrityTest for Pallet<T>
where\n T: Config,

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","subspace_runtime::Subspace"],["
source§

impl<T> PalletInfoAccess for Pallet<T>
where\n T: Config,

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","subspace_runtime::Subspace"],["
source§

impl<T> OnOffenceHandler<Public> for Pallet<T>
where\n T: Config,

source§

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

A handler for an offence of a particular kind. Read more
","OnOffenceHandler","subspace_runtime::Subspace"],["
source§

impl<T> OnGenesis for Pallet<T>
where\n T: Config,

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","subspace_runtime::Subspace"],["
source§

impl<T> BeforeAllRuntimeMigrations for Pallet<T>
where\n T: Config,

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","subspace_runtime::Subspace"],["
source§

impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_initialize(\n block_number: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n) -> Weight

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

fn on_finalize(\n block_number: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"],["
source§

impl<T> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>
where\n T: Config,

source§

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

Find the addresses for voting rewards based on transactions found in the block.
","FindVotingRewardAddresses<::AccountId>","subspace_runtime::Subspace"],["
source§

impl<T> PalletsInfoAccess for Pallet<T>
where\n T: Config,

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","subspace_runtime::Subspace"],["
source§

impl<T> ProvideInherent for Pallet<T>
where\n T: Config,

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: [u8; 8] = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(\n data: &InherentData\n) -> Option<<Pallet<T> as ProvideInherent>::Call>

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

fn is_inherent_required(\n data: &InherentData\n) -> Result<Option<<Pallet<T> as ProvideInherent>::Error>, <Pallet<T> as ProvideInherent>::Error>

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

fn check_inherent(\n call: &<Pallet<T> as ProvideInherent>::Call,\n data: &InherentData\n) -> Result<(), <Pallet<T> as ProvideInherent>::Error>

Check whether the given inherent is valid. Checking the inherent is optional and can be\nomitted by using the default implementation. Read more
source§

fn is_inherent(call: &<Pallet<T> as ProvideInherent>::Call) -> bool

Return whether the call is an inherent call. Read more
","ProvideInherent","subspace_runtime::Subspace"],["
source§

impl<T> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>
where\n T: Config,

source§

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

Find the address for a block rewards based on the pre-runtime digests.
","FindBlockRewardAddress<::AccountId>","subspace_runtime::Subspace"],["
source§

impl<T> Randomness<<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn random(\n subject: &[u8]\n) -> (<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)

Get the most recently determined random seed, along with the time in the past\nsince when it was determinable by chain observers. Read more
source§

fn random_seed(\n) -> (<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)

Get the basic random seed. Read more
","Randomness<::Hash, <<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_runtime::Subspace"]], "subspace_test_runtime":[["
source§

impl<T> Pallet<T>
where\n T: Config,

Methods for the ValidateUnsigned implementation:\nIt restricts calls to report_equivocation to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include\nequivocation reports.

\n
source

pub fn validate_equivocation_report(\n source: TransactionSource,\n equivocation_proof: &EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Result<ValidTransaction, TransactionValidityError>

source

pub fn pre_dispatch_equivocation_report(\n equivocation_proof: &EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Result<(), TransactionValidityError>

",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn report_equivocation(\n origin: <T as Config>::RuntimeOrigin,\n equivocation_proof: Box<EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>>\n) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>

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

\n

This extrinsic must be called unsigned and it is expected that only block authors will\ncall it (validated in ValidateUnsigned), as such if the block author is defined it\nwill be defined as the equivocation reporter.

\n
source

pub fn store_segment_headers(\n origin: <T as Config>::RuntimeOrigin,\n segment_headers: Vec<SegmentHeader>\n) -> Result<(), DispatchError>

Submit new segment header to the blockchain. This is an inherent extrinsic and part of\nthe Subspace consensus logic.

\n
source

pub fn enable_solution_range_adjustment(\n origin: <T as Config>::RuntimeOrigin,\n solution_range_override: Option<u64>,\n voting_solution_range_override: Option<u64>\n) -> Result<(), DispatchError>

Enable solution range adjustment after every era.\nNote: No effect on the solution range for the current era

\n
source

pub fn vote(\n origin: <T as Config>::RuntimeOrigin,\n signed_vote: Box<SignedVote<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::AccountId>>\n) -> Result<(), DispatchError>

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

\n
source

pub fn enable_rewards_at(\n origin: <T as Config>::RuntimeOrigin,\n enable_rewards_at: EnableRewardsAt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>\n) -> Result<(), DispatchError>

Enable rewards for blocks and votes at specified block height.

\n
source

pub fn enable_authoring_by_anyone(\n origin: <T as Config>::RuntimeOrigin\n) -> Result<(), DispatchError>

Enable storage access for all users.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn genesis_slot() -> Slot

An auto-generated getter for GenesisSlot.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn current_slot() -> Slot

An auto-generated getter for CurrentSlot.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn solution_ranges() -> SolutionRanges

An auto-generated getter for SolutionRanges.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn should_adjust_solution_range() -> bool

An auto-generated getter for ShouldAdjustSolutionRange.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

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

An auto-generated getter for SegmentCommitment.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn root_plot_public_key() -> Option<Public>

An auto-generated getter for RootPlotPublicKey.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

source

pub fn history_size() -> HistorySize

Total number of pieces in the blockchain

\n
source

pub fn submit_equivocation_report(\n equivocation_proof: EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Option<()>

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

\n
source

pub fn submit_test_equivocation_report(\n equivocation_proof: EquivocationProof<<<T as Config>::Block as HeaderProvider>::HeaderT, Public>\n) -> Option<()>

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

\n
source

pub fn pot_parameters() -> PotParameters

Proof of time parameters

\n
source

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

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

\n
source

pub fn archived_history_size() -> u64

Size of the archived history of the blockchain in bytes

\n
",0,"subspace_test_runtime::Subspace"],["
source§

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

source

pub fn submit_vote(\n signed_vote: SignedVote<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::AccountId>\n)

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

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> Pallet<T>
where\n T: Config,

This impl block contains no items.

Methods for the ValidateUnsigned implementation:\nIt restricts calls to store_segment_header to local calls (i.e. extrinsics generated on this\nnode) or that already in a block. This guarantees that only block authors can include root\nblocks.

\n
",0,"subspace_test_runtime::Subspace"],["
source§

impl<T> OnRuntimeUpgrade for Pallet<T>
where\n T: Config,

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
","OnRuntimeUpgrade","subspace_test_runtime::Subspace"],["
source§

impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_idle(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,\n remaining_weight: Weight\n) -> Weight

See [Hooks::on_idle].
","OnIdle<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"],["
source§

impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_finalize(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

See [Hooks::on_finalize].
","OnFinalize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"],["
source§

impl<T> StorageInfoTrait for Pallet<T>
where\n T: Config,

source§

fn storage_info() -> Vec<StorageInfo>

","StorageInfoTrait","subspace_test_runtime::Subspace"],["
source§

impl<T> Callable<T> for Pallet<T>
where\n T: Config,

","Callable","subspace_test_runtime::Subspace"],["
source§

impl<T> PartialEq for Pallet<T>

source§

fn eq(&self, other: &Pallet<T>) -> bool

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","subspace_test_runtime::Subspace"],["
source§

impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_initialize(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n) -> Weight

See [Hooks::on_initialize].
","OnInitialize<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"],["
source§

impl<T> GetStorageVersion for Pallet<T>
where\n T: Config,

§

type CurrentStorageVersion = NoStorageVersionSet

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

fn current_storage_version(\n) -> <Pallet<T> as GetStorageVersion>::CurrentStorageVersion

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

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
","GetStorageVersion","subspace_test_runtime::Subspace"],["
source§

impl<T> ValidateUnsigned for Pallet<T>
where\n T: Config,

§

type Call = Call<T>

The call to validate
source§

fn validate_unsigned(\n source: TransactionSource,\n call: &<Pallet<T> as ValidateUnsigned>::Call\n) -> Result<ValidTransaction, TransactionValidityError>

Return the validity of the call Read more
source§

fn pre_dispatch(\n call: &<Pallet<T> as ValidateUnsigned>::Call\n) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
","ValidateUnsigned","subspace_test_runtime::Subspace"],["
source§

impl<T> Debug for Pallet<T>

source§

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

Formats the value using the given formatter. Read more
","Debug","subspace_test_runtime::Subspace"],["
source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Pallet<T>

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

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

Performs copy-assignment from source. Read more
","Clone","subspace_test_runtime::Subspace"],["
source§

impl<T> WhitelistedStorageKeys for Pallet<T>
where\n T: Config,

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that\nshould be whitelisted during benchmarking. This means that those keys\nwill be excluded from the benchmarking performance calculation.
","WhitelistedStorageKeys","subspace_test_runtime::Subspace"],["
source§

impl<T> Eq for Pallet<T>

","Eq","subspace_test_runtime::Subspace"],["
source§

impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn offchain_worker(\n n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

This function is being called after every block import (when fully synced). Read more
","OffchainWorker<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"],["
source§

impl<T> IntegrityTest for Pallet<T>
where\n T: Config,

source§

fn integrity_test()

See [Hooks::integrity_test].
","IntegrityTest","subspace_test_runtime::Subspace"],["
source§

impl<T> PalletInfoAccess for Pallet<T>
where\n T: Config,

source§

fn index() -> usize

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

fn name() -> &'static str

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

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
","PalletInfoAccess","subspace_test_runtime::Subspace"],["
source§

impl<T> OnOffenceHandler<Public> for Pallet<T>
where\n T: Config,

source§

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

A handler for an offence of a particular kind. Read more
","OnOffenceHandler","subspace_test_runtime::Subspace"],["
source§

impl<T> OnGenesis for Pallet<T>
where\n T: Config,

source§

fn on_genesis()

Something that should happen at genesis.
","OnGenesis","subspace_test_runtime::Subspace"],["
source§

impl<T> BeforeAllRuntimeMigrations for Pallet<T>
where\n T: Config,

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
","BeforeAllRuntimeMigrations","subspace_test_runtime::Subspace"],["
source§

impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn on_initialize(\n block_number: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n) -> Weight

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

fn on_finalize(\n block_number: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number\n)

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

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

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

fn on_runtime_upgrade() -> Weight

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

fn offchain_worker(_n: BlockNumber)

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

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
","Hooks<<<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"],["
source§

impl<T> FindVotingRewardAddresses<<T as Config>::AccountId> for Pallet<T>
where\n T: Config,

source§

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

Find the addresses for voting rewards based on transactions found in the block.
","FindVotingRewardAddresses<::AccountId>","subspace_test_runtime::Subspace"],["
source§

impl<T> PalletsInfoAccess for Pallet<T>
where\n T: Config,

source§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
","PalletsInfoAccess","subspace_test_runtime::Subspace"],["
source§

impl<T> ProvideInherent for Pallet<T>
where\n T: Config,

§

type Call = Call<T>

The call type of the pallet.
§

type Error = InherentError

The error returned by check_inherent.
source§

const INHERENT_IDENTIFIER: [u8; 8] = INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
source§

fn create_inherent(\n data: &InherentData\n) -> Option<<Pallet<T> as ProvideInherent>::Call>

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

fn is_inherent_required(\n data: &InherentData\n) -> Result<Option<<Pallet<T> as ProvideInherent>::Error>, <Pallet<T> as ProvideInherent>::Error>

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

fn check_inherent(\n call: &<Pallet<T> as ProvideInherent>::Call,\n data: &InherentData\n) -> Result<(), <Pallet<T> as ProvideInherent>::Error>

Check whether the given inherent is valid. Checking the inherent is optional and can be\nomitted by using the default implementation. Read more
source§

fn is_inherent(call: &<Pallet<T> as ProvideInherent>::Call) -> bool

Return whether the call is an inherent call. Read more
","ProvideInherent","subspace_test_runtime::Subspace"],["
source§

impl<T> FindBlockRewardAddress<<T as Config>::AccountId> for Pallet<T>
where\n T: Config,

source§

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

Find the address for a block rewards based on the pre-runtime digests.
","FindBlockRewardAddress<::AccountId>","subspace_test_runtime::Subspace"],["
source§

impl<T> Randomness<<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where\n T: Config,

source§

fn random(\n subject: &[u8]\n) -> (<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)

Get the most recently determined random seed, along with the time in the past\nsince when it was determinable by chain observers. Read more
source§

fn random_seed(\n) -> (<T as Config>::Hash, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)

Get the basic random seed. Read more
","Randomness<::Hash, <<::Block as HeaderProvider>::HeaderT as Header>::Number>","subspace_test_runtime::Subspace"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file