Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
407 commits
Select commit Hold shift + click to select a range
7352691
Merge remote-tracking branch 'upstream/master' into bal-devnet-0
Marchhill Oct 16, 2025
cc7e07c
enforce rlp buffer size limits
Marchhill Oct 16, 2025
36937cd
fix test runners
Marchhill Oct 16, 2025
78d054e
fix restore
Marchhill Oct 17, 2025
074a9e7
fix reverting storage change
Marchhill Oct 17, 2025
81f3d0f
add account read for extcodecopy
Marchhill Oct 17, 2025
bc43434
don't add for extcodecopy when oog
Marchhill Oct 17, 2025
872ff02
fix engine test runner
Marchhill Oct 20, 2025
c3b9447
refactor test runner
Marchhill Oct 20, 2025
f9ff97a
don't record storage change if resets to same value
Marchhill Oct 20, 2025
88ae970
remove storage changes if empty
Marchhill Oct 20, 2025
4023bc2
fix storage changes
Marchhill Oct 21, 2025
77c7130
only add read if write not present
Marchhill Oct 21, 2025
a6081ae
fix error message
Marchhill Oct 21, 2025
41e689d
add changes when resetting to og value
Marchhill Oct 21, 2025
bd76f9d
change comparison, add logging
Marchhill Oct 21, 2025
eb23d61
more logging
Marchhill Oct 21, 2025
e314c75
even more logging
Marchhill Oct 21, 2025
8f5604e
use sequenceequal
Marchhill Oct 21, 2025
689f10c
check for previous code deployed being the same
Marchhill Oct 21, 2025
5536c3d
record more account accesses
Marchhill Oct 22, 2025
8d63f4d
extcodesize
Marchhill Oct 22, 2025
e7b662d
fix tracing
Marchhill Oct 22, 2025
80cadec
remove console logs
Marchhill Oct 23, 2025
23171a3
remove coinbase edge case
Marchhill Oct 31, 2025
d8ac0ea
Merge remote-tracking branch 'upstream/master' into bal-devnet-0-test
Marchhill Nov 6, 2025
fe46806
bpo forks
Marchhill Nov 7, 2025
246ff27
base fee update fractions
Marchhill Nov 7, 2025
359df9c
add bpos to spec name parser
Marchhill Nov 7, 2025
4cb4f45
Merge remote-tracking branch 'upstream' into bal-devnet-0-test
Marchhill Nov 7, 2025
e09553b
change blockchain tests
Marchhill Nov 10, 2025
8f7c3b1
fix setnonce tracing
Marchhill Nov 10, 2025
e4718eb
add storage slot to changes in edge case
Marchhill Nov 10, 2025
e3d4308
generatedblockaccesslist for debugging
Marchhill Nov 11, 2025
b0dd675
add testing log for decoding
Marchhill Nov 11, 2025
1f064b7
try adding sequence length in block encoding
Marchhill Nov 11, 2025
9da9946
try block decoding fix
Marchhill Nov 11, 2025
0730d44
try fix bal json serialisation
Marchhill Nov 11, 2025
d4555b6
refactor
Marchhill Nov 12, 2025
5a4fd75
debug assert fail for unreachable codde
Marchhill Nov 12, 2025
3441a90
remove code change diff check
Marchhill Nov 12, 2025
df5a82d
string encoding use json
Marchhill Nov 12, 2025
692e22b
fix: check count empty when checking if storage changed
Marchhill Nov 12, 2025
afbfee9
Merge remote-tracking branch 'upstream/master' into bal-devnet-0-test-2
Marchhill Nov 24, 2025
47cb345
fix merge
Marchhill Nov 24, 2025
8cf31e6
fix json serialisation
Marchhill Nov 24, 2025
391c817
fix suggested & generated
Marchhill Nov 24, 2025
d38c6ba
fix check code change
Marchhill Nov 24, 2025
6fffe33
blockchain test blob schedule load
Marchhill Nov 24, 2025
d74a4b8
nonce change on account creation
Marchhill Nov 24, 2025
84c1157
debugging logs for blob schedule
Marchhill Nov 25, 2025
befc83a
fix compile
Marchhill Nov 25, 2025
5d98db8
more logs
Marchhill Nov 25, 2025
ebb5b77
try basing amsterdam on osaka
Marchhill Nov 25, 2025
1c76673
undo change
Marchhill Nov 25, 2025
ee35d5f
print HIVE vars
Marchhill Nov 25, 2025
0a066b4
new blobschedule log
Marchhill Nov 25, 2025
7f6ab10
override to 6/9
Marchhill Nov 25, 2025
3fb5f65
check of code has changed during tx
Marchhill Nov 25, 2025
c8ed3d2
include system address balance change
Marchhill Nov 25, 2025
c2b7c0a
fix adding back storage read, handling of system account
Marchhill Nov 25, 2025
e90fce7
undo bpo override
Marchhill Nov 26, 2025
b357c93
move delegation check later call
Marchhill Nov 26, 2025
2063877
remove extra logs
Marchhill Nov 26, 2025
911c4a6
Merge branch 'master' of github.com:NethermindEth/nethermind into bal…
Marchhill Nov 26, 2025
70d2afb
set balance to 0 on selfdestruct
Marchhill Nov 26, 2025
43d2e73
copy generatedbal to suggested block
Marchhill Dec 1, 2025
4c78c3b
Fix cross-block state leak of `_parityTouchBugAccount.ShouldDelete` f…
qu0b Dec 1, 2025
aeb8a73
codecopy fix
Marchhill Dec 4, 2025
01c5761
Merge branch 'bal-devnet-0' of github.com:NethermindEth/nethermind in…
Marchhill Dec 4, 2025
030a214
move generatedBAL to top level
Marchhill Dec 8, 2025
b963b7a
getter for generatedBAL
Marchhill Dec 8, 2025
cb15cef
change storage keys and values to UInt256
Marchhill Dec 16, 2025
5c57c15
fix conversion to uint256
Marchhill Dec 16, 2025
cae8a54
delay charge create gas call
Marchhill Dec 17, 2025
b4ff262
add slot changes if not present on restore
Marchhill Dec 17, 2025
5c0cf14
tidy
Marchhill Dec 17, 2025
86b869c
OOG if not enough gas for self-destruct (#10064)
fselmo Jan 5, 2026
6d4715c
Merge branch 'bal-devnet-1' of github.com:NethermindEth/nethermind in…
Marchhill Jan 5, 2026
58f9442
remove bal from block body
Marchhill Jan 5, 2026
f084da7
bal store
Marchhill Jan 5, 2026
e8bf5fd
add engine api endpoints
Marchhill Jan 5, 2026
c3ec66d
add new handlers
Marchhill Jan 5, 2026
c154bf3
fix DI
Marchhill Jan 6, 2026
46bfcfe
add debug endpoitn
Marchhill Jan 6, 2026
c12c252
make shareable
Marchhill Jan 6, 2026
1f826bc
change attributes
Marchhill Jan 6, 2026
cb83d90
getbal test
Marchhill Jan 6, 2026
6963fed
fix encoding
Marchhill Jan 6, 2026
94519bb
insert in bal store on suggest
Marchhill Jan 6, 2026
342a3f5
move to executionpayloadv4
Marchhill Jan 14, 2026
8447cb3
getpayloadv6
Marchhill Jan 14, 2026
4acd687
osaka engine api version
Marchhill Jan 14, 2026
3c64f20
getpayloadv6 DI
Marchhill Jan 15, 2026
9874c30
use executionpayloadv4 in blockchain tests
Marchhill Jan 20, 2026
dca3296
fix removing storage read on revert, copy across BAL from suggested f…
Marchhill Jan 21, 2026
e479770
Bal devnet 2 fixes (#10293)
benaadams Jan 21, 2026
37e891c
Bal devnet 2 merge (#10297)
benaadams Jan 21, 2026
5326cc5
goto outofgas selfdestruct
Marchhill Jan 22, 2026
f639b70
fix call delegation access
Marchhill Jan 22, 2026
2766fb8
fix call gas charging
Marchhill Jan 22, 2026
eaf3efb
move new account charge in call
Marchhill Jan 23, 2026
7a78b71
add bal hash to rpc
Marchhill Jan 23, 2026
abf1b07
rename to parallelworldstate
Marchhill Jan 26, 2026
38c28af
Merge remote-tracking branch 'upstream/master' into bal-devnet-2
Marchhill Jan 26, 2026
3f9f1f6
fix merge conflict testsourceloader
Marchhill Jan 26, 2026
810e247
fix packages lock
Marchhill Jan 26, 2026
165aa66
add trie back to packages lock
Marchhill Jan 26, 2026
175959f
fix gnosis config
Marchhill Jan 26, 2026
17aef0b
fix testsouceloader
Marchhill Jan 26, 2026
87a5757
Implement EIP-7843 (SLOTNUM opcode) (#10231)
Marchhill Jan 26, 2026
f5eace2
EIP-7778: Block Gas Accounting without Refunds (#10292)
benaadams Jan 26, 2026
a64ee30
EIP-8024 DupN/SwapN/Exchange stack operations (#10285)
benaadams Jan 26, 2026
addae85
EIP-7708 ETH transfer log (#10291)
LukaszRozmej Jan 26, 2026
03fc7d8
fix slotnumber
Marchhill Jan 27, 2026
a8d30ba
add slotnum to executionpayload crearte
Marchhill Jan 27, 2026
b9f9f21
test runner & validation fixes
Marchhill Jan 27, 2026
92e60ba
try undo blockchain test change
Marchhill Jan 27, 2026
52563c0
try always setting bal hash genesis
Marchhill Jan 27, 2026
c97acee
Revert "try always setting bal hash genesis"
Marchhill Jan 27, 2026
cf229e6
test override chainspec genesis
Marchhill Jan 27, 2026
47375f9
Revert "test override chainspec genesis"
Marchhill Jan 27, 2026
f071131
add logs
Marchhill Jan 27, 2026
dc5cec5
always set genesis slotnum to 0, fix log
Marchhill Jan 27, 2026
3db161c
bal builder refactor
Marchhill Jan 30, 2026
20473ca
remove block size validation check
Marchhill Jan 30, 2026
1f4aa82
use sortedlist for storage changes
Marchhill Jan 30, 2026
4c28ad6
formatting
Marchhill Jan 30, 2026
ef7df4a
move tests
Marchhill Jan 30, 2026
8ec3a96
fix slot changes encoder
Marchhill Jan 30, 2026
e2e0526
fix encoding test
Marchhill Jan 30, 2026
5062607
code tests
Marchhill Jan 30, 2026
ec57526
improve tests
Marchhill Jan 31, 2026
ea951b3
stefan fixes
Marchhill Feb 1, 2026
d8d0a74
fix: ExecutionPayloadV4.Create() calls V1 base instead of V3 (#10376)
qu0b Feb 2, 2026
22ee2d9
change bal to class, fix epv4, test fixes
Marchhill Feb 2, 2026
689db35
tidy tests
Marchhill Feb 2, 2026
b11746a
block building test, build.a.bal
Marchhill Feb 2, 2026
d4ed88a
use fcu in block building test, update year
Marchhill Feb 2, 2026
54a6aab
Update for change in eip 7778 (#10387)
benaadams Feb 2, 2026
fea15d5
Update for change in eip 7778 (#10388)
benaadams Feb 2, 2026
6a2fada
rpc changes
Marchhill Feb 2, 2026
26407f2
rpc changes
Marchhill Feb 2, 2026
b2dc766
fix engine rpc method, eth error codes
Marchhill Feb 3, 2026
24ebfd6
enginerpc and eth tests
Marchhill Feb 3, 2026
60ee104
fix engine rpc method, eth error codes
Marchhill Feb 3, 2026
bbfd4b9
add tx to block building test
Marchhill Feb 3, 2026
ebb0d75
Merge remote-tracking branch 'upstream/master' into bal-devnet-2
Marchhill Feb 3, 2026
c87e028
fix benchmarks build
Marchhill Feb 3, 2026
c916a20
fix docgen build, format
Marchhill Feb 3, 2026
c0f03f3
fix CachedCodeInfoRepositoryTests
Marchhill Feb 3, 2026
01d6a04
should_process test and e2e new payload test
Marchhill Feb 3, 2026
1865a99
finish newpayload test
Marchhill Feb 3, 2026
500fb0f
blockchain test runner fix
Marchhill Feb 4, 2026
850f38f
Skip transfer logs for DELEGATECALL, CALLCODE, self (#10402)
benaadams Feb 4, 2026
4fc70d7
Optimize value transfer (#10403)
benaadams Feb 4, 2026
8e45a85
Fix tests to include new EIPS &
Marchhill Feb 4, 2026
e404819
Merge branch 'bal-devnet-2' of github.com:NethermindEth/nethermind in…
Marchhill Feb 4, 2026
86bb87f
Merge remote-tracking branch 'upstream/master' into bal-devnet-2
Marchhill Feb 4, 2026
b1ff1db
verify slotnum in payloadattributes
Marchhill Feb 4, 2026
897bc07
formatting
Marchhill Feb 4, 2026
247a884
improve block & header validation
Marchhill Feb 4, 2026
c5e3d2f
fix(eip8024): SWAPN off-by-one in stack swap depth (#10408)
qu0b Feb 5, 2026
83d4576
Fix selfdestruct+revert (#10302)
benaadams Feb 5, 2026
5f27150
undo slot number header validation change
Marchhill Feb 5, 2026
0c20713
Merge branch 'bal-devnet-2' of github.com:NethermindEth/nethermind in…
Marchhill Feb 5, 2026
890c65c
copy over validation & test changes
Marchhill Feb 5, 2026
7b5311f
fix block null bal validation
Marchhill Feb 5, 2026
aab6cee
fix block bal validation
Marchhill Feb 5, 2026
1874fc9
early bal invalidation
Marchhill Feb 6, 2026
d14d056
early read validation
Marchhill Feb 6, 2026
8e76723
ext opcode tests
Marchhill Feb 7, 2026
289e834
add evm tests
Marchhill Feb 9, 2026
251b435
precompile test
Marchhill Feb 9, 2026
5269549
call test
Marchhill Feb 9, 2026
6eea214
other call tests
Marchhill Feb 9, 2026
42ac77e
delegated account test
Marchhill Feb 9, 2026
a914b0c
initial oog tests
Marchhill Feb 9, 2026
7640f92
complete pre-state access oog tests
Marchhill Feb 9, 2026
92ae805
complete post-state access oog tests
Marchhill Feb 9, 2026
d8550f3
stack underflow tests
Marchhill Feb 9, 2026
9502f9b
revert_with_return_to_original
Marchhill Feb 9, 2026
e319c26
more evm tests
Marchhill Feb 9, 2026
43303bd
incorrect order decoding tests
Marchhill Feb 9, 2026
882de9b
optimise remove allocations
Marchhill Feb 9, 2026
ec86fdf
unreachable exceptions
Marchhill Feb 9, 2026
aefffe9
clear BAL, code change reduce allocation
Marchhill Feb 9, 2026
f67b74b
filter post execution reads in storage read gas check
Marchhill Feb 9, 2026
96ad72d
Merge remote-tracking branch 'upstream/master' into bal-devnet-2-bals…
Marchhill Feb 9, 2026
f72fd5d
tidy
Marchhill Feb 10, 2026
79e193e
fix: EIP-8024 EXCHANGE off-by-one in TryDecodePair (#10475)
qu0b Feb 10, 2026
8d7a0c8
fix aura tests
Marchhill Feb 10, 2026
0471b85
Merge remote-tracking branch 'upstream/master' into bal-devnet-2-bals…
Marchhill Feb 10, 2026
bfa5cd0
fix tests
Marchhill Feb 10, 2026
ecdbd1c
tidy
Marchhill Feb 10, 2026
e42e6d5
check balbuilder not null when tx processing
Marchhill Feb 10, 2026
8f28c9e
Merge branch 'bal-devnet-2-bals-only' into bal-devnet-2
Marchhill Feb 10, 2026
16e533b
fix aura tests
Marchhill Feb 10, 2026
cb0b0e5
undo test runner change
Marchhill Feb 10, 2026
6d495da
Update src/Nethermind/Ethereum.Test.Base/JsonToEthereumTest.cs
Marchhill Feb 10, 2026
3fabee2
Update src/Nethermind/Ethereum.Test.Base/JsonToEthereumTest.cs
Marchhill Feb 10, 2026
de48b8c
Update src/Nethermind/Ethereum.Test.Base/FileTestsSource.cs
Marchhill Feb 10, 2026
84d327d
✨ feat(EIP-7708): Rename log topic from Selfedestruct to Burn (#10540)
raxhvl Feb 16, 2026
76a8434
Revert "✨ feat(EIP-7708): Rename log topic from Selfedestruct to Burn…
flcl42 Feb 17, 2026
ad9e427
✨ feat(EIP-7708): Burn logs (#10544)
flcl42 Feb 17, 2026
df2e1dd
Fix tests - remove console output and move converters back
flcl42 Feb 24, 2026
60d6f2a
Merge remote-tracking branch 'origin/master' into bal-devnet-2-bals-only
flcl42 Feb 24, 2026
af3fa92
Merge branch 'bal-devnet-2-bals-only' into bal-devnet-2
flcl42 Feb 24, 2026
0155862
Consider another override; scan more
flcl42 Feb 25, 2026
95e4181
Deduplicate reads counting
flcl42 Feb 26, 2026
ff97728
Consider another override; scan more; account for Skipped in block bu…
flcl42 Feb 26, 2026
cbf9912
Use records; clean up
flcl42 Feb 26, 2026
58ab5a7
Less heap alloc; check rlp
flcl42 Mar 1, 2026
274638f
Merge remote-tracking branch 'origin/master' into bal-devnet-2-bals-only
flcl42 Mar 1, 2026
d46e218
review comments
Marchhill Mar 2, 2026
9c3e5d0
Merge remote-tracking branch 'upstream/master' into bal-devnet-2-bals…
Marchhill Mar 2, 2026
c2c7ce5
fix rlp
Marchhill Mar 2, 2026
fa539a7
fix aura test, blockchain test blob schedule loader
Marchhill Mar 2, 2026
767f78a
tidy
Marchhill Mar 2, 2026
510e65b
Merge branch 'bal-devnet-2-bals-only' into bal-devnet-2
Marchhill Mar 2, 2026
f9e0876
Merge remote-tracking branch 'origin/bal-devnet-2' into bal-devnet-3
LukaszRozmej Mar 3, 2026
0b0c249
Reapply "✨ feat(EIP-7708): Rename log topic from Selfedestruct to Bur…
LukaszRozmej Mar 3, 2026
2fbdfa8
feat(EIP-7954): Increase maximum contract size to 32KiB (#10708)
LukaszRozmej Mar 4, 2026
0f8aeb1
Update EIP-8024 decoding to new spec (#10710)
LukaszRozmej Mar 4, 2026
346efec
EIP-8037: State Creation Gas Cost Increase (#10712)
benaadams Mar 6, 2026
6b1ea45
Merge branch 'master' into bal-devnet-3
benaadams Mar 11, 2026
bd3a3e0
Fix Ether/GWei method-to-property syntax in Eip7954Tests
benaadams Mar 11, 2026
37a100c
Fix SELFDESTRUCT gas check ignoring return value after SpecGasCosts m…
benaadams Mar 11, 2026
b83c8b7
Fix selfdestruct log signature and Eip7928 test gas limits
benaadams Mar 11, 2026
bb78762
Fix selfdestruct-to-self log: use BurnSignature when EIP-8037 is active
benaadams Mar 11, 2026
a120ba5
Merge branch 'master' into bal-devnet-3
benaadams Mar 11, 2026
c4072ca
Fix flaky IsDeletedAsInvalid test by polling instead of fixed 200ms wait
benaadams Mar 11, 2026
41f07c4
Disable diagnostic file dumps in tests to fix Windows file locking flake
benaadams Mar 11, 2026
0f63635
Merge remote-tracking branch 'origin/master' into bal-devnet-3
LukaszRozmej Mar 12, 2026
8298d4c
cleanup
LukaszRozmej Mar 12, 2026
0ce47de
fix
LukaszRozmej Mar 12, 2026
e086791
Merge branch 'master' into bal-devnet-3
benaadams Mar 12, 2026
49f3818
Merge branch 'master' into bal-devnet-3
benaadams Mar 12, 2026
7c2e6a3
Merge branch 'master' into bal-devnet-3
benaadams Mar 12, 2026
395b493
Merge branch 'master' into bal-devnet-3
benaadams Mar 13, 2026
de17e80
Remove commented-out code per review feedback
benaadams Mar 13, 2026
edd7b0e
Add G tests
flcl42 Mar 5, 2026
60ebad0
Update test versions
benaadams Mar 13, 2026
9651308
Refactor EIP-7708 transfer logs to use generic TEip7708 flag (#10817)
LukaszRozmej Mar 13, 2026
26f9b49
Merge branch 'bal-devnet-3' of https://github.com/NethermindEth/nethe…
benaadams Mar 13, 2026
04f0bd1
Fix EIP-8037 state gas accounting for child halt/revert and failed co…
benaadams Mar 13, 2026
d08eabc
Charge EIP-8037 state gas before initcode size check in CREATE opcodes
benaadams Mar 13, 2026
0fffe6b
Fix SLOTNUM, EIP-7708 burn logs, and EIP-8024 endofcode for Amsterdam…
benaadams Mar 13, 2026
b4b9914
Fix EVM unit test regressions from Amsterdam EEST changes
benaadams Mar 13, 2026
1079c7e
Extract duplicated EIP-8024 end-of-code check into StopOrBadInstruction
benaadams Mar 13, 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
3 changes: 3 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@
"contentfiles",
"corechart",
"corinfo",
"CPSB",
"cpufrequency",
"crummey",
"cryptosuite",
Expand Down Expand Up @@ -544,6 +545,7 @@
"nodetype",
"nofile",
"nongcstatic",
"nongeneric",
"noninteractive",
"nonposdao",
"nonstring",
Expand Down Expand Up @@ -746,6 +748,7 @@
"squarify",
"stackalloc",
"srcset",
"sset",
"ssse",
"sstfiles",
"sstore",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

namespace Ethereum.Blockchain.Pyspec.Test.Amsterdam;

public static class Constants
{
public const string BalArchiveVersion = "bal@v5.4.0";
public const string BalArchiveName = "fixtures_bal.tar.gz";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7708BlockChainTests : BlockchainTestBase
{
private const string Eip7708Wildcard = "eip7708_eth_transfer_logs";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip7708Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

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

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7708StateTests : GeneralStateTestBase
{
private const string Eip7708Wildcard = "eip7708_eth_transfer_logs";

[TestCaseSource(nameof(LoadTests))]
public void Test(GeneralStateTest test) => RunTest(test).Pass.Should().BeTrue();

private static IEnumerable<GeneralStateTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/state_tests", Eip7708Wildcard);

return loader.LoadTests<GeneralStateTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7778BlockChainTests : BlockchainTestBase
{
private const string Eip7778Wildcard = "eip7778_block_gas_accounting_without_refunds";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip7778Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7843BlockChainTests : BlockchainTestBase
{
private const string Eip7843Wildcard = "eip7843_slotnum";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip7843Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

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

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7843StateTests : GeneralStateTestBase
{
private const string Eip7843Wildcard = "eip7843_slotnum";

[TestCaseSource(nameof(LoadTests))]
public void Test(GeneralStateTest test) => RunTest(test).Pass.Should().BeTrue();

private static IEnumerable<GeneralStateTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/state_tests", Eip7843Wildcard);

return loader.LoadTests<GeneralStateTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7928BlockChainTests : BlockchainTestBase
{
private const string Eip7928Wildcard = "eip7928_block_level_access_lists";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip7928Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7954BlockChainTests : BlockchainTestBase
{
private const string Eip7954Wildcard = "eip7954_increase_max_contract_size";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip7954Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

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

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip7954StateTests : GeneralStateTestBase
{
private const string Eip7954Wildcard = "eip7954_increase_max_contract_size";

[TestCaseSource(nameof(LoadTests))]
public void Test(GeneralStateTest test) => RunTest(test).Pass.Should().BeTrue();

private static IEnumerable<GeneralStateTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/state_tests", Eip7954Wildcard);

return loader.LoadTests<GeneralStateTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip8024BlockChainTests : BlockchainTestBase
{
private const string Eip8024Wildcard = "eip8024_dupn_swapn_exchange";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip8024Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

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

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip8024StateTests : GeneralStateTestBase
{
private const string Eip8024Wildcard = "eip8024_dupn_swapn_exchange";

[TestCaseSource(nameof(LoadTests))]
public void Test(GeneralStateTest test) => RunTest(test).Pass.Should().BeTrue();

private static IEnumerable<GeneralStateTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/state_tests", Eip8024Wildcard);

return loader.LoadTests<GeneralStateTest>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2026 Demerzel Solutions Limited
// SPDX-License-Identifier: LGPL-3.0-only

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Ethereum.Test.Base;
using NUnit.Framework;

namespace Ethereum.Blockchain.Pyspec.Test;

[TestFixture]
[Parallelizable(ParallelScope.All)]
public class Eip8037BlockChainTests : BlockchainTestBase
{
private const string Eip8037Wildcard = "eip8037_state_creation_gas_cost_increase";

[TestCaseSource(nameof(LoadTests))]
public async Task Test(BlockchainTest test) => await RunTest(test);

private static IEnumerable<BlockchainTest> LoadTests()
{
TestsSourceLoader loader = new(new LoadPyspecTestsStrategy
{
ArchiveVersion = Amsterdam.Constants.BalArchiveVersion,
ArchiveName = Amsterdam.Constants.BalArchiveName
}, "fixtures/blockchain_tests", Eip8037Wildcard);

return loader.LoadTests().OfType<BlockchainTest>();
}
}
Loading
Loading