Summary
Implement the calldata cost floor pricing from EIP-7623 (Prague). Transactions with high calldata relative to execution must pay a minimum "floor" cost, discouraging data-heavy transactions that don't do proportional computation.
Specification
Floor Cost Calculation
STANDARD_TOKEN_COST = 4 (per calldata byte — same as today for zero bytes)
FLOOR_TOKEN_COST = 10 (per calldata byte for floor calculation)
tokens = zero_bytes * 4 + nonzero_bytes * 16 (standard intrinsic cost component)
floor_tokens = total_bytes * FLOOR_TOKEN_COST (floor cost component)
floor_gas = 21000 + floor_tokens + access_list_cost
standard_gas = 21000 + tokens + access_list_cost
intrinsic_gas = max(standard_gas, floor_gas)
In practice: if a transaction has a lot of calldata but uses little execution gas, it pays the floor price (10 gas per byte) instead of the standard price (4/16 per zero/non-zero byte).
Effective Gas Calculation
At end of transaction:
if execution_gas_used < floor_gas:
effective_gas = floor_gas # Pay the floor
else:
effective_gas = execution_gas_used # Pay standard
Implementation Guide
- Update
EEVM.Transaction.IntrinsicGas to calculate both standard and floor costs
- Add floor comparison at transaction end — the actual gas charged is
max(standard_execution_gas, floor_gas)
- Gate behind hardfork config — only active for Prague+
- Tests: calldata-heavy tx pays floor, computation-heavy tx pays standard, edge cases at boundary
Acceptance Criteria
Reference
Summary
Implement the calldata cost floor pricing from EIP-7623 (Prague). Transactions with high calldata relative to execution must pay a minimum "floor" cost, discouraging data-heavy transactions that don't do proportional computation.
Specification
Floor Cost Calculation
In practice: if a transaction has a lot of calldata but uses little execution gas, it pays the floor price (10 gas per byte) instead of the standard price (4/16 per zero/non-zero byte).
Effective Gas Calculation
At end of transaction:
Implementation Guide
EEVM.Transaction.IntrinsicGasto calculate both standard and floor costsmax(standard_execution_gas, floor_gas)Acceptance Criteria
21000 + total_bytes * 10max(standard_gas, floor_gas)Reference