feat(dora): EIP-7778 gas delta, EIP-7928 BAL hash, EIP-7843 slot_number display#758
Open
qu0b wants to merge 8 commits into
Open
feat(dora): EIP-7778 gas delta, EIP-7928 BAL hash, EIP-7843 slot_number display#758qu0b wants to merge 8 commits into
qu0b wants to merge 8 commits into
Conversation
When EL indexing is enabled, compute delta = block.gasUsed - sum(receipt.gasUsed). In Amsterdam, block.gasUsed is pre-refund (EIP-7778): gas refunds from SSTORE clears are not subtracted from block space, but are credited to tx.origin (EIP-8037). The delta row appears in the slot execution data section only when all tx receipts in the block have been enriched by the EL indexer, ensuring the sum is complete. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ction The Amsterdam execution payload includes slot_number (EIP-7843 SLOTNUM opcode). Show it in the slot overview next to Block Number, with an EIP-7843 badge. The value should always equal the containing CL slot; any mismatch indicates a client bug in slot_number embedding. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…oltip Only display the EIP-7778 gas refund delta badge when block.gasUsed > sum(receipts). In Amsterdam, the 2D gas formula can also produce block.gasUsed < sum(receipts) (when state gas dimension dominates), so a >=0 check was misleading. Also update the tooltip to accurately describe the max(sum_regular, sum_state) formula. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously the badge only appeared when block.gasUsed > sum(receipts). In Amsterdam the two counters ALWAYS diverge — in both directions: +delta (▲): regular gas dominates (block > receipts, refunds not counted) −delta (▼): state gas dominates (block < receipts, 2D max picks state) Changes: - Add GasRefundDeltaExcess bool to model (true = block > sum) - Always compute delta when all txs have EL data (not just when positive) - Template: green +delta with EIP-7778 ▲ badge or yellow −delta with EIP-7778 ▼ - Update tooltip text to explain both cases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…verview Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- process_transactions.go: filter EIP-7708 system address (0xff..fe) from token transfer detection; EIP-7708 emits Transfer(from,to,value) logs from this address for native ETH transfers, which dora would otherwise incorrectly index as ERC20 token transfers from a spurious token contract - slot/overview.html: correct EIP-7778 gas delta tooltip — counters diverge when blocks have storage-write refunds (not "ALWAYS"), removing misleading claim that was inaccurate for empty or ETH-only blocks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…overview The block access list hash (EIP-7928) was defined in the model but never populated. This computes it as keccak256(raw RLP bytes) — the same value the EL puts in the block header — so dora can now display and verify it. Template improvements: expanded tooltip explaining the hash derivation, copy-to-clipboard button, and EIP-7928 badge for discoverability. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rites guarantee non-empty
Member
Author
glamsterdam-devnet-6 test: EIP-7843 slot_number + EIP-7928 BAL hash + EIP-7778 gas delta ✅Tested on glamsterdam-devnet-6. All three execution payload fields are visible in the slot overview: EIP-7843: Slot Number — The EIP-7778: Gas Refund Delta — The EIP-7928: BAL Hash — The |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
block.gasUsedvssum(receipt.gasUsed)) — visible when refund txs are in a blockblockAccessListHashin the slot execution payload section with a tooltip noting EIP-4788 system writes guarantee it is never emptyslot_numberfield from the execution payload in the slot overviewTest plan
blockAccessListHashis shown and non-empty on all slots including empty blocksslot_numberfield renders correctly in the execution payload section