Summary
EIP-7708 specifies transfer logs for CALL, SELFDESTRUCT, and transaction-level value transfers. The spec explicitly does not require logging for protocol-level balance changes such as coinbase priority fee payments.
There is currently no EEST test that verifies the absence of a transfer log when the coinbase receives its priority fee payment at the end of transaction processing.
What's missing
A test where:
- A transaction executes a regular CALL with value to the coinbase address
- The transaction also pays a priority fee to the coinbase
- The expected logs include a Transfer log for the CALL value transfer
- The expected logs do not include a Transfer log for the priority fee payment
This would catch an implementation that incorrectly emits a transfer log for the coinbase fee credit (a protocol-level balance addition, not an EVM CALL).
Why it matters
The coinbase fee payment (state.touch(block.coinbase).balance += gas_used * priority_gas_price) is done outside the EVM, after execution completes. An implementation that hooks all balance additions (rather than only CALL/SELFDESTRUCT) would produce extra logs that break consensus.
A focused test with a CALL-with-value to the coinbase address would exercise both the legitimate transfer log (from the CALL) and the non-logged fee payment in the same transaction, making it easy to detect over-logging.
Summary
EIP-7708 specifies transfer logs for CALL, SELFDESTRUCT, and transaction-level value transfers. The spec explicitly does not require logging for protocol-level balance changes such as coinbase priority fee payments.
There is currently no EEST test that verifies the absence of a transfer log when the coinbase receives its priority fee payment at the end of transaction processing.
What's missing
A test where:
This would catch an implementation that incorrectly emits a transfer log for the coinbase fee credit (a protocol-level balance addition, not an EVM CALL).
Why it matters
The coinbase fee payment (
state.touch(block.coinbase).balance += gas_used * priority_gas_price) is done outside the EVM, after execution completes. An implementation that hooks all balance additions (rather than only CALL/SELFDESTRUCT) would produce extra logs that break consensus.A focused test with a CALL-with-value to the coinbase address would exercise both the legitimate transfer log (from the CALL) and the non-logged fee payment in the same transaction, making it easy to detect over-logging.