ethereum / ethereum/execution-specs
blockchain_test_engine bugs in tests-focil-devnet@v0.2.0: BAL validation vs gasLimit failure
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 505
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 116
Description
"tests/frontier/validation/test_transaction.py::test_tx_gas_limit[fork_Bogota-blockchain_test_engine_inclusion_list]"
The BAL contains 19 storageReads+storageChanges. Add with the BAL items len(6) = 25
The block `gasLimit` is only 21000, divided by BAL_ITEM_COST 2000, the max cap of BAL item limit is 10.
So BAL item exceeds max items cap. 25 > 10. But the fixture expect no validationError where is should have.
```[
{
"address": "0x00000961ef480eb55e80d19ad83579a64c007002",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [],
"storageReads": [
"0x00",
"0x01",
"0x02",
"0x03"
]
},
{
"address": "0x000064d678505ad48f8ccb093bc65613800e8282",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [],
"storageReads": [
"0x00",
"0x01",
"0x02",
"0x03"
]
},
{
"address": "0x0000bbddc7ce488642fb579f8b00f3a590007251",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [],
"storageReads": [
"0x00",
"0x01",
"0x02",
"0x03"
]
},
{
"address": "0x0000bff46984e3725691fa540a8c7589300d8282",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [],
"storageReads": [
"0x00",
"0x01",
"0x02",
"0x03"
]
},
{
"address": "0x0000f90827f1c53a10cb7a02335b175320002935",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [
{
"slot": "0x00",
"slotChanges": [
{
"blockAccessIndex": "0x00",
"postValue": "0x5e7fa07225727206b9f7f6e6f477b6bd03c180c04b93fce9825f1f5be0121996"
}
]
}
],
"storageReads": []
},
{
"address": "0x000f3df6d732807ef1319fb7b8bb8522d0beac02",
"nonceChanges": [],
"balanceChanges": [],
"codeChanges": [],
"storageChanges": [
{
"slot": "0x0c",
"slotChanges": [
{
"blockAccessIndex": "0x00",
"postValue": "0x0c"
}
]
}
],
"storageReads": [
"0x200b"
]
}
]
```
Contributor guide
Research direction
Start with tests/frontier/validation/test_transaction.py::test_tx_gas_limit[fork_Bogota-blockchain_test_engine_inclusion_list] and reproduce the failure in the tests-focil-devnet@v0.2.0 fixture. Trace how the BAL item count and gasLimit are validated, then verify that the fixture's expected validationError matches the resulting behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain, python
- Domain
- blockchain, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100