Skip to content

feat(explorer): open pasted explorer URLs on their network - #1303

Open
0xKitsune wants to merge 1 commit into
factory/explorer-remove-recentfrom
factory/explorer-url-search
Open

0xKitsune wants to merge 1 commit into
factory/explorer-remove-recentfrom
factory/explorer-url-search

Conversation

@0xKitsune

@0xKitsune 0xKitsune commented Oct 1, 2026 •

Copy link
Copy Markdown

This PR lets people paste Tempo explorer resource URLs into search and open them on the URL's network. A Mainnet URL entered on Testnet offers Open on Mainnet instead of interpreting its identifier on Testnet.

This PR depends on #1301 and targets factory/explorer-remove-recent. Individual history removal is inherited from that PR; this diff adds URL search. Merge and deployment remain deferred.

The input and /search?q= use the same parser. It accepts exact official HTTPS hosts and supported address, token, transaction, receipt, and block paths. Host aliases canonicalize; credentials, custom ports, unrelated hosts, and malformed identifiers are rejected. Query strings and fragments are dropped to open the resource's default view.

const explorerUrl = parseExplorerSearchUrl(rawQuery)
if (explorerUrl) throw redirect({ href: explorerUrl.href })

Recognized URLs bypass current-chain lookup and stale suggestions. Existing raw search behavior and recent-search storage remain unchanged; URL navigation does not add a network-ambiguous entry to history. No dependencies or deployment configuration change.

Testing

565 tests passed across the explorer worker and Node suites, including 59 URL parser cases. Monorepo lint/types, explorer test types/build, Tempo lint, and precommit passed. Chrome verified keyboard/click/submit, source-network routing, stale-response suppression, history preservation, raw search, mobile layout, SSR redirect, and composition with individual history removal. Factory evidence records the frozen criteria, exact candidate, checks and browser cases.

Independent verification and code review passed for a6a8f55, including 172 parser cases and real browser composition with #1301. Current-head CI passed. Cyclops reported no findings, but its final archived report marks review completeness blocked because three conclusions lack current-revision exact-read support. This PR is not yet certified ready to merge; the gate report records the remaining evidence gap. No merge or deployment.

Screenshots

Before After
Before After

@0xKitsune

Copy link
Copy Markdown
Author

cyclops-audit fast

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Bundle Size Report

Metric Size Δ Change
Total 17.4 MB +13.1 MB (+310.0%)
Gzip 3.9 MB +2.7 MB (+219.9%)
Brotli 3.3 MB +2.2 MB (+209.7%)
Chunk changes (>1KB)
Chunk Change
assets/chains.js (removed) -360.7 KB
assets/tempo-queries.js -301.0 KB
assets/core.js (removed) -189.5 KB
assets/export-rate-limit.js (removed) -177.3 KB
assets/engine-javascript.js (removed) -92.9 KB
assets/decodeAbiParameters.js (removed) -71.7 KB
assets/_hash.js -36.1 KB
assets/react.js -31.8 KB
assets/AbiItem.js (removed) -27.1 KB
assets/sha2.js (removed) -14.7 KB
assets/queryOptions.js -11.8 KB
assets/Bytes.js -9.6 KB
assets/Amount.js -9.6 KB
assets/env.js -9.2 KB
assets/fee-amm-pool-rows.js (removed) -6.6 KB
assets/DataGrid.js -5.8 KB
assets/validators.js (removed) -5.1 KB
assets/token.js -5.0 KB
assets/tokens.js -1.1 KB
assets/Value.js (removed) -1.0 KB
...and 357 more

Compared against main branch (baseline from 4/27/2026, 4:02:54 PM)

@tempoxyz-bot tempoxyz-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

👁️ Cyclops Review — No actionable findings.

This branch has not been deployed

No deployments
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