Test Calldata Floor¶
Documentation for tests/amsterdam/eip2780_reduce_intrinsic_tx_gas/test_calldata_floor.py@5fa5938b.
Generate fixtures for these test cases for Amsterdam with:
fill -v tests/amsterdam/eip2780_reduce_intrinsic_tx_gas/test_calldata_floor.py --fork Amsterdam
EIP-2780 interaction with the EIP-7623/7976 calldata floor.
A transaction's gas accounting uses max(intrinsic, calldata_floor).
EIP-2780 decomposes the intrinsic (TX_BASE + recipient access +
value-transfer charges) and lowers TX_BASE to 12_000; that lowered
base also feeds the calldata floor. These tests pin the data-heavy
regime where the floor dominates:
- The floor binds, so
gas_usedequals the floor and the recipient/value charges folded into the intrinsic are masked: the gas paid is identical for a zero-value and a value-bearing transaction of the same calldata size. - One gas below the floor, the transaction is rejected with
INTRINSIC_GAS_BELOW_FLOOR_GAS_COSTeven though it covers the (smaller) decomposed intrinsic.
Test Functions Overview¶
| Name | Type | Cases (Amsterdam) | Description |
|---|---|---|---|
test_calldata_floor |
state_test | 4 | A data-heavy transaction to an existing EOA whose calldata floor |