Skip to content

Conversation

@o-az
Copy link
Member

@o-az o-az commented Dec 19, 2025

A few things needed for this to be mergable:

  • faucet support in explorer? simple. Currently I link to docs
  • there's currently no UI feedback if your passkey connection errors or if a write contract fn errors, it just logs error. So it needs some ui feedback,
  • need ui feedback linking to receipt for write contract fns

@o-az o-az self-assigned this Dec 19, 2025
@github-actions
Copy link

github-actions bot commented Dec 19, 2025

🚀 Deploying o-az/explorer-passkey with ⚡ Cloudflare Pages

Latest commit: 829d1aeb3e5a6ed5f0dfbd5f830cc669f069daa7
Status: ✅ Deploy successful
Preview URL: https://3a102bfe-explorer-devnet.porto.workers.dev
Branch Preview URL:

@o-az o-az force-pushed the o-az/explorer-passkey branch from d878cea to 24f3106 Compare December 19, 2025 12:42
@o-az o-az marked this pull request as ready for review December 19, 2025 20:13
@o-az o-az force-pushed the o-az/explorer-passkey branch from 555cc6f to 80276b4 Compare December 25, 2025 07:13
@o-az o-az marked this pull request as draft January 7, 2026 02:10
bpierre and others added 23 commits January 23, 2026 05:22
- Add nonce events (NonceIncremented, ActiveKeyCountChanged)
- Add feeAmm events (Mint, Burn, RebalanceSwap, FeeSwap)
- Add new tip20 events (Approval, BurnBlocked, TransferPolicyUpdate, NextQuoteTokenSet, QuoteTokenUpdate, RewardCanceled, RewardRecipientSet, RoleAdminUpdated)
- Add a demo for each supported event (/demo/tx)
- Update lib/token-metadata to allow checksum or non-checksum addresses
  to be used.
- Update tempo.ts to 0.5
* feat: fee breakdown on receipt view

* chore: match figma

* fix: loader returned items

* chore: vertical gap

* chore: ui tweak

* chore: ui tweak

* chore: lower case address when comparing
* feat: global blocks route

* chore: remove duplicate block view

* chore: improve pagination component

* chore: improve mobile layout

* feat: live updating timestamp

* chore: table footer mobile layout

* chore: preserve search param on navigation

* fix: SSR 1st page

* chore: ui tweak
* chore: block route layout

* chore: rm duplicate info
* feat: row links + datagrid

Sections export useSectionsMode(), allowing children to know the current
mode. The data table part got extracted into a new DataGrid component.

DataGrid uses CSS grid rather than tables, allowing relative positioning
which is used for the row links.

Also:

- Fix pagination disabled state.
- Update `press-down` utility to exclude `aria-disabled` elements.
- Various UI tweaks.

* checks
* add demo/account

Also:

- Remove the hover effect on the time link since it links to the same
  URL as the entire row.
- Remove the tx hash link since the full row acts as one.

* DataGrid: multiline event descriptions

- Support multiline cells in DataGrid.
- Use them for multiline event descriptions.
- Color updates.
- Styling tweaks.

* checks
- Rename `token-metadata.ts` to `tip20.ts`.
- Add `Tip20.isTip20Address()`.
- Update ExploreInput usages to route TIP-20 addresses to `/token/$address`.
- delete `/api/token/$address` route that was not called anymore.
- remove the `fetchTokenMetadata` server function.
- Add `stripSearchParams` middleware to prevent default query params from appearing in URLs.
- Replace `rowsPerPage` references with `defaultSearchValues.limit` for consistency.
- Add `contextual` prop to `Sections` for header context.
- Add `?a=0x...` query param to filter token transfers by address.
- Holder row clicks now navigate to filtered transfers view.

Co-authored-by: jxom <7336481+jxom@users.noreply.github.com>
* chore: /account => /address

* wrong quotes + missing /address

* formatting

* update demo path too

* dev script: enable the demo screens
* tweak package.json

* feat: use feePayer handler in sponsor service

* tweak

* fix

* fix

* undo port change

* chore: up tempo.ts

---------

Co-authored-by: Steven Truong <struong@users.noreply.github.com>
Co-authored-by: jxom <7336481+jxom@users.noreply.github.com>
* chore: fee payer tweaks

* chore: tweaks

* chore: up deps
* feat: tokens screen + pagination improvements

- Add `/tokens` route with token listing from IndexSupply API.
- Add `Pagination.Simple` for compact controls (/blocks + /tokens).
- Add `Pagination.Count`.
- Use the pagination components on /blocks.
- Various other tweaks.

* syntax
bpierre and others added 28 commits January 23, 2026 05:25
* feat: make tokens-index chain-relative

- Update `generate-tokens-index.ts` to accept chain ID (or `all`).
- Generate separate index files per chain.
- Update search API to select token index based on active chain.
- Update `.gitattributes` and `biome.json` for new file patterns.

Also:

- Fix search dropdown visibility on home screen.

* checks

* checks
* DataGrid: allow custom pagination labels

* coding style

* feat: /blocks tweaks

- Use DataGrid and Sections (+ remove horizontal scroll on smaller viewports).
- Change pagination from page-based to block-number-based (stable URLs).
- Move the live / paused indicator to the top.
- Add pause-on-hover & focus.
- Update blocksQueryOptions to accept start block number.
- Remove explicit live param from Pagination search links.
* ExploreInput: wide mode

* Header: always show the search field & adapt to viewport
- Fix scrollbar flash during home animation.
- Input & spotlight links are now interactive only once their anim starts.
- Dropdown menu stays closed after selecting an item.
- Dropdown addresses expand to fill the available space.
Add default values in destructuring to prevent 'Cannot read properties
of undefined (reading map/length)' errors when transactions data is
undefined during loading states.

Amp-Thread-ID: https://ampcode.com/threads/T-019ba79c-6e5b-7449-81af-3ad5fadd4e52

Co-authored-by: Emma Jamieson-Hoare <ejamieson19@gmai.com>
Co-authored-by: Amp <amp@ampcode.com>
)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* fix(explorer): use absolute URL for OG image

Social media crawlers need the full URL to fetch OG images - relative
paths don't work. Also added twitter:card and twitter:image to match
what the dynamic pages already do.

* fix: use configurable og:image URL

- Use `OG_BASE_URL` from `#lib/og` for default og:image.
- Add `/explorer` route to the og service serving static webp image.
- Remove unused `og-explorer.png` from explorer public folder.

* coding style

---------

Co-authored-by: Pierre Bertet <hi@bpier.re>
* feat: make apps/og use webp

* missing file

* remove device pixel ratio

* update metas: png => webp
* feat: explorer basic auth

* coding style

* coding style
* refactor: explorer env cleanup

- remove hardcoded per-network URL arrays from `wagmi.config.ts`
- add optional `_FALLBACK` variants for RPC URLs
- simplify `TEMPO_RPC_KEY` to single var
- move `VITE_CONTRACT_VERIFY_URL` and `VITE_OG_URL` to wrangler.jsonc
- remove unused vars: `VITE_LOG_LEVEL`, `VITE_TEMPO_CHAIN_ID`
- reorganize `.env.example` with comments and examples

* checks / formatting

* generate types on postinstall
* feat: posthog event instrumentation

* add loader profiling and ttfb

* remove unnecessary comments
* presto

* url

* missing files

* tokens index

* merge conflicts cleanup + forward rpc auth

* fix RPC URL access on server + client

- Use `createIsomorphicFn` for RPC URLs
- Read wrangler.jsonc vars at build time via `jsonc-parser`
* chore: update presto rpc

* update presto rpc
Convert 8 separate RPC calls (4 tokens * 2 calls: balanceOf + decimals)
into a single multicall request in the address page head function.

This reduces network waterfall and improves the SSR response time for
address pages by batching all token balance queries into one RPC call.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* feat(fee-payer): instrument PostHog events

* Update apps/fee-payer/src/lib/posthog.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update apps/fee-payer/src/lib/posthog.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* fix(fee-payer): move posthog timestamp to root level

* fix(fee-payer): fix syntax error in posthog.ts

* chore: rebase, pnpm check, fix build

---------

Co-authored-by: Steven Truong <struong@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* perf(explorer): defer PostHog analytics initialization

Wrap posthog.init() in requestIdleCallback (with setTimeout fallback)
to defer analytics initialization until the browser is idle. This
prevents analytics from blocking the initial render and reduces
Total Blocking Time (TBT).

The PostHog stub is still loaded synchronously to ensure event capture
calls don't fail, but actual initialization is deferred.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update apps/explorer/src/routes/__root.tsx

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
- Prefer main's changes for conflicting files
- Remove passkey-related code that used tempo.ts (forbidden by AGENTS.md)
- Fix validators query to use Abis.validatorConfig instead of Abis.validator
- Add missing validators export to queries index
- Remove stale /api/account routes (main uses /api/address)
- Restore env.ts and abis.ts from main

Amp-Thread-ID: https://ampcode.com/threads/T-019be94c-24b6-74f1-a705-5a84637c1f1f
Co-authored-by: Amp <amp@ampcode.com>
@gakonst gakonst force-pushed the o-az/explorer-passkey branch from 829d1ae to c5493e7 Compare January 23, 2026 05:32
// Try exact path first, then try matching by suffix (for Vyper absolute paths)
let compiledContract =
compileOutput.contracts?.[contractPath]?.[contractName]
let _matchedPath = contractPath
outputPath.endsWith(`/${contractPath}`)
) {
compiledContract = compileOutput.contracts[outputPath]?.[contractName]
_matchedPath = outputPath
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.