pub struct Policy {Show 49 fields
pub max_aggregated_sectors: u64,
pub min_aggregated_sectors: u64,
pub max_aggregated_proof_size: usize,
pub max_replica_update_proof_size: usize,
pub pre_commit_sector_batch_max_size: usize,
pub prove_replica_updates_max_size: usize,
pub expired_pre_commit_clean_up_delay: i64,
pub wpost_proving_period: ChainEpoch,
pub wpost_challenge_window: ChainEpoch,
pub wpost_period_deadlines: u64,
pub wpost_max_chain_commit_age: ChainEpoch,
pub wpost_dispute_window: ChainEpoch,
pub sectors_max: usize,
pub max_partitions_per_deadline: u64,
pub max_control_addresses: usize,
pub max_peer_id_length: usize,
pub max_multiaddr_data: usize,
pub addressed_partitions_max: u64,
pub declarations_max: u64,
pub addressed_sectors_max: u64,
pub posted_partitions_max: u64,
pub max_pre_commit_randomness_lookback: ChainEpoch,
pub pre_commit_challenge_delay: ChainEpoch,
pub max_aggregated_sectors_ni: u64,
pub min_aggregated_sectors_ni: u64,
pub max_prove_commit_ni_randomness_lookback: ChainEpoch,
pub valid_prove_commit_ni_proof_type: ProofSet,
pub wpost_challenge_lookback: ChainEpoch,
pub fault_declaration_cutoff: ChainEpoch,
pub fault_max_age: ChainEpoch,
pub worker_key_change_delay: ChainEpoch,
pub min_sector_expiration: i64,
pub max_sector_expiration_extension: i64,
pub deal_limit_denominator: u64,
pub consensus_fault_ineligibility_duration: ChainEpoch,
pub new_sectors_per_period_max: usize,
pub chain_finality: ChainEpoch,
pub valid_post_proof_type: ProofSet,
pub valid_pre_commit_proof_type: ProofSet,
pub minimum_verified_allocation_size: StoragePower,
pub minimum_verified_allocation_term: i64,
pub maximum_verified_allocation_term: i64,
pub maximum_verified_allocation_expiration: i64,
pub end_of_life_claim_drop_period: ChainEpoch,
pub deal_updates_interval: i64,
pub prov_collateral_percent_supply_num: i64,
pub prov_collateral_percent_supply_denom: i64,
pub market_default_allocation_term_buffer: i64,
pub minimum_consensus_power: StoragePower,
}
Fields§
§max_aggregated_sectors: u64
Maximum amount of sectors that can be aggregated.
min_aggregated_sectors: u64
Minimum amount of sectors that can be aggregated.
max_aggregated_proof_size: usize
Maximum total aggregated proof size.
max_replica_update_proof_size: usize
Maximum total replica update proof size.
pre_commit_sector_batch_max_size: usize
The maximum number of sector pre-commitments in a single batch.
prove_replica_updates_max_size: usize
The maximum number of sector replica updates in a single batch.
expired_pre_commit_clean_up_delay: i64
The delay between pre commit expiration and clean up from state. This enforces that expired pre-commits stay in state for a period of time creating a grace period during which a late-running aggregated prove-commit can still prove its non-expired precommits without resubmitting a message
wpost_proving_period: ChainEpoch
The period over which all a miner’s active sectors will be challenged.
wpost_challenge_window: ChainEpoch
The duration of a deadline’s challenge window, the period before a deadline when the challenge is available. Notice that the challenge window is assumed to have the same duration as a deadline itself both in FIP and implementation.
wpost_period_deadlines: u64
The number of non-overlapping PoSt deadlines in each proving period.
wpost_max_chain_commit_age: ChainEpoch
The maximum distance back that a valid Window PoSt must commit to the current chain.
wpost_dispute_window: ChainEpoch
WPoStDisputeWindow is the period after a Window PoSt window ends during which PoSts submitted during that period may be disputed.
sectors_max: usize
The maximum number of sectors that a miner can have simultaneously active. This also bounds the number of faults that can be declared, etc.
max_partitions_per_deadline: u64
Maximum number of partitions that will be assigned to a deadline.
max_control_addresses: usize
Maximum number of control addresses a miner may register.
max_peer_id_length: usize
MaxPeerIDLength is the maximum length allowed for any on-chain peer ID.
max_multiaddr_data: usize
MaxMultiaddrData is the maximum amount of data that can be stored in multiaddrs.
addressed_partitions_max: u64
The maximum number of partitions that may be required to be loaded in a single invocation. This limits the number of simultaneous fault, recovery, or sector-extension declarations.
declarations_max: u64
Maximum number of unique “declarations” in batch operations.
addressed_sectors_max: u64
The maximum number of sector numbers addressable in a single invocation (which implies also the max infos that may be loaded at once). One upper bound on this is the max size of a storage block: 1MiB supports 130k at 8 bytes each, though bitfields can compress this.
posted_partitions_max: u64
The maximum number of partitions that can be proven in a single PoSt message.
max_pre_commit_randomness_lookback: ChainEpoch
§pre_commit_challenge_delay: ChainEpoch
Number of epochs between publishing the precommit and when the challenge for interactive PoRep is drawn used to ensure it is not predictable by miner.
max_aggregated_sectors_ni: u64
Maximum amount of sectors that can be aggregated in NI PoRep.
min_aggregated_sectors_ni: u64
Minimum amount of sectors that can be aggregated.
max_prove_commit_ni_randomness_lookback: ChainEpoch
Number of epochs between publishing the commit and when the randomness for non interactive PoRep is drawn
valid_prove_commit_ni_proof_type: ProofSet
Allowed non interactive proof types for new miners
wpost_challenge_lookback: ChainEpoch
Lookback from the deadline’s challenge window opening from which to sample chain randomness for the challenge seed.
fault_declaration_cutoff: ChainEpoch
Minimum period before a deadline’s challenge window opens that a fault must be declared for that deadline.
fault_max_age: ChainEpoch
The maximum age of a fault before the sector is terminated.
worker_key_change_delay: ChainEpoch
Staging period for a miner worker key change.
min_sector_expiration: i64
Minimum number of epochs past the current epoch a sector may be set to expire.
max_sector_expiration_extension: i64
Maximum number of epochs past the current epoch a sector may be set to expire. The actual maximum extension will be the minimum of CurrEpoch + MaximumSectorExpirationExtension and sector.ActivationEpoch+sealProof.SectorMaximumLifetime()
deal_limit_denominator: u64
Ratio of sector size to maximum deals per sector. The maximum number of deals is the sector size divided by this number.
consensus_fault_ineligibility_duration: ChainEpoch
Number of epochs after a consensus fault for which a miner is ineligible for permissioned actor methods and winning block elections.
new_sectors_per_period_max: usize
The maximum number of new sectors that may be staged by a miner during a single proving period.
chain_finality: ChainEpoch
Epochs after which chain state is final with overwhelming probability (hence the likelihood of two fork of this size is negligible).
valid_post_proof_type: ProofSet
Allowed post proof types for new miners
valid_pre_commit_proof_type: ProofSet
Allowed pre commit proof types for new miners
minimum_verified_allocation_size: StoragePower
Minimum verified deal size
minimum_verified_allocation_term: i64
Minimum term for a verified data allocation (epochs)
maximum_verified_allocation_term: i64
Maximum term for a verified data allocaion (epochs)
maximum_verified_allocation_expiration: i64
Maximum time a verified allocation can be active without being claimed (epochs). Supports recovery of erroneous allocations and prevents indefinite squatting on datacap.
end_of_life_claim_drop_period: ChainEpoch
§deal_updates_interval: i64
The number of blocks between payouts for deals
prov_collateral_percent_supply_num: i64
Numerator of the percentage of normalized cirulating supply that must be covered by provider collateral
prov_collateral_percent_supply_denom: i64
Denominator of the percentage of normalized cirulating supply that must be covered by provider collateral
market_default_allocation_term_buffer: i64
The default duration after a verified deal’s nominal term to set for the corresponding allocation’s maximum term.
minimum_consensus_power: StoragePower
Minimum miner consensus power
Trait Implementations§
source§impl<'de> Deserialize<'de> for Policy
impl<'de> Deserialize<'de> for Policy
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for Policy
impl PartialEq for Policy
impl Eq for Policy
impl StructuralPartialEq for Policy
Auto Trait Implementations§
impl Freeze for Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> References<RawCodec> for T
impl<T> References<RawCodec> for T
source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.