Skip to content

eth_createAccessList: clarify gas-fee affordability when fee fields omitted - #854

Draft
MysticRyuujin wants to merge 1 commit into
ethereum:mainfrom
MysticRyuujin:eth-createaccesslist-affordability-853
Draft

eth_createAccessList: clarify gas-fee affordability when fee fields omitted#854
MysticRyuujin wants to merge 1 commit into
ethereum:mainfrom
MysticRyuujin:eth-createaccesslist-affordability-853

Conversation

@MysticRyuujin

Copy link
Copy Markdown
Contributor

Draft — depends on ethereum/go-ethereum#35397. The conformance fixture expects success for an unfunded sender, which fails against current go-ethereum (the reference client used by rpc-compat CI). Merge after the go-ethereum fix lands and its commit is picked up here.

Fixes #853.

Summary

Clarifies that when all gas fee fields (gasPrice, maxFeePerGas, maxPriorityFeePerGas) are omitted, a client may pick implementation-defined fee values for the simulation, but the request MUST NOT fail solely because the sender cannot afford those client-selected defaults. Non-zero value still requires balance.

Changes

  • src/eth/execute.yaml: normative description on eth_createAccessList.
  • tools/testgen: new create-al-unfunded-sender case — unfunded from, codeless to, zero value, no gas/fee fields.
  • tests/eth_createAccessList/create-al-unfunded-sender.io: fixture expecting {"accessList":[],"gasUsed":"0x5208"}, generated from a patched go-ethereum. speccheck passes; sibling fixtures are unchanged.

Cross-client status

Verified with a single shared fixture in hive rpc-compat. reth, nethermind, besu, erigon, and ethrex already return the expected result; go-ethereum is the sole divergence and is fixed by ethereum/go-ethereum#35397. With that fix built from source, all six clients pass.

Discussion

The same affordability question applies to eth_call and eth_estimateGas. Reviewers may prefer wording this as shared simulation-method behavior rather than createAccessList-only.

…mitted

Add a normative clarification that when all gas fee fields are omitted, a client
may pick implementation-defined fee values for the simulation but the request
must not fail solely because the sender cannot afford those defaults. Add a
testgen case and conformance fixture for an unfunded, zero-value sender.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eth_createAccessList: clarify gas-fee affordability when fee fields are omitted

1 participant