UNPKG

@fuel-infrastructure/fuel-hyperlane-registry

Version:

A collection of configs, artifacts, and schemas for Hyperlane

54 lines (53 loc) 2.17 kB
import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk'; import { ChainAddresses, MaybePromise, WarpDeployConfigMap, WarpRouteConfigMap, WarpRouteId } from '../types.js'; export interface ChainFiles { metadata?: string; addresses?: string; logo?: string; } export interface RegistryContent { chains: ChainMap<ChainFiles>; deployments: { warpRoutes: Record<WarpRouteId, string>; warpDeployConfig: Record<WarpRouteId, string>; }; } export interface UpdateChainParams { chainName: ChainName; metadata?: ChainMetadata; addresses?: ChainAddresses; } export interface WarpRouteFilterParams { symbol?: string; chainName?: ChainName; } export declare enum RegistryType { Github = "github", FileSystem = "filesystem", Merged = "merged", Partial = "partial" } export interface AddWarpRouteOptions { symbol?: string; } export interface IRegistry { type: RegistryType; uri: string; getUri(itemPath?: string): string; listRegistryContent(): MaybePromise<RegistryContent>; getChains(): MaybePromise<Array<ChainName>>; getMetadata(): MaybePromise<ChainMap<ChainMetadata>>; getChainMetadata(chainName: ChainName): MaybePromise<ChainMetadata | null>; getAddresses(): MaybePromise<ChainMap<ChainAddresses>>; getChainAddresses(chainName: ChainName): MaybePromise<ChainAddresses | null>; getChainLogoUri(chainName: ChainName): Promise<string | null>; addChain(chain: UpdateChainParams): MaybePromise<void>; updateChain(chain: UpdateChainParams): MaybePromise<void>; removeChain(chain: ChainName): MaybePromise<void>; getWarpRoute(routeId: string): MaybePromise<WarpCoreConfig | null>; getWarpRoutes(filter?: WarpRouteFilterParams): MaybePromise<WarpRouteConfigMap>; addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteOptions): MaybePromise<void>; getWarpDeployConfig(routeId: string): MaybePromise<WarpRouteDeployConfig | null>; getWarpDeployConfigs(filter?: WarpRouteFilterParams): MaybePromise<WarpDeployConfigMap>; merge(otherRegistry: IRegistry): IRegistry; }