From 39fe73f760b838aa12b20519db5d0c7aac33e9cc Mon Sep 17 00:00:00 2001 From: lightclient Date: Tue, 16 Sep 2025 09:40:44 +0200 Subject: [PATCH 1/2] core: base readiness on next configured fork --- core/blockchain.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/core/blockchain.go b/core/blockchain.go index c97897cd701c..e0b663a0f62e 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -21,7 +21,6 @@ import ( "errors" "fmt" "io" - "math" "math/big" "runtime" "slices" @@ -2659,13 +2658,11 @@ func (bc *BlockChain) reportBlock(block *types.Block, res *ProcessResult, err er // logForkReadiness will write a log when a future fork is scheduled, but not // active. This is useful so operators know their client is ready for the fork. func (bc *BlockChain) logForkReadiness(block *types.Block) { - config := bc.Config() - current, last := config.LatestFork(block.Time()), config.LatestFork(math.MaxUint64) + current := bc.Config().LatestFork(block.Time()) - // Short circuit if the timestamp of the last fork is undefined, - // or if the network has already passed the last configured fork. - t := config.Timestamp(last) - if t == nil || current >= last { + // Short circuit if the timestamp of the last fork is undefined. + t := bc.Config().Timestamp(current + 1) + if t == nil { return } at := time.Unix(int64(*t), 0) @@ -2675,7 +2672,7 @@ func (bc *BlockChain) logForkReadiness(block *types.Block) { // - Enough time has passed since last alert now := time.Now() if now.Before(at) && now.After(bc.lastForkReadyAlert.Add(forkReadyInterval)) { - log.Info("Ready for fork activation", "fork", last, "date", at.Format(time.RFC822), + log.Info("Ready for fork activation", "fork", current+1, "date", at.Format(time.RFC822), "remaining", time.Until(at).Round(time.Second), "timestamp", at.Unix()) bc.lastForkReadyAlert = time.Now() } From 4a0932d0c775709503c71e67dc84dd04cc7099eb Mon Sep 17 00:00:00 2001 From: lightclient Date: Tue, 16 Sep 2025 09:41:08 +0200 Subject: [PATCH 2/2] params/forks: add BPOs to fork<>string lookup --- params/forks/forks.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/params/forks/forks.go b/params/forks/forks.go index aab0a54ab783..adb65c862419 100644 --- a/params/forks/forks.go +++ b/params/forks/forks.go @@ -77,4 +77,9 @@ var forkToString = map[Fork]string{ Cancun: "Cancun", Prague: "Prague", Osaka: "Osaka", + BPO1: "BPO1", + BPO2: "BPO2", + BPO3: "BPO3", + BPO4: "BPO4", + BPO5: "BPO5", }