@fuel-infrastructure/fuel-hyperlane-registry
Version:
A collection of configs, artifacts, and schemas for Hyperlane
42 lines (41 loc) • 2.4 kB
TypeScript
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;
}