Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
a42f63b
Add EIP-8037 and Amsterdam fixes
flcl42 Apr 24, 2026
c3b5089
Run all tests
flcl42 Apr 26, 2026
a48335b
Align EIP-7928 BlockAccessIndex with uint32 spec, add validation (#11…
benaadams Apr 27, 2026
c025025
fix(test): match TCS Exception type to IncrementalValidation signature
benaadams Apr 27, 2026
f85bc70
fix test
benaadams Apr 27, 2026
73720bd
fixes
benaadams Apr 27, 2026
f55b9e8
fix
benaadams Apr 27, 2026
711ad58
Fixes
flcl42 Apr 28, 2026
78a7e24
lint
benaadams Apr 28, 2026
10b7db0
update tests
benaadams Apr 30, 2026
a86fc07
fix tests
benaadams Apr 30, 2026
f4f4e2c
fix ci
benaadams Apr 30, 2026
47bacb8
remove skips
benaadams Apr 30, 2026
c9bd335
More pyspec test chunks
benaadams Apr 30, 2026
8cbdc40
Squashed commit of the following:
benaadams Apr 30, 2026
306e63e
update tests
benaadams Apr 30, 2026
dd84988
remove skips
benaadams Apr 30, 2026
2c6329f
halt changes
benaadams Apr 30, 2026
07eab21
fixes
benaadams Apr 30, 2026
09fc09b
fix
benaadams Apr 30, 2026
a4ebe9f
Bump pyspec fixtures to snobal-devnet-6@v1.1.0
benaadams Apr 30, 2026
a8d7c89
fix spill
benaadams Apr 30, 2026
4576d55
Don't refund spilled state gas on top-level halt
benaadams Apr 30, 2026
4857448
Refund full state gas on top-level revert; only reservoir-portion on …
benaadams Apr 30, 2026
ce047f2
fix
benaadams May 1, 2026
7b55e07
fix
benaadams May 1, 2026
5c5a691
Cover missing pyspec fork dirs + add sync and transaction test types
benaadams May 1, 2026
9e38a37
Moar tests
benaadams May 1, 2026
b81b3c2
fx
benaadams May 1, 2026
cfdcd4d
Filter known-broken from_state_test BAL revert tests; relax BAL error…
benaadams May 1, 2026
9870f97
fix
benaadams May 1, 2026
4767a18
fix
benaadams May 1, 2026
3f9c677
Revert "fix"
benaadams May 2, 2026
77219af
Revert "fix"
benaadams May 2, 2026
3758ae4
EIP-8037: stop subtracting state-gas spill from block regular-dim
benaadams May 2, 2026
2f3bb99
update tests
benaadams May 2, 2026
fa90e47
fx
benaadams May 2, 2026
a23f6b4
Merge branch 'master' into bal-devnet-6
benaadams May 2, 2026
a622bbb
Revert pyspec fixtures to execution-spec-tests snobal-devnet-6@v1.1.0
benaadams May 2, 2026
c641c76
Revert "EIP-8037: stop subtracting state-gas spill from block regular…
benaadams May 2, 2026
d037816
add mapping
benaadams May 2, 2026
7d074cf
Wire transient storage snapshot/restore through BlockAccessListBasedW…
benaadams May 2, 2026
e5269ca
Tag sequential Pyspec jobs
benaadams May 2, 2026
b3790d5
Tag regular Pyspec jobs
benaadams May 2, 2026
fef28ee
Use bracket tags for extra test variants
benaadams May 2, 2026
83dcde5
EIP-8037: replace worst-case-OR pre-validation with intrinsic-floor c…
benaadams May 3, 2026
60aa7ef
EIP-8037: avoid long overflow in combined-capacity admission check
benaadams May 3, 2026
b7c2a72
Revert "EIP-8037: avoid long overflow in combined-capacity admission …
benaadams May 3, 2026
d241031
Revert "EIP-8037: replace worst-case-OR pre-validation with intrinsic…
benaadams May 3, 2026
85c905a
Reapply "EIP-8037: replace worst-case-OR pre-validation with intrinsi…
benaadams May 3, 2026
f730b1e
Reapply "EIP-8037: avoid long overflow in combined-capacity admission…
benaadams May 3, 2026
d81d0e7
Revert ValidateTransactionGasAllowance to spec-compliant worst-case-OR
benaadams May 3, 2026
ce336ed
Surface parallel worker tx-rejection cause without masking
benaadams May 3, 2026
e415ce7
Invalidate BlockAccessList ItemCount cache on mutations
benaadams May 3, 2026
7ae0bac
fixes
benaadams May 4, 2026
7785dc0
fix
benaadams May 4, 2026
31c1063
fixes
benaadams May 4, 2026
2da5c11
fixesfix
benaadams May 4, 2026
314de81
Merge branch 'master' into bal-devnet-6
benaadams May 4, 2026
8701cf2
Drop duplicate Rlp.ValueDecoderContext.DecodeUInt from #11362
benaadams May 4, 2026
64db3da
fixes
benaadams May 4, 2026
846e04a
tests
benaadams May 4, 2026
bd6b9d5
Fixes
benaadams May 5, 2026
692b48b
Align error messages
benaadams May 5, 2026
980b983
fix
benaadams May 5, 2026
3033b3c
lint
benaadams May 5, 2026
57486a1
Fix receipts
benaadams May 5, 2026
9e400c9
CheckPerTxInclusion
benaadams May 5, 2026
490b25c
Merge remote-tracking branch 'origin/master' into bal-devnet-6
benaadams May 5, 2026
b65440a
fix
benaadams May 5, 2026
cc5af3f
fix one more time
benaadams May 5, 2026
db2d78f
fix
benaadams May 6, 2026
c58515f
Feedback
benaadams May 6, 2026
79d761d
Merge remote-tracking branch 'origin/master' into bal-devnet-6
benaadams May 6, 2026
3279f0a
fix
benaadams May 6, 2026
931722d
tidy
benaadams May 6, 2026
c79447b
tidy
benaadams May 6, 2026
9c9eff0
fix
benaadams May 6, 2026
4e93e98
Fixes
benaadams May 6, 2026
5760b12
fix
benaadams May 6, 2026
c37bda9
add comment
benaadams May 6, 2026
64a6eb9
Merge branch 'master' into bal-devnet-6
benaadams May 6, 2026
cd44b68
feedback
benaadams May 6, 2026
d4fb8a2
Feedback
benaadams May 6, 2026
da2e5dc
Feedback
benaadams May 6, 2026
29e728b
Fix processing stats for parallel
benaadams May 6, 2026
5f471ba
lint
benaadams May 6, 2026
1f692a0
Harden
benaadams May 6, 2026
18b22d8
Update deps
benaadams May 6, 2026
d9916eb
Optimize
benaadams May 6, 2026
41bc16a
Super-optimize
benaadams May 6, 2026
e289dfe
Ultra-optimize
benaadams May 7, 2026
c598327
Turbo-optimize
benaadams May 7, 2026
9fa4525
lint
benaadams May 7, 2026
67848bf
Eldritch-optimize
benaadams May 7, 2026
7643085
Forbidden optimizations
benaadams May 7, 2026
caf6a0d
fix
benaadams May 7, 2026
c2b0543
Feedback
benaadams May 7, 2026
73c09ae
Merge branch 'master' into bal-devnet-6
benaadams May 7, 2026
184b18c
merge conflict
benaadams May 7, 2026
633751c
Hive fixes
benaadams May 7, 2026
ec41b13
feedback
benaadams May 7, 2026
21c2b9d
Improve validation performance
benaadams May 7, 2026
b88a14f
MOAR
benaadams May 7, 2026
21221b0
Merge branch 'master' into bal-devnet-6
benaadams May 7, 2026
5975518
MOAR (fix)
benaadams May 7, 2026
d01e994
Revert "MOAR (fix)"
benaadams May 7, 2026
bffcdf3
Revert "MOAR"
benaadams May 7, 2026
7e721cf
Reduce sorting
benaadams May 8, 2026
20d45eb
Partial feedback
benaadams May 8, 2026
8aca26d
Partial feedback
benaadams May 8, 2026
f2a4df1
Improve test runners
benaadams May 8, 2026
4827cf7
Add pyspec memory monitor
benaadams May 8, 2026
7c2f4d9
More stable tests
benaadams May 8, 2026
7954eaa
Kamil fix
benaadams May 8, 2026
46922f8
fix
benaadams May 8, 2026
7763e42
Revert "Kamil fix"
benaadams May 8, 2026
376ea15
Reduce code changes
benaadams May 8, 2026
688ae94
Reduce code
benaadams May 8, 2026
644c447
dedupe tests
benaadams May 8, 2026
3bd79ab
Fix bad merge
benaadams May 8, 2026
39cffc2
Merge branch 'master' into bal-devnet-6
benaadams May 8, 2026
79a1678
Address PR review comments
benaadams May 8, 2026
2b8b649
Restore Amsterdam floor pricing EIP fallback with explanation
benaadams May 8, 2026
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
4 changes: 2 additions & 2 deletions .github/workflows/nethermind-tests-checked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defaults:

jobs:
tests:
name: Run ${{ matrix.project }} (${{ matrix.variant.label }})
name: Run ${{ matrix.project }} [${{ matrix.variant.label }}]
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
${{ matrix.variant.dotnet-args }}

tests-chunked:
name: Run ${{ matrix.test.project }} (${{ matrix.test.chunk }}, ${{ matrix.variant.label }})
name: Run ${{ matrix.test.project }} (${{ matrix.test.chunk }}) [${{ matrix.variant.label }}]
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
Expand Down
204 changes: 198 additions & 6 deletions .github/workflows/nethermind-tests-flat.yml

Large diffs are not rendered by default.

23 changes: 18 additions & 5 deletions .github/workflows/nethermind-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ jobs:
retention-days: 1

tests-chunked:
name: Run ${{ matrix.test.project }} (${{ matrix.test.chunk }}) (${{ matrix.runner }})
name: Run ${{ matrix.test.project }}${{ matrix.test.label && format(' [{0}]', matrix.test.label) || '' }} (${{ matrix.test.chunk }}) (${{ matrix.runner }})
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
strategy:
Expand All @@ -233,10 +233,23 @@ jobs:
- { project: Ethereum.Legacy.Blockchain.Test, chunk: 6of8 }
- { project: Ethereum.Legacy.Blockchain.Test, chunk: 7of8 }
- { project: Ethereum.Legacy.Blockchain.Test, chunk: 8of8 }
- { project: Ethereum.Blockchain.Pyspec.Test, chunk: 1of4 }
- { project: Ethereum.Blockchain.Pyspec.Test, chunk: 2of4 }
- { project: Ethereum.Blockchain.Pyspec.Test, chunk: 3of4 }
- { project: Ethereum.Blockchain.Pyspec.Test, chunk: 4of4 }
include:
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 1of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 2of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 3of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 4of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 5of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 6of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 7of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 8of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 9of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 10of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 11of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 12of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 13of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 14of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 15of16, label: Sequential } }
- { runner: ubuntu-latest, test: { project: Ethereum.Blockchain.Pyspec.Test, chunk: 16of16, label: Sequential } }
steps:
- name: Enable long paths (Windows)
if: runner.os == 'Windows'
Expand Down
4 changes: 4 additions & 0 deletions src/Nethermind/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,8 @@
<ProjectReference Include="$(MSBuildThisFileDirectory)Nethermind.Analyzers/Nethermind.Analyzers.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>

<ItemGroup Condition="!$(TargetFramework.StartsWith('netstandard'))">
<Using Include="System.Runtime.Intrinsics.Vector256&lt;byte&gt;" Alias="EvmWord" />
</ItemGroup>

</Project>
52 changes: 52 additions & 0 deletions src/Nethermind/Ethereum.Basic.Test/TestChunkFilterTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System;
using System.Collections.Generic;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Basic.Test;

[NonParallelizable]
public class TestChunkFilterTests
{
private string _testChunk;

[SetUp]
public void SetUp() =>
_testChunk = Environment.GetEnvironmentVariable("TEST_CHUNK");

[TearDown]
public void TearDown() =>
Environment.SetEnvironmentVariable("TEST_CHUNK", _testChunk);

[Test]
public void FilterByChunk_IsLazy()
{
Environment.SetEnvironmentVariable("TEST_CHUNK", "2of3");
int enumeratedCount = 0;

IEnumerable<int> filtered = TestChunkFilter.FilterByChunk(CountedRange(9, () => enumeratedCount++));

Assert.That(enumeratedCount, Is.Zero);

List<int> result = [];
foreach (int value in filtered)
{
result.Add(value);
}

Assert.That(result, Is.EqualTo(new[] { 1, 4, 7 }));
Assert.That(enumeratedCount, Is.EqualTo(9));
}

private static IEnumerable<int> CountedRange(int count, Action onEnumerated)
{
for (int i = 0; i < count; i++)
{
onEnumerated();
yield return i;
}
}
}

This file was deleted.

This file was deleted.

77 changes: 0 additions & 77 deletions src/Nethermind/Ethereum.Blockchain.Pyspec.Test/Amsterdam/Tests.cs

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading