diff --git a/src/Nethermind/Chains/gnosis.json b/src/Nethermind/Chains/gnosis.json index 3ed45d0397eb..d6848ebcd306 100644 --- a/src/Nethermind/Chains/gnosis.json +++ b/src/Nethermind/Chains/gnosis.json @@ -103,6 +103,14 @@ "eip7623TransitionTimestamp": "0x68122dbc", "eip7702TransitionTimestamp": "0x68122dbc", "eip4844FeeCollectorTransitionTimestamp": "0x68122dbc", + "eip7594TransitionTimestamp": "0x69de2dbc", + "eip7823TransitionTimestamp": "0x69de2dbc", + "eip7825TransitionTimestamp": "0x69de2dbc", + "eip7883TransitionTimestamp": "0x69de2dbc", + "eip7918TransitionTimestamp": "0x69de2dbc", + "eip7934TransitionTimestamp": "0x69de2dbc", + "eip7939TransitionTimestamp": "0x69de2dbc", + "eip7951TransitionTimestamp": "0x69de2dbc", "depositContractAddress": "0x0B98057eA310F4d31F2a452B414647007d1645d9", "blobSchedule": [ { diff --git a/src/Nethermind/Nethermind.Network.Test/ForkInfoTests.cs b/src/Nethermind/Nethermind.Network.Test/ForkInfoTests.cs index 9d6390138654..ab2ca544d326 100644 --- a/src/Nethermind/Nethermind.Network.Test/ForkInfoTests.cs +++ b/src/Nethermind/Nethermind.Network.Test/ForkInfoTests.cs @@ -154,8 +154,10 @@ public void Fork_id_and_hash_as_expected_on_sepolia(long head, ulong headTimesta [TestCase(91735000, GnosisSpecProvider.PragueTimestamp - 1, "0x1384dfc1", GnosisSpecProvider.PragueTimestamp, "Future Cancun timestamp")] [TestCase(101735000, GnosisSpecProvider.PragueTimestamp, "0x2f095d4a", GnosisSpecProvider.BalancerTimestamp, "First Prague timestamp")] [TestCase(101735000, GnosisSpecProvider.BalancerTimestamp - 1, "0x2f095d4a", GnosisSpecProvider.BalancerTimestamp, "Future Prague timestamp")] - [TestCase(111735000, GnosisSpecProvider.BalancerTimestamp, "0xd00284ad", 0ul, "First Balancer timestamp")] - [TestCase(111735000, GnosisSpecProvider.BalancerTimestamp + 100, "0xd00284ad", 0ul, "First Balancer timestamp")] + [TestCase(111735000, GnosisSpecProvider.BalancerTimestamp, "0xd00284ad", GnosisSpecProvider.OsakaTimestamp, "First Balancer timestamp")] + [TestCase(111735000, GnosisSpecProvider.OsakaTimestamp - 1, "0xd00284ad", GnosisSpecProvider.OsakaTimestamp, "Future Balancer timestamp")] + [TestCase(121735000, GnosisSpecProvider.OsakaTimestamp, "0xcfca387c", 0ul, "First Osaka timestamp")] + [TestCase(121735000, GnosisSpecProvider.OsakaTimestamp + 100, "0xcfca387c", 0ul, "Future Osaka timestamp")] public void Fork_id_and_hash_as_expected_on_gnosis(long head, ulong headTimestamp, string forkHashHex, ulong next, string description) { ChainSpecFileLoader loader = new(new EthereumJsonSerializer(), LimboLogs.Instance); diff --git a/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs b/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs index fc365c1872b8..1859dfd2c269 100644 --- a/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs +++ b/src/Nethermind/Nethermind.Specs.Test/ChainSpecStyle/ChainSpecBasedSpecProviderTests.cs @@ -7,7 +7,6 @@ using Nethermind.Core.Exceptions; using Nethermind.Core.Extensions; using Nethermind.Core.Specs; -using Nethermind.Evm; using Nethermind.Int256; using Nethermind.Logging; using Nethermind.Serialization.Json; @@ -427,10 +426,12 @@ public void Gnosis_loads_properly(ForkActivation forkActivation) IReleaseSpec? postCancunSpec = provider.GetSpec((1, GnosisSpecProvider.CancunTimestamp)); IReleaseSpec? prePragueSpec = provider.GetSpec((1, GnosisSpecProvider.PragueTimestamp - 1)); IReleaseSpec? postPragueSpec = provider.GetSpec((1, GnosisSpecProvider.PragueTimestamp)); + IReleaseSpec? postOsakaSpec = provider.GetSpec((1, GnosisSpecProvider.OsakaTimestamp)); VerifyGnosisShanghaiSpecifics(preShanghaiSpec, postShanghaiSpec); VerifyGnosisCancunSpecifics(postCancunSpec); VerifyGnosisPragueSpecifics(prePragueSpec, postPragueSpec, GnosisSpecProvider.FeeCollector); + VerifyGnosisOsakaSpecifics(postOsakaSpec, GnosisSpecProvider.FeeCollector); using (Assert.EnterMultipleScope()) { diff --git a/src/Nethermind/Nethermind.Specs/GnosisSpecProvider.cs b/src/Nethermind/Nethermind.Specs/GnosisSpecProvider.cs index 821df7a8d0f0..6d17aaed05c7 100644 --- a/src/Nethermind/Nethermind.Specs/GnosisSpecProvider.cs +++ b/src/Nethermind/Nethermind.Specs/GnosisSpecProvider.cs @@ -21,6 +21,7 @@ public class GnosisSpecProvider : ISpecProvider public const ulong CancunTimestamp = 0x65ef4dbc; public const ulong PragueTimestamp = 0x68122dbc; public const ulong BalancerTimestamp = 0x69496dbc; // does not alter specs + public const ulong OsakaTimestamp = 0x69de2dbc; public static readonly Address FeeCollector = new("0x6BBe78ee9e474842Dbd4AB4987b3CeFE88426A92"); private GnosisSpecProvider() { } @@ -39,7 +40,8 @@ public IReleaseSpec GetSpec(ForkActivation forkActivation) null or < ShanghaiTimestamp => LondonGnosis.Instance, < CancunTimestamp => ShanghaiGnosis.Instance, < PragueTimestamp => CancunGnosis.Instance, - _ => PragueGnosis.Instance + < OsakaTimestamp => PragueGnosis.Instance, + _ => OsakaGnosis.Instance } }; }