From c578efaabdf6c48ad27d6534603380d0261fe15a Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Fri, 7 Jan 2022 18:05:36 -0500 Subject: [PATCH] Disable mark-for-upgrade two days before the network v15 OhSnap upgrade to avoid unexpected edge cases that may cause deal/sector failure --- cmd/lotus-miner/sectors.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/lotus-miner/sectors.go b/cmd/lotus-miner/sectors.go index 629ff7903..199869eaf 100644 --- a/cmd/lotus-miner/sectors.go +++ b/cmd/lotus-miner/sectors.go @@ -5,6 +5,8 @@ import ( "encoding/json" "errors" "fmt" + "github.com/filecoin-project/lotus/build" + "github.com/filecoin-project/lotus/chain/actors/builtin" "os" "sort" "strconv" @@ -1547,6 +1549,17 @@ var sectorsMarkForUpgradeCmd = &cli.Command{ return xerrors.Errorf("classic cc upgrades disabled v15 and beyond, use `snap-up`") } + head, err := api.ChainHead(ctx) + if err != nil { + return xerrors.Errorf("failed to get chain head: %w", err) + } + + twoDays := abi.ChainEpoch(2 * builtin.EpochsInDay) + if head.Height() > (build.UpgradeSnapDealsHeight - twoDays) { + return xerrors.Errorf("OhSnap is coming soon, " + + "please use `snap-up` to upgrade your cc sectors after the network v15 upgrade!") + } + id, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64) if err != nil { return xerrors.Errorf("could not parse sector number: %w", err)