Documentation ¶
Index ¶
- Constants
- Variables
- func NewNullReader(size abi.UnpaddedPieceSize) io.Reader
- type AddrSel
- type CurrentDealInfo
- type CurrentDealInfoAPI
- type CurrentDealInfoAPIAdapter
- func (c *CurrentDealInfoAPIAdapter) StateLookupID(ctx context.Context, a address.Address, tok TipSetToken) (address.Address, error)
- func (c *CurrentDealInfoAPIAdapter) StateMarketStorageDeal(ctx context.Context, dealID abi.DealID, tok TipSetToken) (*api.MarketDeal, error)
- func (c *CurrentDealInfoAPIAdapter) StateSearchMsgLimited(ctx context.Context, k cid.Cid, limit abi.ChainEpoch) (*MsgLookup, error)
- type CurrentDealInfoManager
- type CurrentDealInfoTskAPI
- type DealInfo
- type DealSchedule
- type ErrApi
- type ErrBadCommD
- type ErrBadSeed
- type ErrBadTicket
- type ErrCommitWaitFailed
- type ErrExpiredDeals
- type ErrExpiredTicket
- type ErrInvalidDeals
- type ErrInvalidPiece
- type ErrInvalidProof
- type ErrNoPrecommit
- type ErrPrecommitOnChain
- type ErrSectorNumberAllocated
- type Events
- type FeeConfig
- type GetSealingConfigFunc
- type HeightHandler
- type Ignorable
- type Log
- type MessageReceipt
- type MsgLookup
- type NullReader
- type Piece
- type PieceWithDealInfo
- type ReturnState
- type RevertHandler
- type Sealing
- func (m *Sealing) AddPieceToAnySector(ctx context.Context, size abi.UnpaddedPieceSize, data storage.Data, ...) (abi.SectorNumber, abi.PaddedPieceSize, error)
- func (m *Sealing) Address() address.Address
- func (m *Sealing) ForceSectorState(ctx context.Context, id abi.SectorNumber, state SectorState) error
- func (m *Sealing) GetSectorInfo(sid abi.SectorNumber) (SectorInfo, error)
- func (m *Sealing) ListSectors() ([]SectorInfo, error)
- func (m *Sealing) Plan(events []statemachine.Event, user interface{}) (interface{}, uint64, error)
- func (m *Sealing) PledgeSector(ctx context.Context) (storage.SectorRef, error)
- func (m *Sealing) Remove(ctx context.Context, sid abi.SectorNumber) error
- func (m *Sealing) Run(ctx context.Context) error
- func (m *Sealing) StartPacking(sid abi.SectorNumber) error
- func (m *Sealing) Stop(ctx context.Context) error
- func (m *Sealing) Terminate(ctx context.Context, sid abi.SectorNumber) error
- func (m *Sealing) TerminateFlush(ctx context.Context) (*cid.Cid, error)
- func (m *Sealing) TerminatePending(ctx context.Context) ([]abi.SectorID, error)
- type SealingAPI
- type SectorAddPiece
- type SectorAddPieceFailed
- type SectorChainPreCommitFailed
- type SectorCommitFailed
- type SectorCommitSubmitted
- type SectorCommitted
- type SectorComputeProofFailed
- type SectorDealsExpired
- type SectorFatalError
- type SectorFaultReported
- type SectorFaultedFinal
- type SectorFaulty
- type SectorFinalizeFailed
- type SectorFinalized
- type SectorForceState
- type SectorIDCounter
- type SectorInfo
- type SectorInvalidDealIDs
- type SectorLocation
- type SectorOldTicket
- type SectorPacked
- type SectorPieceAdded
- type SectorPreCommit1
- type SectorPreCommit2
- type SectorPreCommitLanded
- type SectorPreCommitted
- type SectorProving
- type SectorRemove
- type SectorRemoveFailed
- type SectorRemoved
- type SectorRestart
- type SectorRetryCommitWait
- type SectorRetryComputeProof
- type SectorRetryFinalize
- type SectorRetryInvalidProof
- type SectorRetryPreCommit
- type SectorRetryPreCommitWait
- type SectorRetrySealPreCommit1
- type SectorRetrySealPreCommit2
- type SectorRetrySubmitCommit
- type SectorRetryWaitSeed
- type SectorSealPreCommit1Failed
- type SectorSealPreCommit2Failed
- type SectorSeedReady
- type SectorStart
- type SectorStartCC
- type SectorStartPacking
- type SectorState
- type SectorStateNotifee
- type SectorStats
- type SectorTerminate
- type SectorTerminateFailed
- type SectorTerminated
- type SectorTerminating
- type SectorTicket
- type SectorTicketExpired
- type SectorUpdateDealIDs
- type TerminateBatcher
- func (b *TerminateBatcher) AddTermination(ctx context.Context, s abi.SectorID) (mcid cid.Cid, terminated bool, err error)
- func (b *TerminateBatcher) Flush(ctx context.Context) (*cid.Cid, error)
- func (b *TerminateBatcher) Pending(ctx context.Context) ([]abi.SectorID, error)
- func (b *TerminateBatcher) Stop(ctx context.Context) error
- type TerminateBatcherApi
- type TipSetToken
Constants ¶
const ( RetPreCommit1 = ReturnState(PreCommit1) RetPreCommitting = ReturnState(PreCommitting) RetPreCommitFailed = ReturnState(PreCommitFailed) RetCommitFailed = ReturnState(CommitFailed) )
const InteractivePoRepConfidence = 6
Epochs
const SectorStorePrefix = "/sectors"
Variables ¶
var ( TerminateBatchMax uint64 = 100 // adjust based on real-world gas numbers, actors limit at 10k TerminateBatchMin uint64 = 1 TerminateBatchWait = 5 * time.Minute )
var DealSectorPriority = 1024
var ErrSectorAllocated = errors.New("sectorNumber is allocated, but PreCommit info wasn't found on chain")
var ErrTooManySectorsSealing = xerrors.New("too many sectors sealing")
var ExistSectorStateList = map[SectorState]struct{}{
Empty: {},
WaitDeals: {},
Packing: {},
AddPiece: {},
AddPieceFailed: {},
GetTicket: {},
PreCommit1: {},
PreCommit2: {},
PreCommitting: {},
PreCommitWait: {},
WaitSeed: {},
Committing: {},
SubmitCommit: {},
CommitWait: {},
FinalizeSector: {},
Proving: {},
FailedUnrecoverable: {},
SealPreCommit1Failed: {},
SealPreCommit2Failed: {},
PreCommitFailed: {},
ComputeProofFailed: {},
CommitFailed: {},
PackingFailed: {},
FinalizeFailed: {},
DealsExpired: {},
RecoverDealIDs: {},
Faulty: {},
FaultReported: {},
FaultedFinal: {},
Terminating: {},
TerminateWait: {},
TerminateFinality: {},
TerminateFailed: {},
Removing: {},
RemoveFailed: {},
Removed: {},
}
var MaxTicketAge = abi.ChainEpoch(builtin.EpochsInDay * 2)
var (
StorageMsgSearchLimit = 5 * build.Finality
)
Functions ¶
func NewNullReader ¶
func NewNullReader(size abi.UnpaddedPieceSize) io.Reader
Types ¶
type CurrentDealInfo ¶
type CurrentDealInfo struct { DealID abi.DealID MarketDeal *api.MarketDeal PublishMsgTipSet TipSetToken }
type CurrentDealInfoAPI ¶
type CurrentDealInfoAPI interface { ChainGetMessage(context.Context, cid.Cid) (*types.Message, error) StateLookupID(context.Context, address.Address, TipSetToken) (address.Address, error) StateMarketStorageDeal(context.Context, abi.DealID, TipSetToken) (*api.MarketDeal, error) StateSearchMsgLimited(context.Context, cid.Cid, abi.ChainEpoch) (*MsgLookup, error) }
type CurrentDealInfoAPIAdapter ¶
type CurrentDealInfoAPIAdapter struct {
CurrentDealInfoTskAPI
}
func (*CurrentDealInfoAPIAdapter) StateLookupID ¶
func (c *CurrentDealInfoAPIAdapter) StateLookupID(ctx context.Context, a address.Address, tok TipSetToken) (address.Address, error)
func (*CurrentDealInfoAPIAdapter) StateMarketStorageDeal ¶
func (c *CurrentDealInfoAPIAdapter) StateMarketStorageDeal(ctx context.Context, dealID abi.DealID, tok TipSetToken) (*api.MarketDeal, error)
func (*CurrentDealInfoAPIAdapter) StateSearchMsgLimited ¶
func (c *CurrentDealInfoAPIAdapter) StateSearchMsgLimited(ctx context.Context, k cid.Cid, limit abi.ChainEpoch) (*MsgLookup, error)
type CurrentDealInfoManager ¶
type CurrentDealInfoManager struct {
CDAPI CurrentDealInfoAPI
}
func (*CurrentDealInfoManager) CheckDealEquality ¶
func (mgr *CurrentDealInfoManager) CheckDealEquality(ctx context.Context, tok TipSetToken, p1, p2 market.DealProposal) (bool, error)
func (*CurrentDealInfoManager) GetCurrentDealInfo ¶
func (mgr *CurrentDealInfoManager) GetCurrentDealInfo(ctx context.Context, tok TipSetToken, proposal *market.DealProposal, publishCid cid.Cid) (CurrentDealInfo, error)
GetCurrentDealInfo gets the current deal state and deal ID. Note that the deal ID is assigned when the deal is published, so it may have changed if there was a reorg after the deal was published.
type CurrentDealInfoTskAPI ¶
type CurrentDealInfoTskAPI interface { ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error) StateLookupID(context.Context, address.Address, types.TipSetKey) (address.Address, error) StateMarketStorageDeal(context.Context, abi.DealID, types.TipSetKey) (*api.MarketDeal, error) StateSearchMsgLimited(context.Context, cid.Cid, abi.ChainEpoch) (*api.MsgLookup, error) }
type DealInfo ¶
type DealInfo struct { PublishCid *cid.Cid DealID abi.DealID DealProposal *market.DealProposal DealSchedule DealSchedule KeepUnsealed bool }
DealInfo is a tuple of deal identity and its schedule
type DealSchedule ¶
type DealSchedule struct {
StartEpoch abi.ChainEpoch
}
DealSchedule communicates the time interval of a storage deal. The deal must appear in a sealed (proven) sector no later than StartEpoch, otherwise it is invalid.
func (*DealSchedule) MarshalCBOR ¶
func (t *DealSchedule) MarshalCBOR(w io.Writer) error
func (*DealSchedule) UnmarshalCBOR ¶
func (t *DealSchedule) UnmarshalCBOR(r io.Reader) error
type ErrApi ¶
type ErrApi struct {
// contains filtered or unexported fields
}
TODO: For now we handle this by halting state execution, when we get jsonrpc reconnecting
We should implement some wait-for-api logic
type ErrBadCommD ¶
type ErrBadCommD struct {
// contains filtered or unexported fields
}
type ErrBadSeed ¶
type ErrBadSeed struct {
// contains filtered or unexported fields
}
type ErrBadTicket ¶
type ErrBadTicket struct {
// contains filtered or unexported fields
}
type ErrCommitWaitFailed ¶
type ErrCommitWaitFailed struct {
// contains filtered or unexported fields
}
type ErrExpiredDeals ¶
type ErrExpiredDeals struct {
// contains filtered or unexported fields
}
type ErrExpiredTicket ¶
type ErrExpiredTicket struct {
// contains filtered or unexported fields
}
type ErrInvalidDeals ¶
type ErrInvalidDeals struct {
// contains filtered or unexported fields
}
type ErrInvalidPiece ¶
type ErrInvalidPiece struct {
// contains filtered or unexported fields
}
type ErrInvalidProof ¶
type ErrInvalidProof struct {
// contains filtered or unexported fields
}
type ErrNoPrecommit ¶
type ErrNoPrecommit struct {
// contains filtered or unexported fields
}
type ErrPrecommitOnChain ¶
type ErrPrecommitOnChain struct {
// contains filtered or unexported fields
}
type ErrSectorNumberAllocated ¶
type ErrSectorNumberAllocated struct {
// contains filtered or unexported fields
}
type Events ¶
type Events interface {
ChainAt(hnd HeightHandler, rev RevertHandler, confidence int, h abi.ChainEpoch) error
}
type FeeConfig ¶
type FeeConfig struct { MaxPreCommitGasFee abi.TokenAmount MaxCommitGasFee abi.TokenAmount MaxTerminateGasFee abi.TokenAmount }
type GetSealingConfigFunc ¶
type HeightHandler ¶
type HeightHandler func(ctx context.Context, tok TipSetToken, curH abi.ChainEpoch) error
`curH`-`ts.Height` = `confidence`
type Log ¶
type MessageReceipt ¶
func (*MessageReceipt) Equals ¶
func (mr *MessageReceipt) Equals(o *MessageReceipt) bool
type MsgLookup ¶
type MsgLookup struct { Receipt MessageReceipt TipSetTok TipSetToken Height abi.ChainEpoch }
type NullReader ¶
type NullReader struct {
*io.LimitedReader
}
func (NullReader) NullBytes ¶
func (m NullReader) NullBytes() int64
type Piece ¶
type Piece struct { Piece abi.PieceInfo DealInfo *DealInfo // nil for pieces which do not appear in deals (e.g. filler pieces) }
Piece is a tuple of piece info and optional deal
type PieceWithDealInfo ¶
Piece is a tuple of piece and deal info
type ReturnState ¶
type ReturnState string
type RevertHandler ¶
type RevertHandler func(ctx context.Context, tok TipSetToken) error
type Sealing ¶
type Sealing struct {
// contains filtered or unexported fields
}
func New ¶
func New(api SealingAPI, fc FeeConfig, events Events, maddr address.Address, ds datastore.Batching, sealer sectorstorage.SectorManager, sc SectorIDCounter, verif ffiwrapper.Verifier, gc GetSealingConfigFunc, notifee SectorStateNotifee, as AddrSel) *Sealing
func (*Sealing) AddPieceToAnySector ¶
func (m *Sealing) AddPieceToAnySector(ctx context.Context, size abi.UnpaddedPieceSize, data storage.Data, deal DealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error)
func (*Sealing) ForceSectorState ¶
func (m *Sealing) ForceSectorState(ctx context.Context, id abi.SectorNumber, state SectorState) error
func (*Sealing) GetSectorInfo ¶
func (m *Sealing) GetSectorInfo(sid abi.SectorNumber) (SectorInfo, error)
func (*Sealing) ListSectors ¶
func (m *Sealing) ListSectors() ([]SectorInfo, error)
func (*Sealing) Plan ¶
func (m *Sealing) Plan(events []statemachine.Event, user interface{}) (interface{}, uint64, error)
func (*Sealing) PledgeSector ¶
func (*Sealing) StartPacking ¶
func (m *Sealing) StartPacking(sid abi.SectorNumber) error
func (*Sealing) TerminateFlush ¶
type SealingAPI ¶
type SealingAPI interface { StateWaitMsg(context.Context, cid.Cid) (MsgLookup, error) StateSearchMsgLimited(context.Context, cid.Cid, abi.ChainEpoch) (*MsgLookup, error) StateComputeDataCommitment(ctx context.Context, maddr address.Address, sectorType abi.RegisteredSealProof, deals []abi.DealID, tok TipSetToken) (cid.Cid, error) // Can return ErrSectorAllocated in case precommit info wasn't found, but the sector number is marked as allocated StateSectorPreCommitInfo(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok TipSetToken) (*miner.SectorPreCommitOnChainInfo, error) StateSectorGetInfo(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok TipSetToken) (*miner.SectorOnChainInfo, error) StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok TipSetToken) (*SectorLocation, error) StateLookupID(context.Context, address.Address, TipSetToken) (address.Address, error) StateMinerSectorSize(context.Context, address.Address, TipSetToken) (abi.SectorSize, error) StateMinerWorkerAddress(ctx context.Context, maddr address.Address, tok TipSetToken) (address.Address, error) /* StateMinerPreCommitDepositForPower(context.Context, address.Address, miner.SectorPreCommitInfo, TipSetToken) (big.Int, error) StateMinerInitialPledgeCollateral(context.Context, address.Address, miner.SectorPreCommitInfo, TipSetToken) (big.Int, error) */ StateMinerInfo(context.Context, address.Address, TipSetToken) (miner.MinerInfo, error) StateMinerSectorAllocated(context.Context, address.Address, abi.SectorNumber, TipSetToken) (bool, error) StateMarketStorageDeal(context.Context, abi.DealID, TipSetToken) (*api.MarketDeal, error) StateMarketStorageDealProposal(context.Context, abi.DealID, TipSetToken) (market.DealProposal, error) StateNetworkVersion(ctx context.Context, tok TipSetToken) (network.Version, error) StateMinerProvingDeadline(context.Context, address.Address, TipSetToken) (*dline.Info, error) StateMinerPartitions(ctx context.Context, m address.Address, dlIdx uint64, tok TipSetToken) ([]api.Partition, error) SendMsg(ctx context.Context, from, to address.Address, method abi.MethodNum, value, maxFee abi.TokenAmount, params []byte) (cid.Cid, error) ChainHead(ctx context.Context) (TipSetToken, abi.ChainEpoch, error) ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error) ChainGetRandomnessFromBeacon(ctx context.Context, tok TipSetToken, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) ChainGetRandomnessFromTickets(ctx context.Context, tok TipSetToken, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) ChainReadObj(context.Context, cid.Cid) ([]byte, error) }
type SectorAddPiece ¶
type SectorAddPiece struct{}
type SectorAddPieceFailed ¶
type SectorAddPieceFailed struct {
// contains filtered or unexported fields
}
func (SectorAddPieceFailed) FormatError ¶
func (evt SectorAddPieceFailed) FormatError(xerrors.Printer) (next error)
type SectorChainPreCommitFailed ¶
type SectorChainPreCommitFailed struct {
// contains filtered or unexported fields
}
func (SectorChainPreCommitFailed) FormatError ¶
func (evt SectorChainPreCommitFailed) FormatError(xerrors.Printer) (next error)
type SectorCommitFailed ¶
type SectorCommitFailed struct {
// contains filtered or unexported fields
}
func (SectorCommitFailed) FormatError ¶
func (evt SectorCommitFailed) FormatError(xerrors.Printer) (next error)
type SectorCommitSubmitted ¶
type SectorCommitSubmitted struct {
Message cid.Cid
}
type SectorCommitted ¶
type SectorCommitted struct {
Proof []byte
}
type SectorComputeProofFailed ¶
type SectorComputeProofFailed struct {
// contains filtered or unexported fields
}
func (SectorComputeProofFailed) FormatError ¶
func (evt SectorComputeProofFailed) FormatError(xerrors.Printer) (next error)
type SectorDealsExpired ¶
type SectorDealsExpired struct {
// contains filtered or unexported fields
}
func (SectorDealsExpired) FormatError ¶
func (evt SectorDealsExpired) FormatError(xerrors.Printer) (next error)
type SectorFatalError ¶
type SectorFatalError struct {
// contains filtered or unexported fields
}
func (SectorFatalError) FormatError ¶
func (evt SectorFatalError) FormatError(xerrors.Printer) (next error)
type SectorFaultReported ¶
type SectorFaultReported struct {
// contains filtered or unexported fields
}
type SectorFaultedFinal ¶
type SectorFaultedFinal struct{}
type SectorFaulty ¶
type SectorFaulty struct{}
type SectorFinalizeFailed ¶
type SectorFinalizeFailed struct {
// contains filtered or unexported fields
}
func (SectorFinalizeFailed) FormatError ¶
func (evt SectorFinalizeFailed) FormatError(xerrors.Printer) (next error)
type SectorFinalized ¶
type SectorFinalized struct{}
type SectorForceState ¶
type SectorForceState struct {
State SectorState
}
type SectorIDCounter ¶
type SectorIDCounter interface {
Next() (abi.SectorNumber, error)
}
type SectorInfo ¶
type SectorInfo struct { State SectorState SectorNumber abi.SectorNumber SectorType abi.RegisteredSealProof // Packing CreationTime int64 // unix seconds Pieces []Piece // PreCommit1 TicketValue abi.SealRandomness TicketEpoch abi.ChainEpoch PreCommit1Out storage.PreCommit1Out // PreCommit2 CommD *cid.Cid CommR *cid.Cid Proof []byte PreCommitInfo *miner.SectorPreCommitInfo /* PreCommitDeposit big.Int */ PreCommitMessage *cid.Cid PreCommitTipSet TipSetToken PreCommit2Fails uint64 // WaitSeed SeedValue abi.InteractiveSealRandomness SeedEpoch abi.ChainEpoch // Committing CommitMessage *cid.Cid InvalidProofs uint64 // failed proof computations (doesn't validate with proof inputs; can't compute) // Faults FaultReportMsg *cid.Cid // Recovery Return ReturnState // Termination TerminateMessage *cid.Cid TerminatedAt abi.ChainEpoch // Debug LastErr string Log []Log }
func (*SectorInfo) MarshalCBOR ¶
func (t *SectorInfo) MarshalCBOR(w io.Writer) error
func (*SectorInfo) UnmarshalCBOR ¶
func (t *SectorInfo) UnmarshalCBOR(r io.Reader) error
type SectorInvalidDealIDs ¶
type SectorInvalidDealIDs struct {
Return ReturnState
}
type SectorLocation ¶
type SectorOldTicket ¶
type SectorOldTicket struct{}
type SectorPacked ¶
type SectorPieceAdded ¶
type SectorPieceAdded struct {
NewPieces []Piece
}
type SectorPreCommit1 ¶
type SectorPreCommit1 struct {
PreCommit1Out storage.PreCommit1Out
}
type SectorPreCommit2 ¶
type SectorPreCommit2 struct { Sealed cid.Cid Unsealed cid.Cid }
type SectorPreCommitLanded ¶
type SectorPreCommitLanded struct {
TipSet TipSetToken
}
type SectorPreCommitted ¶
type SectorPreCommitted struct { Message cid.Cid /* PreCommitDeposit big.Int */ PreCommitInfo miner.SectorPreCommitInfo }
type SectorProving ¶
type SectorProving struct{}
type SectorRemove ¶
type SectorRemove struct{}
type SectorRemoveFailed ¶
type SectorRemoveFailed struct {
// contains filtered or unexported fields
}
func (SectorRemoveFailed) FormatError ¶
func (evt SectorRemoveFailed) FormatError(xerrors.Printer) (next error)
type SectorRemoved ¶
type SectorRemoved struct{}
type SectorRestart ¶
type SectorRestart struct{}
type SectorRetryCommitWait ¶
type SectorRetryCommitWait struct{}
type SectorRetryComputeProof ¶
type SectorRetryComputeProof struct{}
type SectorRetryFinalize ¶
type SectorRetryFinalize struct{}
type SectorRetryInvalidProof ¶
type SectorRetryInvalidProof struct{}
type SectorRetryPreCommit ¶
type SectorRetryPreCommit struct{}
type SectorRetryPreCommitWait ¶
type SectorRetryPreCommitWait struct{}
type SectorRetrySealPreCommit1 ¶
type SectorRetrySealPreCommit1 struct{}
type SectorRetrySealPreCommit2 ¶
type SectorRetrySealPreCommit2 struct{}
type SectorRetrySubmitCommit ¶
type SectorRetrySubmitCommit struct{}
type SectorRetryWaitSeed ¶
type SectorRetryWaitSeed struct{}
type SectorSealPreCommit1Failed ¶
type SectorSealPreCommit1Failed struct {
// contains filtered or unexported fields
}
func (SectorSealPreCommit1Failed) FormatError ¶
func (evt SectorSealPreCommit1Failed) FormatError(xerrors.Printer) (next error)
type SectorSealPreCommit2Failed ¶
type SectorSealPreCommit2Failed struct {
// contains filtered or unexported fields
}
func (SectorSealPreCommit2Failed) FormatError ¶
func (evt SectorSealPreCommit2Failed) FormatError(xerrors.Printer) (next error)
type SectorSeedReady ¶
type SectorSeedReady struct { SeedValue abi.InteractiveSealRandomness SeedEpoch abi.ChainEpoch }
type SectorStart ¶
type SectorStart struct { ID abi.SectorNumber SectorType abi.RegisteredSealProof }
type SectorStartCC ¶
type SectorStartCC struct { ID abi.SectorNumber SectorType abi.RegisteredSealProof }
type SectorStartPacking ¶
type SectorStartPacking struct{}
func (SectorStartPacking) Ignore ¶
func (evt SectorStartPacking) Ignore()
type SectorState ¶
type SectorState string
const ( UndefinedSectorState SectorState = "" // happy path Empty SectorState = "Empty" // deprecated WaitDeals SectorState = "WaitDeals" // waiting for more pieces (deals) to be added to the sector AddPiece SectorState = "AddPiece" // put deal data (and padding if required) into the sector Packing SectorState = "Packing" // sector not in sealStore, and not on chain GetTicket SectorState = "GetTicket" // generate ticket PreCommit1 SectorState = "PreCommit1" // do PreCommit1 PreCommit2 SectorState = "PreCommit2" // do PreCommit2 PreCommitting SectorState = "PreCommitting" // on chain pre-commit PreCommitWait SectorState = "PreCommitWait" // waiting for precommit to land on chain WaitSeed SectorState = "WaitSeed" // waiting for seed Committing SectorState = "Committing" // compute PoRep SubmitCommit SectorState = "SubmitCommit" // send commit message to the chain CommitWait SectorState = "CommitWait" // wait for the commit message to land on chain FinalizeSector SectorState = "FinalizeSector" Proving SectorState = "Proving" // error modes FailedUnrecoverable SectorState = "FailedUnrecoverable" AddPieceFailed SectorState = "AddPieceFailed" SealPreCommit1Failed SectorState = "SealPreCommit1Failed" SealPreCommit2Failed SectorState = "SealPreCommit2Failed" PreCommitFailed SectorState = "PreCommitFailed" ComputeProofFailed SectorState = "ComputeProofFailed" CommitFailed SectorState = "CommitFailed" PackingFailed SectorState = "PackingFailed" // TODO: deprecated, remove FinalizeFailed SectorState = "FinalizeFailed" DealsExpired SectorState = "DealsExpired" RecoverDealIDs SectorState = "RecoverDealIDs" Faulty SectorState = "Faulty" // sector is corrupted or gone for some reason FaultReported SectorState = "FaultReported" // sector has been declared as a fault on chain FaultedFinal SectorState = "FaultedFinal" // fault declared on chain Terminating SectorState = "Terminating" TerminateWait SectorState = "TerminateWait" TerminateFinality SectorState = "TerminateFinality" TerminateFailed SectorState = "TerminateFailed" Removing SectorState = "Removing" RemoveFailed SectorState = "RemoveFailed" Removed SectorState = "Removed" )
type SectorStateNotifee ¶
type SectorStateNotifee func(before, after SectorInfo)
type SectorStats ¶
type SectorStats struct {
// contains filtered or unexported fields
}
type SectorTerminate ¶
type SectorTerminate struct{}
type SectorTerminateFailed ¶
type SectorTerminateFailed struct {
// contains filtered or unexported fields
}
func (SectorTerminateFailed) FormatError ¶
func (evt SectorTerminateFailed) FormatError(xerrors.Printer) (next error)
type SectorTerminated ¶
type SectorTerminated struct{ TerminatedAt abi.ChainEpoch }
type SectorTerminating ¶
type SectorTerminating struct{ Message *cid.Cid }
type SectorTicket ¶
type SectorTicket struct { TicketValue abi.SealRandomness TicketEpoch abi.ChainEpoch }
type SectorTicketExpired ¶
type SectorTicketExpired struct {
// contains filtered or unexported fields
}
func (SectorTicketExpired) FormatError ¶
func (evt SectorTicketExpired) FormatError(xerrors.Printer) (next error)
type SectorUpdateDealIDs ¶
type TerminateBatcher ¶
type TerminateBatcher struct {
// contains filtered or unexported fields
}
func NewTerminationBatcher ¶
func NewTerminationBatcher(mctx context.Context, maddr address.Address, api TerminateBatcherApi, addrSel AddrSel, feeCfg FeeConfig) *TerminateBatcher
func (*TerminateBatcher) AddTermination ¶
func (b *TerminateBatcher) AddTermination(ctx context.Context, s abi.SectorID) (mcid cid.Cid, terminated bool, err error)
register termination, wait for batch message, return message CID can return cid.Undef,true if the sector is already terminated on-chain
func (*TerminateBatcher) Flush ¶
func (b *TerminateBatcher) Flush(ctx context.Context) (*cid.Cid, error)
type TerminateBatcherApi ¶
type TerminateBatcherApi interface { StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok TipSetToken) (*SectorLocation, error) SendMsg(ctx context.Context, from, to address.Address, method abi.MethodNum, value, maxFee abi.TokenAmount, params []byte) (cid.Cid, error) StateMinerInfo(context.Context, address.Address, TipSetToken) (miner.MinerInfo, error) StateMinerProvingDeadline(context.Context, address.Address, TipSetToken) (*dline.Info, error) StateMinerPartitions(ctx context.Context, m address.Address, dlIdx uint64, tok TipSetToken) ([]api.Partition, error) }
type TipSetToken ¶
type TipSetToken []byte