Multichain: cross-chain views#3539
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. To trigger a review, include ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The entrypoint's `while IFS='=' read` loop skipped the final line of any env file without a trailing newline, silently dropping that variable (bit us with NEXT_PUBLIC_INTERCHAIN_INDEXER_API_HOST in .env.extra). Add the `|| [ -n "$name" ]` idiom so the last line is always processed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Enables cross-chain transaction views throughout the multichain explorer UI (home “latest”, lists, details, token transfers, and chain stats), backed by the Interchain Indexer, and updates supporting tooling/configuration for presets and review deploys.
Changes:
- Adds cross-chain UI surfaces across multichain pages (home latest, tx/token-transfer/address views, tx lifecycle/transfers, charts) and refines interchain entity rendering.
- Updates cross-chain indexing/types and wiring (bump
@blockscout/interchain-indexer-types, new status handling, chart queries). - Updates dev/demo operational setup (new
gnosis_chiadopreset, review deploy tag reuse, env validation, entrypoint env parsing).
Reviewed changes
Copilot reviewed 38 out of 40 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/dev-server/registry.json | Adds gnosis_chiado preset alias for dev-server. |
| tools/dev-server/CONTEXT.md | Documents .env parsing edge case and dotenv precedence. |
| src/toolkit/pages/design-system/tabs/Values.tsx | Adds (currently commented) interchain token showcase scaffolding. |
| src/toolkit/pages/design-system/tabs/Values.pw.tsx | Mocks token icon to stabilize screenshot test. |
| src/slices/tx/components/entity/TxEntityInterchain.tsx | Routes interchain tx entities through multichain chain config when available. |
| src/slices/token/components/entity/TokenEntityInterchain.tsx | Routes interchain token entities through multichain chain config when available. |
| src/slices/token/components/entity/TokenEntityExternal.tsx | Adjusts chain-badge behavior for external token entities in multichain mode. |
| src/slices/token-transfer/pages/tx/TxTokenTransfer.tsx | Enables cross-chain transfers tab/query based on selected chain config. |
| src/slices/address/components/entity/AddressEntityInterchain.tsx | Treats multichain-known chains as “local” for address entities to avoid external rendering. |
| src/slices/address/components/entity/AddressEntity.tsx | Adds fallback behavior for chain shield rendering in address identicon. |
| src/shell/navigation/useNavItems.tsx | Hides ICTT users nav item in multichain mode. |
| src/shared/values/entity/TokenValueInterchain.tsx | Tweaks layout to better accommodate shield spacing/overflow. |
| src/shared/entities/utils.ts | Adds marginRightShield handling for icons with shields. |
| src/shared/entities/components.tsx | Extends entity icon props with marginRightShield. |
| src/server/getServerSideProps/main.ts | Allows cross-chain tx SSR route without multichain guard. |
| src/features/multichain/pages/txs/MultichainTxs.tsx | Wires cross-chain transactions tab to real content when enabled. |
| src/features/multichain/pages/token-transfers/MultichainTokenTransfers.tsx | Wires cross-chain token transfers tab to real content when enabled. |
| src/features/multichain/pages/home/LatestTxsCrossChain.tsx | Adds cross-chain latest transactions widget for multichain home. |
| src/features/multichain/pages/home/LatestTxs.tsx | Enables cross-chain latest tab when feature is enabled. |
| src/features/multichain/pages/address/MultichainAddressTxs.tsx | Adds cross-chain address transactions tab/content and pagination behavior. |
| src/features/multichain/pages/address/MultichainAddressTokenTransfers.tsx | Adds cross-chain address transfers tab/content and pagination behavior. |
| src/features/cross-chain-txs/pages/tx/TxDetailsCrossChainTransfers.tsx | Makes tx details “cross-chain transfers” section multichain-aware. |
| src/features/cross-chain-txs/pages/tx/TxCrossChainDetailsLifecycle.tsx | Improves lifecycle trigger status when destination tx exists. |
| src/features/cross-chain-txs/pages/address/AddressTxsCrossChain.tsx | Renames component for consistency. |
| src/features/cross-chain-txs/hooks/useCrossChainChartQuery.ts | Adds multichain base-chain support for cross-chain chart queries. |
| src/features/cross-chain-txs/components/txs/TransactionsCrossChainListItem.tsx | Wraps skeleton content to avoid rendering/layout issues. |
| src/features/cross-chain-txs/components/CrossChainTxsStatusTag.tsx | Adds “Ready to claim” status mapping. |
| src/features/cross-chain-txs/components/ChartWidgetContainerCrossChain.tsx | Passes multichain-selected chain into chart query. |
| src/features/cross-chain-txs/components/ChainStatsDetailsCrossChainTxs.tsx | Adds multichain base-chain selector and adjusts labels for base chain. |
| src/features/chain-stats/pages/details/ChainStatsDetails.tsx | Adds multichain base-chain selection for cross-chain charts. |
| pnpm-lock.yaml | Locks dependency bump for interchain indexer types. |
| package.json | Bumps @blockscout/interchain-indexer-types to 1.5.0-beta3. |
| deploy/values/review-2/values.yaml.gotmpl | Aligns review-2 image tag format with variant-independent tagging. |
| deploy/tools/envs-validator/schema_multichain.ts | Enables cross-chain feature env validation in multichain schema. |
| deploy/scripts/entrypoint.sh | Fixes .env export loop to keep final line without trailing newline. |
| .vscode/tasks.json | Adds gnosis_chiado to preset task list. |
| .github/workflows/deploy-review.yml | Adds gnosis_chiado and switches to variant-independent image tag. |
| .env.extra | Enables cross-chain feature + indexer host for demo via committed env overrides. |
| .agents/skills/deploy-demo/SKILL.md | Updates deploy-demo skill docs for variant-independent image tag behavior. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…d fallback. Co-authored-by: Cursor <cursoragent@cursor.com>
Description and Related Issue(s)
Resolves #3537
Enables cross-chain transaction views across the multichain explorer. Cross-chain data (powered by the interchain indexer) is now surfaced on the home page, transaction lists, transaction details, token transfers, and address pages, with dedicated interchain entity components for addresses, tokens, and transactions.
Proposed Changes
@blockscout/interchain-indexer-types1.3.0→1.5.0-beta3..env.extra(NEXT_PUBLIC_CROSS_CHAIN_TXS_ENABLED,NEXT_PUBLIC_INTERCHAIN_INDEXER_API_HOST).gnosis_chiadodev-server preset (registry.json+ synced dropdowns).Breaking or Incompatible Changes
None.
Additional Information
The
gnosis_chiadopreset can be run locally withpnpm dev:preset gnosis_chiado.Checklist for PR author