Type Alias domain_test_service::domain::DomainOperator
source · pub type DomainOperator<RuntimeApi, ExecutorDispatch> = DomainOperator<Block, Block, Client, RuntimeApi, ExecutorDispatch>;
Expand description
Domain executor for the test service.
+Type Alias domain_test_service::domain::DomainOperator
source · pub type DomainOperator<RuntimeApi, ExecutorDispatch> = DomainOperator<Block, Block, Client, RuntimeApi, ExecutorDispatch>;
Expand description
Domain executor for the test service.
Aliased Type§
struct DomainOperator<RuntimeApi, ExecutorDispatch> { /* private fields */ }
Fields§
§domain_id: DomainId
The domain id
@@ -24,7 +24,7 @@addr: MultiaddrWithPeerId
The MultiaddrWithPeerId
to this node. This is useful if you want to pass it as “boot node”
to other nodes.
rpc_handlers: RpcHandlers
RPCHandlers to make RPC queries.
-operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>
Domain oeprator.
+operator: Operator<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, BasicPool<FullChainApiWrapper<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<TestExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<EVMDomainExecutorDispatch>>
Domain oeprator.
tx_pool_sink: TracingUnboundedSender<ChainTxPoolMsg>
Sink to the node’s tx pool
Implementations§
source§impl<Runtime, RuntimeApi, ExecutorDispatch, AccountId> DomainNode<Runtime, RuntimeApi, ExecutorDispatch, AccountId>where
Runtime: Config<Hash = H256> + Config + Send + Sync,
diff --git a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
index 18e5dc74cf..7914ad6368 100644
--- a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
+++ b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
@@ -8,7 +8,7 @@
Block: BlockT,
Backend: BackendT<Block>,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + LockImportRun<Block, Backend> + Finalizer<Block, Backend> + AuxStore + Send + Sync + 'static,
- Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>,
+ Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>,
AS: AuxStore + Send + Sync + 'static,
SO: SyncOracle + Send + Sync + 'static,Expand description
Crate an archiver task that will listen for importing blocks and archive blocks at K
depth,
producing pieces and segment headers (segment headers are then added back to the blockchain as
diff --git a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
index f8afabc6b6..b8e9b6603e 100644
--- a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
+++ b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
@@ -4,5 +4,5 @@
) -> Result<Option<NewArchivedSegment>, Box<dyn Error>>where
Block: BlockT,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block>,
- Client::Api: ObjectsApi<Block>,Expand description
Derive genesis segment on demand, returns Ok(None)
in case genesis block was already pruned
+ Client::Api: ObjectsApi<Block>,Expand description
Derive genesis segment on demand, returns Ok(None)
in case genesis block was already pruned
\ No newline at end of file
diff --git a/src/pallet_domains/staking.rs.html b/src/pallet_domains/staking.rs.html
index d49b7a9715..475ad98afb 100644
--- a/src/pallet_domains/staking.rs.html
+++ b/src/pallet_domains/staking.rs.html
@@ -1843,6 +1843,12 @@
1843
1844
1845
+1846
+1847
+1848
+1849
+1850
+1851
//! Staking for domains
use crate::pallet::{
@@ -2397,7 +2403,13 @@
{
for (operator_id, reason) in operator_ids {
Operators::<T>::try_mutate(operator_id, |maybe_operator| {
- let operator = maybe_operator.as_mut().ok_or(Error::UnknownOperator)?;
+ let operator = match maybe_operator.as_mut() {
+ // If the operator is already slashed and removed due to fraud proof, when the operator
+ // is slash again due to invalid bundle, which happen after the ER is confirmed, we can
+ // not find the operator here thus just return.
+ None => return Ok(()),
+ Some(operator) => operator,
+ };
let mut pending_slashes =
PendingSlashes::<T>::get(operator.current_domain_id).unwrap_or_default();
diff --git a/subspace_farmer/node_client/trait.NodeClient.html b/subspace_farmer/node_client/trait.NodeClient.html
index 476b48dff6..1ec6f639d3 100644
--- a/subspace_farmer/node_client/trait.NodeClient.html
+++ b/subspace_farmer/node_client/trait.NodeClient.html
@@ -2,28 +2,28 @@
// Required methods
fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
@@ -34,7 +34,7 @@
'life0: 'async_trait;
fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn segment_headers<'life0, 'async_trait>(
@@ -58,28 +58,28 @@
}
Expand description
Abstraction of the Node Client
Required Methods§
sourcefn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app info
sourcefn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slot
sourcefn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solution
sourcefn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing request
sourcefn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
@@ -90,7 +90,7 @@
'life0: 'async_trait,Subscribe to archived segment headers
sourcefn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status change
sourcefn segment_headers<'life0, 'async_trait>(
diff --git a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
index d6fb99dabf..685ca04577 100644
--- a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
+++ b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
@@ -2,7 +2,7 @@
PosTable: Table,{
pub public_key: &'a PublicKey,
pub reward_address: &'a PublicKey,
- pub slot_info: SlotInfo,
+ pub slot_info: SlotInfo,
pub sectors_metadata: &'a [SectorMetadataChecksummed],
pub kzg: &'a Kzg,
pub erasure_coding: &'a ErasureCoding,
@@ -11,7 +11,7 @@
}Expand description
Plot audit options
Fields§
§public_key: &'a PublicKey
Public key of the farm
§reward_address: &'a PublicKey
Reward address to use for solutions
-§slot_info: SlotInfo
Slot info for the audit
+§slot_info: SlotInfo
Slot info for the audit
§sectors_metadata: &'a [SectorMetadataChecksummed]
Metadata of all sectors plotted so far
§kzg: &'a Kzg
Kzg instance
§erasure_coding: &'a ErasureCoding
Erasure coding instance
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
index 6b7bcbe8b1..9173e24645 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
@@ -30,7 +30,7 @@
) -> HandlerIdSubscribe to notification about plotted sectors
sourcepub fn on_solution(
&self,
- callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
+ callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
) -> HandlerId
Subscribe to new solution notification
sourcepub async fn run(self) -> Result<SingleDiskFarmId>
Run and wait for background threads to exit or return an error
sourcepub fn wipe(directory: &Path) -> Result<()>
Wipe everything that belongs to this single disk farm
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
index 5bb9210eaa..a65169892f 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
@@ -1,6 +1,6 @@
SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust pub struct SingleDiskFarmOptions<NC, PG> {}
Expand description
Options used to open single disk farm
Fields§
§directory: PathBuf
Path to directory where farm is stored.
-§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
+§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
§allocated_space: u64
How much space in bytes was allocated
§max_pieces_in_sector: u16
How many pieces one sector is supposed to contain (max)
§node_client: NC
RPC client connected to Subspace node
diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html
index b16239c5b0..61c33cb17a 100644
--- a/subspace_farmer/struct.NodeRpcClient.html
+++ b/subspace_farmer/struct.NodeRpcClient.html
@@ -2,26 +2,26 @@
Implementations§
source§impl NodeRpcClient
sourcepub async fn new(url: &str) -> Result<Self, JsonError>
Create a new instance of NodeClient
.
Trait Implementations§
source§impl Clone for NodeRpcClient
source§fn clone(&self) -> NodeRpcClient
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for NodeRpcClient
source§impl NodeClient for NodeRpcClient
source§fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
source§fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app infosource§fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slotsource§fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solutionsource§fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing requestsource§fn subscribe_archived_segment_headers<'life0, 'async_trait>(
&'life0 self
@@ -29,7 +29,7 @@
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to archived segment headerssource§fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status changesource§fn segment_headers<'life0, 'async_trait>(
&'life0 self,
impl<Runtime, RuntimeApi, ExecutorDispatch, AccountId> DomainNode<Runtime, RuntimeApi, ExecutorDispatch, AccountId>where
Runtime: Config<Hash = H256> + Config + Send + Sync,
diff --git a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
index 18e5dc74cf..7914ad6368 100644
--- a/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
+++ b/sc_consensus_subspace/archiver/fn.create_subspace_archiver.html
@@ -8,7 +8,7 @@
Block: BlockT,
Backend: BackendT<Block>,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + LockImportRun<Block, Backend> + Finalizer<Block, Backend> + AuxStore + Send + Sync + 'static,
- Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>,
+ Client::Api: SubspaceApi<Block, FarmerPublicKey> + ObjectsApi<Block>,
AS: AuxStore + Send + Sync + 'static,
SO: SyncOracle + Send + Sync + 'static,Expand description
Crate an archiver task that will listen for importing blocks and archive blocks at K
depth,
producing pieces and segment headers (segment headers are then added back to the blockchain as
diff --git a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
index f8afabc6b6..b8e9b6603e 100644
--- a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
+++ b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
@@ -4,5 +4,5 @@
) -> Result<Option<NewArchivedSegment>, Box<dyn Error>>where
Block: BlockT,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block>,
- Client::Api: ObjectsApi<Block>,Expand description
Derive genesis segment on demand, returns Ok(None)
in case genesis block was already pruned
+ Client::Api: ObjectsApi<Block>,Expand description
Derive genesis segment on demand, returns Ok(None)
in case genesis block was already pruned
\ No newline at end of file
diff --git a/src/pallet_domains/staking.rs.html b/src/pallet_domains/staking.rs.html
index d49b7a9715..475ad98afb 100644
--- a/src/pallet_domains/staking.rs.html
+++ b/src/pallet_domains/staking.rs.html
@@ -1843,6 +1843,12 @@
1843
1844
1845
+1846
+1847
+1848
+1849
+1850
+1851
//! Staking for domains
use crate::pallet::{
@@ -2397,7 +2403,13 @@
{
for (operator_id, reason) in operator_ids {
Operators::<T>::try_mutate(operator_id, |maybe_operator| {
- let operator = maybe_operator.as_mut().ok_or(Error::UnknownOperator)?;
+ let operator = match maybe_operator.as_mut() {
+ // If the operator is already slashed and removed due to fraud proof, when the operator
+ // is slash again due to invalid bundle, which happen after the ER is confirmed, we can
+ // not find the operator here thus just return.
+ None => return Ok(()),
+ Some(operator) => operator,
+ };
let mut pending_slashes =
PendingSlashes::<T>::get(operator.current_domain_id).unwrap_or_default();
diff --git a/subspace_farmer/node_client/trait.NodeClient.html b/subspace_farmer/node_client/trait.NodeClient.html
index 476b48dff6..1ec6f639d3 100644
--- a/subspace_farmer/node_client/trait.NodeClient.html
+++ b/subspace_farmer/node_client/trait.NodeClient.html
@@ -2,28 +2,28 @@
// Required methods
fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
@@ -34,7 +34,7 @@
'life0: 'async_trait;
fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn segment_headers<'life0, 'async_trait>(
@@ -58,28 +58,28 @@
}
Expand description
Abstraction of the Node Client
Required Methods§
sourcefn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app info
sourcefn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slot
sourcefn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solution
sourcefn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing request
sourcefn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
@@ -90,7 +90,7 @@
'life0: 'async_trait,Subscribe to archived segment headers
sourcefn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status change
sourcefn segment_headers<'life0, 'async_trait>(
diff --git a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
index d6fb99dabf..685ca04577 100644
--- a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
+++ b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
@@ -2,7 +2,7 @@
PosTable: Table,{
pub public_key: &'a PublicKey,
pub reward_address: &'a PublicKey,
- pub slot_info: SlotInfo,
+ pub slot_info: SlotInfo,
pub sectors_metadata: &'a [SectorMetadataChecksummed],
pub kzg: &'a Kzg,
pub erasure_coding: &'a ErasureCoding,
@@ -11,7 +11,7 @@
}Expand description
Plot audit options
Fields§
§public_key: &'a PublicKey
Public key of the farm
§reward_address: &'a PublicKey
Reward address to use for solutions
-§slot_info: SlotInfo
Slot info for the audit
+§slot_info: SlotInfo
Slot info for the audit
§sectors_metadata: &'a [SectorMetadataChecksummed]
Metadata of all sectors plotted so far
§kzg: &'a Kzg
Kzg instance
§erasure_coding: &'a ErasureCoding
Erasure coding instance
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
index 6b7bcbe8b1..9173e24645 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
@@ -30,7 +30,7 @@
) -> HandlerIdSubscribe to notification about plotted sectors
sourcepub fn on_solution(
&self,
- callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
+ callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
) -> HandlerId
Subscribe to new solution notification
sourcepub async fn run(self) -> Result<SingleDiskFarmId>
Run and wait for background threads to exit or return an error
sourcepub fn wipe(directory: &Path) -> Result<()>
Wipe everything that belongs to this single disk farm
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
index 5bb9210eaa..a65169892f 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
@@ -1,6 +1,6 @@
SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust pub struct SingleDiskFarmOptions<NC, PG> {}
Expand description
Options used to open single disk farm
Fields§
§directory: PathBuf
Path to directory where farm is stored.
-§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
+§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
§allocated_space: u64
How much space in bytes was allocated
§max_pieces_in_sector: u16
How many pieces one sector is supposed to contain (max)
§node_client: NC
RPC client connected to Subspace node
diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html
index b16239c5b0..61c33cb17a 100644
--- a/subspace_farmer/struct.NodeRpcClient.html
+++ b/subspace_farmer/struct.NodeRpcClient.html
@@ -2,26 +2,26 @@
Implementations§
source§impl NodeRpcClient
sourcepub async fn new(url: &str) -> Result<Self, JsonError>
Create a new instance of NodeClient
.
Trait Implementations§
source§impl Clone for NodeRpcClient
source§fn clone(&self) -> NodeRpcClient
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for NodeRpcClient
source§impl NodeClient for NodeRpcClient
source§fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
source§fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app infosource§fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slotsource§fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solutionsource§fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing requestsource§fn subscribe_archived_segment_headers<'life0, 'async_trait>(
&'life0 self
@@ -29,7 +29,7 @@
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to archived segment headerssource§fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status changesource§fn segment_headers<'life0, 'async_trait>(
&'life0 self,
Expand description
Crate an archiver task that will listen for importing blocks and archive blocks at Derive genesis segment on demand, returns Derive genesis segment on demand, returns K
depth,
producing pieces and segment headers (segment headers are then added back to the blockchain as
diff --git a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
index f8afabc6b6..b8e9b6603e 100644
--- a/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
+++ b/sc_consensus_subspace/archiver/fn.recreate_genesis_segment.html
@@ -4,5 +4,5 @@
) -> Result<Option<NewArchivedSegment>, Box<dyn Error>>where
Block: BlockT,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block>,
- Client::Api: ObjectsApi<Block>,Expand description
Ok(None)
in case genesis block was already prunedExpand description
Ok(None)
in case genesis block was already pruned
//! Staking for domains
use crate::pallet::{
@@ -2397,7 +2403,13 @@
{
for (operator_id, reason) in operator_ids {
Operators::<T>::try_mutate(operator_id, |maybe_operator| {
- let operator = maybe_operator.as_mut().ok_or(Error::UnknownOperator)?;
+ let operator = match maybe_operator.as_mut() {
+ // If the operator is already slashed and removed due to fraud proof, when the operator
+ // is slash again due to invalid bundle, which happen after the ER is confirmed, we can
+ // not find the operator here thus just return.
+ None => return Ok(()),
+ Some(operator) => operator,
+ };
let mut pending_slashes =
PendingSlashes::<T>::get(operator.current_domain_id).unwrap_or_default();
diff --git a/subspace_farmer/node_client/trait.NodeClient.html b/subspace_farmer/node_client/trait.NodeClient.html
index 476b48dff6..1ec6f639d3 100644
--- a/subspace_farmer/node_client/trait.NodeClient.html
+++ b/subspace_farmer/node_client/trait.NodeClient.html
@@ -2,28 +2,28 @@
// Required methods
fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
@@ -34,7 +34,7 @@
'life0: 'async_trait;
fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn segment_headers<'life0, 'async_trait>(
@@ -58,28 +58,28 @@
}
Expand description
Abstraction of the Node Client
Required Methods§
sourcefn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn farmer_app_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Get farmer app info
sourcefn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_slot_info<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Subscribe to slot
sourcefn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn submit_solution_response<'life0, 'async_trait>( &'life0 self, - solution_response: SolutionResponse + solution_response: SolutionResponse ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Submit a slot solution
sourcefn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_reward_signing<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Subscribe to block signing request
sourcefn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn submit_reward_signature<'life0, 'async_trait>( &'life0 self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Submit a block signature
@@ -90,7 +90,7 @@ 'life0: 'async_trait,Subscribe to archived segment headers
sourcefn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_node_sync_status_change<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Subscribe to node sync status change
sourcefn segment_headers<'life0, 'async_trait>(
diff --git a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
index d6fb99dabf..685ca04577 100644
--- a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
+++ b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
@@ -2,7 +2,7 @@
PosTable: Table,{
pub public_key: &'a PublicKey,
pub reward_address: &'a PublicKey,
- pub slot_info: SlotInfo,
+ pub slot_info: SlotInfo,
pub sectors_metadata: &'a [SectorMetadataChecksummed],
pub kzg: &'a Kzg,
pub erasure_coding: &'a ErasureCoding,
@@ -11,7 +11,7 @@
}Expand description
Plot audit options
Fields§
§public_key: &'a PublicKey
Public key of the farm
§reward_address: &'a PublicKey
Reward address to use for solutions
-§slot_info: SlotInfo
Slot info for the audit
+§slot_info: SlotInfo
Slot info for the audit
§sectors_metadata: &'a [SectorMetadataChecksummed]
Metadata of all sectors plotted so far
§kzg: &'a Kzg
Kzg instance
§erasure_coding: &'a ErasureCoding
Erasure coding instance
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
index 6b7bcbe8b1..9173e24645 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
@@ -30,7 +30,7 @@
) -> HandlerIdSubscribe to notification about plotted sectors
sourcepub fn on_solution(
&self,
- callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
+ callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
) -> HandlerId
Subscribe to new solution notification
sourcepub async fn run(self) -> Result<SingleDiskFarmId>
Run and wait for background threads to exit or return an error
sourcepub fn wipe(directory: &Path) -> Result<()>
Wipe everything that belongs to this single disk farm
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
index 5bb9210eaa..a65169892f 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
@@ -1,6 +1,6 @@
SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust pub struct SingleDiskFarmOptions<NC, PG> {}
Expand description
Options used to open single disk farm
Fields§
§directory: PathBuf
Path to directory where farm is stored.
-§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
+§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
§allocated_space: u64
How much space in bytes was allocated
§max_pieces_in_sector: u16
How many pieces one sector is supposed to contain (max)
§node_client: NC
RPC client connected to Subspace node
diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html
index b16239c5b0..61c33cb17a 100644
--- a/subspace_farmer/struct.NodeRpcClient.html
+++ b/subspace_farmer/struct.NodeRpcClient.html
@@ -2,26 +2,26 @@
Implementations§
source§impl NodeRpcClient
sourcepub async fn new(url: &str) -> Result<Self, JsonError>
Create a new instance of NodeClient
.
Trait Implementations§
source§impl Clone for NodeRpcClient
source§fn clone(&self) -> NodeRpcClient
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for NodeRpcClient
source§impl NodeClient for NodeRpcClient
source§fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
source§fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app infosource§fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slotsource§fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solutionsource§fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing requestsource§fn subscribe_archived_segment_headers<'life0, 'async_trait>(
&'life0 self
@@ -29,7 +29,7 @@
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to archived segment headerssource§fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status changesource§fn segment_headers<'life0, 'async_trait>(
&'life0 self,
fn segment_headers<'life0, 'async_trait>(
diff --git a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
index d6fb99dabf..685ca04577 100644
--- a/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
+++ b/subspace_farmer/single_disk_farm/farming/struct.PlotAuditOptions.html
@@ -2,7 +2,7 @@
PosTable: Table,{
pub public_key: &'a PublicKey,
pub reward_address: &'a PublicKey,
- pub slot_info: SlotInfo,
+ pub slot_info: SlotInfo,
pub sectors_metadata: &'a [SectorMetadataChecksummed],
pub kzg: &'a Kzg,
pub erasure_coding: &'a ErasureCoding,
@@ -11,7 +11,7 @@
}Expand description
Plot audit options
Fields§
§public_key: &'a PublicKey
Public key of the farm
§reward_address: &'a PublicKey
Reward address to use for solutions
-§slot_info: SlotInfo
Slot info for the audit
+§slot_info: SlotInfo
Slot info for the audit
§sectors_metadata: &'a [SectorMetadataChecksummed]
Metadata of all sectors plotted so far
§kzg: &'a Kzg
Kzg instance
§erasure_coding: &'a ErasureCoding
Erasure coding instance
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
index 6b7bcbe8b1..9173e24645 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html
@@ -30,7 +30,7 @@
) -> HandlerIdSubscribe to notification about plotted sectors
sourcepub fn on_solution(
&self,
- callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
+ callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
) -> HandlerId
Subscribe to new solution notification
sourcepub async fn run(self) -> Result<SingleDiskFarmId>
Run and wait for background threads to exit or return an error
sourcepub fn wipe(directory: &Path) -> Result<()>
Wipe everything that belongs to this single disk farm
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
index 5bb9210eaa..a65169892f 100644
--- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
+++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html
@@ -1,6 +1,6 @@
SingleDiskFarmOptions in subspace_farmer::single_disk_farm - Rust pub struct SingleDiskFarmOptions<NC, PG> {}
Expand description
Options used to open single disk farm
Fields§
§directory: PathBuf
Path to directory where farm is stored.
-§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
+§farmer_app_info: FarmerAppInfo
Information necessary for farmer application
§allocated_space: u64
How much space in bytes was allocated
§max_pieces_in_sector: u16
How many pieces one sector is supposed to contain (max)
§node_client: NC
RPC client connected to Subspace node
diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html
index b16239c5b0..61c33cb17a 100644
--- a/subspace_farmer/struct.NodeRpcClient.html
+++ b/subspace_farmer/struct.NodeRpcClient.html
@@ -2,26 +2,26 @@
Implementations§
source§impl NodeRpcClient
sourcepub async fn new(url: &str) -> Result<Self, JsonError>
Create a new instance of NodeClient
.
Trait Implementations§
source§impl Clone for NodeRpcClient
source§fn clone(&self) -> NodeRpcClient
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for NodeRpcClient
source§impl NodeClient for NodeRpcClient
source§fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a block signature
source§fn farmer_app_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<FarmerAppInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get farmer app infosource§fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = SlotInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to slotsource§fn submit_solution_response<'life0, 'async_trait>(
&'life0 self,
- solution_response: SolutionResponse
+ solution_response: SolutionResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a slot solutionsource§fn subscribe_reward_signing<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = RewardSigningInfo> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to block signing requestsource§fn subscribe_archived_segment_headers<'life0, 'async_trait>(
&'life0 self
@@ -29,7 +29,7 @@
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to archived segment headerssource§fn subscribe_node_sync_status_change<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = NodeSyncStatus> + Send + 'static>>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to node sync status changesource§fn segment_headers<'life0, 'async_trait>(
&'life0 self,
Expand description
Plot audit options
Public key of the farm
Reward address to use for solutions
-Slot info for the audit
+Slot info for the audit
Metadata of all sectors plotted so far
Kzg instance
Erasure coding instance
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html index 6b7bcbe8b1..9173e24645 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarm.html @@ -30,7 +30,7 @@ ) -> HandlerIdSubscribe to notification about plotted sectors
sourcepub fn on_solution(
&self,
- callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
+ callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static>
) -> HandlerId
pub fn on_solution( &self, - callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static> + callback: Arc<dyn Fn(&SolutionResponse) + Send + Sync + 'static> ) -> HandlerId
Subscribe to new solution notification
sourcepub async fn run(self) -> Result<SingleDiskFarmId>
pub async fn run(self) -> Result<SingleDiskFarmId>
Run and wait for background threads to exit or return an error
sourcepub fn wipe(directory: &Path) -> Result<()>
pub fn wipe(directory: &Path) -> Result<()>
Wipe everything that belongs to this single disk farm
diff --git a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html index 5bb9210eaa..a65169892f 100644 --- a/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html +++ b/subspace_farmer/single_disk_farm/struct.SingleDiskFarmOptions.html @@ -1,6 +1,6 @@pub struct SingleDiskFarmOptions<NC, PG> {}
Expand description
Options used to open single disk farm
Fields§
§directory: PathBuf
Path to directory where farm is stored.
-farmer_app_info: FarmerAppInfo
Information necessary for farmer application
+farmer_app_info: FarmerAppInfo
Information necessary for farmer application
allocated_space: u64
How much space in bytes was allocated
max_pieces_in_sector: u16
How many pieces one sector is supposed to contain (max)
node_client: NC
RPC client connected to Subspace node
diff --git a/subspace_farmer/struct.NodeRpcClient.html b/subspace_farmer/struct.NodeRpcClient.html index b16239c5b0..61c33cb17a 100644 --- a/subspace_farmer/struct.NodeRpcClient.html +++ b/subspace_farmer/struct.NodeRpcClient.html @@ -2,26 +2,26 @@Implementations§
source§impl NodeRpcClient
impl NodeRpcClient
sourcepub async fn new(url: &str) -> Result<Self, JsonError>
pub async fn new(url: &str) -> Result<Self, JsonError>
Create a new instance of NodeClient
.
Trait Implementations§
source§impl Clone for NodeRpcClient
impl Clone for NodeRpcClient
source§fn clone(&self) -> NodeRpcClient
fn clone(&self) -> NodeRpcClient
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for NodeRpcClient
impl Debug for NodeRpcClient
source§impl NodeClient for NodeRpcClient
impl NodeClient for NodeRpcClient
source§fn submit_reward_signature<'life0, 'async_trait>(
&'life0 self,
- reward_signature: RewardSignatureResponse
+ reward_signature: RewardSignatureResponse
) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn submit_reward_signature<'life0, 'async_trait>( &'life0 self, - reward_signature: RewardSignatureResponse + reward_signature: RewardSignatureResponse ) -> Pin<Box<dyn Future<Output = Result<(), RpcError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Submit a block signature