ethereum / ethereum/execution-specs

blockchain_test_engine bugs in tests-focil-devnet@v0.2.0: BAL validation vs gasLimit failure

Open
#3,439 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.