Skip to content

Commit

Permalink
Goerli Shapella Configs (#5366)
Browse files Browse the repository at this point in the history
* Goerli shapella

* Refactor

* remove space

* small fix

---------

Co-authored-by: smartprogrammer <smartprogrammer@windowslive.com>
  • Loading branch information
2 people authored and kamilchodola committed Mar 13, 2023
1 parent d551fbe commit 0a642ff
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 18 deletions.
22 changes: 13 additions & 9 deletions src/Nethermind/Chains/goerli.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,19 @@
"eip1884Transition": "0x17D433",
"eip2028Transition": "0x17D433",
"eip2200Transition": "0x17D433",
"eip2565Transition": "0x441064",
"eip2929Transition": "0x441064",
"eip2930Transition": "0x441064",
"eip1559Transition": "0x4D3FCD",
"eip3198Transition": "0x4D3FCD",
"eip3529Transition": "0x4D3FCD",
"eip3541Transition": "0x4D3FCD",
"terminalTotalDifficulty": "A4A470",
"gasLimitBoundDivisor": "0x400",
"eip2565Transition": "0x441064",
"eip2929Transition": "0x441064",
"eip2930Transition": "0x441064",
"eip1559Transition": "0x4D3FCD",
"eip3198Transition": "0x4D3FCD",
"eip3529Transition": "0x4D3FCD",
"eip3541Transition": "0x4D3FCD",
"eip3651TransitionTimestamp": "0x6410F460",
"eip3855TransitionTimestamp": "0x6410F460",
"eip3860TransitionTimestamp": "0x6410F460",
"eip4895TransitionTimestamp": "0x6410F460",
"terminalTotalDifficulty": "A4A470",
"gasLimitBoundDivisor": "0x400",
"maxCodeSize": "0x6000",
"maxCodeSizeTransition": "0x0",
"maximumExtraDataSize": "0xffff",
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 @@ -105,8 +105,10 @@ public void Fork_id_and_hash_as_expected_with_merge_fork_id(long head, ulong hea
[TestCase(1_561_651L, 0ul, "0xc25efa5c", 4_460_644ul, "First Istanbul block")]
[TestCase(4_460_644L, 0ul, "0x757a1c47", 5_062_605ul, "First Berlin block")]
[TestCase(4_600_000L, 0ul, "0x757a1c47", 5_062_605ul, "Future Berlin block")]
[TestCase(5_062_605L, 0ul, "0xB8C6299D", 0ul, "First London block")]
[TestCase(6_000_000, 0ul, "0xB8C6299D", 0ul, "Future London block")]
[TestCase(5_062_605L, 0ul, "0xB8C6299D", 1678832736ul, "First London block")]
[TestCase(6_000_000, 0ul, "0xB8C6299D", 1678832736ul, "Future London block")]
[TestCase(6_000_001, 1678832736ul, "0xf9843abf", 0ul, "First Shanghai timestamp")]
[TestCase(6_000_001, 2678832736ul, "0xf9843abf", 0ul, "Future Shanghai timestamp")]
public void Fork_id_and_hash_as_expected_on_goerli(long head, ulong headTimestamp, string forkHashHex, ulong next, string description)
{
Test(head, headTimestamp, KnownHashes.GoerliGenesis, forkHashHex, next, description, GoerliSpecProvider.Instance, "goerli.json");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,8 @@ public void Goerli_loads_properly()
(ForkActivation)GoerliSpecProvider.BerlinBlockNumber,
(ForkActivation)(GoerliSpecProvider.LondonBlockNumber - 1),
(ForkActivation)GoerliSpecProvider.LondonBlockNumber,
(ForkActivation)100000000, // far in the future
new ForkActivation(GoerliSpecProvider.LondonBlockNumber + 1, GoerliSpecProvider.ShanghaiTimestamp),
new ForkActivation(GoerliSpecProvider.LondonBlockNumber + 1, GoerliSpecProvider.ShanghaiTimestamp + 100000000) // far in future
};

CompareSpecProviders(goerli, provider, forkActivationsToTest);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ public void Can_load_goerli()
chainSpec.MuirGlacierNumber.Should().Be(null);
chainSpec.BerlinBlockNumber.Should().Be(GoerliSpecProvider.BerlinBlockNumber);
chainSpec.LondonBlockNumber.Should().Be(GoerliSpecProvider.LondonBlockNumber);
chainSpec.ShanghaiTimestamp.Should().Be(GoerliSpecProvider.ShanghaiTimestamp);
}

[Test]
Expand Down
21 changes: 15 additions & 6 deletions src/Nethermind/Nethermind.Specs/GoerliSpecProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,27 +36,36 @@ public void UpdateMergeTransitionInfo(long? blockNumber, UInt256? terminalTotalD

private IReleaseSpec LondonNoBomb { get; } = London.Instance;

public IReleaseSpec GetSpec(ForkActivation forkActivation) =>
forkActivation.BlockNumber switch

public IReleaseSpec GetSpec(ForkActivation forkActivation)
{
return forkActivation.BlockNumber switch
{
< IstanbulBlockNumber => GenesisSpec,
< BerlinBlockNumber => IstanbulNoBomb,
< LondonBlockNumber => BerlinNoBomb,
_ => LondonNoBomb
< LondonBlockNumber => Berlin.Instance,
_ => forkActivation.Timestamp switch
{
null or < ShanghaiTimestamp => London.Instance,
_ => Shanghai.Instance
}
};
}

public long? DaoBlockNumber => null;
public const long IstanbulBlockNumber = 1_561_651;
public const long BerlinBlockNumber = 4_460_644;
public const long LondonBlockNumber = 5_062_605;
public ulong NetworkId => Core.BlockchainIds.Goerli;
public const ulong ShanghaiTimestamp = 1678832736;
public ulong NetworkId => BlockchainIds.Goerli;
public ulong ChainId => NetworkId;

public ForkActivation[] TransitionActivations { get; } =
{
(ForkActivation)IstanbulBlockNumber,
(ForkActivation)BerlinBlockNumber,
(ForkActivation)LondonBlockNumber
(ForkActivation)LondonBlockNumber,
(LondonBlockNumber, ShanghaiTimestamp)
};
}
}

0 comments on commit 0a642ff

Please sign in to comment.