Wrapper for working with an AMT[ChainEpoch]*Bitfield functioning as a queue, bucketed by epoch.
Keys in the queue are quantized (upwards), modulo some offset, to reduce the cardinality of keys.
Deadline calculations with respect to a current epoch.
“Deadline” refers to the window during which proofs may be submitted.
Windows are non-overlapping ranges [Open, Close), but the challenge epoch for a window occurs
before the window opens.
A queue of expiration sets by epoch, representing the on-time or early termination epoch for a collection of sectors.
Wraps an AMT[ChainEpoch]*ExpirationSet.
Keys in the queue are quantized (upwards), modulo some offset, to reduce the cardinality of keys.
ExpirationSet is a collection of sector numbers that are expiring, either due to
expected “on-time” expiration at the end of their life, or unexpected “early” termination
due to being faulty for too long consecutively.
Note that there is not a direct correspondence between on-time sectors and active power;
a sector may be faulty but expiring on-time if it faults just prior to expected termination.
Early sectors are always faulty, and active power always represents on-time sectors.
Balance of Miner Actor should be greater than or equal to
the sum of PreCommitDeposits and LockedFunds.
It is possible for balance to fall below the sum of PCD, LF and
InitialPledgeRequirements, and this is a bad state (IP Debt)
that limits a miner actor’s behavior (i.e. no balance withdrawals)
Excess balance as computed by st.GetAvailableBalance will be
withdrawable or usable for pre-commit deposit or pledge lock-up.
Projection period of expected sector block rewards for storage pledge required to commit a sector.
This pledge is lost if a sector is terminated before its full committed lifetime.
The maximum number of partitions that may be required to be loaded in a single invocation,
when all the sector infos for the partitions will be loaded.
DealWeight and VerifiedDealWeight are spacetime occupied by regular deals and verified deals in a sector.
Sum of DealWeight and VerifiedDealWeight should be less than or equal to total SpaceTime of a sector.
Sectors full of VerifiedDeals will have a SectorQuality of VerifiedDealWeightMultiplier/QualityBaseMultiplier.
Sectors full of Deals will have a SectorQuality of DealWeightMultiplier/QualityBaseMultiplier.
Sectors with neither will have a SectorQuality of QualityBaseMultiplier/QualityBaseMultiplier.
SectorQuality of a sector is a weighted average of multipliers based on their proportions.