@hyperlane-xyz/registry 13.16.1 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,6 @@ export declare class FileSystemRegistry extends SynchronousRegistry implements I
23
23
  getAddresses(): ChainMap<ChainAddresses>;
24
24
  removeChain(chainName: ChainName): void;
25
25
  addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteOptions): void;
26
- addWarpRouteConfig(warpConfig: WarpRouteDeployConfig, fileName: string): void;
27
26
  addWarpRouteConfig(warpConfig: WarpRouteDeployConfig, options: AddWarpRouteConfigOptions): void;
28
27
  protected listFiles(dirPath: string): string[];
29
28
  protected createOrUpdateChain(chain: UpdateChainParams): void;
@@ -94,15 +94,12 @@ export class FileSystemRegistry extends SynchronousRegistry {
94
94
  data: toYamlString(config, SCHEMA_REF),
95
95
  });
96
96
  }
97
- addWarpRouteConfig(warpConfig, fileNameOrOptions) {
98
- let filePath;
99
- if (typeof fileNameOrOptions === 'string') {
100
- filePath = path.join(this.uri, this.getWarpRoutesPath(), fileNameOrOptions);
101
- }
102
- else {
103
- filePath = this.getWarpRouteDeployConfigPath(warpConfig, fileNameOrOptions);
104
- }
105
- this.createFile({ filePath, data: toYamlString(warpConfig) });
97
+ addWarpRouteConfig(warpConfig, options) {
98
+ const filePath = path.join(this.uri, this.getWarpRouteDeployConfigPath(warpConfig, options));
99
+ this.createFile({
100
+ filePath,
101
+ data: toYamlString(warpConfig),
102
+ });
106
103
  }
107
104
  listFiles(dirPath) {
108
105
  if (!fs.existsSync(dirPath))
@@ -34,6 +34,7 @@ export declare abstract class BaseRegistry implements IRegistry {
34
34
  abstract getWarpRoute(routeId: string): MaybePromise<WarpCoreConfig | null>;
35
35
  abstract getWarpRoutes(filter?: WarpRouteFilterParams): MaybePromise<WarpRouteConfigMap>;
36
36
  abstract addWarpRoute(config: WarpCoreConfig): MaybePromise<void>;
37
+ abstract addWarpRouteConfig(warpConfig: WarpRouteDeployConfig, options: AddWarpRouteConfigOptions): MaybePromise<void>;
37
38
  abstract getWarpDeployConfig(routeId: string): MaybePromise<WarpRouteDeployConfig | null>;
38
39
  abstract getWarpDeployConfigs(filter?: WarpRouteFilterParams): MaybePromise<WarpDeployConfigMap>;
39
40
  merge(otherRegistry: IRegistry): IRegistry;
@@ -2,7 +2,7 @@ import type { Logger } from 'pino';
2
2
  import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
3
3
  import { ChainAddresses, WarpDeployConfigMap, WarpRouteConfigMap } from '../types.js';
4
4
  import { BaseRegistry } from './BaseRegistry.js';
5
- import { ChainFiles, IRegistry, RegistryContent, RegistryType, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js';
5
+ import { AddWarpRouteConfigOptions, ChainFiles, IRegistry, RegistryContent, RegistryType, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js';
6
6
  export interface GithubRegistryOptions {
7
7
  uri?: string;
8
8
  proxyUrl?: string;
@@ -53,6 +53,7 @@ export declare class GithubRegistry extends BaseRegistry implements IRegistry {
53
53
  getWarpDeployConfigs(filter?: WarpRouteFilterParams): Promise<WarpDeployConfigMap>;
54
54
  protected readConfigs<ConfigMap>(routeIds: string[], routeConfigUrls: string[]): Promise<Record<string, ConfigMap>>;
55
55
  addWarpRoute(_config: WarpCoreConfig): Promise<void>;
56
+ addWarpRouteConfig(_config: WarpRouteDeployConfig, _options: AddWarpRouteConfigOptions): Promise<void>;
56
57
  getApiUrl(): Promise<string>;
57
58
  getApiRateLimit(): Promise<GithubRateResponse['resources']['core']>;
58
59
  protected getRawContentUrl(path: string): string;
@@ -149,6 +149,9 @@ export class GithubRegistry extends BaseRegistry {
149
149
  async addWarpRoute(_config) {
150
150
  throw new Error('TODO: Implement');
151
151
  }
152
+ async addWarpRouteConfig(_config, _options) {
153
+ throw new Error('TODO: Implement');
154
+ }
152
155
  async getApiUrl() {
153
156
  const { remaining, reset } = await this.getApiRateLimit();
154
157
  let apiHost = GITHUB_API_URL;
@@ -52,6 +52,7 @@ export interface IRegistry {
52
52
  getWarpRoute(routeId: string): MaybePromise<WarpCoreConfig | null>;
53
53
  getWarpRoutes(filter?: WarpRouteFilterParams): MaybePromise<WarpRouteConfigMap>;
54
54
  addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteOptions): MaybePromise<void>;
55
+ addWarpRouteConfig(config: WarpRouteDeployConfig, options: AddWarpRouteConfigOptions): MaybePromise<void>;
55
56
  getWarpDeployConfig(routeId: string): MaybePromise<WarpRouteDeployConfig | null>;
56
57
  getWarpDeployConfigs(filter?: WarpRouteFilterParams): MaybePromise<WarpDeployConfigMap>;
57
58
  merge(otherRegistry: IRegistry): IRegistry;
@@ -1,7 +1,7 @@
1
1
  import type { Logger } from 'pino';
2
2
  import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
3
3
  import { ChainAddresses, WarpDeployConfigMap, WarpRouteConfigMap, WarpRouteId } from '../types.js';
4
- import { AddWarpRouteOptions, IRegistry, RegistryContent, RegistryType, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js';
4
+ import { AddWarpRouteConfigOptions, AddWarpRouteOptions, IRegistry, RegistryContent, RegistryType, UpdateChainParams, WarpRouteFilterParams } from './IRegistry.js';
5
5
  export interface MergedRegistryOptions {
6
6
  registries: Array<IRegistry>;
7
7
  logger?: Logger;
@@ -34,6 +34,7 @@ export declare class MergedRegistry implements IRegistry {
34
34
  getWarpRoutes(filter?: WarpRouteFilterParams): Promise<WarpRouteConfigMap>;
35
35
  getWarpDeployConfigs(filter?: WarpRouteFilterParams): Promise<WarpDeployConfigMap>;
36
36
  addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteOptions): Promise<void>;
37
+ addWarpRouteConfig(config: WarpRouteDeployConfig, options: AddWarpRouteConfigOptions): Promise<void>;
37
38
  protected multiRegistryRead<R>(readFn: (registry: IRegistry) => Promise<R> | R): Promise<(Awaited<R> | Awaited<R>)[]>;
38
39
  protected multiRegistryWrite(writeFn: (registry: IRegistry) => Promise<void>, logMsg: string): Promise<void>;
39
40
  merge(otherRegistry: IRegistry): IRegistry;
@@ -27,7 +27,7 @@ export class MergedRegistry {
27
27
  chains: {},
28
28
  deployments: {
29
29
  warpRoutes: {},
30
- warpDeployConfig: {}
30
+ warpDeployConfig: {},
31
31
  },
32
32
  });
33
33
  }
@@ -80,6 +80,9 @@ export class MergedRegistry {
80
80
  async addWarpRoute(config, options) {
81
81
  return this.multiRegistryWrite(async (registry) => await registry.addWarpRoute(config, options), 'adding warp route');
82
82
  }
83
+ async addWarpRouteConfig(config, options) {
84
+ return this.multiRegistryWrite(async (registry) => await registry.addWarpRouteConfig(config, options), 'adding warp route deploy config');
85
+ }
83
86
  multiRegistryRead(readFn) {
84
87
  return Promise.all(this.registries.map(readFn));
85
88
  }
@@ -1,7 +1,7 @@
1
1
  import type { Logger } from 'pino';
2
2
  import type { ChainMap, ChainMetadata, ChainName, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
3
3
  import { ChainAddresses, DeepPartial, WarpRouteId } from '../types.js';
4
- import { IRegistry, RegistryContent, RegistryType } from './IRegistry.js';
4
+ import { AddWarpRouteConfigOptions, IRegistry, RegistryContent, RegistryType } from './IRegistry.js';
5
5
  import { SynchronousRegistry } from './SynchronousRegistry.js';
6
6
  /**
7
7
  * A registry that accepts partial data, such as incomplete chain metadata or addresses.
@@ -20,12 +20,13 @@ export declare class PartialRegistry extends SynchronousRegistry implements IReg
20
20
  chainAddresses: ChainMap<DeepPartial<ChainAddresses>>;
21
21
  warpRoutes: Array<DeepPartial<WarpCoreConfig>>;
22
22
  warpDeployConfigs: Array<DeepPartial<WarpRouteDeployConfig>>;
23
- constructor({ chainMetadata, chainAddresses, warpRoutes, warpDeployConfigs, logger }: PartialRegistryOptions);
23
+ constructor({ chainMetadata, chainAddresses, warpRoutes, warpDeployConfigs, logger, }: PartialRegistryOptions);
24
24
  listRegistryContent(): RegistryContent;
25
25
  getMetadata(): ChainMap<ChainMetadata>;
26
26
  getAddresses(): ChainMap<ChainAddresses>;
27
27
  removeChain(chainName: ChainName): void;
28
28
  addWarpRoute(_config: WarpCoreConfig): void;
29
+ addWarpRouteConfig(_config: WarpRouteDeployConfig, _options: AddWarpRouteConfigOptions): void;
29
30
  protected getWarpRoutesForIds(ids: WarpRouteId[]): WarpCoreConfig[];
30
31
  protected getWarpDeployConfigForIds(_ids: WarpRouteId[]): WarpRouteDeployConfig[];
31
32
  protected createOrUpdateChain(chain: {
@@ -1,4 +1,4 @@
1
- import { RegistryType } from './IRegistry.js';
1
+ import { RegistryType, } from './IRegistry.js';
2
2
  import { SynchronousRegistry } from './SynchronousRegistry.js';
3
3
  import { warpRouteConfigToId } from './warp-utils.js';
4
4
  const PARTIAL_URI_PLACEHOLDER = '__partial_registry__';
@@ -8,7 +8,7 @@ export class PartialRegistry extends SynchronousRegistry {
8
8
  chainAddresses;
9
9
  warpRoutes;
10
10
  warpDeployConfigs;
11
- constructor({ chainMetadata, chainAddresses, warpRoutes, warpDeployConfigs, logger }) {
11
+ constructor({ chainMetadata, chainAddresses, warpRoutes, warpDeployConfigs, logger, }) {
12
12
  super({ uri: PARTIAL_URI_PLACEHOLDER, logger });
13
13
  this.chainMetadata = chainMetadata || {};
14
14
  this.chainAddresses = chainAddresses || {};
@@ -35,7 +35,7 @@ export class PartialRegistry extends SynchronousRegistry {
35
35
  chains,
36
36
  deployments: {
37
37
  warpRoutes,
38
- warpDeployConfig: {} // TODO: This cannot be implemented without deriving the token symbol from config.token
38
+ warpDeployConfig: {}, // TODO: This cannot be implemented without deriving the token symbol from config.token
39
39
  },
40
40
  };
41
41
  }
@@ -55,6 +55,9 @@ export class PartialRegistry extends SynchronousRegistry {
55
55
  addWarpRoute(_config) {
56
56
  throw new Error('Method not implemented.');
57
57
  }
58
+ addWarpRouteConfig(_config, _options) {
59
+ throw new Error('Method not implemented.');
60
+ }
58
61
  getWarpRoutesForIds(ids) {
59
62
  return this.warpRoutes.filter((r) => {
60
63
  const id = warpRouteConfigToId(r);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/registry",
3
3
  "description": "A collection of configs, artifacts, and schemas for Hyperlane",
4
- "version": "13.16.1",
4
+ "version": "14.0.0",
5
5
  "dependencies": {
6
6
  "yaml": "2.4.5",
7
7
  "zod": "^3.21.2"