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