Merge pull request #6420 from filecoin-project/feat/sector-batching-config
Fee config for sector batching
This commit is contained in:
commit
d09924d5ce
14
extern/storage-sealing/commit_batch.go
vendored
14
extern/storage-sealing/commit_batch.go
vendored
@ -23,6 +23,7 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/chain/actors/policy"
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
||||||
"github.com/filecoin-project/lotus/extern/sector-storage/ffiwrapper"
|
"github.com/filecoin-project/lotus/extern/sector-storage/ffiwrapper"
|
||||||
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
||||||
|
"github.com/filecoin-project/lotus/node/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const arp = abi.RegisteredAggregationProof_SnarkPackV1
|
const arp = abi.RegisteredAggregationProof_SnarkPackV1
|
||||||
@ -47,7 +48,7 @@ type CommitBatcher struct {
|
|||||||
maddr address.Address
|
maddr address.Address
|
||||||
mctx context.Context
|
mctx context.Context
|
||||||
addrSel AddrSel
|
addrSel AddrSel
|
||||||
feeCfg FeeConfig
|
feeCfg config.MinerFeeConfig
|
||||||
getConfig GetSealingConfigFunc
|
getConfig GetSealingConfigFunc
|
||||||
prover ffiwrapper.Prover
|
prover ffiwrapper.Prover
|
||||||
|
|
||||||
@ -60,7 +61,7 @@ type CommitBatcher struct {
|
|||||||
lk sync.Mutex
|
lk sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewCommitBatcher(mctx context.Context, maddr address.Address, api CommitBatcherApi, addrSel AddrSel, feeCfg FeeConfig, getConfig GetSealingConfigFunc, prov ffiwrapper.Prover) *CommitBatcher {
|
func NewCommitBatcher(mctx context.Context, maddr address.Address, api CommitBatcherApi, addrSel AddrSel, feeCfg config.MinerFeeConfig, getConfig GetSealingConfigFunc, prov ffiwrapper.Prover) *CommitBatcher {
|
||||||
b := &CommitBatcher{
|
b := &CommitBatcher{
|
||||||
api: api,
|
api: api,
|
||||||
maddr: maddr,
|
maddr: maddr,
|
||||||
@ -285,14 +286,15 @@ func (b *CommitBatcher) processBatch(cfg sealiface.Config) ([]sealiface.CommitBa
|
|||||||
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("couldn't get miner info: %w", err)
|
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("couldn't get miner info: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
goodFunds := big.Add(b.feeCfg.MaxCommitGasFee, collateral)
|
maxFee := b.feeCfg.MaxCommitBatchGasFee.FeeForSectors(len(infos))
|
||||||
|
goodFunds := big.Add(maxFee, collateral)
|
||||||
|
|
||||||
from, _, err := b.addrSel(b.mctx, mi, api.CommitAddr, goodFunds, collateral)
|
from, _, err := b.addrSel(b.mctx, mi, api.CommitAddr, goodFunds, collateral)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("no good address found: %w", err)
|
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("no good address found: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.ProveCommitAggregate, collateral, b.feeCfg.MaxCommitGasFee, enc.Bytes())
|
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.ProveCommitAggregate, collateral, maxFee, enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("sending message failed: %w", err)
|
return []sealiface.CommitBatchRes{res}, xerrors.Errorf("sending message failed: %w", err)
|
||||||
}
|
}
|
||||||
@ -352,14 +354,14 @@ func (b *CommitBatcher) processSingle(mi miner.MinerInfo, sn abi.SectorNumber, i
|
|||||||
return cid.Undef, err
|
return cid.Undef, err
|
||||||
}
|
}
|
||||||
|
|
||||||
goodFunds := big.Add(collateral, b.feeCfg.MaxCommitGasFee)
|
goodFunds := big.Add(collateral, big.Int(b.feeCfg.MaxCommitGasFee))
|
||||||
|
|
||||||
from, _, err := b.addrSel(b.mctx, mi, api.CommitAddr, goodFunds, collateral)
|
from, _, err := b.addrSel(b.mctx, mi, api.CommitAddr, goodFunds, collateral)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cid.Undef, xerrors.Errorf("no good address to send commit message from: %w", err)
|
return cid.Undef, xerrors.Errorf("no good address to send commit message from: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.ProveCommitSector, collateral, b.feeCfg.MaxCommitGasFee, enc.Bytes())
|
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.ProveCommitSector, collateral, big.Int(b.feeCfg.MaxCommitGasFee), enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cid.Undef, xerrors.Errorf("pushing message to mpool: %w", err)
|
return cid.Undef, xerrors.Errorf("pushing message to mpool: %w", err)
|
||||||
}
|
}
|
||||||
|
10
extern/storage-sealing/precommit_batch.go
vendored
10
extern/storage-sealing/precommit_batch.go
vendored
@ -19,6 +19,7 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/api"
|
"github.com/filecoin-project/lotus/api"
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
||||||
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
||||||
|
"github.com/filecoin-project/lotus/node/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PreCommitBatcherApi interface {
|
type PreCommitBatcherApi interface {
|
||||||
@ -37,7 +38,7 @@ type PreCommitBatcher struct {
|
|||||||
maddr address.Address
|
maddr address.Address
|
||||||
mctx context.Context
|
mctx context.Context
|
||||||
addrSel AddrSel
|
addrSel AddrSel
|
||||||
feeCfg FeeConfig
|
feeCfg config.MinerFeeConfig
|
||||||
getConfig GetSealingConfigFunc
|
getConfig GetSealingConfigFunc
|
||||||
|
|
||||||
deadlines map[abi.SectorNumber]time.Time
|
deadlines map[abi.SectorNumber]time.Time
|
||||||
@ -49,7 +50,7 @@ type PreCommitBatcher struct {
|
|||||||
lk sync.Mutex
|
lk sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPreCommitBatcher(mctx context.Context, maddr address.Address, api PreCommitBatcherApi, addrSel AddrSel, feeCfg FeeConfig, getConfig GetSealingConfigFunc) *PreCommitBatcher {
|
func NewPreCommitBatcher(mctx context.Context, maddr address.Address, api PreCommitBatcherApi, addrSel AddrSel, feeCfg config.MinerFeeConfig, getConfig GetSealingConfigFunc) *PreCommitBatcher {
|
||||||
b := &PreCommitBatcher{
|
b := &PreCommitBatcher{
|
||||||
api: api,
|
api: api,
|
||||||
maddr: maddr,
|
maddr: maddr,
|
||||||
@ -224,14 +225,15 @@ func (b *PreCommitBatcher) processBatch(cfg sealiface.Config) ([]sealiface.PreCo
|
|||||||
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("couldn't get miner info: %w", err)
|
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("couldn't get miner info: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
goodFunds := big.Add(deposit, b.feeCfg.MaxPreCommitGasFee)
|
maxFee := b.feeCfg.MaxPreCommitBatchGasFee.FeeForSectors(len(params.Sectors))
|
||||||
|
goodFunds := big.Add(deposit, maxFee)
|
||||||
|
|
||||||
from, _, err := b.addrSel(b.mctx, mi, api.PreCommitAddr, goodFunds, deposit)
|
from, _, err := b.addrSel(b.mctx, mi, api.PreCommitAddr, goodFunds, deposit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("no good address found: %w", err)
|
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("no good address found: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.PreCommitSectorBatch, deposit, b.feeCfg.MaxPreCommitGasFee, enc.Bytes())
|
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.PreCommitSectorBatch, deposit, maxFee, enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("sending message failed: %w", err)
|
return []sealiface.PreCommitBatchRes{res}, xerrors.Errorf("sending message failed: %w", err)
|
||||||
}
|
}
|
||||||
|
11
extern/storage-sealing/sealing.go
vendored
11
extern/storage-sealing/sealing.go
vendored
@ -28,6 +28,7 @@ import (
|
|||||||
sectorstorage "github.com/filecoin-project/lotus/extern/sector-storage"
|
sectorstorage "github.com/filecoin-project/lotus/extern/sector-storage"
|
||||||
"github.com/filecoin-project/lotus/extern/sector-storage/ffiwrapper"
|
"github.com/filecoin-project/lotus/extern/sector-storage/ffiwrapper"
|
||||||
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
|
||||||
|
"github.com/filecoin-project/lotus/node/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const SectorStorePrefix = "/sectors"
|
const SectorStorePrefix = "/sectors"
|
||||||
@ -78,7 +79,7 @@ type AddrSel func(ctx context.Context, mi miner.MinerInfo, use api.AddrUse, good
|
|||||||
|
|
||||||
type Sealing struct {
|
type Sealing struct {
|
||||||
api SealingAPI
|
api SealingAPI
|
||||||
feeCfg FeeConfig
|
feeCfg config.MinerFeeConfig
|
||||||
events Events
|
events Events
|
||||||
|
|
||||||
maddr address.Address
|
maddr address.Address
|
||||||
@ -112,12 +113,6 @@ type Sealing struct {
|
|||||||
dealInfo *CurrentDealInfoManager
|
dealInfo *CurrentDealInfoManager
|
||||||
}
|
}
|
||||||
|
|
||||||
type FeeConfig struct {
|
|
||||||
MaxPreCommitGasFee abi.TokenAmount
|
|
||||||
MaxCommitGasFee abi.TokenAmount
|
|
||||||
MaxTerminateGasFee abi.TokenAmount
|
|
||||||
}
|
|
||||||
|
|
||||||
type openSector struct {
|
type openSector struct {
|
||||||
used abi.UnpaddedPieceSize // change to bitfield/rle when AddPiece gains offset support to better fill sectors
|
used abi.UnpaddedPieceSize // change to bitfield/rle when AddPiece gains offset support to better fill sectors
|
||||||
|
|
||||||
@ -134,7 +129,7 @@ type pendingPiece struct {
|
|||||||
accepted func(abi.SectorNumber, abi.UnpaddedPieceSize, error)
|
accepted func(abi.SectorNumber, abi.UnpaddedPieceSize, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(api SealingAPI, fc FeeConfig, events Events, maddr address.Address, ds datastore.Batching, sealer sectorstorage.SectorManager, sc SectorIDCounter, verif ffiwrapper.Verifier, prov ffiwrapper.Prover, pcp PreCommitPolicy, gc GetSealingConfigFunc, notifee SectorStateNotifee, as AddrSel) *Sealing {
|
func New(api SealingAPI, fc config.MinerFeeConfig, events Events, maddr address.Address, ds datastore.Batching, sealer sectorstorage.SectorManager, sc SectorIDCounter, verif ffiwrapper.Verifier, prov ffiwrapper.Prover, pcp PreCommitPolicy, gc GetSealingConfigFunc, notifee SectorStateNotifee, as AddrSel) *Sealing {
|
||||||
s := &Sealing{
|
s := &Sealing{
|
||||||
api: api,
|
api: api,
|
||||||
feeCfg: fc,
|
feeCfg: fc,
|
||||||
|
8
extern/storage-sealing/states_sealing.go
vendored
8
extern/storage-sealing/states_sealing.go
vendored
@ -334,7 +334,7 @@ func (m *Sealing) handlePreCommitting(ctx statemachine.Context, sector SectorInf
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
goodFunds := big.Add(deposit, m.feeCfg.MaxPreCommitGasFee)
|
goodFunds := big.Add(deposit, big.Int(m.feeCfg.MaxPreCommitGasFee))
|
||||||
|
|
||||||
from, _, err := m.addrSel(ctx.Context(), mi, api.PreCommitAddr, goodFunds, deposit)
|
from, _, err := m.addrSel(ctx.Context(), mi, api.PreCommitAddr, goodFunds, deposit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -342,7 +342,7 @@ func (m *Sealing) handlePreCommitting(ctx statemachine.Context, sector SectorInf
|
|||||||
}
|
}
|
||||||
|
|
||||||
log.Infof("submitting precommit for sector %d (deposit: %s): ", sector.SectorNumber, deposit)
|
log.Infof("submitting precommit for sector %d (deposit: %s): ", sector.SectorNumber, deposit)
|
||||||
mcid, err := m.api.SendMsg(ctx.Context(), from, m.maddr, miner.Methods.PreCommitSector, deposit, m.feeCfg.MaxPreCommitGasFee, enc.Bytes())
|
mcid, err := m.api.SendMsg(ctx.Context(), from, m.maddr, miner.Methods.PreCommitSector, deposit, big.Int(m.feeCfg.MaxPreCommitGasFee), enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if params.ReplaceCapacity {
|
if params.ReplaceCapacity {
|
||||||
m.remarkForUpgrade(params.ReplaceSectorNumber)
|
m.remarkForUpgrade(params.ReplaceSectorNumber)
|
||||||
@ -566,7 +566,7 @@ func (m *Sealing) handleSubmitCommit(ctx statemachine.Context, sector SectorInfo
|
|||||||
collateral = big.Zero()
|
collateral = big.Zero()
|
||||||
}
|
}
|
||||||
|
|
||||||
goodFunds := big.Add(collateral, m.feeCfg.MaxCommitGasFee)
|
goodFunds := big.Add(collateral, big.Int(m.feeCfg.MaxCommitGasFee))
|
||||||
|
|
||||||
from, _, err := m.addrSel(ctx.Context(), mi, api.CommitAddr, goodFunds, collateral)
|
from, _, err := m.addrSel(ctx.Context(), mi, api.CommitAddr, goodFunds, collateral)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -574,7 +574,7 @@ func (m *Sealing) handleSubmitCommit(ctx statemachine.Context, sector SectorInfo
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: check seed / ticket / deals are up to date
|
// TODO: check seed / ticket / deals are up to date
|
||||||
mcid, err := m.api.SendMsg(ctx.Context(), from, m.maddr, miner.Methods.ProveCommitSector, collateral, m.feeCfg.MaxCommitGasFee, enc.Bytes())
|
mcid, err := m.api.SendMsg(ctx.Context(), from, m.maddr, miner.Methods.ProveCommitSector, collateral, big.Int(m.feeCfg.MaxCommitGasFee), enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ctx.Send(SectorCommitFailed{xerrors.Errorf("pushing message to mpool: %w", err)})
|
return ctx.Send(SectorCommitFailed{xerrors.Errorf("pushing message to mpool: %w", err)})
|
||||||
}
|
}
|
||||||
|
9
extern/storage-sealing/terminate_batch.go
vendored
9
extern/storage-sealing/terminate_batch.go
vendored
@ -19,6 +19,7 @@ import (
|
|||||||
|
|
||||||
"github.com/filecoin-project/lotus/api"
|
"github.com/filecoin-project/lotus/api"
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
||||||
|
"github.com/filecoin-project/lotus/node/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
type TerminateBatcherApi interface {
|
type TerminateBatcherApi interface {
|
||||||
@ -34,7 +35,7 @@ type TerminateBatcher struct {
|
|||||||
maddr address.Address
|
maddr address.Address
|
||||||
mctx context.Context
|
mctx context.Context
|
||||||
addrSel AddrSel
|
addrSel AddrSel
|
||||||
feeCfg FeeConfig
|
feeCfg config.MinerFeeConfig
|
||||||
getConfig GetSealingConfigFunc
|
getConfig GetSealingConfigFunc
|
||||||
|
|
||||||
todo map[SectorLocation]*bitfield.BitField // MinerSectorLocation -> BitField
|
todo map[SectorLocation]*bitfield.BitField // MinerSectorLocation -> BitField
|
||||||
@ -46,7 +47,7 @@ type TerminateBatcher struct {
|
|||||||
lk sync.Mutex
|
lk sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewTerminationBatcher(mctx context.Context, maddr address.Address, api TerminateBatcherApi, addrSel AddrSel, feeCfg FeeConfig, getConfig GetSealingConfigFunc) *TerminateBatcher {
|
func NewTerminationBatcher(mctx context.Context, maddr address.Address, api TerminateBatcherApi, addrSel AddrSel, feeCfg config.MinerFeeConfig, getConfig GetSealingConfigFunc) *TerminateBatcher {
|
||||||
b := &TerminateBatcher{
|
b := &TerminateBatcher{
|
||||||
api: api,
|
api: api,
|
||||||
maddr: maddr,
|
maddr: maddr,
|
||||||
@ -214,12 +215,12 @@ func (b *TerminateBatcher) processBatch(notif, after bool) (*cid.Cid, error) {
|
|||||||
return nil, xerrors.Errorf("couldn't get miner info: %w", err)
|
return nil, xerrors.Errorf("couldn't get miner info: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
from, _, err := b.addrSel(b.mctx, mi, api.TerminateSectorsAddr, b.feeCfg.MaxTerminateGasFee, b.feeCfg.MaxTerminateGasFee)
|
from, _, err := b.addrSel(b.mctx, mi, api.TerminateSectorsAddr, big.Int(b.feeCfg.MaxTerminateGasFee), big.Int(b.feeCfg.MaxTerminateGasFee))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("no good address found: %w", err)
|
return nil, xerrors.Errorf("no good address found: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.TerminateSectors, big.Zero(), b.feeCfg.MaxTerminateGasFee, enc.Bytes())
|
mcid, err := b.api.SendMsg(b.mctx, from, b.maddr, miner.Methods.TerminateSectors, big.Zero(), big.Int(b.feeCfg.MaxTerminateGasFee), enc.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("sending message failed: %w", err)
|
return nil, xerrors.Errorf("sending message failed: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ import (
|
|||||||
|
|
||||||
"github.com/ipfs/go-cid"
|
"github.com/ipfs/go-cid"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/go-state-types/abi"
|
||||||
|
"github.com/filecoin-project/go-state-types/big"
|
||||||
miner5 "github.com/filecoin-project/specs-actors/v5/actors/builtin/miner"
|
miner5 "github.com/filecoin-project/specs-actors/v5/actors/builtin/miner"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
@ -114,9 +116,23 @@ type SealingConfig struct {
|
|||||||
// todo TargetSectors - stop auto-pleding new sectors after this many sectors are sealed, default CC upgrade for deals sectors if above
|
// todo TargetSectors - stop auto-pleding new sectors after this many sectors are sealed, default CC upgrade for deals sectors if above
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BatchFeeConfig struct {
|
||||||
|
Base types.FIL
|
||||||
|
PerSector types.FIL
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *BatchFeeConfig) FeeForSectors(nSectors int) abi.TokenAmount {
|
||||||
|
return big.Add(big.Int(b.Base), big.Mul(big.NewInt(int64(nSectors)), big.Int(b.PerSector)))
|
||||||
|
}
|
||||||
|
|
||||||
type MinerFeeConfig struct {
|
type MinerFeeConfig struct {
|
||||||
MaxPreCommitGasFee types.FIL
|
MaxPreCommitGasFee types.FIL
|
||||||
MaxCommitGasFee types.FIL
|
MaxCommitGasFee types.FIL
|
||||||
|
|
||||||
|
// maxBatchFee = maxBase + maxPerSector * nSectors
|
||||||
|
MaxPreCommitBatchGasFee BatchFeeConfig
|
||||||
|
MaxCommitBatchGasFee BatchFeeConfig
|
||||||
|
|
||||||
MaxTerminateGasFee types.FIL
|
MaxTerminateGasFee types.FIL
|
||||||
MaxWindowPoStGasFee types.FIL
|
MaxWindowPoStGasFee types.FIL
|
||||||
MaxPublishDealsFee types.FIL
|
MaxPublishDealsFee types.FIL
|
||||||
@ -309,8 +325,18 @@ func DefaultStorageMiner() *StorageMiner {
|
|||||||
},
|
},
|
||||||
|
|
||||||
Fees: MinerFeeConfig{
|
Fees: MinerFeeConfig{
|
||||||
MaxPreCommitGasFee: types.MustParseFIL("0.025"),
|
MaxPreCommitGasFee: types.MustParseFIL("0.025"),
|
||||||
MaxCommitGasFee: types.MustParseFIL("0.05"),
|
MaxCommitGasFee: types.MustParseFIL("0.05"),
|
||||||
|
|
||||||
|
MaxPreCommitBatchGasFee: BatchFeeConfig{
|
||||||
|
Base: types.MustParseFIL("0.025"), // todo: come up with good values
|
||||||
|
PerSector: types.MustParseFIL("0.025"),
|
||||||
|
},
|
||||||
|
MaxCommitBatchGasFee: BatchFeeConfig{
|
||||||
|
Base: types.MustParseFIL("0.05"),
|
||||||
|
PerSector: types.MustParseFIL("0.05"),
|
||||||
|
},
|
||||||
|
|
||||||
MaxTerminateGasFee: types.MustParseFIL("0.5"),
|
MaxTerminateGasFee: types.MustParseFIL("0.5"),
|
||||||
MaxWindowPoStGasFee: types.MustParseFIL("5"),
|
MaxWindowPoStGasFee: types.MustParseFIL("5"),
|
||||||
MaxPublishDealsFee: types.MustParseFIL("0.05"),
|
MaxPublishDealsFee: types.MustParseFIL("0.05"),
|
||||||
|
@ -171,12 +171,6 @@ func (m *Miner) Run(ctx context.Context) error {
|
|||||||
return xerrors.Errorf("getting miner info: %w", err)
|
return xerrors.Errorf("getting miner info: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
fc := sealing.FeeConfig{
|
|
||||||
MaxPreCommitGasFee: abi.TokenAmount(m.feeCfg.MaxPreCommitGasFee),
|
|
||||||
MaxCommitGasFee: abi.TokenAmount(m.feeCfg.MaxCommitGasFee),
|
|
||||||
MaxTerminateGasFee: abi.TokenAmount(m.feeCfg.MaxTerminateGasFee),
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// consumer of chain head changes.
|
// consumer of chain head changes.
|
||||||
evts = events.NewEvents(ctx, m.api)
|
evts = events.NewEvents(ctx, m.api)
|
||||||
@ -205,7 +199,7 @@ func (m *Miner) Run(ctx context.Context) error {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Instantiate the sealing FSM.
|
// Instantiate the sealing FSM.
|
||||||
m.sealing = sealing.New(adaptedAPI, fc, evtsAdapter, m.maddr, m.ds, m.sealer, m.sc, m.verif, m.prover, &pcp, cfg, m.handleSealingNotifications, as)
|
m.sealing = sealing.New(adaptedAPI, m.feeCfg, evtsAdapter, m.maddr, m.ds, m.sealer, m.sc, m.verif, m.prover, &pcp, cfg, m.handleSealingNotifications, as)
|
||||||
|
|
||||||
// Run the sealing FSM.
|
// Run the sealing FSM.
|
||||||
go m.sealing.Run(ctx) //nolint:errcheck // logged intside the function
|
go m.sealing.Run(ctx) //nolint:errcheck // logged intside the function
|
||||||
|
Loading…
Reference in New Issue
Block a user