fix(statetest): use spec-aware blob base fee update fraction
The state test runner was hardcoding BLOB_BASE_FEE_UPDATE_FRACTION_CANCUN
(3,338,477) instead of using the spec-aware value from CfgEnv. This caused
consensus divergence with geth on Prague/Osaka blob transaction tests.
Changes:
- Modified block_env() to use cfg.blob_base_fee_update_fraction() which
returns the correct value based on spec (Cancun: 3338477, Prague: 5007716)
- Updated runner.rs to pass mutable cfg reference as required by the API
- Added comprehensive unit tests verifying correct blob fee calculation
for Cancun, Prague, and Osaka forks
With excess_blob_gas=0x240000 and maxFeePerBlobGas=0x01:
- Cancun fraction (3338477): blob_price = 2, tx FAILS (insufficient fee)
- Prague fraction (5007716): blob_price = 1, tx SUCCEEDS
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>