@hyperlane-xyz/cli 3.20.0-beta0 → 4.0.0-alpha

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.
Files changed (153) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +10 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/src/avs/config.d.ts +11 -0
  5. package/dist/src/avs/config.d.ts.map +1 -0
  6. package/dist/src/avs/config.js +10 -0
  7. package/dist/src/avs/config.js.map +1 -0
  8. package/dist/src/avs/stakeRegistry.d.ts +21 -0
  9. package/dist/src/avs/stakeRegistry.d.ts.map +1 -0
  10. package/dist/src/avs/stakeRegistry.js +64 -0
  11. package/dist/src/avs/stakeRegistry.js.map +1 -0
  12. package/dist/src/commands/avs.d.ts +12 -0
  13. package/dist/src/commands/avs.d.ts.map +1 -0
  14. package/dist/src/commands/avs.js +64 -0
  15. package/dist/src/commands/avs.js.map +1 -0
  16. package/dist/src/commands/config.d.ts.map +1 -1
  17. package/dist/src/commands/config.js +10 -60
  18. package/dist/src/commands/config.js.map +1 -1
  19. package/dist/src/commands/core.d.ts +16 -0
  20. package/dist/src/commands/core.d.ts.map +1 -0
  21. package/dist/src/commands/core.js +88 -0
  22. package/dist/src/commands/core.js.map +1 -0
  23. package/dist/src/commands/deploy.d.ts +13 -0
  24. package/dist/src/commands/deploy.d.ts.map +1 -1
  25. package/dist/src/commands/deploy.js +22 -26
  26. package/dist/src/commands/deploy.js.map +1 -1
  27. package/dist/src/commands/options.d.ts +11 -5
  28. package/dist/src/commands/options.d.ts.map +1 -1
  29. package/dist/src/commands/options.js +45 -11
  30. package/dist/src/commands/options.js.map +1 -1
  31. package/dist/src/commands/registry.d.ts +6 -0
  32. package/dist/src/commands/registry.d.ts.map +1 -0
  33. package/dist/src/commands/{chains.js → registry.js} +3 -3
  34. package/dist/src/commands/registry.js.map +1 -0
  35. package/dist/src/commands/send.d.ts.map +1 -1
  36. package/dist/src/commands/send.js +2 -42
  37. package/dist/src/commands/send.js.map +1 -1
  38. package/dist/src/commands/validator.d.ts +3 -0
  39. package/dist/src/commands/validator.d.ts.map +1 -0
  40. package/dist/src/commands/validator.js +34 -0
  41. package/dist/src/commands/validator.js.map +1 -0
  42. package/dist/src/commands/{hook.d.ts → warp.d.ts} +6 -2
  43. package/dist/src/commands/warp.d.ts.map +1 -0
  44. package/dist/src/commands/warp.js +101 -0
  45. package/dist/src/commands/warp.js.map +1 -0
  46. package/dist/src/config/chain.d.ts.map +1 -1
  47. package/dist/src/config/chain.js +21 -9
  48. package/dist/src/config/chain.js.map +1 -1
  49. package/dist/src/config/hooks.d.ts +4528 -90
  50. package/dist/src/config/hooks.d.ts.map +1 -1
  51. package/dist/src/config/hooks.js +31 -97
  52. package/dist/src/config/hooks.js.map +1 -1
  53. package/dist/src/config/ism.d.ts +58 -61
  54. package/dist/src/config/ism.d.ts.map +1 -1
  55. package/dist/src/config/ism.js +40 -128
  56. package/dist/src/config/ism.js.map +1 -1
  57. package/dist/src/config/warp.d.ts +3 -2
  58. package/dist/src/config/warp.d.ts.map +1 -1
  59. package/dist/src/config/warp.js +112 -49
  60. package/dist/src/config/warp.js.map +1 -1
  61. package/dist/src/consts.d.ts +1 -0
  62. package/dist/src/consts.d.ts.map +1 -1
  63. package/dist/src/consts.js +1 -0
  64. package/dist/src/consts.js.map +1 -1
  65. package/dist/src/context/context.d.ts +1 -1
  66. package/dist/src/context/context.d.ts.map +1 -1
  67. package/dist/src/context/context.js +37 -15
  68. package/dist/src/context/context.js.map +1 -1
  69. package/dist/src/context/types.d.ts +1 -0
  70. package/dist/src/context/types.d.ts.map +1 -1
  71. package/dist/src/deploy/agent.js +1 -1
  72. package/dist/src/deploy/agent.js.map +1 -1
  73. package/dist/src/deploy/core.d.ts +4 -8
  74. package/dist/src/deploy/core.d.ts.map +1 -1
  75. package/dist/src/deploy/core.js +28 -232
  76. package/dist/src/deploy/core.js.map +1 -1
  77. package/dist/src/deploy/dry-run.d.ts +2 -2
  78. package/dist/src/deploy/dry-run.d.ts.map +1 -1
  79. package/dist/src/deploy/dry-run.js +1 -0
  80. package/dist/src/deploy/dry-run.js.map +1 -1
  81. package/dist/src/deploy/utils.d.ts +4 -7
  82. package/dist/src/deploy/utils.d.ts.map +1 -1
  83. package/dist/src/deploy/utils.js +22 -19
  84. package/dist/src/deploy/utils.js.map +1 -1
  85. package/dist/src/deploy/warp.d.ts.map +1 -1
  86. package/dist/src/deploy/warp.js +38 -123
  87. package/dist/src/deploy/warp.js.map +1 -1
  88. package/dist/src/send/message.d.ts.map +1 -1
  89. package/dist/src/send/message.js +15 -29
  90. package/dist/src/send/message.js.map +1 -1
  91. package/dist/src/send/transfer.d.ts.map +1 -1
  92. package/dist/src/send/transfer.js +5 -6
  93. package/dist/src/send/transfer.js.map +1 -1
  94. package/dist/src/submit/submit.d.ts +5 -0
  95. package/dist/src/submit/submit.d.ts.map +1 -0
  96. package/dist/src/submit/submit.js +30 -0
  97. package/dist/src/submit/submit.js.map +1 -0
  98. package/dist/src/submit/types.d.ts +18 -0
  99. package/dist/src/submit/types.d.ts.map +1 -0
  100. package/dist/src/submit/types.js +2 -0
  101. package/dist/src/submit/types.js.map +1 -0
  102. package/dist/src/tests/deployTestErc20.js +3 -2
  103. package/dist/src/tests/deployTestErc20.js.map +1 -1
  104. package/dist/src/tests/hooks.test.js +14 -8
  105. package/dist/src/tests/hooks.test.js.map +1 -1
  106. package/dist/src/tests/ism.test.js +1 -1
  107. package/dist/src/tests/ism.test.js.map +1 -1
  108. package/dist/src/utils/balances.d.ts +2 -2
  109. package/dist/src/utils/balances.d.ts.map +1 -1
  110. package/dist/src/utils/balances.js +8 -3
  111. package/dist/src/utils/balances.js.map +1 -1
  112. package/dist/src/utils/chains.d.ts +1 -0
  113. package/dist/src/utils/chains.d.ts.map +1 -1
  114. package/dist/src/utils/chains.js +20 -3
  115. package/dist/src/utils/chains.js.map +1 -1
  116. package/dist/src/utils/env.d.ts +3 -0
  117. package/dist/src/utils/env.d.ts.map +1 -1
  118. package/dist/src/utils/env.js +3 -0
  119. package/dist/src/utils/env.js.map +1 -1
  120. package/dist/src/utils/files.d.ts +1 -0
  121. package/dist/src/utils/files.d.ts.map +1 -1
  122. package/dist/src/utils/files.js +8 -0
  123. package/dist/src/utils/files.js.map +1 -1
  124. package/dist/src/utils/keys.d.ts +5 -3
  125. package/dist/src/utils/keys.d.ts.map +1 -1
  126. package/dist/src/utils/keys.js +16 -13
  127. package/dist/src/utils/keys.js.map +1 -1
  128. package/dist/src/validator/address.d.ts +10 -0
  129. package/dist/src/validator/address.d.ts.map +1 -0
  130. package/dist/src/validator/address.js +107 -0
  131. package/dist/src/validator/address.js.map +1 -0
  132. package/dist/src/version.d.ts +1 -1
  133. package/dist/src/version.d.ts.map +1 -1
  134. package/dist/src/version.js +1 -1
  135. package/dist/src/version.js.map +1 -1
  136. package/examples/core-config.yaml +19 -0
  137. package/examples/hooks.yaml +8 -4
  138. package/examples/warp-route-deployment.yaml +2 -4
  139. package/package.json +7 -4
  140. package/dist/src/commands/chains.d.ts +0 -6
  141. package/dist/src/commands/chains.d.ts.map +0 -1
  142. package/dist/src/commands/chains.js.map +0 -1
  143. package/dist/src/commands/hook.d.ts.map +0 -1
  144. package/dist/src/commands/hook.js +0 -34
  145. package/dist/src/commands/hook.js.map +0 -1
  146. package/dist/src/commands/ism.d.ts +0 -12
  147. package/dist/src/commands/ism.d.ts.map +0 -1
  148. package/dist/src/commands/ism.js +0 -36
  149. package/dist/src/commands/ism.js.map +0 -1
  150. package/dist/src/registry/MergedRegistry.d.ts +0 -35
  151. package/dist/src/registry/MergedRegistry.d.ts.map +0 -1
  152. package/dist/src/registry/MergedRegistry.js +0 -83
  153. package/dist/src/registry/MergedRegistry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/commands/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQtC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/commands/chains.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAU/D;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAKzB,CAAC;AAOF,eAAO,MAAM,IAAI,EAAE,wBAAwB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAeA,CAAC"}
@@ -1,34 +0,0 @@
1
- import { readHookConfig } from '../hook/read.js';
2
- import { log } from '../logger.js';
3
- import { addressCommandOption, chainCommandOption, outputFileOption, } from './options.js';
4
- /**
5
- * Parent command
6
- */
7
- export const hookCommand = {
8
- command: 'hook',
9
- describe: 'Operations relating to Hooks',
10
- builder: (yargs) => yargs.command(read).version(false).demandCommand(),
11
- handler: () => log('Command required'),
12
- };
13
- // Examples for testing:
14
- // Fallback routing hook on polygon (may take 5s):
15
- // hyperlane hook read --chain polygon --address 0xca4cCe24E7e06241846F5EA0cda9947F0507C40C
16
- // IGP hook on inevm (may take 5s):
17
- // hyperlane hook read --chain inevm --address 0x19dc38aeae620380430C200a6E990D5Af5480117
18
- export const read = {
19
- command: 'read',
20
- describe: 'Reads onchain Hook configuration for a given address',
21
- builder: {
22
- chain: {
23
- ...chainCommandOption,
24
- demandOption: true,
25
- },
26
- address: addressCommandOption('Address of the Hook to read.', true),
27
- out: outputFileOption(),
28
- },
29
- handler: async (args) => {
30
- await readHookConfig(args);
31
- process.exit(0);
32
- },
33
- };
34
- //# sourceMappingURL=hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/commands/hook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,8BAA8B;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE;IACtE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF,wBAAwB;AACxB,kDAAkD;AAClD,+FAA+F;AAC/F,mCAAmC;AACnC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,IAAI,GAIZ;IACH,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,sDAAsD;IAChE,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,kBAAkB;YACrB,YAAY,EAAE,IAAI;SACnB;QACD,OAAO,EAAE,oBAAoB,CAAC,8BAA8B,EAAE,IAAI,CAAC;QACnE,GAAG,EAAE,gBAAgB,EAAE;KACxB;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1,12 +0,0 @@
1
- import { CommandModule } from 'yargs';
2
- import { CommandModuleWithContext } from '../context/types.js';
3
- /**
4
- * Parent command
5
- */
6
- export declare const ismCommand: CommandModule;
7
- export declare const read: CommandModuleWithContext<{
8
- chain: string;
9
- address: string;
10
- out: string;
11
- }>;
12
- //# sourceMappingURL=ism.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../../src/commands/ism.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAU/D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,aAKxB,CAAC;AASF,eAAO,MAAM,IAAI,EAAE,wBAAwB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAkBA,CAAC"}
@@ -1,36 +0,0 @@
1
- import { readIsmConfig } from '../ism/read.js';
2
- import { log } from '../logger.js';
3
- import { addressCommandOption, chainCommandOption, outputFileOption, } from './options.js';
4
- /**
5
- * Parent command
6
- */
7
- export const ismCommand = {
8
- command: 'ism',
9
- describe: 'Operations relating to ISMs',
10
- builder: (yargs) => yargs.command(read).version(false).demandCommand(),
11
- handler: () => log('Command required'),
12
- };
13
- // Examples for testing:
14
- // Top-level aggregation ISM on celo (may take 10s)
15
- // hyperlane ism read --chain celo --address 0x99e8E56Dce3402D6E09A82718937fc1cA2A9491E
16
- // Aggregation ISM for bsc domain on inevm (may take 5s)
17
- // hyperlane ism read --chain inevm --address 0x79A7c7Fe443971CBc6baD623Fdf8019C379a7178
18
- // Test ISM on alfajores testnet
19
- // hyperlane ism read --chain alfajores --address 0xdB52E4853b6A40D2972E6797E0BDBDb3eB761966
20
- export const read = {
21
- command: 'read',
22
- describe: 'Reads onchain ISM configuration for a given address',
23
- builder: {
24
- chain: {
25
- ...chainCommandOption,
26
- demandOption: true,
27
- },
28
- address: addressCommandOption('Address of the Interchain Security Module to read.', true),
29
- out: outputFileOption(),
30
- },
31
- handler: async (argv) => {
32
- await readIsmConfig(argv);
33
- process.exit(0);
34
- },
35
- };
36
- //# sourceMappingURL=ism.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ism.js","sourceRoot":"","sources":["../../../src/commands/ism.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE;IACtE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF,wBAAwB;AACxB,mDAAmD;AACnD,2FAA2F;AAC3F,wDAAwD;AACxD,4FAA4F;AAC5F,gCAAgC;AAChC,gGAAgG;AAChG,MAAM,CAAC,MAAM,IAAI,GAIZ;IACH,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,qDAAqD;IAC/D,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,kBAAkB;YACrB,YAAY,EAAE,IAAI;SACnB;QACD,OAAO,EAAE,oBAAoB,CAC3B,oDAAoD,EACpD,IAAI,CACL;QACD,GAAG,EAAE,gBAAgB,EAAE;KACxB;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1,35 +0,0 @@
1
- import { Logger } from 'pino';
2
- import { BaseRegistry, ChainAddresses, IRegistry, RegistryContent, RegistryType } from '@hyperlane-xyz/registry';
3
- import { ChainMap, ChainMetadata, ChainName, WarpCoreConfig } from '@hyperlane-xyz/sdk';
4
- export interface MergedRegistryOptions {
5
- registryUris: Array<string>;
6
- isDryRun?: boolean;
7
- logger?: Logger;
8
- }
9
- export declare class MergedRegistry extends BaseRegistry implements IRegistry {
10
- readonly type = RegistryType.Local;
11
- readonly registries: Array<IRegistry>;
12
- readonly isDryRun: boolean;
13
- constructor({ registryUris, logger, isDryRun }: MergedRegistryOptions);
14
- listRegistryContent(): Promise<RegistryContent>;
15
- getChains(): Promise<Array<ChainName>>;
16
- getMetadata(): Promise<ChainMap<ChainMetadata>>;
17
- getChainMetadata(chainName: ChainName): Promise<ChainMetadata | null>;
18
- getAddresses(): Promise<ChainMap<ChainAddresses>>;
19
- getChainAddresses(chainName: ChainName): Promise<ChainAddresses | null>;
20
- addChain(chain: {
21
- chainName: ChainName;
22
- metadata?: ChainMetadata;
23
- addresses?: ChainAddresses;
24
- }): Promise<void>;
25
- updateChain(chain: {
26
- chainName: ChainName;
27
- metadata?: ChainMetadata;
28
- addresses?: ChainAddresses;
29
- }): Promise<void>;
30
- removeChain(chain: ChainName): Promise<void>;
31
- addWarpRoute(config: WarpCoreConfig): Promise<void>;
32
- protected multiRegistryRead<R>(readFn: (registry: IRegistry) => Promise<R> | R): Promise<(Awaited<R> | Awaited<R>)[]>;
33
- protected multiRegistryWrite(writeFn: (registry: IRegistry) => Promise<void>, logMsg: string): Promise<void>;
34
- }
35
- //# sourceMappingURL=MergedRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MergedRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/MergedRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EACL,YAAY,EACZ,cAAc,EAEd,SAAS,EACT,eAAe,EACf,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACf,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,YAAa,YAAW,SAAS;IACnE,SAAgB,IAAI,sBAAsB;IAC1C,SAAgB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAgB,QAAQ,EAAE,OAAO,CAAC;gBAEtB,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,qBAAqB;IAkB/D,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC;IAU/C,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAItC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAK/C,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAIrE,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAKjD,iBAAiB,CACrB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI3B,QAAQ,CAAC,KAAK,EAAE;QACpB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,SAAS,CAAC,EAAE,cAAc,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOX,WAAW,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,SAAS,CAAC,EAAE,cAAc,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOX,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAKjC,kBAAkB,CAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;CAuBjB"}
@@ -1,83 +0,0 @@
1
- import { BaseRegistry, GithubRegistry, RegistryType, } from '@hyperlane-xyz/registry';
2
- import { LocalRegistry } from '@hyperlane-xyz/registry/local';
3
- import { isHttpsUrl, objKeys, objMerge, rootLogger, } from '@hyperlane-xyz/utils';
4
- export class MergedRegistry extends BaseRegistry {
5
- type = RegistryType.Local;
6
- registries;
7
- isDryRun;
8
- constructor({ registryUris, logger, isDryRun }) {
9
- logger ||= rootLogger.child({ module: 'MergedRegistry' });
10
- super({ uri: '__merged_registry__', logger });
11
- if (!registryUris.length)
12
- throw new Error('At least one registry URI is required');
13
- this.registries = registryUris.map((uri, index) => {
14
- if (isHttpsUrl(uri)) {
15
- return new GithubRegistry({ uri, logger: logger.child({ index }) });
16
- }
17
- else {
18
- return new LocalRegistry({ uri, logger: logger.child({ index }) });
19
- }
20
- });
21
- this.isDryRun = !!isDryRun;
22
- }
23
- async listRegistryContent() {
24
- const results = await this.multiRegistryRead((r) => r.listRegistryContent());
25
- return results.reduce((acc, content) => objMerge(acc, content), {
26
- chains: {},
27
- deployments: {},
28
- });
29
- }
30
- async getChains() {
31
- return objKeys(await this.getMetadata);
32
- }
33
- async getMetadata() {
34
- const results = await this.multiRegistryRead((r) => r.getMetadata());
35
- return results.reduce((acc, content) => objMerge(acc, content), {});
36
- }
37
- async getChainMetadata(chainName) {
38
- return (await this.getMetadata())[chainName] || null;
39
- }
40
- async getAddresses() {
41
- const results = await this.multiRegistryRead((r) => r.getAddresses());
42
- return results.reduce((acc, content) => objMerge(acc, content), {});
43
- }
44
- async getChainAddresses(chainName) {
45
- return (await this.getAddresses())[chainName] || null;
46
- }
47
- async addChain(chain) {
48
- return this.multiRegistryWrite(async (registry) => await registry.addChain(chain), `adding chain ${chain.chainName}`);
49
- }
50
- async updateChain(chain) {
51
- return this.multiRegistryWrite(async (registry) => await registry.updateChain(chain), `updating chain ${chain.chainName}`);
52
- }
53
- async removeChain(chain) {
54
- return this.multiRegistryWrite(async (registry) => await registry.removeChain(chain), `removing chain ${chain}`);
55
- }
56
- async addWarpRoute(config) {
57
- return this.multiRegistryWrite(async (registry) => await registry.addWarpRoute(config), 'adding warp route');
58
- }
59
- multiRegistryRead(readFn) {
60
- return Promise.all(this.registries.map(readFn));
61
- }
62
- async multiRegistryWrite(writeFn, logMsg) {
63
- if (this.isDryRun)
64
- return;
65
- for (const registry of this.registries) {
66
- // TODO remove this when GithubRegistry supports write methods
67
- if (registry.type === RegistryType.Github) {
68
- this.logger.warn(`skipping ${logMsg} at ${registry.type} registry`);
69
- continue;
70
- }
71
- try {
72
- this.logger.info(`${logMsg} at ${registry.type} registry at ${registry.uri}`);
73
- await writeFn(registry);
74
- this.logger.info(`done ${logMsg} at ${registry.type} registry`);
75
- }
76
- catch (error) {
77
- // To prevent loss of artifacts, MergedRegistry write methods are failure tolerant
78
- this.logger.error(`failure ${logMsg} at ${registry.type} registry`, error);
79
- }
80
- }
81
- }
82
- }
83
- //# sourceMappingURL=MergedRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MergedRegistry.js","sourceRoot":"","sources":["../../../src/registry/MergedRegistry.ts"],"names":[],"mappings":"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"}