Skip to content

feat: add basic RPC api.#5

Merged
mpaulucci merged 5 commits intomainfrom
basic-rpc-api
Jun 5, 2024
Merged

feat: add basic RPC api.#5
mpaulucci merged 5 commits intomainfrom
basic-rpc-api

Conversation

@mpaulucci
Copy link
Collaborator

Motivation
We want to have the minimal endpoints to connect to a consensus client

Copy link
Collaborator

@MegaRedHand MegaRedHand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mpaulucci mpaulucci marked this pull request as ready for review June 5, 2024 13:33
@mpaulucci mpaulucci requested a review from a team as a code owner June 5, 2024 13:33
@mpaulucci mpaulucci merged commit d9143f3 into main Jun 5, 2024
@MegaRedHand MegaRedHand deleted the basic-rpc-api branch June 5, 2024 13:46
lferrigno referenced this pull request in lferrigno/ethrex Jan 18, 2026
…rks (#5)

Implement fork-specific gas cost handling for the SSTORE opcode across
pre-merge Ethereum forks. This completes the core gas cost implementation
for pre-merge fork support.

Changes to gas_cost.rs:
- Add pre-Istanbul SSTORE constants: SSTORE_GAS_SET (20000 for zero to
  non-zero), SSTORE_GAS_RESET (5000 for other changes), and
  SSTORE_REFUND_CLEAR (15000 for clearing slots)
- Modify sstore() to accept fork parameter and use simple gas model for
  pre-Istanbul forks (no net gas metering)
- Apply EIP-2929 cold/warm access costs only for Berlin and later

Changes to stack_memory_storage_flow.rs:
- Pass fork to gas_cost::sstore() function
- Apply EIP-2200 stipend check only for Istanbul and later forks
- Implement pre-Istanbul refund logic: 15000 gas refund for clearing
  storage (non-zero to zero)
- Maintain EIP-2200 net gas metering refunds for Istanbul+ forks

Gas cost history for SSTORE:
- Frontier through Spurious Dragon: 20000 (set), 5000 (reset), 15000 refund
- Istanbul: EIP-2200 net gas metering
- Berlin+: EIP-2929 cold/warm access costs added
edg-l added a commit that referenced this pull request Feb 2, 2026
Per EIP-7928, coinbase must appear in BAL when there's a user transaction,
even if the priority fee is zero. System contract calls have gas_price = 0,
so we use this to distinguish them from user transactions.
@fedacking fedacking mentioned this pull request Feb 5, 2026
1 task
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.

2 participants