Skip to content

feat: on-chain LCAI bridge history with Lightscan links - #27

Merged
lightnessonchain merged 1 commit into
mainfrom
feature/flow-improvements
Oct 8, 2026
Merged

lightnessonchain merged 1 commit into
mainfrom
feature/flow-improvements

Conversation

@waytofarout

Copy link
Copy Markdown
Collaborator

Summary

#26 merged before this commit was pushed, so the tray history fix needs its own PR.

Hyperlane's hosted explorer does not index Lightchain, so the wallet tray's transfer history was always empty, and Buy & Bridge transfers were never recorded locally.

  • src/features/history/useBridgeHistory.ts: rebuilds the connected wallet's LCAI bridge history from the warp-route SentTransferRemote / ReceivedTransferRemote events, via the Etherscan logs API (Ethereum / Sepolia) and Lightscan's Blockscout API (Lightchain). Sends are paired with deliveries by amount and order to derive Delivered vs pending and the destination tx hash. Both directions.
  • SideBarMenu: on-chain history merged with this browser's local list, de-duplicated by origin tx. Each row links to the Lightscan transaction of the delivery (or the origin tx on the other explorer). Hyperlane GraphQL source and infinite scroll removed.
  • ZapForm: records the zap in local history from the Zapped event as soon as it mines, so it shows immediately and upgrades to Delivered on refresh.
  • TransfersDetailsModal: shows the destination tx with its explorer link.

Verified against the test wallet: 3 mainnet zaps, all Delivered, each ~40s after send, with Lightscan hashes.

🤖 Generated with Claude Code

Hyperlane's hosted explorer does not index Lightchain, so the tray's API
history was always empty, and Buy & Bridge transfers were never recorded.

- history/useBridgeHistory: rebuild the wallet's bridge history from the
  warp-route events (SentTransferRemote / ReceivedTransferRemote) via the
  Etherscan logs API (Ethereum/Sepolia) and Lightscan's Blockscout API
  (Lightchain). Sends are paired with deliveries by amount and order to
  derive Delivered vs pending and the destination tx hash. Both directions.
- SideBarMenu: use on-chain history merged with this browser's local list
  (de-duplicated by origin tx). Each row links to the Lightscan tx of the
  delivery (or the origin tx on the other explorer). Drops the Hyperlane
  GraphQL source and infinite scroll.
- ZapForm: record the zap in local history once mined, from the Zapped
  event, so it appears immediately and upgrades to Delivered on refresh.
- TransfersDetailsModal: show the destination tx with its explorer link.
- TransferContext: add destinationTxHash.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
bridge-ui Ready Ready Preview Oct 8, 2026 6:53pm UTC

Request Review

@lightnessonchain
lightnessonchain merged commit 94926f1 into main Oct 8, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
Preview — ca36a0b4 Deployed Oct 8, 2026 by vercel[bot]
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