ethereum / ethereum/execution-specs
Parent block header blob values not accessed correctly
Open
A-spec-specs
C-bug
E-medium
P-high
stale
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 505
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 116
Description
### Metadata
* **Hardfork**: Prague (and maybe Cancun)
### What was wrong?
The following snippet using an `isinstance(..., Header)` check. This will behave incorrectly at the transition block.
https://github.com/ethereum/execution-specs/blob/f310a20b85126b3896056a818030f0fe72d6cd3c/src/ethereum/cancun/vm/gas.py#L288-L295
For example, consider what happens at the Prague transition block. The last Cancun block **has** the `excess_blob_gas` and `blob_gas_used` fields, but because `isinstance(parent_header, Header) == False` (Cancun headers are not Prague headers), the default values of `0` are used instead.
Contributor guide
Assessment
This issue has not been assessed yet.