config: extract DealmakingConfig and Sealing config from Lotus for Boost (#8172)
* refactor sealingCfg and dealmakingCfg to be able to abstract Config * fix error messages
This commit is contained in:
parent
066d0edf51
commit
acbfc879aa
@ -175,13 +175,13 @@ func GetAPIInfo(ctx *cli.Context, t repo.RepoType) (APIInfo, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return APIInfo{}, fmt.Errorf("could not determine API endpoint for node type: %v", t)
|
return APIInfo{}, fmt.Errorf("could not determine API endpoint for node type: %v", t.Type())
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http.Header, error) {
|
func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http.Header, error) {
|
||||||
ainfo, err := GetAPIInfo(ctx, t)
|
ainfo, err := GetAPIInfo(ctx, t)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", nil, xerrors.Errorf("could not get API info for %s: %w", t, err)
|
return "", nil, xerrors.Errorf("could not get API info for %s: %w", t.Type(), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
addr, err := ainfo.DialArgs(version)
|
addr, err := ainfo.DialArgs(version)
|
||||||
|
@ -39,7 +39,7 @@ func TestDealsWithFinalizeEarly(t *testing.T) {
|
|||||||
return func() (sealiface.Config, error) {
|
return func() (sealiface.Config, error) {
|
||||||
cf := config.DefaultStorageMiner()
|
cf := config.DefaultStorageMiner()
|
||||||
cf.Sealing.FinalizeEarly = true
|
cf.Sealing.FinalizeEarly = true
|
||||||
return modules.ToSealingConfig(cf), nil
|
return modules.ToSealingConfig(cf.Dealmaking, cf.Sealing), nil
|
||||||
}, nil
|
}, nil
|
||||||
})))) // no mock proofs.
|
})))) // no mock proofs.
|
||||||
ens.InterconnectAll().BeginMining(blockTime)
|
ens.InterconnectAll().BeginMining(blockTime)
|
||||||
|
@ -340,6 +340,14 @@ see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-f
|
|||||||
Comment: ``,
|
Comment: ``,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"DealmakingConfiger interface": []DocField{
|
||||||
|
{
|
||||||
|
Name: "GetDealmakingConfig()",
|
||||||
|
Type: "DealmakingConfig",
|
||||||
|
|
||||||
|
Comment: ``,
|
||||||
|
},
|
||||||
|
},
|
||||||
"FeeConfig": []DocField{
|
"FeeConfig": []DocField{
|
||||||
{
|
{
|
||||||
Name: "DefaultMaxFee",
|
Name: "DefaultMaxFee",
|
||||||
@ -798,6 +806,14 @@ submitting proofs to the chain individually`,
|
|||||||
Comment: ``,
|
Comment: ``,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"SealingConfiger interface": []DocField{
|
||||||
|
{
|
||||||
|
Name: "GetSealingConfig()",
|
||||||
|
Type: "SealingConfig",
|
||||||
|
|
||||||
|
Comment: ``,
|
||||||
|
},
|
||||||
|
},
|
||||||
"Splitstore": []DocField{
|
"Splitstore": []DocField{
|
||||||
{
|
{
|
||||||
Name: "ColdStoreType",
|
Name: "ColdStoreType",
|
||||||
|
@ -52,6 +52,32 @@ type StorageMiner struct {
|
|||||||
DAGStore DAGStoreConfig
|
DAGStore DAGStoreConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DealmakingConfiger interface {
|
||||||
|
GetDealmakingConfig() DealmakingConfig
|
||||||
|
SetDealmakingConfig(DealmakingConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *StorageMiner) GetDealmakingConfig() DealmakingConfig {
|
||||||
|
return c.Dealmaking
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *StorageMiner) SetDealmakingConfig(other DealmakingConfig) {
|
||||||
|
c.Dealmaking = other
|
||||||
|
}
|
||||||
|
|
||||||
|
type SealingConfiger interface {
|
||||||
|
GetSealingConfig() SealingConfig
|
||||||
|
SetSealingConfig(SealingConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *StorageMiner) GetSealingConfig() SealingConfig {
|
||||||
|
return c.Sealing
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *StorageMiner) SetSealingConfig(other SealingConfig) {
|
||||||
|
c.Sealing = other
|
||||||
|
}
|
||||||
|
|
||||||
type DAGStoreConfig struct {
|
type DAGStoreConfig struct {
|
||||||
// Path to the dagstore root directory. This directory contains three
|
// Path to the dagstore root directory. This directory contains three
|
||||||
// subdirectories, which can be symlinked to alternative locations if
|
// subdirectories, which can be symlinked to alternative locations if
|
||||||
|
@ -758,8 +758,9 @@ func StorageAuthWithURL(apiInfo string) func(ctx helpers.MetricsCtx, ca v0api.Co
|
|||||||
|
|
||||||
func NewConsiderOnlineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOnlineStorageDealsConfigFunc, error) {
|
func NewConsiderOnlineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOnlineStorageDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderOnlineStorageDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderOnlineStorageDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -767,8 +768,10 @@ func NewConsiderOnlineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.Consider
|
|||||||
|
|
||||||
func NewSetConsideringOnlineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderOnlineStorageDealsConfigFunc, error) {
|
func NewSetConsideringOnlineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderOnlineStorageDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderOnlineStorageDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderOnlineStorageDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -776,8 +779,9 @@ func NewSetConsideringOnlineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsi
|
|||||||
|
|
||||||
func NewConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOnlineRetrievalDealsConfigFunc, error) {
|
func NewConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOnlineRetrievalDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderOnlineRetrievalDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderOnlineRetrievalDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -785,8 +789,10 @@ func NewConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.Consid
|
|||||||
|
|
||||||
func NewSetConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.SetConsiderOnlineRetrievalDealsConfigFunc, error) {
|
func NewSetConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.SetConsiderOnlineRetrievalDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderOnlineRetrievalDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderOnlineRetrievalDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -794,8 +800,9 @@ func NewSetConsiderOnlineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.Set
|
|||||||
|
|
||||||
func NewStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.StorageDealPieceCidBlocklistConfigFunc, error) {
|
func NewStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.StorageDealPieceCidBlocklistConfigFunc, error) {
|
||||||
return func() (out []cid.Cid, err error) {
|
return func() (out []cid.Cid, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.PieceCidBlocklist
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.PieceCidBlocklist
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -803,8 +810,10 @@ func NewStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.Storag
|
|||||||
|
|
||||||
func NewSetStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.SetStorageDealPieceCidBlocklistConfigFunc, error) {
|
func NewSetStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.SetStorageDealPieceCidBlocklistConfigFunc, error) {
|
||||||
return func(blocklist []cid.Cid) (err error) {
|
return func(blocklist []cid.Cid) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.PieceCidBlocklist = blocklist
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.PieceCidBlocklist = blocklist
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -812,8 +821,9 @@ func NewSetStorageDealPieceCidBlocklistConfigFunc(r repo.LockedRepo) (dtypes.Set
|
|||||||
|
|
||||||
func NewConsiderOfflineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOfflineStorageDealsConfigFunc, error) {
|
func NewConsiderOfflineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOfflineStorageDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderOfflineStorageDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderOfflineStorageDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -821,8 +831,10 @@ func NewConsiderOfflineStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.Conside
|
|||||||
|
|
||||||
func NewSetConsideringOfflineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderOfflineStorageDealsConfigFunc, error) {
|
func NewSetConsideringOfflineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderOfflineStorageDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderOfflineStorageDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderOfflineStorageDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -830,8 +842,9 @@ func NewSetConsideringOfflineStorageDealsFunc(r repo.LockedRepo) (dtypes.SetCons
|
|||||||
|
|
||||||
func NewConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOfflineRetrievalDealsConfigFunc, error) {
|
func NewConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderOfflineRetrievalDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderOfflineRetrievalDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderOfflineRetrievalDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -839,8 +852,10 @@ func NewConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.Consi
|
|||||||
|
|
||||||
func NewSetConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.SetConsiderOfflineRetrievalDealsConfigFunc, error) {
|
func NewSetConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.SetConsiderOfflineRetrievalDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderOfflineRetrievalDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderOfflineRetrievalDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -848,8 +863,9 @@ func NewSetConsiderOfflineRetrievalDealsConfigFunc(r repo.LockedRepo) (dtypes.Se
|
|||||||
|
|
||||||
func NewConsiderVerifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderVerifiedStorageDealsConfigFunc, error) {
|
func NewConsiderVerifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderVerifiedStorageDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderVerifiedStorageDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderVerifiedStorageDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -857,8 +873,10 @@ func NewConsiderVerifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.Consid
|
|||||||
|
|
||||||
func NewSetConsideringVerifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderVerifiedStorageDealsConfigFunc, error) {
|
func NewSetConsideringVerifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderVerifiedStorageDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderVerifiedStorageDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderVerifiedStorageDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -866,8 +884,9 @@ func NewSetConsideringVerifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetCon
|
|||||||
|
|
||||||
func NewConsiderUnverifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderUnverifiedStorageDealsConfigFunc, error) {
|
func NewConsiderUnverifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.ConsiderUnverifiedStorageDealsConfigFunc, error) {
|
||||||
return func() (out bool, err error) {
|
return func() (out bool, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = cfg.Dealmaking.ConsiderUnverifiedStorageDeals
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = cfg.ConsiderUnverifiedStorageDeals
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -875,8 +894,10 @@ func NewConsiderUnverifiedStorageDealsConfigFunc(r repo.LockedRepo) (dtypes.Cons
|
|||||||
|
|
||||||
func NewSetConsideringUnverifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderUnverifiedStorageDealsConfigFunc, error) {
|
func NewSetConsideringUnverifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetConsiderUnverifiedStorageDealsConfigFunc, error) {
|
||||||
return func(b bool) (err error) {
|
return func(b bool) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ConsiderUnverifiedStorageDeals = b
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ConsiderUnverifiedStorageDeals = b
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -884,8 +905,8 @@ func NewSetConsideringUnverifiedStorageDealsFunc(r repo.LockedRepo) (dtypes.SetC
|
|||||||
|
|
||||||
func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error) {
|
func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error) {
|
||||||
return func(cfg sealiface.Config) (err error) {
|
return func(cfg sealiface.Config) (err error) {
|
||||||
err = mutateCfg(r, func(c *config.StorageMiner) {
|
err = mutateSealingCfg(r, func(c config.SealingConfiger) {
|
||||||
c.Sealing = config.SealingConfig{
|
newCfg := config.SealingConfig{
|
||||||
MaxWaitDealsSectors: cfg.MaxWaitDealsSectors,
|
MaxWaitDealsSectors: cfg.MaxWaitDealsSectors,
|
||||||
MaxSealingSectors: cfg.MaxSealingSectors,
|
MaxSealingSectors: cfg.MaxSealingSectors,
|
||||||
MaxSealingSectorsForDeals: cfg.MaxSealingSectorsForDeals,
|
MaxSealingSectorsForDeals: cfg.MaxSealingSectorsForDeals,
|
||||||
@ -915,50 +936,53 @@ func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error
|
|||||||
TerminateBatchMin: cfg.TerminateBatchMin,
|
TerminateBatchMin: cfg.TerminateBatchMin,
|
||||||
TerminateBatchWait: config.Duration(cfg.TerminateBatchWait),
|
TerminateBatchWait: config.Duration(cfg.TerminateBatchWait),
|
||||||
}
|
}
|
||||||
|
c.SetSealingConfig(newCfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ToSealingConfig(cfg *config.StorageMiner) sealiface.Config {
|
func ToSealingConfig(dealmakingCfg config.DealmakingConfig, sealingCfg config.SealingConfig) sealiface.Config {
|
||||||
return sealiface.Config{
|
return sealiface.Config{
|
||||||
MaxWaitDealsSectors: cfg.Sealing.MaxWaitDealsSectors,
|
MaxWaitDealsSectors: sealingCfg.MaxWaitDealsSectors,
|
||||||
MaxSealingSectors: cfg.Sealing.MaxSealingSectors,
|
MaxSealingSectors: sealingCfg.MaxSealingSectors,
|
||||||
MaxSealingSectorsForDeals: cfg.Sealing.MaxSealingSectorsForDeals,
|
MaxSealingSectorsForDeals: sealingCfg.MaxSealingSectorsForDeals,
|
||||||
StartEpochSealingBuffer: abi.ChainEpoch(cfg.Dealmaking.StartEpochSealingBuffer),
|
StartEpochSealingBuffer: abi.ChainEpoch(dealmakingCfg.StartEpochSealingBuffer),
|
||||||
MakeNewSectorForDeals: cfg.Dealmaking.MakeNewSectorForDeals,
|
MakeNewSectorForDeals: dealmakingCfg.MakeNewSectorForDeals,
|
||||||
CommittedCapacitySectorLifetime: time.Duration(cfg.Sealing.CommittedCapacitySectorLifetime),
|
CommittedCapacitySectorLifetime: time.Duration(sealingCfg.CommittedCapacitySectorLifetime),
|
||||||
WaitDealsDelay: time.Duration(cfg.Sealing.WaitDealsDelay),
|
WaitDealsDelay: time.Duration(sealingCfg.WaitDealsDelay),
|
||||||
AlwaysKeepUnsealedCopy: cfg.Sealing.AlwaysKeepUnsealedCopy,
|
AlwaysKeepUnsealedCopy: sealingCfg.AlwaysKeepUnsealedCopy,
|
||||||
FinalizeEarly: cfg.Sealing.FinalizeEarly,
|
FinalizeEarly: sealingCfg.FinalizeEarly,
|
||||||
|
|
||||||
CollateralFromMinerBalance: cfg.Sealing.CollateralFromMinerBalance,
|
CollateralFromMinerBalance: sealingCfg.CollateralFromMinerBalance,
|
||||||
AvailableBalanceBuffer: types.BigInt(cfg.Sealing.AvailableBalanceBuffer),
|
AvailableBalanceBuffer: types.BigInt(sealingCfg.AvailableBalanceBuffer),
|
||||||
DisableCollateralFallback: cfg.Sealing.DisableCollateralFallback,
|
DisableCollateralFallback: sealingCfg.DisableCollateralFallback,
|
||||||
|
|
||||||
BatchPreCommits: cfg.Sealing.BatchPreCommits,
|
BatchPreCommits: sealingCfg.BatchPreCommits,
|
||||||
MaxPreCommitBatch: cfg.Sealing.MaxPreCommitBatch,
|
MaxPreCommitBatch: sealingCfg.MaxPreCommitBatch,
|
||||||
PreCommitBatchWait: time.Duration(cfg.Sealing.PreCommitBatchWait),
|
PreCommitBatchWait: time.Duration(sealingCfg.PreCommitBatchWait),
|
||||||
PreCommitBatchSlack: time.Duration(cfg.Sealing.PreCommitBatchSlack),
|
PreCommitBatchSlack: time.Duration(sealingCfg.PreCommitBatchSlack),
|
||||||
|
|
||||||
AggregateCommits: cfg.Sealing.AggregateCommits,
|
AggregateCommits: sealingCfg.AggregateCommits,
|
||||||
MinCommitBatch: cfg.Sealing.MinCommitBatch,
|
MinCommitBatch: sealingCfg.MinCommitBatch,
|
||||||
MaxCommitBatch: cfg.Sealing.MaxCommitBatch,
|
MaxCommitBatch: sealingCfg.MaxCommitBatch,
|
||||||
CommitBatchWait: time.Duration(cfg.Sealing.CommitBatchWait),
|
CommitBatchWait: time.Duration(sealingCfg.CommitBatchWait),
|
||||||
CommitBatchSlack: time.Duration(cfg.Sealing.CommitBatchSlack),
|
CommitBatchSlack: time.Duration(sealingCfg.CommitBatchSlack),
|
||||||
AggregateAboveBaseFee: types.BigInt(cfg.Sealing.AggregateAboveBaseFee),
|
AggregateAboveBaseFee: types.BigInt(sealingCfg.AggregateAboveBaseFee),
|
||||||
BatchPreCommitAboveBaseFee: types.BigInt(cfg.Sealing.BatchPreCommitAboveBaseFee),
|
BatchPreCommitAboveBaseFee: types.BigInt(sealingCfg.BatchPreCommitAboveBaseFee),
|
||||||
|
|
||||||
TerminateBatchMax: cfg.Sealing.TerminateBatchMax,
|
TerminateBatchMax: sealingCfg.TerminateBatchMax,
|
||||||
TerminateBatchMin: cfg.Sealing.TerminateBatchMin,
|
TerminateBatchMin: sealingCfg.TerminateBatchMin,
|
||||||
TerminateBatchWait: time.Duration(cfg.Sealing.TerminateBatchWait),
|
TerminateBatchWait: time.Duration(sealingCfg.TerminateBatchWait),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGetSealConfigFunc(r repo.LockedRepo) (dtypes.GetSealingConfigFunc, error) {
|
func NewGetSealConfigFunc(r repo.LockedRepo) (dtypes.GetSealingConfigFunc, error) {
|
||||||
return func() (out sealiface.Config, err error) {
|
return func() (out sealiface.Config, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readSealingCfg(r, func(dc config.DealmakingConfiger, sc config.SealingConfiger) {
|
||||||
out = ToSealingConfig(cfg)
|
scfg := sc.GetSealingConfig()
|
||||||
|
dcfg := dc.GetDealmakingConfig()
|
||||||
|
out = ToSealingConfig(dcfg, scfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -966,8 +990,10 @@ func NewGetSealConfigFunc(r repo.LockedRepo) (dtypes.GetSealingConfigFunc, error
|
|||||||
|
|
||||||
func NewSetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.SetExpectedSealDurationFunc, error) {
|
func NewSetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.SetExpectedSealDurationFunc, error) {
|
||||||
return func(delay time.Duration) (err error) {
|
return func(delay time.Duration) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.ExpectedSealDuration = config.Duration(delay)
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.ExpectedSealDuration = config.Duration(delay)
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -975,8 +1001,9 @@ func NewSetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.SetExpectedSealDu
|
|||||||
|
|
||||||
func NewGetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.GetExpectedSealDurationFunc, error) {
|
func NewGetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.GetExpectedSealDurationFunc, error) {
|
||||||
return func() (out time.Duration, err error) {
|
return func() (out time.Duration, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = time.Duration(cfg.Dealmaking.ExpectedSealDuration)
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = time.Duration(cfg.ExpectedSealDuration)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -984,8 +1011,10 @@ func NewGetExpectedSealDurationFunc(r repo.LockedRepo) (dtypes.GetExpectedSealDu
|
|||||||
|
|
||||||
func NewSetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.SetMaxDealStartDelayFunc, error) {
|
func NewSetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.SetMaxDealStartDelayFunc, error) {
|
||||||
return func(delay time.Duration) (err error) {
|
return func(delay time.Duration) (err error) {
|
||||||
err = mutateCfg(r, func(cfg *config.StorageMiner) {
|
err = mutateDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
cfg.Dealmaking.MaxDealStartDelay = config.Duration(delay)
|
cfg := c.GetDealmakingConfig()
|
||||||
|
cfg.MaxDealStartDelay = config.Duration(delay)
|
||||||
|
c.SetDealmakingConfig(cfg)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
@ -993,22 +1022,60 @@ func NewSetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.SetMaxDealStartDelay
|
|||||||
|
|
||||||
func NewGetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.GetMaxDealStartDelayFunc, error) {
|
func NewGetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.GetMaxDealStartDelayFunc, error) {
|
||||||
return func() (out time.Duration, err error) {
|
return func() (out time.Duration, err error) {
|
||||||
err = readCfg(r, func(cfg *config.StorageMiner) {
|
err = readDealmakingCfg(r, func(c config.DealmakingConfiger) {
|
||||||
out = time.Duration(cfg.Dealmaking.MaxDealStartDelay)
|
cfg := c.GetDealmakingConfig()
|
||||||
|
out = time.Duration(cfg.MaxDealStartDelay)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readCfg(r repo.LockedRepo, accessor func(*config.StorageMiner)) error {
|
func readSealingCfg(r repo.LockedRepo, accessor func(config.DealmakingConfiger, config.SealingConfiger)) error {
|
||||||
raw, err := r.Config()
|
raw, err := r.Config()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg, ok := raw.(*config.StorageMiner)
|
scfg, ok := raw.(config.SealingConfiger)
|
||||||
if !ok {
|
if !ok {
|
||||||
return xerrors.New("expected address of config.StorageMiner")
|
return xerrors.New("expected config with sealing config trait")
|
||||||
|
}
|
||||||
|
|
||||||
|
dcfg, ok := raw.(config.DealmakingConfiger)
|
||||||
|
if !ok {
|
||||||
|
return xerrors.New("expected config with dealmaking config trait")
|
||||||
|
}
|
||||||
|
|
||||||
|
accessor(dcfg, scfg)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func mutateSealingCfg(r repo.LockedRepo, mutator func(config.SealingConfiger)) error {
|
||||||
|
var typeErr error
|
||||||
|
|
||||||
|
setConfigErr := r.SetConfig(func(raw interface{}) {
|
||||||
|
cfg, ok := raw.(config.SealingConfiger)
|
||||||
|
if !ok {
|
||||||
|
typeErr = errors.New("expected config with sealing config trait")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
mutator(cfg)
|
||||||
|
})
|
||||||
|
|
||||||
|
return multierr.Combine(typeErr, setConfigErr)
|
||||||
|
}
|
||||||
|
|
||||||
|
func readDealmakingCfg(r repo.LockedRepo, accessor func(config.DealmakingConfiger)) error {
|
||||||
|
raw, err := r.Config()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg, ok := raw.(config.DealmakingConfiger)
|
||||||
|
if !ok {
|
||||||
|
return xerrors.New("expected config with dealmaking config trait")
|
||||||
}
|
}
|
||||||
|
|
||||||
accessor(cfg)
|
accessor(cfg)
|
||||||
@ -1016,13 +1083,13 @@ func readCfg(r repo.LockedRepo, accessor func(*config.StorageMiner)) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func mutateCfg(r repo.LockedRepo, mutator func(*config.StorageMiner)) error {
|
func mutateDealmakingCfg(r repo.LockedRepo, mutator func(config.DealmakingConfiger)) error {
|
||||||
var typeErr error
|
var typeErr error
|
||||||
|
|
||||||
setConfigErr := r.SetConfig(func(raw interface{}) {
|
setConfigErr := r.SetConfig(func(raw interface{}) {
|
||||||
cfg, ok := raw.(*config.StorageMiner)
|
cfg, ok := raw.(config.DealmakingConfiger)
|
||||||
if !ok {
|
if !ok {
|
||||||
typeErr = errors.New("expected miner config")
|
typeErr = errors.New("expected config with dealmaking config trait")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user