UNPKG

@fuel-infrastructure/fuel-hyperlane-registry

Version:

A collection of configs, artifacts, and schemas for Hyperlane

35 lines (34 loc) 2.03 kB
import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk'; import { ChainAddresses, WarpDeployConfigMap, WarpRouteConfigMap, WarpRouteId } from '../types.js'; import { BaseRegistry } from './BaseRegistry.js'; import { AddWarpRouteOptions, IRegistry, RegistryContent, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js'; /** * Shared code for sync registries like the FileSystem and Partial registries. * This is required because of the inconsistent sync/async methods across registries. * If the Infra package can be updated to work with async-only methods, this code can be moved to the BaseRegistry class. */ export declare abstract class SynchronousRegistry extends BaseRegistry implements IRegistry { abstract listRegistryContent(): RegistryContent; getChains(): Array<ChainName>; abstract getMetadata(): ChainMap<ChainMetadata>; getChainMetadata(chainName: ChainName): ChainMetadata | null; abstract getAddresses(): ChainMap<ChainAddresses>; getChainAddresses(chainName: ChainName): ChainAddresses | null; addChain(chain: UpdateChainParams): void; updateChain(chain: UpdateChainParams): void; removeChain(chainName: ChainName): void; getWarpRoute(routeId: string): WarpCoreConfig | null; getWarpDeployConfig(routeId: string): WarpRouteDeployConfig | null; /** * Retrieves a filtered map of the warp routes configs */ getWarpRoutes(filter?: WarpRouteFilterParams): WarpRouteConfigMap; /** * Retrieves a map of all the warp routes deployment configs */ getWarpDeployConfigs(filter?: WarpRouteFilterParams): WarpDeployConfigMap; abstract addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteOptions): void; protected abstract createOrUpdateChain(chain: UpdateChainParams): void; protected abstract getWarpRoutesForIds(ids: WarpRouteId[]): WarpCoreConfig[]; protected abstract getWarpDeployConfigForIds(ids: WarpRouteId[]): WarpRouteDeployConfig[]; }