London update 9.0.1: Fixing issues
The recent tests changes:
Fixing issues in the tests with EIP1559 formulas
More explicit transaction rejection reason from tools when filling the tests
Announcement
The test process diagram: http://tinyurl.com/2ctak8yn
Reminder of a brand new web interface for test debugging: http://retesteth.ethdevops.io/web/
Tests stats on latest builds: http://retesteth.ethdevops.io/
(implement test RPC support or t8ntool protocol to apply for the page. https://ethereum-tests.readthedocs.io/en/latest/t8ntool-ref.html)
Previous release link: https://github.com/ethereum/tests/releases/tag/9.0.0
Test format
BlockchainTests Fillers
"invalid" section in transaction replaced with "expectException" similar to the one in BlockHeader overwrite
It is now possible to set expected exception depending on the mining network for a specific transaction
This require test_mineBlocks RPC change in the test protocol and t8ntool response change as well.
The new return on test_mineBlocks is a json
{
"valid" : true,
"rejectedTransactions" : [
{
"hash" : "0x1122..11",
"error" ; "Gas Limit reached"
}
]
}
BlockchainTests Filled
If the block test filler had transactions marked "expectException" the filled test would have "transactionSequence" section with transaction order as its imported into state in the current block. if transaction import expected to fail it is marked so with exception. The new section allows clients to check transaction rejection in the blockchain tests. As previously invalid transaction been checked only during the test filling. Invalid transaction do not present in the valid block rlp. Now clients can try importing it on top of the previous block state and make sure the rejection exception is validated.
"transactionSequence" : [
{
"rawBytes" : "0xf863802b...4db0d72118",
"valid" : "false",
"exception" : "TR_NoFunds"
},
{
"rawBytes" : "0xf863802...b4db0d72118",
"valid" : "true"
}
],
Test Regeneration
Update all:
-
Documentation
PR #867 -
GasLimit delta checks fix on London
PR #860 -
EIP1559 transaction gasPrices
PR #859 -
Update EIP1559 rules
PR #862 -
Correct tests with expected transaction failure reason
PR #872 -
More transaction exception tests
PR #873
Upcoming changes:
Transaction rejection check in StateTests
Deprecate "transaction" section in filled GeneralStateTests #828 Rejectd
London EIP tests
Besu retesteth RPC support (web vmtracing support)
Move legacy tests into separate repo (too much space used)