diff --git a/changelog/inherit-fork-time-from-input-genesis.md b/changelog/inherit-fork-time-from-input-genesis.md new file mode 100644 index 000000000000..6c1bbc3e8f96 --- /dev/null +++ b/changelog/inherit-fork-time-from-input-genesis.md @@ -0,0 +1,3 @@ +### Changed + +- Inherit fork activation times (Shanghai, Cancun, Prague, Osaka) from input genesis file during chain initialization. \ No newline at end of file diff --git a/cmd/prysmctl/testnet/generate_genesis.go b/cmd/prysmctl/testnet/generate_genesis.go index 3508c7ab0156..64200b4dc790 100644 --- a/cmd/prysmctl/testnet/generate_genesis.go +++ b/cmd/prysmctl/testnet/generate_genesis.go @@ -261,10 +261,18 @@ func generateGenesis(ctx context.Context) (state.BeaconState, error) { // set timestamps for genesis and shanghai fork gen.Timestamp = f.GenesisTime genesis := time.Unix(int64(f.GenesisTime), 0) - gen.Config.ShanghaiTime = interop.GethShanghaiTime(genesis, params.BeaconConfig()) - gen.Config.CancunTime = interop.GethCancunTime(genesis, params.BeaconConfig()) - gen.Config.PragueTime = interop.GethPragueTime(genesis, params.BeaconConfig()) - gen.Config.OsakaTime = interop.GethOsakaTime(genesis, params.BeaconConfig()) + if gen.Config.ShanghaiTime == nil { + gen.Config.ShanghaiTime = interop.GethShanghaiTime(genesis, params.BeaconConfig()) + } + if gen.Config.CancunTime == nil { + gen.Config.CancunTime = interop.GethCancunTime(genesis, params.BeaconConfig()) + } + if gen.Config.PragueTime == nil { + gen.Config.PragueTime = interop.GethPragueTime(genesis, params.BeaconConfig()) + } + if gen.Config.OsakaTime == nil { + gen.Config.OsakaTime = interop.GethOsakaTime(genesis, params.BeaconConfig()) + } fields := logrus.Fields{} if gen.Config.ShanghaiTime != nil {