Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
129e839
wip: apply beta package surface experiments
paulbalaji Mar 25, 2026
354291a
revert: keep explorer detail page on shared multiprovider
paulbalaji Mar 25, 2026
d57f2a0
perf: keep explorer runtime and adapters evm-only
paulbalaji Mar 25, 2026
3ad7dd0
refactor: use sdk runtime helper subpaths in explorer
paulbalaji Mar 25, 2026
6477af5
chore: restack explorer perf branch
paulbalaji Mar 27, 2026
c8bbc6c
fix: tighten chain search modal parsing
paulbalaji Mar 27, 2026
28fd5d9
fix: reject duplicate chain ids in chain search modal
paulbalaji Mar 27, 2026
1ce3a30
refactor: cut explorer over to sdk metadata helpers
paulbalaji Mar 27, 2026
d2f0e9c
fix: surface chain metadata save errors
paulbalaji Mar 27, 2026
90ae5f4
perf: memoize merged chain metadata
paulbalaji Mar 27, 2026
e21b1d8
fix: validate effective domain id collisions
paulbalaji Mar 27, 2026
51fadb1
fix: normalize chain search id matching
paulbalaji Mar 27, 2026
4f22d31
fix: allow replacing local chain overrides
paulbalaji Mar 27, 2026
ea9f73f
fix: allow replacing local chain overrides
paulbalaji Mar 27, 2026
9fb7081
style: format explorer files
paulbalaji Mar 27, 2026
100dad2
fix: sync add-chain modal state
paulbalaji Mar 27, 2026
d04b264
chore: rebase on main and bump beta deps
paulbalaji Apr 6, 2026
d9f419a
fix: address chain search review feedback
paulbalaji Apr 14, 2026
bc8e5d5
fix: address explorer review feedback
paulbalaji Apr 16, 2026
3cba6d7
fix: gate collateral queries on provider readiness
paulbalaji Apr 16, 2026
65e4452
test: align scale fallback coverage
paulbalaji Apr 16, 2026
d558daf
feat: add real-time validator signature status display
paulbalaji Apr 16, 2026
771fc30
fix: address additional review feedback
paulbalaji Apr 16, 2026
afa25e9
fix: use relayer metadata builder and local types
paulbalaji Apr 16, 2026
1857e44
fix: drop unused chain metadata import
paulbalaji Apr 16, 2026
2d863c0
fix(debugger): vendor metadata builder locally
paulbalaji Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts";

// NOTE: This file should not be edited
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"@ethersproject/transactions": "^5.8.0",
"@ethersproject/web": "^5.8.0",
"@headlessui/react": "^2.2.0",
"@hyperlane-xyz/core": "10.2.0",
"@hyperlane-xyz/core": "11.3.1",
"@hyperlane-xyz/registry": "24.3.0",
"@hyperlane-xyz/sdk": "32.0.0",
"@hyperlane-xyz/utils": "32.0.0",
Expand Down
21 changes: 4 additions & 17 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/components/search/SearchFilterBar.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { ChainMetadata } from '@hyperlane-xyz/sdk';
import type { ChainMetadata } from '@hyperlane-xyz/sdk/metadata/chainMetadataTypes';
import { trimToLength } from '@hyperlane-xyz/utils';
import { ChevronIcon, DatetimeField, Popover, XIcon, useModal } from '@hyperlane-xyz/widgets';
import clsx from 'clsx';
Expand Down
7 changes: 5 additions & 2 deletions src/features/api/searchPiMessages.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { GithubRegistry } from '@hyperlane-xyz/registry';
import { ChainMetadataSchema, MultiProtocolProvider } from '@hyperlane-xyz/sdk';
import { ChainMetadataSchema } from '@hyperlane-xyz/sdk/metadata/chainMetadataTypes';
import { Result, failure, success } from '@hyperlane-xyz/utils';
import type { NextApiRequest } from 'next';
import { z } from 'zod';

import { config } from '../../consts/config';
import { logger } from '../../utils/logger';
import { createRuntimeMultiProvider } from '../hyperlane/sdkRuntime';
import {
PiMessageQuery,
fetchMessagesFromPiChain,
Expand All @@ -28,7 +29,9 @@ export async function handler(req: NextApiRequest): Promise<Result<ApiMessage[]>

try {
logger.debug('Attempting to search for PI messages:', query);
const multiProvider = new MultiProtocolProvider({ [chainMetadata.name]: chainMetadata });
const multiProvider = await createRuntimeMultiProvider({
[chainMetadata.name]: chainMetadata,
});
const registry = new GithubRegistry({ proxyUrl: config.githubProxy });
// TODO consider supporting block/time/chain filters here
const messages = await fetchMessagesFromPiChain(chainMetadata, query, multiProvider, registry);
Expand Down
6 changes: 3 additions & 3 deletions src/features/api/utils.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { GithubRegistry } from '@hyperlane-xyz/registry';
import { MultiProtocolProvider } from '@hyperlane-xyz/sdk';
import { Client } from '@urql/core';

import { config } from '../../consts/config';
import { logger } from '../../utils/logger';
import { DOMAINS_QUERY, DomainsEntry } from '../chains/queries/fragments';
import { createRuntimeMultiProvider, type ExplorerMultiProvider } from '../hyperlane/sdkRuntime';

// TODO de-dupe this with store.ts and handle registry/multiProvider concerns in a single place
export async function getMultiProvider(): Promise<MultiProtocolProvider> {
export async function getMultiProvider(): Promise<ExplorerMultiProvider> {
const registry = new GithubRegistry({ proxyUrl: config.githubProxy });
const chainMetadata = await registry.getMetadata();
return new MultiProtocolProvider(chainMetadata);
return createRuntimeMultiProvider(chainMetadata);
}

export async function getScrapedChains(client: Client): Promise<Array<DomainsEntry>> {
Expand Down
Loading