@hyperlane-xyz/sdk 1.1.3 → 1.2.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.
Files changed (170) hide show
  1. package/README.md +2 -2
  2. package/dist/HyperlaneApp.d.ts +7 -8
  3. package/dist/HyperlaneApp.d.ts.map +1 -1
  4. package/dist/HyperlaneApp.js +1 -4
  5. package/dist/HyperlaneApp.js.map +1 -1
  6. package/dist/consts/chainMetadata.d.ts +54 -25
  7. package/dist/consts/chainMetadata.d.ts.map +1 -1
  8. package/dist/consts/chainMetadata.js +65 -81
  9. package/dist/consts/chainMetadata.js.map +1 -1
  10. package/dist/consts/chains.d.ts +5 -5
  11. package/dist/consts/chains.d.ts.map +1 -1
  12. package/dist/consts/chains.js +5 -1
  13. package/dist/consts/chains.js.map +1 -1
  14. package/dist/consts/environments/index.d.ts +4 -2
  15. package/dist/consts/environments/index.d.ts.map +1 -1
  16. package/dist/consts/environments/mainnet.json +3 -1
  17. package/dist/core/HyperlaneCore.d.ts +10 -385
  18. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  19. package/dist/core/HyperlaneCore.js +6 -11
  20. package/dist/core/HyperlaneCore.js.map +1 -1
  21. package/dist/core/HyperlaneCore.test.js +2 -3
  22. package/dist/core/HyperlaneCore.test.js.map +1 -1
  23. package/dist/core/TestCoreApp.d.ts +5 -5
  24. package/dist/core/TestCoreApp.d.ts.map +1 -1
  25. package/dist/core/TestCoreApp.js +2 -4
  26. package/dist/core/TestCoreApp.js.map +1 -1
  27. package/dist/core/TestCoreDeployer.d.ts +6 -6
  28. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  29. package/dist/core/TestCoreDeployer.js +1 -1
  30. package/dist/core/TestCoreDeployer.js.map +1 -1
  31. package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
  32. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  33. package/dist/deploy/HyperlaneAppChecker.d.ts +9 -7
  34. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  35. package/dist/deploy/HyperlaneAppChecker.js +32 -9
  36. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  37. package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
  38. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  39. package/dist/deploy/HyperlaneDeployer.js +28 -35
  40. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  41. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +9 -7
  42. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
  43. package/dist/deploy/core/HyperlaneCoreChecker.js +57 -3
  44. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
  45. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +11 -11
  46. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  47. package/dist/deploy/core/HyperlaneCoreDeployer.js +12 -20
  48. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
  49. package/dist/deploy/core/types.d.ts +9 -1
  50. package/dist/deploy/core/types.d.ts.map +1 -1
  51. package/dist/deploy/core/types.js +1 -0
  52. package/dist/deploy/core/types.js.map +1 -1
  53. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
  54. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
  55. package/dist/deploy/middleware/LiquidityLayerApp.js +18 -23
  56. package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
  57. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +7 -7
  58. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  59. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +6 -9
  60. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
  61. package/dist/deploy/middleware/deploy.d.ts +9 -9
  62. package/dist/deploy/middleware/deploy.d.ts.map +1 -1
  63. package/dist/deploy/middleware/deploy.js.map +1 -1
  64. package/dist/deploy/router/GasRouterDeployer.d.ts +12 -0
  65. package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -0
  66. package/dist/deploy/router/GasRouterDeployer.js +46 -0
  67. package/dist/deploy/router/GasRouterDeployer.js.map +1 -0
  68. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
  69. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
  70. package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
  71. package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
  72. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
  73. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  74. package/dist/deploy/router/HyperlaneRouterDeployer.js +19 -22
  75. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
  76. package/dist/deploy/router/types.d.ts +5 -0
  77. package/dist/deploy/router/types.d.ts.map +1 -1
  78. package/dist/deploy/types.d.ts +9 -5
  79. package/dist/deploy/types.d.ts.map +1 -1
  80. package/dist/deploy/types.js +1 -0
  81. package/dist/deploy/types.js.map +1 -1
  82. package/dist/deploy/utils.d.ts +2 -6
  83. package/dist/deploy/utils.d.ts.map +1 -1
  84. package/dist/deploy/utils.js +1 -27
  85. package/dist/deploy/utils.js.map +1 -1
  86. package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
  87. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  88. package/dist/deploy/verify/ContractVerifier.js +2 -5
  89. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  90. package/dist/events.d.ts +4 -4
  91. package/dist/events.d.ts.map +1 -1
  92. package/dist/events.js +12 -9
  93. package/dist/events.js.map +1 -1
  94. package/dist/gas/calculator.d.ts +20 -20
  95. package/dist/gas/calculator.d.ts.map +1 -1
  96. package/dist/gas/calculator.hardhat-test.js +5 -4
  97. package/dist/gas/calculator.hardhat-test.js.map +1 -1
  98. package/dist/gas/calculator.js +9 -11
  99. package/dist/gas/calculator.js.map +1 -1
  100. package/dist/gas/calculator.test.js +2 -14
  101. package/dist/gas/calculator.test.js.map +1 -1
  102. package/dist/gas/token-prices.d.ts +4 -2
  103. package/dist/gas/token-prices.d.ts.map +1 -1
  104. package/dist/gas/token-prices.js +4 -2
  105. package/dist/gas/token-prices.js.map +1 -1
  106. package/dist/index.d.ts +30 -31
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +59 -66
  109. package/dist/index.js.map +1 -1
  110. package/dist/middleware/accounts.hardhat-test.js +23 -13
  111. package/dist/middleware/accounts.hardhat-test.js.map +1 -1
  112. package/dist/middleware/liquidity-layer.hardhat-test.js +10 -9
  113. package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
  114. package/dist/middleware/queries.hardhat-test.js +17 -13
  115. package/dist/middleware/queries.hardhat-test.js.map +1 -1
  116. package/dist/providers/MultiProvider.d.ts +186 -37
  117. package/dist/providers/MultiProvider.d.ts.map +1 -1
  118. package/dist/providers/MultiProvider.js +408 -63
  119. package/dist/providers/MultiProvider.js.map +1 -1
  120. package/dist/router.d.ts +11 -2
  121. package/dist/router.d.ts.map +1 -1
  122. package/dist/router.js +28 -0
  123. package/dist/router.js.map +1 -1
  124. package/dist/test/envSubsetDeployer/app.d.ts +12 -21
  125. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
  126. package/dist/test/envSubsetDeployer/app.js +13 -18
  127. package/dist/test/envSubsetDeployer/app.js.map +1 -1
  128. package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
  129. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  130. package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
  131. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  132. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
  133. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
  134. package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
  135. package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
  136. package/dist/test/envSubsetDeployer/utils.js +2 -10
  137. package/dist/test/envSubsetDeployer/utils.js.map +1 -1
  138. package/dist/test/testUtils.d.ts +5 -1
  139. package/dist/test/testUtils.d.ts.map +1 -1
  140. package/dist/test/testUtils.js +8 -1
  141. package/dist/test/testUtils.js.map +1 -1
  142. package/dist/types.d.ts +2 -17
  143. package/dist/types.d.ts.map +1 -1
  144. package/dist/utils/MultiGeneric.d.ts +11 -12
  145. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  146. package/dist/utils/MultiGeneric.js +3 -6
  147. package/dist/utils/MultiGeneric.js.map +1 -1
  148. package/dist/utils/wagmi.d.ts +4 -0
  149. package/dist/utils/wagmi.d.ts.map +1 -0
  150. package/dist/utils/wagmi.js +28 -0
  151. package/dist/utils/wagmi.js.map +1 -0
  152. package/logos/black/gnosis.svg +1 -0
  153. package/logos/color/gnosis.svg +1 -0
  154. package/package.json +5 -6
  155. package/dist/consts/chainConnectionConfigs.d.ts +0 -21
  156. package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
  157. package/dist/consts/chainConnectionConfigs.js +0 -35
  158. package/dist/consts/chainConnectionConfigs.js.map +0 -1
  159. package/dist/core/message.d.ts +0 -146
  160. package/dist/core/message.d.ts.map +0 -1
  161. package/dist/core/message.js +0 -285
  162. package/dist/core/message.js.map +0 -1
  163. package/dist/domains.d.ts +0 -4
  164. package/dist/domains.d.ts.map +0 -1
  165. package/dist/domains.js +0 -12
  166. package/dist/domains.js.map +0 -1
  167. package/dist/providers/ChainConnection.d.ts +0 -23
  168. package/dist/providers/ChainConnection.d.ts.map +0 -1
  169. package/dist/providers/ChainConnection.js +0 -67
  170. package/dist/providers/ChainConnection.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { TestMailbox } from '@hyperlane-xyz/core';
3
3
  import { ProxiedContract } from '../proxy';
4
- import { ChainName, TestChainNames } from '../types';
4
+ import { ChainName } from '../types';
5
5
  import { HyperlaneCore } from './HyperlaneCore';
6
6
  import { CoreContracts } from './contracts';
7
7
  declare type MockProxyAddresses = {
@@ -12,10 +12,10 @@ declare type MockProxyAddresses = {
12
12
  export declare type TestCoreContracts = CoreContracts & {
13
13
  mailbox: ProxiedContract<TestMailbox, MockProxyAddresses>;
14
14
  };
15
- export declare class TestCoreApp<TestChain extends TestChainNames = TestChainNames> extends HyperlaneCore<TestChain> {
16
- getContracts<Local extends TestChain>(chain: Local): TestCoreContracts;
17
- processMessages(): Promise<Map<TestChain, Map<TestChain, ethers.providers.TransactionResponse[]>>>;
18
- processOutboundMessages<Local extends TestChain>(origin: Local): Promise<Map<ChainName, ethers.providers.TransactionResponse[]>>;
15
+ export declare class TestCoreApp extends HyperlaneCore {
16
+ getContracts(chain: ChainName): TestCoreContracts;
17
+ processMessages(): Promise<Map<ChainName, Map<ChainName, ethers.providers.TransactionResponse[]>>>;
18
+ processOutboundMessages(origin: ChainName): Promise<Map<ChainName, ethers.providers.TransactionResponse[]>>;
19
19
  }
20
20
  export {};
21
21
  //# sourceMappingURL=TestCoreApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestCoreApp.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,aAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,iBAAiB,GAAG,aAAa,GAAG;IAC9C,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;CAC3D,CAAC;AAEF,qBAAa,WAAW,CACtB,SAAS,SAAS,cAAc,GAAG,cAAc,CACjD,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChC,YAAY,CAAC,KAAK,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,iBAAiB;IAIhE,eAAe,IAAI,OAAO,CAC9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CACvE;IAaK,uBAAuB,CAAC,KAAK,SAAS,SAAS,EACnD,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAyBnE"}
1
+ {"version":3,"file":"TestCoreApp.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,aAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,iBAAiB,GAAG,aAAa,GAAG;IAC9C,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;CAC3D,CAAC;AAEF,qBAAa,WAAY,SAAQ,aAAa;IAC5C,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB;IAI3C,eAAe,IAAI,OAAO,CAC9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CACvE;IAaK,uBAAuB,CAC3B,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAyBnE"}
@@ -11,8 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TestCoreApp = void 0;
13
13
  const utils_1 = require("@hyperlane-xyz/utils");
14
- const chainMetadata_1 = require("../consts/chainMetadata");
15
- const domains_1 = require("../domains");
16
14
  const HyperlaneCore_1 = require("./HyperlaneCore");
17
15
  class TestCoreApp extends HyperlaneCore_1.HyperlaneCore {
18
16
  getContracts(chain) {
@@ -39,10 +37,10 @@ class TestCoreApp extends HyperlaneCore_1.HyperlaneCore {
39
37
  const dispatches = yield outbox.queryFilter(dispatchFilter);
40
38
  for (const dispatch of dispatches) {
41
39
  const destination = dispatch.args.destination;
42
- if (destination === chainMetadata_1.chainMetadata[origin].id) {
40
+ if (destination === this.multiProvider.getDomainId(origin)) {
43
41
  throw new Error('Dispatched message to local domain');
44
42
  }
45
- const destinationChain = domains_1.DomainIdToChainName[destination];
43
+ const destinationChain = this.multiProvider.getChainName(destination);
46
44
  const inbox = this.getContracts(destinationChain).mailbox.contract;
47
45
  const id = utils_1.utils.messageId(dispatch.args.message);
48
46
  const delivered = yield inbox.delivered(id);
@@ -1 +1 @@
1
- {"version":3,"file":"TestCoreApp.js","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,gDAA6C;AAE7C,2DAAwD;AACxD,wCAAiD;AAIjD,mDAAgD;AAahD,MAAa,WAEX,SAAQ,6BAAwB;IAChC,YAAY,CAA0B,KAAY;QAChD,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAsB,CAAC;IACxD,CAAC;IAEK,eAAe;;YAGnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAChD,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAC5D,CAAC;gBACF,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACxC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,uBAAuB,CAC3B,MAAa;;YAEb,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAgB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YAEvD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;gBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9C,IAAI,WAAW,KAAK,6BAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE;oBAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACvD;gBACD,MAAM,gBAAgB,GAAG,6BAAmB,CAAC,WAAW,CAAc,CAAC;gBACvE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACnE,MAAM,EAAE,GAAG,aAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClE,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBACnE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;iBACvD;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;CACF;AAjDD,kCAiDC"}
1
+ {"version":3,"file":"TestCoreApp.js","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,gDAA6C;AAK7C,mDAAgD;AAahD,MAAa,WAAY,SAAQ,6BAAa;IAC5C,YAAY,CAAC,KAAgB;QAC3B,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAsB,CAAC;IACxD,CAAC;IAEK,eAAe;;YAGnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAChD,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAC5D,CAAC;gBACF,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACxC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,uBAAuB,CAC3B,MAAiB;;YAEjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAgB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YAEvD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;gBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9C,IAAI,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;oBAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACvD;gBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACnE,MAAM,EAAE,GAAG,aAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClE,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBACnE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;iBACvD;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;CACF;AA/CD,kCA+CC"}
@@ -3,13 +3,13 @@ import { MultisigIsm } from '@hyperlane-xyz/core';
3
3
  import { HyperlaneCoreDeployer } from '../deploy/core/HyperlaneCoreDeployer';
4
4
  import { CoreConfig } from '../deploy/core/types';
5
5
  import { MultiProvider } from '../providers/MultiProvider';
6
- import { ChainMap, TestChainNames } from '../types';
6
+ import { ChainMap, ChainName } from '../types';
7
7
  import { TestCoreApp } from './TestCoreApp';
8
- export declare class TestCoreDeployer<TestChain extends TestChainNames = TestChainNames> extends HyperlaneCoreDeployer<TestChain> {
9
- readonly multiProvider: MultiProvider<TestChain>;
10
- constructor(multiProvider: MultiProvider<TestChain>, configMap?: ChainMap<TestChain, CoreConfig>);
11
- deployMultisigIsm<LocalChain extends TestChain>(chain: LocalChain): Promise<MultisigIsm>;
8
+ export declare class TestCoreDeployer extends HyperlaneCoreDeployer {
9
+ readonly multiProvider: MultiProvider;
10
+ constructor(multiProvider: MultiProvider, configMap?: ChainMap<CoreConfig>);
11
+ deployMultisigIsm(chain: ChainName): Promise<MultisigIsm>;
12
12
  transferOwnershipOfContracts(): Promise<ethers.ContractReceipt[]>;
13
- deployApp(): Promise<TestCoreApp<TestChain>>;
13
+ deployApp(): Promise<TestCoreApp>;
14
14
  }
15
15
  //# sourceMappingURL=TestCoreDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,WAAW,EAGZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,qBAAa,gBAAgB,CAC3B,SAAS,SAAS,cAAc,GAAG,cAAc,CACjD,SAAQ,qBAAqB,CAAC,SAAS,CAAC;aAEtB,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC;gBAAvC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,EACvD,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAevC,iBAAiB,CAAC,UAAU,SAAS,SAAS,EAClD,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IAYjB,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAIjE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAGnD"}
1
+ {"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,WAAW,EAGZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,qBAAa,gBAAiB,SAAQ,qBAAqB;aAEvC,aAAa,EAAE,aAAa;gBAA5B,aAAa,EAAE,aAAa,EAC5C,SAAS,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IAa5B,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAYzD,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAIjE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
@@ -32,7 +32,7 @@ class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
32
32
  test1: testMultisigIsmConfig,
33
33
  test2: testMultisigIsmConfig,
34
34
  test3: testMultisigIsmConfig,
35
- }; // cast so param can be optional
35
+ };
36
36
  super(multiProvider, configs, testCoreFactories);
37
37
  this.multiProvider = multiProvider;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,8CAI6B;AAE7B,gFAA6E;AAK7E,+CAA4C;AAC5C,2CAA4C;AAE5C,MAAM,cAAc,GAAG,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAExE,mEAAmE;AACnE,MAAM,qBAAqB,GAAe;IACxC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF,MAAM,iBAAiB,mCAClB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,EACnC,OAAO,EAAE,IAAI,uBAAgB,EAAE,GAChC,CAAC;AAEF,MAAa,gBAEX,SAAQ,6CAAgC;IACxC,YACkB,aAAuC,EACvD,SAA2C;QAE3C,oDAAoD;QACpD,MAAM,OAAO,GACX,SAAS,aAAT,SAAS,cAAT,SAAS,GACR;YACC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;SACO,CAAC,CAAC,gCAAgC;QAEzE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAZjC,kBAAa,GAAb,aAAa,CAA0B;IAazD,CAAC;IAED,+CAA+C;IACzC,iBAAiB,CACrB,KAAiB;;YAEjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAiC,CAAC;QAC3C,CAAC;KAAA;IAED,wDAAwD;IAClD,4BAA4B;;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AAzCD,4CAyCC"}
1
+ {"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,8CAI6B;AAE7B,gFAA6E;AAK7E,+CAA4C;AAC5C,2CAA4C;AAE5C,MAAM,cAAc,GAAG,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAExE,mEAAmE;AACnE,MAAM,qBAAqB,GAAe;IACxC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF,MAAM,iBAAiB,mCAClB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,EACnC,OAAO,EAAE,IAAI,uBAAgB,EAAE,GAChC,CAAC;AAEF,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,YACkB,aAA4B,EAC5C,SAAgC;QAEhC,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI;YAC3B,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;SAC7B,CAAC;QAEF,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAVjC,kBAAa,GAAb,aAAa,CAAe;IAW9C,CAAC;IAED,+CAA+C;IACzC,iBAAiB,CAAC,KAAgB;;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAiC,CAAC;QAC3C,CAAC;KAAA;IAED,wDAAwD;IAClD,4BAA4B;;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AAnCD,4CAmCC"}
@@ -15,30 +15,26 @@ const chai_1 = require("chai");
15
15
  const hardhat_1 = require("hardhat");
16
16
  const core_1 = require("@hyperlane-xyz/core");
17
17
  const utils_1 = require("@hyperlane-xyz/utils");
18
- const chainMetadata_1 = require("../consts/chainMetadata");
19
- const utils_2 = require("../deploy/utils");
18
+ const chains_1 = require("../consts/chains");
19
+ const MultiProvider_1 = require("../providers/MultiProvider");
20
20
  const TestCoreDeployer_1 = require("./TestCoreDeployer");
21
- const localChain = 'test1';
22
- const localDomain = chainMetadata_1.chainMetadata[localChain].id;
23
- const remoteChain = 'test2';
24
- const remoteDomain = chainMetadata_1.chainMetadata[remoteChain].id;
21
+ const localChain = chains_1.Chains.test1;
22
+ const remoteChain = chains_1.Chains.test2;
25
23
  const message = '0xdeadbeef';
26
24
  describe('TestCoreDeployer', () => __awaiter(void 0, void 0, void 0, function* () {
27
25
  let testCoreApp, localMailbox, remoteMailbox, dispatchReceipt;
28
26
  beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
29
27
  const [signer] = yield hardhat_1.ethers.getSigners();
30
- const multiProvider = (0, utils_2.getTestMultiProvider)(signer);
28
+ const multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
31
29
  const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
32
30
  testCoreApp = yield deployer.deployApp();
33
31
  const recipient = yield new core_1.TestRecipient__factory(signer).deploy();
34
32
  localMailbox = testCoreApp.getContracts(localChain).mailbox.contract;
35
- const dispatchResponse = localMailbox.dispatch(remoteDomain, utils_1.utils.addressToBytes32(recipient.address), message);
33
+ const dispatchResponse = localMailbox.dispatch(multiProvider.getDomainId(remoteChain), utils_1.utils.addressToBytes32(recipient.address), message);
36
34
  yield (0, chai_1.expect)(dispatchResponse).to.emit(localMailbox, 'Dispatch');
37
- dispatchReceipt = yield testCoreApp.multiProvider
38
- .getChainConnection(localChain)
39
- .handleTx(dispatchResponse);
35
+ dispatchReceipt = yield testCoreApp.multiProvider.handleTx(localChain, dispatchResponse);
40
36
  remoteMailbox = testCoreApp.getContracts(remoteChain).mailbox.contract;
41
- yield (0, chai_1.expect)(remoteMailbox.dispatch(localDomain, utils_1.utils.addressToBytes32(recipient.address), message)).to.emit(remoteMailbox, 'Dispatch');
37
+ yield (0, chai_1.expect)(remoteMailbox.dispatch(multiProvider.getDomainId(localChain), utils_1.utils.addressToBytes32(recipient.address), message)).to.emit(remoteMailbox, 'Dispatch');
42
38
  }));
43
39
  it('processes outbound messages for a single domain', () => __awaiter(void 0, void 0, void 0, function* () {
44
40
  const responses = yield testCoreApp.processOutboundMessages(localChain);
@@ -1 +1 @@
1
- {"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,19 @@ import { MultiProvider } from '../providers/MultiProvider';
5
5
  import { TransparentProxyAddresses } from '../proxy';
6
6
  import { ChainMap, ChainName } from '../types';
7
7
  import { CheckerViolation } from './types';
8
- export declare abstract class HyperlaneAppChecker<Chain extends ChainName, App extends HyperlaneApp<any, Chain>, Config> {
9
- readonly multiProvider: MultiProvider<Chain>;
8
+ export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>, Config> {
9
+ readonly multiProvider: MultiProvider;
10
10
  readonly app: App;
11
- readonly configMap: ChainMap<Chain, Config>;
11
+ readonly configMap: ChainMap<Config>;
12
12
  readonly violations: CheckerViolation[];
13
- constructor(multiProvider: MultiProvider<Chain>, app: App, configMap: ChainMap<Chain, Config>);
14
- abstract checkChain(chain: Chain): Promise<void>;
13
+ constructor(multiProvider: MultiProvider, app: App, configMap: ChainMap<Config>);
14
+ abstract checkChain(chain: ChainName): Promise<void>;
15
15
  check(): Promise<void[]>;
16
16
  addViolation(violation: CheckerViolation): void;
17
- checkProxiedContract(chain: Chain, name: string, proxiedAddress: TransparentProxyAddresses, proxyAdminAddress?: types.Address): Promise<void>;
18
- checkOwnership(chain: Chain, owner: types.Address, ownables: Ownable[]): Promise<void>;
17
+ checkProxiedContract(chain: ChainName, name: string, proxiedAddress: TransparentProxyAddresses, proxyAdminAddress?: types.Address): Promise<void>;
18
+ private removeBytecodeMetadata;
19
+ checkBytecode(chain: ChainName, name: string, address: string, expectedBytecodeHash: string, modifyBytecodePriorToHash?: (bytecode: string) => string): Promise<void>;
20
+ checkOwnership(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<void>;
19
21
  expectViolations(violationCounts: Record<string, number>): void;
20
22
  expectEmpty(): void;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAiC,MAAM,SAAS,CAAC;AAE1E,8BAAsB,mBAAmB,CACvC,KAAK,SAAS,SAAS,EACvB,GAAG,SAAS,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EACpC,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAQpC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,oBAAoB,CACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
1
+ {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAEL,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAEjB,8BAAsB,mBAAmB,CACvC,GAAG,SAAS,YAAY,CAAC,GAAG,CAAC,EAC7B,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;IAQ7B,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,oBAAoB,CACxB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
@@ -10,7 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.HyperlaneAppChecker = void 0;
13
- const utils_1 = require("@hyperlane-xyz/utils");
13
+ const utils_1 = require("ethers/lib/utils");
14
+ const utils_2 = require("@hyperlane-xyz/utils");
14
15
  const objects_1 = require("../utils/objects");
15
16
  const proxy_1 = require("./proxy");
16
17
  const types_1 = require("./types");
@@ -27,7 +28,7 @@ class HyperlaneAppChecker {
27
28
  .filter((_) => !this.app.chains().includes(_))
28
29
  .forEach((chain) => this.addViolation({
29
30
  type: types_1.ViolationType.NotDeployed,
30
- chain: chain,
31
+ chain,
31
32
  expected: '',
32
33
  actual: '',
33
34
  }));
@@ -39,14 +40,36 @@ class HyperlaneAppChecker {
39
40
  }
40
41
  checkProxiedContract(chain, name, proxiedAddress, proxyAdminAddress) {
41
42
  return __awaiter(this, void 0, void 0, function* () {
42
- const dc = this.multiProvider.getChainConnection(chain);
43
- const implementation = yield (0, proxy_1.proxyImplementation)(dc.provider, proxiedAddress.proxy);
43
+ const provider = this.multiProvider.getProvider(chain);
44
+ const implementation = yield (0, proxy_1.proxyImplementation)(provider, proxiedAddress.proxy);
44
45
  if (implementation !== proxiedAddress.implementation) {
45
46
  this.addViolation((0, proxy_1.proxyViolation)(chain, name, proxiedAddress, implementation));
46
47
  }
47
48
  if (proxyAdminAddress) {
48
- const admin = yield (0, proxy_1.proxyAdmin)(dc.provider, proxiedAddress.proxy);
49
- utils_1.utils.assert(admin === proxyAdminAddress, 'Proxy admin mismatch');
49
+ const admin = yield (0, proxy_1.proxyAdmin)(provider, proxiedAddress.proxy);
50
+ utils_2.utils.assert(admin === proxyAdminAddress, 'Proxy admin mismatch');
51
+ }
52
+ });
53
+ }
54
+ removeBytecodeMetadata(bytecode) {
55
+ // https://docs.soliditylang.org/en/v0.8.17/metadata.html#encoding-of-the-metadata-hash-in-the-bytecode
56
+ // Remove solc metadata from bytecode
57
+ return bytecode.substring(0, bytecode.length - 90);
58
+ }
59
+ // This method checks whether the bytecode of a contract matches the expected bytecode. It forces the deployer to explicitly acknowledge a change in bytecode. The violations can be remediated by updating the expected bytecode hash.
60
+ checkBytecode(chain, name, address, expectedBytecodeHash, modifyBytecodePriorToHash = (_) => _) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const provider = this.multiProvider.getProvider(chain);
63
+ const bytecode = yield provider.getCode(address);
64
+ const bytecodeHash = (0, utils_1.keccak256)(modifyBytecodePriorToHash(this.removeBytecodeMetadata(bytecode)));
65
+ if (bytecodeHash !== expectedBytecodeHash) {
66
+ this.addViolation({
67
+ type: types_1.ViolationType.BytecodeMismatch,
68
+ chain,
69
+ expected: expectedBytecodeHash,
70
+ actual: bytecodeHash,
71
+ name,
72
+ });
50
73
  }
51
74
  });
52
75
  }
@@ -71,17 +94,17 @@ class HyperlaneAppChecker {
71
94
  // Every type should have exactly the number of expected matches.
72
95
  (0, objects_1.objMap)(violationCounts, (type, count) => {
73
96
  const actual = this.violations.filter((v) => v.type === type).length;
74
- utils_1.utils.assert(actual == count, `Expected ${count} ${type} violations, got ${actual}`);
97
+ utils_2.utils.assert(actual == count, `Expected ${count} ${type} violations, got ${actual}`);
75
98
  });
76
99
  this.violations
77
100
  .filter((v) => !(v.type in violationCounts))
78
101
  .map((v) => {
79
- utils_1.utils.assert(false, `Unexpected violation: ${JSON.stringify(v)}`);
102
+ utils_2.utils.assert(false, `Unexpected violation: ${JSON.stringify(v)}`);
80
103
  });
81
104
  }
82
105
  expectEmpty() {
83
106
  const count = this.violations.length;
84
- utils_1.utils.assert(count === 0, `Found ${count} violations`);
107
+ utils_2.utils.assert(count === 0, `Found ${count} violations`);
85
108
  }
86
109
  }
87
110
  exports.HyperlaneAppChecker = HyperlaneAppChecker;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
@@ -15,32 +15,32 @@ export interface DeployOptions {
15
15
  initCalldata?: string;
16
16
  }
17
17
  export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
18
- export declare abstract class HyperlaneDeployer<Chain extends ChainName, Config, Contracts extends HyperlaneContracts, Factories extends HyperlaneFactories> {
19
- protected readonly multiProvider: MultiProvider<Chain>;
20
- protected readonly configMap: ChainMap<Chain, Config>;
18
+ export declare abstract class HyperlaneDeployer<Config, Contracts extends HyperlaneContracts, Factories extends HyperlaneFactories> {
19
+ protected readonly multiProvider: MultiProvider;
20
+ protected readonly configMap: ChainMap<Config>;
21
21
  protected readonly factories: Factories;
22
22
  protected readonly options?: DeployerOptions | undefined;
23
- deployedContracts: Partial<Record<Chain, Partial<Contracts>>>;
24
- verificationInputs: ChainMap<Chain, ContractVerificationInput[]>;
23
+ deployedContracts: ChainMap<Contracts>;
24
+ verificationInputs: ChainMap<ContractVerificationInput[]>;
25
25
  protected logger: Debugger;
26
- constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, Config>, factories: Factories, options?: DeployerOptions | undefined);
27
- abstract deployContracts(chain: Chain, config: Config): Promise<Contracts>;
28
- deploy(partialDeployment?: Partial<Record<Chain, Partial<Contracts>>>): Promise<Record<Chain, Contracts>>;
29
- protected runIfOwner<T>(chain: Chain, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
30
- protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: Chain, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
31
- deployContract<K extends keyof Factories>(chain: Chain, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<Factories[K]['deploy']>>;
32
- protected deployProxy<C extends ethers.Contract>(chain: Chain, implementation: C, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
26
+ constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions | undefined);
27
+ abstract deployContracts(chain: ChainName, config: Config): Promise<Contracts>;
28
+ deploy(partialDeployment?: ChainMap<Contracts>): Promise<ChainMap<Contracts>>;
29
+ protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
30
+ protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
31
+ deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<Factories[K]['deploy']>>;
32
+ protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
33
33
  private cacheContract;
34
34
  /**
35
35
  * Deploys the Implementation and Proxy for a given contract
36
36
  *
37
37
  */
38
- deployProxiedContract<K extends keyof Factories, C extends Awaited<ReturnType<Factories[K]['deploy']>>>(chain: Chain, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
38
+ deployProxiedContract<K extends keyof Factories, C extends Awaited<ReturnType<Factories[K]['deploy']>>>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
39
39
  /**
40
40
  * Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
41
41
  * if the admin is not already the `desiredProxyAdmin`.
42
42
  */
43
- changeProxyAdmin(chain: Chain, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
44
- mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<Chain, ContractVerificationInput[]>): ChainMap<Chain, ContractVerificationInput[]>;
43
+ changeProxyAdmin(chain: ChainName, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
44
+ mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<ContractVerificationInput[]>): ChainMap<ContractVerificationInput[]>;
45
45
  }
46
46
  //# sourceMappingURL=HyperlaneDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
@@ -28,21 +28,19 @@ class HyperlaneDeployer {
28
28
  this.verificationInputs = (0, objects_1.objMap)(configMap, () => []);
29
29
  this.logger = (options === null || options === void 0 ? void 0 : options.logger) || (0, debug_1.debug)('hyperlane:AppDeployer');
30
30
  }
31
- deploy(partialDeployment = this
32
- .deployedContracts) {
31
+ deploy(partialDeployment = this.deployedContracts) {
33
32
  var _a;
34
33
  return __awaiter(this, void 0, void 0, function* () {
35
34
  (0, objects_1.objMap)(partialDeployment, (chain, contracts) => {
36
35
  this.logger(`Recovering contracts for ${chain} from partial deployment`);
37
- const chainConnection = this.multiProvider.getChainConnection(chain);
38
- this.deployedContracts[chain] = (0, contracts_1.connectContracts)(contracts, chainConnection.signer);
36
+ const signer = this.multiProvider.getSigner(chain);
37
+ this.deployedContracts[chain] = (0, contracts_1.connectContracts)(contracts, signer);
39
38
  });
40
39
  const configChains = Object.keys(this.configMap);
41
- const targetChains = this.multiProvider.intersect(configChains, false).intersection;
40
+ const targetChains = this.multiProvider.intersect(configChains, true).intersection;
42
41
  this.logger(`Start deploy to ${targetChains}`);
43
42
  for (const chain of targetChains) {
44
- const chainConnection = this.multiProvider.getChainConnection(chain);
45
- const signerUrl = yield chainConnection.getAddressUrl();
43
+ const signerUrl = yield this.multiProvider.getExplorerAddressUrl(chain);
46
44
  this.logger(`Deploying to ${chain} from ${signerUrl} ...`);
47
45
  this.deployedContracts[chain] = yield this.deployContracts(chain, this.configMap[chain]);
48
46
  // TODO: remove these logs once we have better timeouts
@@ -53,8 +51,7 @@ class HyperlaneDeployer {
53
51
  }
54
52
  runIfOwner(chain, ownable, fn) {
55
53
  return __awaiter(this, void 0, void 0, function* () {
56
- const dc = this.multiProvider.getChainConnection(chain);
57
- const address = yield dc.signer.getAddress();
54
+ const address = yield this.multiProvider.getSignerAddress(chain);
58
55
  const owner = yield ownable.owner();
59
56
  const logObj = { owner, signer: address };
60
57
  if (address === owner) {
@@ -75,15 +72,12 @@ class HyperlaneDeployer {
75
72
  this.logger(`Recovered contract ${contractName} on ${chain}`);
76
73
  return cachedContract;
77
74
  }
78
- const chainConnection = this.multiProvider.getChainConnection(chain);
79
- const signer = chainConnection.signer;
80
- if (!signer) {
81
- throw new Error(`No signer for ${chain}`);
82
- }
75
+ const provider = this.multiProvider.getProvider(chain);
76
+ const signer = this.multiProvider.getSigner(chain);
77
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
83
78
  this.logger(`Deploy ${contractName} on ${chain}`);
84
- if (deployOpts &&
85
- deployOpts.create2Salt &&
86
- (yield chainConnection.provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
79
+ const factoryCode = yield provider.getCode(exports.CREATE2FACTORY_ADDRESS);
80
+ if (deployOpts && deployOpts.create2Salt && factoryCode != '0x') {
87
81
  this.logger(`Deploying with CREATE2 factory`);
88
82
  const create2Factory = core_1.Create2Factory__factory.connect(exports.CREATE2FACTORY_ADDRESS, signer);
89
83
  const salt = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(deployOpts.create2Salt)));
@@ -91,11 +85,12 @@ class HyperlaneDeployer {
91
85
  const bytecode = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.concat([factory.bytecode, encodedConstructorArgs]));
92
86
  // TODO: Maybe recover deployed contracts?
93
87
  const contractAddr = yield create2Factory.deployedAddress(bytecode, yield signer.getAddress(), salt);
94
- if ((yield chainConnection.provider.getCode(contractAddr)) === '0x') {
88
+ const contractCode = yield provider.getCode(contractAddr);
89
+ if (contractCode === '0x') {
95
90
  const deployTx = deployOpts.initCalldata
96
- ? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata, chainConnection.overrides)
97
- : yield create2Factory.deploy(bytecode, salt, chainConnection.overrides);
98
- yield chainConnection.handleTx(deployTx);
91
+ ? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata, overrides)
92
+ : yield create2Factory.deploy(bytecode, salt, overrides);
93
+ yield this.multiProvider.handleTx(chain, deployTx);
99
94
  }
100
95
  else {
101
96
  this.logger(`Found contract deployed at CREATE2 address, skipping contract deploy`);
@@ -111,15 +106,15 @@ class HyperlaneDeployer {
111
106
  else {
112
107
  const contract = yield factory
113
108
  .connect(signer)
114
- .deploy(...constructorArgs, chainConnection.overrides);
115
- yield chainConnection.handleTx(contract.deployTransaction);
109
+ .deploy(...constructorArgs, overrides);
110
+ yield this.multiProvider.handleTx(chain, contract.deployTransaction);
116
111
  if (deployOpts === null || deployOpts === void 0 ? void 0 : deployOpts.initCalldata) {
117
112
  this.logger(`Initialize ${contractName} on ${chain}`);
118
113
  const initTx = yield signer.sendTransaction({
119
114
  to: contract.address,
120
115
  data: deployOpts.initCalldata,
121
116
  });
122
- yield chainConnection.handleTx(initTx);
117
+ yield this.multiProvider.handleTx(chain, initTx);
123
118
  }
124
119
  const verificationInput = (0, utils_1.getContractVerificationInput)(contractName, contract, factory.bytecode);
125
120
  this.verificationInputs[chain].push(verificationInput);
@@ -138,11 +133,12 @@ class HyperlaneDeployer {
138
133
  return __awaiter(this, void 0, void 0, function* () {
139
134
  const initData = implementation.interface.encodeFunctionData('initialize', initArgs);
140
135
  let proxy;
141
- const chainConnection = this.multiProvider.getChainConnection(chain);
136
+ const provider = this.multiProvider.getProvider(chain);
137
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
142
138
  this.logger(`Deploying transparent upgradable proxy`);
143
139
  if (deployOpts &&
144
140
  deployOpts.create2Salt &&
145
- (yield chainConnection.provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
141
+ (yield provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
146
142
  // To get consistent addresses with Create2, we need to use
147
143
  // consistent constructor arguments.
148
144
  // The three constructor arguments we need to configure are:
@@ -161,9 +157,7 @@ class HyperlaneDeployer {
161
157
  // Note this requires the proxy contracts to ensure admin power has been
162
158
  // transferred to the canonical proxy admin at some point in the future.
163
159
  const proxyAdminOwner = yield proxyAdmin.owner();
164
- const deployer = yield this.multiProvider
165
- .getChainSigner(chain)
166
- .getAddress();
160
+ const deployer = yield this.multiProvider.getSignerAddress(chain);
167
161
  let deployerOwnedProxyAdmin = proxyAdmin;
168
162
  if (proxyAdminOwner.toLowerCase() !== deployer.toLowerCase()) {
169
163
  deployerOwnedProxyAdmin = yield this.deployContractFromFactory(chain, new core_1.ProxyAdmin__factory(), 'DeployerOwnedProxyAdmin', []);
@@ -175,8 +169,8 @@ class HyperlaneDeployer {
175
169
  this.logger(`Upgrading and initializing transparent upgradable proxy`);
176
170
  // We now have a deployed proxy admin'd by deployerOwnedProxyAdmin.
177
171
  // Upgrade its implementation and initialize it
178
- const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, chainConnection.overrides);
179
- yield chainConnection.handleTx(upgradeAndCallTx);
172
+ const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides);
173
+ yield this.multiProvider.handleTx(chain, upgradeAndCallTx);
180
174
  // Change the proxy admin from deployerOwnedProxyAdmin to proxyAdmin if necessary.
181
175
  yield this.changeProxyAdmin(chain, proxy.address, deployerOwnedProxyAdmin, proxyAdmin);
182
176
  }
@@ -228,16 +222,15 @@ class HyperlaneDeployer {
228
222
  return;
229
223
  }
230
224
  this.logger(`Transferring proxy admin from ${currentProxyAdmin} to ${desiredProxyAdmin}`);
231
- const chainConnection = this.multiProvider.getChainConnection(chain);
232
- const changeAdminTx = yield currentProxyAdmin.changeProxyAdmin(proxyAddress, desiredProxyAdmin.address, chainConnection.overrides);
233
- yield chainConnection.handleTx(changeAdminTx);
225
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
226
+ const changeAdminTx = yield currentProxyAdmin.changeProxyAdmin(proxyAddress, desiredProxyAdmin.address, overrides);
227
+ yield this.multiProvider.handleTx(chain, changeAdminTx);
234
228
  });
235
229
  }
236
230
  mergeWithExistingVerificationInputs(existingInputsMap) {
237
231
  const allChains = new Set();
238
232
  Object.keys(existingInputsMap).forEach((_) => allChains.add(_));
239
233
  Object.keys(this.verificationInputs).forEach((_) => allChains.add(_));
240
- // @ts-ignore
241
234
  const ret = {};
242
235
  for (const chain of allChains) {
243
236
  const existingInputs = existingInputsMap[chain] || [];
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}