v7.0.0 - Pre-Berlin HF Release
This is the last Ethereum
tests release with a pre-Berlin
HF state, so it provides some stable ground to upgrade client test runners against to be ready for a Berlin
hardfork integration.
Tests Added
StateTests / BlockchainTests
EIP-2200
Added state tests (also as BlockchainTests
) to validate the EIP-1706/EIP-2200 out of gas condition,
specifically aimed at validating less than or equals to the stipend handling, see GeneralStateTests/stSStoreTest/sstore_gasLeft.json
, PR #649
DIV/SDIV/MOD/SDIV by Zero
Added state tests (also as BlockchainTests
) checking DIV/SDIV/MOD/SDIV by zero, see GeneralStateTests/stSolidityTest/ByZero.json
, PR #647
Stack Validity of SWAP
Added tests checking stack validity of SWAP, see GeneralStateTests/stStackTests/stackOverflowSWAP.json
and [..]/stacksanitySWAP.json
, PR #647
EXTCODEHASH Empty Account
Added more EXTCODEHASH state tests (also as BlockchainTests
) of nonexistent and post suicide accounts, see GeneralStateTests/stExtCodeHash/callToNonExistent.json
,
[..]/callToSuicideThenExtcodehash.json
and [..]/createEmptyThenExtcodehash.json
, PR #654
SELFBALANCE in different Call Types
Added a composite state test (also in BlockchainTests
) for SELFBALANCE that will do all the exisitng test inside of CALL, DELEGATECALL, and CALLCODE calls,
see GeneralStateTests/stSelfBalance/selfBalanceCallTypes.json
, PR #671
Retesteth Unit Tests
Introduced retesteth unitTests in BlockchainTests/InvalidBlocks/bcExpectSection/filling_unexpectedAccount.json
, PR #676
Difficulty Tests
Added difficulty tests for EIP-2384 (Muir Glacier Difficulty Bomb Delay), PR #662
Keystore Tests
Added KeyStore test based on MyCrypto file in order to ensure that the generated file is compatible with MyCrypto and Metamask, PR #665
RLP Tests
Added RLP invalid tests for insufficient bytes, see RLPTests/invalidRLPTest.json
, PR #614
Test Format Changes
BlockChainTests
LegacyTests
BlockChain
tests up to ConstantinopleFix
(aka Petersburg
) now also have been moved to the [LegacyTests/] folder, the main test folders on this release only
contain the Istanbul
tests, PR #648
VMTests -> BlockchainTests
VMTests
have been converted to BlockchainTests
and can now be found in BlockchainTests/ValidBlocks/VMTests/
, PR #680
PostState Correction
On some LegacyTests postState
has been corrected to postStateHash
, you can use this repo search
to see which tests are affected. This might need some adoption of your test runner.
InvalidBlockChain Tests: Expected Block Exceptions
Major blockchain test refactoring, and regeneration on geth + retesteth, see files diff for an impression on the format changes (InvalidBlockchainTests
). PR #672
Retesteth
- Add Transition genesis retesteth configurations to default geth configs, PR #646
- Updated default mining reward config for transition nets in retesteth configs to avoid retesteth error when filling the state tests, PR #650
- Use additional forks in retesteth configs. Additional forks used in
TransitionTests
and not automatically used in StateTests/BlockchainTests, PR #651 - Enable Istanbul in aleth's retesteth configs, PR #656
- Fix ripemd160 precompile name in retesteth configs, PR #659
- Fix ECADD and ECMUL precompiles in Istanbul retesteth config, PR #660
- Add
ChainID
to Istanbul retesteth config, PR #661 - Remove retesteth configs, configs are now stored in retesteth repo. PR #666
Test Fixes
- Reduce 50k bytes code in quadratic complexity tests to 20k bytes. Resolves issue #657, see
GeneralStateTests/stQuadraticComplexityTest/Call[*]KbytesContract[*].json
, PR #658 and PR #669 - Minor changes to the test filler format around field strictness, affected tests
BlockchainTests/InvalidBlocks/bcExpectSection/filling_wrongStorage2.json
,
GeneralStateTests/stExtCodeHash/*
,GeneralStateTests/stRandom/
(3),
GeneralStateTests/stReturnDataTest/subcallReturnMoreThenExpected.json
,
GeneralStateTests/stStaticCall/static_call_value_inherit.json
,
GeneralStateTests/stTransactionTest/Opcodes_TransactionInit.json
,
PR #677 - Upgrade and regenerate invalid RLP blockchain tests, PR #673
- Fix test fillers affected by the CompareStates bug, affected tests
BlockchainTests/ValidBlocks/bcStateTests/randomStatetest377.json
,
GeneralStateTests/stCallCreateCallCodeTest/Call1024PreCalls.json
,
GeneralStateTests/stChangedEIP150/Call1024PreCalls.json
,
GeneralStateTests/stCreate2/create2checkFieldsInInitcode.json
,
GeneralStateTests/stDelegatecallTestHomestead/Call1024PreCalls.json
,
GeneralStateTests/stRandom/randomStatetest349.json
,
GeneralStateTests/stRandom2/randomStatetest578.json
,
GeneralStateTests/stRefundTest/*
,
GeneralStateTests/stStaticCall/*
,
PR #678 - Fixed blockgaslimit in CALLBlake2f_MaxRouds, see
GeneralStateTests/stTimeConsuming/CALLBlake2f_MaxRounds.json
, PR #679 - Removed
bcExpectSection
inBlockchainTests
from public tests, PR #684