Documentation ¶
Index ¶
- Variables
- type Committer
- type Funding
- type FundingStage
- func (fs *FundingStage) Fund(bb *blockbuilder.BlockBuilder, target address.Address) error
- func (*FundingStage) Name() string
- func (fs *FundingStage) PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) (_err error)
- func (fs *FundingStage) SendAndFund(bb *blockbuilder.BlockBuilder, msg *types.Message) (res *types.MessageReceipt, err error)
- type PreCommitStage
- type ProveCommitStage
- type Stage
- type WindowPoStStage
Constants ¶
This section is empty.
Variables ¶
var ( TargetFunds = abi.TokenAmount(types.MustParseFIL("1000FIL")) MinimumFunds = abi.TokenAmount(types.MustParseFIL("100FIL")) )
Functions ¶
This section is empty.
Types ¶
type Committer ¶
type Committer interface {
EnqueueProveCommit(addr address.Address, preCommitEpoch abi.ChainEpoch, info miner.SectorPreCommitInfo) error
}
type Funding ¶
type Funding interface { SendAndFund(*blockbuilder.BlockBuilder, *types.Message) (*types.MessageReceipt, error) Fund(*blockbuilder.BlockBuilder, address.Address) error }
type FundingStage ¶
type FundingStage struct {
// contains filtered or unexported fields
}
func NewFundingStage ¶
func NewFundingStage() (*FundingStage, error)
func (*FundingStage) Fund ¶
func (fs *FundingStage) Fund(bb *blockbuilder.BlockBuilder, target address.Address) error
func (*FundingStage) Name ¶
func (*FundingStage) Name() string
func (*FundingStage) PackMessages ¶
func (fs *FundingStage) PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) (_err error)
func (*FundingStage) SendAndFund ¶
func (fs *FundingStage) SendAndFund(bb *blockbuilder.BlockBuilder, msg *types.Message) (res *types.MessageReceipt, err error)
sendAndFund "packs" the given message, funding the actor if necessary. It:
- Tries to send the given message.
- If that fails, it checks to see if the exit code was ErrInsufficientFunds.
- If so, it sends 1K FIL from the "burnt funds actor" (because we need to send it from somewhere) and re-tries the message.0
type PreCommitStage ¶
type PreCommitStage struct {
// contains filtered or unexported fields
}
func NewPreCommitStage ¶
func NewPreCommitStage(funding Funding, committer Committer) (*PreCommitStage, error)
func (*PreCommitStage) Name ¶
func (*PreCommitStage) Name() string
func (*PreCommitStage) PackMessages ¶
func (stage *PreCommitStage) PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) (_err error)
packPreCommits packs pre-commit messages until the block is full.
type ProveCommitStage ¶
type ProveCommitStage struct {
// contains filtered or unexported fields
}
func NewProveCommitStage ¶
func NewProveCommitStage(funding Funding) (*ProveCommitStage, error)
func (*ProveCommitStage) EnqueueProveCommit ¶
func (stage *ProveCommitStage) EnqueueProveCommit( minerAddr address.Address, preCommitEpoch abi.ChainEpoch, info miner.SectorPreCommitInfo, ) error
func (*ProveCommitStage) Name ¶
func (*ProveCommitStage) Name() string
func (*ProveCommitStage) PackMessages ¶
func (stage *ProveCommitStage) PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) (_err error)
packProveCommits packs all prove-commits for all "ready to be proven" sectors until it fills the block or runs out.
type Stage ¶
type Stage interface { Name() string PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) error }
Stage is a stage of the simulation. It's asked to pack messages for every block.
func DefaultPipeline ¶
DefaultPipeline returns the default stage pipeline. This pipeline.
1. Funds a "funding" actor, if necessary. 2. Submits any ready window posts. 3. Submits any ready prove commits. 4. Submits pre-commits with the remaining gas.
type WindowPoStStage ¶
type WindowPoStStage struct {
// contains filtered or unexported fields
}
func NewWindowPoStStage ¶
func NewWindowPoStStage() (*WindowPoStStage, error)
func (*WindowPoStStage) Name ¶
func (*WindowPoStStage) Name() string
func (*WindowPoStStage) PackMessages ¶
func (stage *WindowPoStStage) PackMessages(ctx context.Context, bb *blockbuilder.BlockBuilder) (_err error)
packWindowPoSts packs window posts until either the block is full or all healty sectors have been proven. It does not recover sectors.