Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/Nethermind/Chains/gnosis.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
{
Expand Down
6 changes: 4 additions & 2 deletions src/Nethermind/Nethermind.Network.Test/ForkInfoTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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())
{
Expand Down
4 changes: 3 additions & 1 deletion src/Nethermind/Nethermind.Specs/GnosisSpecProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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() { }
Expand All @@ -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
}
};
}
Expand Down
Loading