Documentation ¶
Index ¶
- Constants
- Variables
- func CurrentTotalPower(st *State) (abi.StoragePower, abi.StoragePower)
- type Actor
- func (a Actor) Constructor(rt Runtime, _ *adt.EmptyValue) *adt.EmptyValue
- func (a Actor) CreateMiner(rt Runtime, params *CreateMinerParams) *CreateMinerReturn
- func (a Actor) CurrentTotalPower(rt Runtime, _ *adt.EmptyValue) *CurrentTotalPowerReturn
- func (a Actor) EnrollCronEvent(rt Runtime, params *EnrollCronEventParams) *adt.EmptyValue
- func (a Actor) Exports() []interface{}
- func (a Actor) OnConsensusFault(rt Runtime, pledgeAmount *abi.TokenAmount) *adt.EmptyValue
- func (a Actor) OnEpochTickEnd(rt Runtime, _ *adt.EmptyValue) *adt.EmptyValue
- func (a Actor) SubmitPoRepForBulkVerify(rt Runtime, sealInfo *abi.SealVerifyInfo) *adt.EmptyValue
- func (a Actor) UpdateClaimedPower(rt Runtime, params *UpdateClaimedPowerParams) *adt.EmptyValue
- func (a Actor) UpdatePledgeTotal(rt Runtime, pledgeDelta *abi.TokenAmount) *adt.EmptyValue
- type AddrKey
- type Claim
- type CreateMinerParams
- type CreateMinerReturn
- type CronEvent
- type CurrentTotalPowerReturn
- type EnrollCronEventParams
- type MinerConstructorParams
- type Runtime
- type SectorStorageWeightDesc
- type SectorTermination
- type State
- func (st *State) AddToClaim(s adt.Store, miner addr.Address, power abi.StoragePower, ...) error
- func (st *State) GetClaim(s adt.Store, a addr.Address) (*Claim, bool, error)
- func (t *State) MarshalCBOR(w io.Writer) error
- func (st *State) MinerNominalPowerMeetsConsensusMinimum(s adt.Store, miner addr.Address) (bool, error)
- func (t *State) UnmarshalCBOR(r io.Reader) error
- type UpdateClaimedPowerParams
Constants ¶
const ConsensusMinerMinMiners = 3
Minimum number of registered miners for the minimum miner size limit to effectively limit consensus power.
const GasOnSubmitVerifySeal = 132166313
GasOnSubmitVerifySeal is amount of gas charged for SubmitPoRepForBulkVerify This number is empirically determined
Variables ¶
var ConsensusMinerMinPower = abi.NewStoragePower(1 << 40) // PARAM_FINISH
Minimum power of an individual miner to meet the threshold for leader election.
Functions ¶
func CurrentTotalPower ¶ added in v0.7.2
func CurrentTotalPower(st *State) (abi.StoragePower, abi.StoragePower)
CurrentTotalPower returns current power values accounting for minimum miner and minimum power
Types ¶
type Actor ¶
type Actor struct{}
func (Actor) Constructor ¶
func (a Actor) Constructor(rt Runtime, _ *adt.EmptyValue) *adt.EmptyValue
func (Actor) CreateMiner ¶
func (a Actor) CreateMiner(rt Runtime, params *CreateMinerParams) *CreateMinerReturn
func (Actor) CurrentTotalPower ¶ added in v0.7.0
func (a Actor) CurrentTotalPower(rt Runtime, _ *adt.EmptyValue) *CurrentTotalPowerReturn
Returns the total power and pledge recorded by the power actor. TODO hold these values constant during an epoch for stable calculations, https://github.com/filecoin-project/specs-actors/issues/495
func (Actor) EnrollCronEvent ¶
func (a Actor) EnrollCronEvent(rt Runtime, params *EnrollCronEventParams) *adt.EmptyValue
func (Actor) OnConsensusFault ¶
func (a Actor) OnConsensusFault(rt Runtime, pledgeAmount *abi.TokenAmount) *adt.EmptyValue
func (Actor) OnEpochTickEnd ¶
func (a Actor) OnEpochTickEnd(rt Runtime, _ *adt.EmptyValue) *adt.EmptyValue
Called by Cron.
func (Actor) SubmitPoRepForBulkVerify ¶ added in v0.5.4
func (a Actor) SubmitPoRepForBulkVerify(rt Runtime, sealInfo *abi.SealVerifyInfo) *adt.EmptyValue
func (Actor) UpdateClaimedPower ¶ added in v0.7.0
func (a Actor) UpdateClaimedPower(rt Runtime, params *UpdateClaimedPowerParams) *adt.EmptyValue
Adds or removes claimed power for the calling actor. May only be invoked by a miner actor.
func (Actor) UpdatePledgeTotal ¶
func (a Actor) UpdatePledgeTotal(rt Runtime, pledgeDelta *abi.TokenAmount) *adt.EmptyValue
type Claim ¶
type Claim struct { // Sum of raw byte power for a miner's sectors. RawBytePower abi.StoragePower // Sum of quality adjusted power for a miner's sectors. QualityAdjPower abi.StoragePower }
type CreateMinerParams ¶
type CreateMinerParams struct { Owner addr.Address Worker addr.Address SealProofType abi.RegisteredSealProof Peer abi.PeerID Multiaddrs []abi.Multiaddrs }
func (*CreateMinerParams) MarshalCBOR ¶
func (t *CreateMinerParams) MarshalCBOR(w io.Writer) error
func (*CreateMinerParams) UnmarshalCBOR ¶
func (t *CreateMinerParams) UnmarshalCBOR(r io.Reader) error
type CreateMinerReturn ¶
type CreateMinerReturn struct { IDAddress addr.Address // The canonical ID-based address for the actor. RobustAddress addr.Address // A more expensive but re-org-safe address for the newly created actor. }
func (*CreateMinerReturn) MarshalCBOR ¶
func (t *CreateMinerReturn) MarshalCBOR(w io.Writer) error
func (*CreateMinerReturn) UnmarshalCBOR ¶
func (t *CreateMinerReturn) UnmarshalCBOR(r io.Reader) error
type CurrentTotalPowerReturn ¶ added in v0.7.0
type CurrentTotalPowerReturn struct { RawBytePower abi.StoragePower QualityAdjPower abi.StoragePower PledgeCollateral abi.TokenAmount }
func (*CurrentTotalPowerReturn) MarshalCBOR ¶ added in v0.7.0
func (t *CurrentTotalPowerReturn) MarshalCBOR(w io.Writer) error
func (*CurrentTotalPowerReturn) UnmarshalCBOR ¶ added in v0.7.0
func (t *CurrentTotalPowerReturn) UnmarshalCBOR(r io.Reader) error
type EnrollCronEventParams ¶
type EnrollCronEventParams struct { EventEpoch abi.ChainEpoch Payload []byte }
func (*EnrollCronEventParams) MarshalCBOR ¶
func (t *EnrollCronEventParams) MarshalCBOR(w io.Writer) error
func (*EnrollCronEventParams) UnmarshalCBOR ¶
func (t *EnrollCronEventParams) UnmarshalCBOR(r io.Reader) error
type MinerConstructorParams ¶
type MinerConstructorParams struct { OwnerAddr addr.Address WorkerAddr addr.Address SealProofType abi.RegisteredSealProof PeerId abi.PeerID Multiaddrs []abi.Multiaddrs }
Storage miner actor constructor params are defined here so the power actor can send them to the init actor to instantiate miners.
func (*MinerConstructorParams) MarshalCBOR ¶
func (t *MinerConstructorParams) MarshalCBOR(w io.Writer) error
func (*MinerConstructorParams) UnmarshalCBOR ¶
func (t *MinerConstructorParams) UnmarshalCBOR(r io.Reader) error
type SectorStorageWeightDesc ¶
type SectorStorageWeightDesc struct { SectorSize abi.SectorSize Duration abi.ChainEpoch DealWeight abi.DealWeight VerifiedDealWeight abi.DealWeight }
func (*SectorStorageWeightDesc) MarshalCBOR ¶
func (t *SectorStorageWeightDesc) MarshalCBOR(w io.Writer) error
func (*SectorStorageWeightDesc) UnmarshalCBOR ¶
func (t *SectorStorageWeightDesc) UnmarshalCBOR(r io.Reader) error
type SectorTermination ¶
type SectorTermination int64
const ( SectorTerminationExpired SectorTermination = iota // Implicit termination after all deals expire SectorTerminationManual // Unscheduled explicit termination by the miner SectorTerminationFaulty // Implicit termination due to unrecovered fault )
type State ¶
type State struct { TotalRawBytePower abi.StoragePower // TotalBytesCommitted includes claims from miners below min power threshold TotalBytesCommitted abi.StoragePower TotalQualityAdjPower abi.StoragePower // TotalQABytesCommitted includes claims from miners below min power threshold TotalQABytesCommitted abi.StoragePower TotalPledgeCollateral abi.TokenAmount MinerCount int64 // Number of miners having proven the minimum consensus power. MinerAboveMinPowerCount int64 // A queue of events to be triggered by cron, indexed by epoch. CronEventQueue cid.Cid // Multimap, (HAMT[ChainEpoch]AMT[CronEvent] // Last chain epoch OnEpochTickEnd was called on LastEpochTick abi.ChainEpoch // Claimed power for each miner. Claims cid.Cid // Map, HAMT[address]Claim ProofValidationBatch *cid.Cid }
func ConstructState ¶
func (*State) AddToClaim ¶
func (st *State) AddToClaim(s adt.Store, miner addr.Address, power abi.StoragePower, qapower abi.StoragePower) error
Parameters may be negative to subtract.
func (*State) MinerNominalPowerMeetsConsensusMinimum ¶ added in v0.7.2
func (st *State) MinerNominalPowerMeetsConsensusMinimum(s adt.Store, miner addr.Address) (bool, error)
MinerNominalPowerMeetsConsensusMinimum is used to validate Election PoSt winners outside the chain state. If the miner has over a threshold of power the miner meets the minimum. If the network is a below a threshold of miners and has power > zero the miner meets the minimum.
type UpdateClaimedPowerParams ¶ added in v0.7.0
type UpdateClaimedPowerParams struct { RawByteDelta abi.StoragePower QualityAdjustedDelta abi.StoragePower }
func (*UpdateClaimedPowerParams) MarshalCBOR ¶ added in v0.7.0
func (t *UpdateClaimedPowerParams) MarshalCBOR(w io.Writer) error
func (*UpdateClaimedPowerParams) UnmarshalCBOR ¶ added in v0.7.0
func (t *UpdateClaimedPowerParams) UnmarshalCBOR(r io.Reader) error