From 1528af9551245cfe3b75a7adc455456c2b2ca6ed Mon Sep 17 00:00:00 2001 From: panos Date: Mon, 2 Mar 2026 09:41:59 +0800 Subject: [PATCH] fix: add missing hardfork timestamps to mainnet and hoodi genesis The genesis.json files were missing the timestamp-based hardfork activation fields. When geth starts with --morph/--morph-hoodi flags, it overrides the stored config with the hardcoded MorphMainnetChainConfig / MorphHoodiChainConfig, so sync still works for geth. However, other clients (e.g. morph-reth) that rely purely on genesis.json to determine hardfork activation would silently skip these hardforks. Mainnet (chain ID 2818) - from go-ethereum MorphMainnetChainConfig: morph203Time: 1747029600 (2025-05-12) viridianTime: 1762149600 (2025-10-04) emeraldTime: 1767765600 (2026-01-07) Hoodi (chain ID 2910) - from go-ethereum MorphHoodiChainConfig: viridianTime: 1761544800 (2025-10-27) emeraldTime: 1766988000 (2025-12-29) (morph203Time: 0 was already present) Verified: geth init succeeds with unchanged genesis hashes. --- hoodi/geth-data/genesis.json | 2 ++ mainnet/geth-data/genesis.json | 3 +++ 2 files changed, 5 insertions(+) diff --git a/hoodi/geth-data/genesis.json b/hoodi/geth-data/genesis.json index 4ba4c05..f2e3c3e 100644 --- a/hoodi/geth-data/genesis.json +++ b/hoodi/geth-data/genesis.json @@ -18,6 +18,8 @@ "curieBlock": 0, "terminalTotalDifficulty": 0, "morph203Time": 0, + "viridianTime": 1761544800, + "emeraldTime": 1766988000, "morph": { "useZktrie": true, "maxTxPayloadBytesPerBlock": 122880, diff --git a/mainnet/geth-data/genesis.json b/mainnet/geth-data/genesis.json index 4f70885..bcc61f0 100644 --- a/mainnet/geth-data/genesis.json +++ b/mainnet/geth-data/genesis.json @@ -16,6 +16,9 @@ "shanghaiBlock": 0, "bernoulliBlock": 0, "curieBlock": 0, + "morph203Time": 1747029600, + "viridianTime": 1762149600, + "emeraldTime": 1767765600, "terminalTotalDifficulty": 0, "morph": { "useZktrie": true,