Skip to content

feat: add basic RPC api.#5

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

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

Conversation

@mpaulucci

Copy link
Copy Markdown
Collaborator

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

@MegaRedHand MegaRedHand left a comment

Copy link
Copy Markdown
Collaborator

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
edg-l added a commit that referenced this pull request May 5, 2026
Block 2753572 (first post-Transition) committed cleanly under Bug 4 fix.
Block 2753573 fails with off-by-3 nonce mismatch — different magnitude
than prior rounds, suggesting either incomplete Bug 3 v3 coverage or a
problem in BinaryBackend::update_accounts intra-block state propagation.
Documents diagnostic ideas for next session.
edg-l added a commit that referenced this pull request May 5, 2026
Adds [BINARY-DEBUG]-tagged logs at four points to triangulate the off-by-N
nonce mismatch on hoodi sign-off run #5:

1. levm default_hook: prints sender address + state vs tx nonce on
   NonceMismatch (eprintln! since levm has no tracing).
2. binary-trie backend update_accounts: prints (addr, nonce, balance,
   code_hash) for every binary account write (eprintln! same reason).
3. storage store apply_trie_updates: tracing::info on each
   current_binary_root advance (parent + child roots).
4. storage force_commit_layers: tracing::info summary at the end with
   total nodes + leaves committed during activation freeze.

All four are TEMP — remove once the residual is fixed on a clean hoodi
sign-off.
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