diff --git a/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs b/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs index 68ec7213f22..bb20e71c486 100644 --- a/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs +++ b/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs @@ -265,6 +265,10 @@ public void Chiado_loads_properly() Assert.AreEqual(ChiadoSpecProvider.Instance.TerminalTotalDifficulty, provider.TerminalTotalDifficulty); Assert.AreEqual(BlockchainIds.Chiado, provider.ChainId); Assert.AreEqual(BlockchainIds.Chiado, provider.NetworkId); + + provider.GetSpec((1, ChiadoSpecProvider.ShanghaiTimestamp - 1)).MaxCodeSize.Should().Be(long.MaxValue); + provider.GetSpec((1, ChiadoSpecProvider.ShanghaiTimestamp)).MaxCodeSize.Should().Be(24576L); + provider.GetSpec((1, ChiadoSpecProvider.ShanghaiTimestamp)).MaxInitCodeSize.Should().Be(2 * 24576L); } @@ -312,6 +316,8 @@ public void Mainnet_loads_properly() }; CompareSpecProviders(mainnet, provider, forkActivationsToTest, CompareSpecsOptions.CheckDifficultyBomb); + provider.GetSpec((MainnetSpecProvider.SpuriousDragonBlockNumber, null)).MaxCodeSize.Should().Be(24576L); + provider.GetSpec((MainnetSpecProvider.SpuriousDragonBlockNumber, null)).MaxInitCodeSize.Should().Be(2 * 24576L); Assert.AreEqual(MainnetSpecProvider.LondonBlockNumber, provider.GenesisSpec.Eip1559TransitionBlock); Assert.AreEqual(0_000_000, provider.GetSpec((ForkActivation)4_369_999).DifficultyBombDelay); diff --git a/src/Nethermind/Nethermind.Specs/ChainSpecStyle/ChainSpecLoader.cs b/src/Nethermind/Nethermind.Specs/ChainSpecStyle/ChainSpecLoader.cs index 607d324dc64..307b4e907ce 100644 --- a/src/Nethermind/Nethermind.Specs/ChainSpecStyle/ChainSpecLoader.cs +++ b/src/Nethermind/Nethermind.Specs/ChainSpecStyle/ChainSpecLoader.cs @@ -97,6 +97,7 @@ private void LoadParameters(ChainSpecJson chainSpecJson, ChainSpec chainSpec) MinGasLimit = chainSpecJson.Params.MinGasLimit ?? 5000, MaxCodeSize = chainSpecJson.Params.MaxCodeSize, MaxCodeSizeTransition = chainSpecJson.Params.MaxCodeSizeTransition, + MaxCodeSizeTransitionTimestamp = chainSpecJson.Params.MaxCodeSizeTransitionTimestamp, Registrar = chainSpecJson.Params.EnsRegistrar, ForkBlock = chainSpecJson.Params.ForkBlock, ForkCanonHash = chainSpecJson.Params.ForkCanonHash, diff --git a/src/Nethermind/Nethermind.Specs/ChainSpecStyle/Json/ChainSpecParamsJson.cs b/src/Nethermind/Nethermind.Specs/ChainSpecStyle/Json/ChainSpecParamsJson.cs index 2f42d69e61a..c29def202d8 100644 --- a/src/Nethermind/Nethermind.Specs/ChainSpecStyle/Json/ChainSpecParamsJson.cs +++ b/src/Nethermind/Nethermind.Specs/ChainSpecStyle/Json/ChainSpecParamsJson.cs @@ -50,6 +50,8 @@ internal class ChainSpecParamsJson public long? MaxCodeSizeTransition { get; set; } + public ulong? MaxCodeSizeTransitionTimestamp { get; set; } + public long? Eip140Transition { get; set; } public long? Eip211Transition { get; set; }