UNPKG

@artela-network/registry

Version:

A collection of configs, artifacts, and schemas for Hyperlane

48 lines (47 loc) 1.8 kB
import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig } from '@hyperlane-xyz/sdk'; import { ChainAddresses, MaybePromise, 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>; }; } 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 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): MaybePromise<void>; merge(otherRegistry: IRegistry): IRegistry; }