UNPKG

@fuel-infrastructure/fuel-hyperlane-registry

Version:

A collection of configs, artifacts, and schemas for Hyperlane

42 lines (41 loc) 2.4 kB
import type { Logger } from 'pino'; import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk'; import type { ChainAddresses, MaybePromise, WarpDeployConfigMap } from '../types.js'; import { WarpRouteConfigMap } from '../types.js'; import type { AddWarpRouteOptions, IRegistry, RegistryContent, RegistryType, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js'; export declare abstract class BaseRegistry implements IRegistry { abstract type: RegistryType; readonly uri: string; protected readonly logger: Logger; protected listContentCache?: RegistryContent; protected metadataCache?: ChainMap<ChainMetadata>; protected isMetadataCacheFull: boolean; protected addressCache?: ChainMap<ChainAddresses>; protected isAddressCacheFull: boolean; constructor({ uri, logger }: { uri: string; logger?: Logger; }); getUri(itemPath?: string): string; protected getChainsPath(): string; protected getWarpRoutesPath(): string; protected getWarpRoutesArtifactPaths({ tokens }: WarpCoreConfig, options?: AddWarpRouteOptions): { configPath: string; }; abstract listRegistryContent(): MaybePromise<RegistryContent>; abstract getChains(): MaybePromise<Array<ChainName>>; abstract getMetadata(): MaybePromise<ChainMap<ChainMetadata>>; abstract getChainMetadata(chainName: ChainName): MaybePromise<ChainMetadata | null>; abstract getAddresses(): MaybePromise<ChainMap<ChainAddresses>>; abstract getChainAddresses(chainName: ChainName): MaybePromise<ChainAddresses | null>; getChainLogoUri(chainName: ChainName): Promise<string | null>; abstract addChain(chain: UpdateChainParams): MaybePromise<void>; abstract updateChain(chain: UpdateChainParams): MaybePromise<void>; abstract removeChain(chain: ChainName): MaybePromise<void>; abstract getWarpRoute(routeId: string): MaybePromise<WarpCoreConfig | null>; abstract getWarpRoutes(filter?: WarpRouteFilterParams): MaybePromise<WarpRouteConfigMap>; abstract addWarpRoute(config: WarpCoreConfig): MaybePromise<void>; abstract getWarpDeployConfig(routeId: string): MaybePromise<WarpRouteDeployConfig | null>; abstract getWarpDeployConfigs(filter?: WarpRouteFilterParams): MaybePromise<WarpDeployConfigMap>; merge(otherRegistry: IRegistry): IRegistry; }