diff --git a/node/modules/storageminer.go b/node/modules/storageminer.go index 5eab2ec6202..95bfb6c115a 100644 --- a/node/modules/storageminer.go +++ b/node/modules/storageminer.go @@ -44,6 +44,7 @@ import ( paramfetch "github.com/filecoin-project/go-paramfetch" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-storedcounter" + "github.com/filecoin-project/specs-actors/actors/builtin" sectorstorage "github.com/filecoin-project/lotus/extern/sector-storage" "github.com/filecoin-project/lotus/extern/sector-storage/ffiwrapper" @@ -468,6 +469,13 @@ func BasicDealFilter(user dtypes.DealFilter) func(onlineOk dtypes.ConsiderOnline return false, fmt.Sprintf("cannot seal a sector before %s", deal.Proposal.StartEpoch), nil } + // Reject if it's more than 7 days in the future + // TODO: read from cfg + maxStartEpoch := ht + abi.ChainEpoch(7*builtin.EpochsInDay) + if deal.Proposal.StartEpoch > maxStartEpoch { + return false, fmt.Sprintf("deal start epoch is too far in the future: %s > %s", deal.Proposal.StartEpoch, maxStartEpoch), nil + } + if user != nil { return user(ctx, deal) }