miner

package
v0.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2022 License: Apache-2.0, MIT Imports: 45 Imported by: 0

Documentation

Overview

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Code generated by: `make actors-gen`. DO NOT EDIT.

Index

Constants

View Source
const MinSectorExpiration = miner0.MinSectorExpiration

Variables

View Source
var AddressedSectorsMax = miner2.AddressedSectorsMax
View Source
var DeclarationsMax = miner2.DeclarationsMax

Not used / checked in v0 TODO: Abstract over network versions

View Source
var FaultDeclarationCutoff = miner0.FaultDeclarationCutoff
View Source
var WPoStChallengeLookback = miner0.WPoStChallengeLookback
View Source
var WPoStChallengeWindow = miner0.WPoStChallengeWindow
View Source
var WPoStPeriodDeadlines = miner0.WPoStPeriodDeadlines
View Source
var WPoStProvingPeriod = miner0.WPoStProvingPeriod

Unchanged between v0, v2, v3, and v4 actors

Functions

func AllCodes

func AllCodes() []cid.Cid

func AllPartSectors

func AllPartSectors(mas State, sget func(Partition) (bitfield.BitField, error)) (bitfield.BitField, error)

func ArrayRequiresLegacyDiffing added in v0.9.0

func ArrayRequiresLegacyDiffing(pre, cur State, pOpts, cOpts int) bool

func MapRequiresLegacyDiffing added in v0.9.0

func MapRequiresLegacyDiffing(pre, cur State, pOpts, cOpts *adt.MapOpts) bool

func NewPreCommitDiffContainer

func NewPreCommitDiffContainer(pre, cur State) *preCommitDiffContainer

func NewSectorDiffContainer

func NewSectorDiffContainer(pre, cur State) *sectorDiffContainer

func PreferredSealProofTypeFromWindowPoStType

func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof) (abi.RegisteredSealProof, error)

func SealProofTypeFromSectorSize

func SealProofTypeFromSectorSize(ssize abi.SectorSize, nv network.Version) (abi.RegisteredSealProof, error)

SealProofTypeFromSectorSize returns preferred seal proof type for creating new miner actors and new sectors

func WinningPoStProofTypeFromWindowPoStProofType

func WinningPoStProofTypeFromWindowPoStProofType(nver network.Version, proof abi.RegisteredPoStProof) (abi.RegisteredPoStProof, error)

Types

type Deadline

type Deadline interface {
	LoadPartition(idx uint64) (Partition, error)
	ForEachPartition(cb func(idx uint64, part Partition) error) error
	PartitionsPoSted() (bitfield.BitField, error)

	PartitionsChanged(Deadline) (bool, error)
	DisputableProofCount() (uint64, error)
}

type DeadlineDiff

type DeadlineDiff map[uint64]*PartitionDiff

func DiffDeadline

func DiffDeadline(pre, cur Deadline) (DeadlineDiff, error)

type DeadlinesDiff

type DeadlinesDiff map[uint64]DeadlineDiff

func DiffDeadlines

func DiffDeadlines(pre, cur State) (DeadlinesDiff, error)

type DeclareFaultsParams

type DeclareFaultsParams = miner0.DeclareFaultsParams

Params

type DeclareFaultsRecoveredParams

type DeclareFaultsRecoveredParams = miner0.DeclareFaultsRecoveredParams

type DisputeWindowedPoStParams

type DisputeWindowedPoStParams = miner3.DisputeWindowedPoStParams

type FaultDeclaration

type FaultDeclaration = miner0.FaultDeclaration

type LockedFunds

type LockedFunds struct {
	VestingFunds             abi.TokenAmount
	InitialPledgeRequirement abi.TokenAmount
	PreCommitDeposits        abi.TokenAmount
}

func (LockedFunds) TotalLockedFunds

func (lf LockedFunds) TotalLockedFunds() abi.TokenAmount

type MinerInfo

type MinerInfo struct {
	Owner                      address.Address   // Must be an ID-address.
	Worker                     address.Address   // Must be an ID-address.
	NewWorker                  address.Address   // Must be an ID-address.
	ControlAddresses           []address.Address // Must be an ID-addresses.
	WorkerChangeEpoch          abi.ChainEpoch
	PeerId                     *peer.ID
	Multiaddrs                 []abi.Multiaddrs
	WindowPoStProofType        abi.RegisteredPoStProof
	SectorSize                 abi.SectorSize
	WindowPoStPartitionSectors uint64
	ConsensusFaultElapsed      abi.ChainEpoch
}

func (MinerInfo) IsController

func (mi MinerInfo) IsController(addr address.Address) bool

type Partition

type Partition interface {
	// AllSectors returns all sector numbers in this partition, including faulty, unproven, and terminated sectors
	AllSectors() (bitfield.BitField, error)

	// Subset of sectors detected/declared faulty and not yet recovered (excl. from PoSt).
	// Faults ∩ Terminated = ∅
	FaultySectors() (bitfield.BitField, error)

	// Subset of faulty sectors expected to recover on next PoSt
	// Recoveries ∩ Terminated = ∅
	RecoveringSectors() (bitfield.BitField, error)

	// Live sectors are those that are not terminated (but may be faulty).
	LiveSectors() (bitfield.BitField, error)

	// Active sectors are those that are neither terminated nor faulty nor unproven, i.e. actively contributing power.
	ActiveSectors() (bitfield.BitField, error)

	// Unproven sectors in this partition. This bitfield will be cleared on
	// a successful window post (or at the end of the partition's next
	// deadline). At that time, any still unproven sectors will be added to
	// the faulty sector bitfield.
	UnprovenSectors() (bitfield.BitField, error)
}

type PartitionDiff

type PartitionDiff struct {
	Removed    bitfield.BitField
	Recovered  bitfield.BitField
	Faulted    bitfield.BitField
	Recovering bitfield.BitField
}

func DiffPartition

func DiffPartition(pre, cur Partition) (*PartitionDiff, error)

type PoStPartition

type PoStPartition = miner0.PoStPartition

type PreCommitChanges

type PreCommitChanges struct {
	Added   []SectorPreCommitOnChainInfo
	Removed []SectorPreCommitOnChainInfo
}

func DiffPreCommits

func DiffPreCommits(ctx context.Context, store adt.Store, pre, cur State) (*PreCommitChanges, error)

func MakePreCommitChanges added in v0.9.0

func MakePreCommitChanges() *PreCommitChanges

type ProveCommitAggregateParams added in v0.8.6

type ProveCommitAggregateParams = miner5.ProveCommitAggregateParams

type ProveCommitSectorParams

type ProveCommitSectorParams = miner0.ProveCommitSectorParams

type ProveReplicaUpdatesParams added in v0.8.6

type ProveReplicaUpdatesParams = miner7.ProveReplicaUpdatesParams

type RecoveryDeclaration

type RecoveryDeclaration = miner0.RecoveryDeclaration

type SectorChanges

type SectorChanges struct {
	Added    []SectorOnChainInfo
	Extended []SectorModification
	Snapped  []SectorModification
	Removed  []SectorOnChainInfo
}

func DiffSectors

func DiffSectors(ctx context.Context, store adt.Store, pre, cur State) (*SectorChanges, error)

func MakeSectorChanges added in v0.9.0

func MakeSectorChanges() *SectorChanges

type SectorExpiration

type SectorExpiration struct {
	OnTime abi.ChainEpoch

	// non-zero if sector is faulty, epoch at which it will be permanently
	// removed if it doesn't recover
	Early abi.ChainEpoch
}

type SectorLocation

type SectorLocation struct {
	Deadline  uint64
	Partition uint64
}

type SectorModification added in v0.8.6

type SectorModification struct {
	From SectorOnChainInfo
	To   SectorOnChainInfo
}

type SectorOnChainInfo

type SectorOnChainInfo struct {
	SectorNumber          abi.SectorNumber
	SealProof             abi.RegisteredSealProof
	SealedCID             cid.Cid
	DealIDs               []abi.DealID
	Activation            abi.ChainEpoch
	Expiration            abi.ChainEpoch
	DealWeight            abi.DealWeight
	VerifiedDealWeight    abi.DealWeight
	InitialPledge         abi.TokenAmount
	ExpectedDayReward     abi.TokenAmount
	ExpectedStoragePledge abi.TokenAmount
	SectorKeyCID          *cid.Cid
}

type SectorPreCommitInfo

type SectorPreCommitInfo = miner0.SectorPreCommitInfo

type SectorPreCommitOnChainInfo

type SectorPreCommitOnChainInfo struct {
	Info               SectorPreCommitInfo
	PreCommitDeposit   abi.TokenAmount
	PreCommitEpoch     abi.ChainEpoch
	DealWeight         abi.DealWeight
	VerifiedDealWeight abi.DealWeight
}

type State

type State interface {
	cbor.Marshaler

	Code() cid.Cid

	// Total available balance to spend.
	AvailableBalance(abi.TokenAmount) (abi.TokenAmount, error)
	// Funds that will vest by the given epoch.
	VestedFunds(abi.ChainEpoch) (abi.TokenAmount, error)
	// Funds locked for various reasons.
	LockedFunds() (LockedFunds, error)
	FeeDebt() (abi.TokenAmount, error)

	GetSector(abi.SectorNumber) (*SectorOnChainInfo, error)
	FindSector(abi.SectorNumber) (*SectorLocation, error)
	GetSectorExpiration(abi.SectorNumber) (*SectorExpiration, error)
	GetPrecommittedSector(abi.SectorNumber) (*SectorPreCommitOnChainInfo, error)
	ForEachPrecommittedSector(func(SectorPreCommitOnChainInfo) error) error
	LoadSectors(sectorNos *bitfield.BitField) ([]*SectorOnChainInfo, error)
	NumLiveSectors() (uint64, error)
	IsAllocated(abi.SectorNumber) (bool, error)
	// UnallocatedSectorNumbers returns up to count unallocated sector numbers (or less than
	// count if there aren't enough).
	UnallocatedSectorNumbers(count int) ([]abi.SectorNumber, error)
	GetAllocatedSectors() (*bitfield.BitField, error)

	// Note that ProvingPeriodStart is deprecated and will be renamed / removed in a future version of actors
	GetProvingPeriodStart() (abi.ChainEpoch, error)

	LoadDeadline(idx uint64) (Deadline, error)
	ForEachDeadline(cb func(idx uint64, dl Deadline) error) error
	NumDeadlines() (uint64, error)
	DeadlinesChanged(State) (bool, error)

	Info() (MinerInfo, error)
	MinerInfoChanged(State) (bool, error)

	DeadlineInfo(epoch abi.ChainEpoch) (*dline.Info, error)
	DeadlineCronActive() (bool, error)

	SectorsAmtBitwidth() int

	GetState() interface{}

	// Diff helpers. Used by Diff* functions internally.
	SectorArray() (adt.Array, error)
	DecodeSectorOnChainInfo(*cbg.Deferred) (SectorOnChainInfo, error)
	PreCommitMap() (adt.Map, error)
	DecodeSectorPreCommitOnChainInfo(*cbg.Deferred) (SectorPreCommitOnChainInfo, error)
}

func Load

func Load(store adt.Store, act *types.Actor) (State, error)

type SubmitWindowedPoStParams

type SubmitWindowedPoStParams = miner0.SubmitWindowedPoStParams

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL