Skip to content

feat: gas profiling#387

Merged
mattevans merged 12 commits intomasterfrom
feat/gas-profiler-matty
Feb 2, 2026
Merged

feat: gas profiling#387
mattevans merged 12 commits intomasterfrom
feat/gas-profiler-matty

Conversation

@mattevans
Copy link
Member

No description provided.

@mattevans mattevans self-assigned this Jan 21, 2026
@mattevans mattevans requested a review from Savid as a code owner January 21, 2026 22:38
…splay

feat: add useRecentBlocks hook to fetch lightweight block summaries
refactor: remove blockNumber requirement from transaction data hooks
fix: handle out-of-range blocks and missing transactions gracefully
style: replace custom search with Input/Form components
chore: replace single gas-trend chart with MultiLine time-series charts
docs: add comprehensive Storybook stories for CardChain component
refactor(HomePage): prefix unused isFetching variable with underscore
…vigation

- Replace static flame graph with fully zoomable version supporting
 drill-down into any call frame and breadcrumb navigation back to root
- Add toggle to display opcodes as leaf nodes in flame graph, enabling
 granular gas analysis down to individual EVM instructions
- Introduce new useAllCallFrameOpcodes hook and utilities to fetch and
 embed opcode-level gas data into the call tree
- Rename UI labels from "Call" → "Internal Tx" for clarity and consistency
- Re-order block page tabs to surface transactions before calls
- Add collapsible legend and compact breadcrumb dropdown for dense trees
- Provide new EVM_OPCODE_CATEGORY_COLORS and combined color map for
 opcode-level visualization
…or gas by category

Replace CategoryPieChart with a new horizontal BarChart to improve
readability of category gas distribution. The bar chart shows the top
12 categories and groups the rest into "Other", making it easier to
compare relative sizes.

Add percentage labels directly on bars and format tooltips to display
both absolute gas and percentage share. Update time-axis labels for
hourly data to show short date strings instead of raw timestamps.

Remove unused CategoryPieChart import from HomePage and enhance
CategoryPieChart component itself with minPercentage / maxSlices props
for future reuse.
feat(gas-profiler): accept blockNumber via URL search param for faster queries
Introduce getEffectiveGasRefund utility to apply EIP-3529 rules: 20 % cap
post-London, 50 % pre-London. Update GasTooltip, GasBreakdownCard and
all pages to display correct cap percentage and effective refund.
- introduce BlockOpcodeHeatmap component for block-wide opcode gas analysis
- add toggle between block aggregate and per-transaction heatmap views
- implement color-coded intensity grid grouped by opcode category
- add interactive tooltips showing gas, count and percentage
- enable fullscreen modal for large heatmap exploration
- remove unused FireIcon import from Sidebar
- adjust Dialog fullscreen style to use calc() for true edge-to-edge
- add optional OpcodeAnalysis heatmap display on TransactionPage
- fix transaction index display (0-based → 1-based) in TransactionPage
refactor: break long import lines and parameter lists for readability
fix: correct typo from "Internal Tx's" to "Internal Txs"
style: reorder tailwind classes to match prettier rules
@mattevans mattevans merged commit e7a73c5 into master Feb 2, 2026
3 checks passed
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.

1 participant