@hyperlane-xyz/sdk 1.5.7-beta1 → 3.0.0-beta0

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 (156) hide show
  1. package/dist/consts/chainMetadata.d.ts +3 -0
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +99 -11
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +3 -0
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +8 -0
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +1135 -407
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/index.js +1 -6
  12. package/dist/consts/environments/index.js.map +1 -1
  13. package/dist/consts/environments/mainnet.json +827 -131
  14. package/dist/consts/environments/testnet.json +362 -19
  15. package/dist/consts/multisigIsm.d.ts.map +1 -1
  16. package/dist/consts/multisigIsm.js +73 -59
  17. package/dist/consts/multisigIsm.js.map +1 -1
  18. package/dist/contracts/contracts.d.ts +8 -3
  19. package/dist/contracts/contracts.d.ts.map +1 -1
  20. package/dist/contracts/contracts.js +39 -9
  21. package/dist/contracts/contracts.js.map +1 -1
  22. package/dist/core/CoreDeployer.hardhat-test.js +62 -10
  23. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  24. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCore.js +1 -0
  26. package/dist/core/HyperlaneCore.js.map +1 -1
  27. package/dist/core/HyperlaneCoreChecker.js +1 -1
  28. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  29. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  30. package/dist/core/HyperlaneCoreDeployer.js +19 -16
  31. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  32. package/dist/core/MultiProtocolCore.test.js +53 -2
  33. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  34. package/dist/core/TestCoreDeployer.d.ts +1 -5
  35. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  36. package/dist/core/TestCoreDeployer.js +0 -20
  37. package/dist/core/TestCoreDeployer.js.map +1 -1
  38. package/dist/core/adapters/SealevelCoreAdapter.d.ts +1 -1
  39. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  40. package/dist/core/adapters/SealevelCoreAdapter.js +9 -4
  41. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  42. package/dist/core/testHyperlaneDeploy.hardhat-test.js +5 -1
  43. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  44. package/dist/core/types.d.ts +1 -1
  45. package/dist/core/types.d.ts.map +1 -1
  46. package/dist/deploy/HyperlaneAppChecker.d.ts +1 -0
  47. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  48. package/dist/deploy/HyperlaneAppChecker.js +25 -2
  49. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  50. package/dist/deploy/HyperlaneDeployer.d.ts +9 -4
  51. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  52. package/dist/deploy/HyperlaneDeployer.js +85 -66
  53. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  54. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  55. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +8 -4
  56. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  57. package/dist/deploy/proxy.d.ts +1 -0
  58. package/dist/deploy/proxy.d.ts.map +1 -1
  59. package/dist/deploy/proxy.js +8 -1
  60. package/dist/deploy/proxy.js.map +1 -1
  61. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  62. package/dist/deploy/verify/ContractVerifier.js +7 -2
  63. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  64. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  65. package/dist/gas/HyperlaneIgp.js +1 -0
  66. package/dist/gas/HyperlaneIgp.js.map +1 -1
  67. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  68. package/dist/gas/HyperlaneIgpChecker.js +15 -5
  69. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  70. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgpDeployer.js +2 -1
  72. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  73. package/dist/hook/HyperlaneHookDeployer.d.ts +12 -2
  74. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  75. package/dist/hook/HyperlaneHookDeployer.js +99 -13
  76. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  77. package/dist/hook/contracts.d.ts +4 -1
  78. package/dist/hook/contracts.d.ts.map +1 -1
  79. package/dist/hook/contracts.js +4 -1
  80. package/dist/hook/contracts.js.map +1 -1
  81. package/dist/hook/types.d.ts +24 -2
  82. package/dist/hook/types.d.ts.map +1 -1
  83. package/dist/hook/types.js +3 -0
  84. package/dist/hook/types.js.map +1 -1
  85. package/dist/index.d.ts +6 -6
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +9 -5
  88. package/dist/index.js.map +1 -1
  89. package/dist/ism/HyperlaneIsmFactory.d.ts +3 -1
  90. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  91. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +3 -3
  92. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  93. package/dist/ism/HyperlaneIsmFactory.js +87 -26
  94. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  95. package/dist/ism/types.d.ts +24 -7
  96. package/dist/ism/types.d.ts.map +1 -1
  97. package/dist/ism/types.js +33 -1
  98. package/dist/ism/types.js.map +1 -1
  99. package/dist/metadata/agentConfig.d.ts +92 -92
  100. package/dist/metadata/matchingList.d.ts +12 -12
  101. package/dist/metadata/matchingList.d.ts.map +1 -1
  102. package/dist/metadata/matchingList.js +1 -5
  103. package/dist/metadata/matchingList.js.map +1 -1
  104. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  105. package/dist/middleware/account/InterchainAccount.js +4 -1
  106. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  107. package/dist/middleware/account/accounts.hardhat-test.js +5 -1
  108. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  109. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +5 -1
  110. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  111. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  112. package/dist/middleware/query/InterchainQuery.js +1 -0
  113. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  114. package/dist/middleware/query/queries.hardhat-test.js +5 -1
  115. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  116. package/dist/providers/MultiProvider.d.ts +1 -1
  117. package/dist/providers/MultiProvider.d.ts.map +1 -1
  118. package/dist/providers/MultiProvider.js +1 -1
  119. package/dist/providers/MultiProvider.js.map +1 -1
  120. package/dist/router/HyperlaneRouterChecker.d.ts +5 -1
  121. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  122. package/dist/router/HyperlaneRouterChecker.js +41 -6
  123. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  124. package/dist/router/RouterApps.d.ts +7 -1
  125. package/dist/router/RouterApps.d.ts.map +1 -1
  126. package/dist/router/RouterApps.js +17 -0
  127. package/dist/router/RouterApps.js.map +1 -1
  128. package/dist/router/types.d.ts +12 -1
  129. package/dist/router/types.d.ts.map +1 -1
  130. package/dist/router/types.js +5 -1
  131. package/dist/router/types.js.map +1 -1
  132. package/dist/test/testUtils.d.ts +1 -1
  133. package/dist/test/testUtils.d.ts.map +1 -1
  134. package/dist/test/testUtils.js +15 -37
  135. package/dist/test/testUtils.js.map +1 -1
  136. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  137. package/dist/token/adapters/SealevelTokenAdapter.js +13 -1
  138. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  139. package/dist/token/config.d.ts +6 -3
  140. package/dist/token/config.d.ts.map +1 -1
  141. package/dist/token/config.js +11 -3
  142. package/dist/token/config.js.map +1 -1
  143. package/dist/token/contracts.d.ts +2 -2
  144. package/dist/token/contracts.d.ts.map +1 -1
  145. package/dist/token/deploy.d.ts +1 -1
  146. package/dist/token/deploy.d.ts.map +1 -1
  147. package/dist/token/deploy.js +21 -2
  148. package/dist/token/deploy.js.map +1 -1
  149. package/package.json +3 -3
  150. package/dist/consts/environments/testnet-sealevel.json +0 -19
  151. package/logos/black/base.svg +0 -12
  152. package/logos/black/polygonzkevm.svg +0 -49
  153. package/logos/black/scroll.svg +0 -66
  154. package/logos/color/base.svg +0 -18
  155. package/logos/color/polygonzkevm.svg +0 -22
  156. package/logos/color/scroll.svg +0 -36
@@ -1,31 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestCoreDeployer = void 0;
4
- const core_1 = require("@hyperlane-xyz/core");
5
4
  const chains_1 = require("../consts/chains");
6
- const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
7
5
  const testUtils_1 = require("../test/testUtils");
8
6
  const HyperlaneCoreDeployer_1 = require("./HyperlaneCoreDeployer");
9
7
  const TestCoreApp_1 = require("./TestCoreApp");
10
- const contracts_1 = require("./contracts");
11
- const testCoreFactories = {
12
- ...contracts_1.coreFactories,
13
- mailbox: new core_1.TestMailbox__factory(),
14
- interchainGasPaymaster: new core_1.TestInterchainGasPaymaster__factory(),
15
- testIsm: new core_1.TestMultisigIsm__factory(),
16
- };
17
8
  class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
18
- constructor(multiProvider) {
19
- const ismFactory = new HyperlaneIsmFactory_1.HyperlaneIsmFactory({}, multiProvider);
20
- super(multiProvider, ismFactory);
21
- this.multiProvider = multiProvider;
22
- }
23
- // deploy a test ISM instead of a real ISM
24
- async deployIsm(chain) {
25
- const testIsm = await this.deployContractFromFactory(chain, testCoreFactories.testIsm, 'testIsm', []);
26
- await testIsm.setAccept(true);
27
- return testIsm.address;
28
- }
29
9
  async deploy() {
30
10
  return super.deploy((0, testUtils_1.testCoreConfig)(chains_1.TestChains));
31
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAE7B,6CAA8C;AAE9C,oEAAiE;AAEjE,iDAAmD;AAGnD,mEAAgE;AAChE,+CAA4C;AAC5C,2CAA2D;AAE3D,MAAM,iBAAiB,GAAG;IACxB,GAAG,yBAAa;IAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE;IACnC,sBAAsB,EAAE,IAAI,0CAAmC,EAAE;IACjE,OAAO,EAAE,IAAI,+BAAwB,EAAE;CACxC,CAAC;AAEF,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,YAA4B,aAA4B;QACtD,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAC9D,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAFP,kBAAa,GAAb,aAAa,CAAe;IAGxD,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CAAC,KAAgB;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;QACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC,MAAM,CAAC,IAAA,0BAAc,EAAC,mBAAU,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;CACF;AAzBD,4CAyBC"}
1
+ {"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,iDAAmD;AAGnD,mEAAgE;AAChE,+CAA4C;AAG5C,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC,MAAM,CAAC,IAAA,0BAAc,EAAC,mBAAU,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;CACF;AARD,4CAQC"}
@@ -28,6 +28,6 @@ export declare class SealevelCoreAdapter extends BaseSealevelAdapter implements
28
28
  static deriveMailboxDispatchedMessagePda(mailboxProgramId: string | PublicKey, uniqueMessageAccount: string | PublicKey): PublicKey;
29
29
  static deriveMailboxDispatchAuthorityPda(programId: string | PublicKey): PublicKey;
30
30
  static deriveMailboxProcessAuthorityPda(mailboxProgramId: string | PublicKey, recipient: string | PublicKey): PublicKey;
31
- static deriveMailboxMessageProcessedPda(mailboxProgramId: string | PublicKey, messageId: string): PublicKey;
31
+ static deriveMailboxMessageProcessedPda(mailboxProgramId: string | PublicKey, messageId: HexString): PublicKey;
32
32
  }
33
33
  //# sourceMappingURL=SealevelCoreAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelCoreAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/SealevelCoreAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAEL,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,qBAAa,mBACX,SAAQ,mBACR,YAAW,YAAY;aAGL,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;gBAF/B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAKjD,iBAAiB,CACf,QAAQ,EAAE,uBAAuB,GAChC,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,SAAS,CAAA;KAAE,CAAC;IAkBpD,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBhB,MAAM,CAAC,wBAAwB,CAC7B,IAAI,EAAE,MAAM,EAAE,GACb,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAepD,MAAM,CAAC,qBAAqB,CAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,SAAS;IAIZ,MAAM,CAAC,sBAAsB,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,SAAS;IAIZ,MAAM,CAAC,iCAAiC,CACtC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,SAAS;IAaZ,MAAM,CAAC,iCAAiC,CACtC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,SAAS;IAOZ,MAAM,CAAC,gCAAgC,CACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,SAAS;IAaZ,MAAM,CAAC,gCAAgC,CACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,GAChB,SAAS;CAMb"}
1
+ {"version":3,"file":"SealevelCoreAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/SealevelCoreAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,OAAO,EACP,SAAS,EAIV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAEL,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,qBAAa,mBACX,SAAQ,mBACR,YAAW,YAAY;aAGL,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;gBAF/B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAKjD,iBAAiB,CACf,QAAQ,EAAE,uBAAuB,GAChC,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,SAAS,CAAA;KAAE,CAAC;IAiBpD,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBhB,MAAM,CAAC,wBAAwB,CAC7B,IAAI,EAAE,MAAM,EAAE,GACb,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAepD,MAAM,CAAC,qBAAqB,CAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,SAAS;IAIZ,MAAM,CAAC,sBAAsB,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,SAAS;IAIZ,MAAM,CAAC,iCAAiC,CACtC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,SAAS;IAaZ,MAAM,CAAC,iCAAiC,CACtC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,SAAS;IAOZ,MAAM,CAAC,gCAAgC,CACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,SAAS;IAaZ,MAAM,CAAC,gCAAgC,CACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,SAAS,EAAE,SAAS,GACnB,SAAS;CAYb"}
@@ -18,15 +18,14 @@ class SealevelCoreAdapter extends MultiProtocolApp_1.BaseSealevelAdapter {
18
18
  if (sourceTx.type !== ProviderType_1.ProviderType.SolanaWeb3) {
19
19
  throw new Error(`Unsupported provider type for SealevelCoreAdapter ${sourceTx.type}`);
20
20
  }
21
- const receipt = sourceTx.receipt;
22
- const logs = receipt.meta?.logMessages;
21
+ const logs = sourceTx.receipt.meta?.logMessages;
23
22
  if (!logs)
24
23
  throw new Error('Transaction logs required to check message delivery');
25
24
  const parsedLogs = SealevelCoreAdapter.parseMessageDispatchLogs(logs);
26
25
  if (!parsedLogs.length)
27
26
  throw new Error('Message dispatch log not found');
28
27
  return parsedLogs.map(({ destination, messageId }) => ({
29
- messageId: Buffer.from(messageId, 'hex').toString('hex'),
28
+ messageId: (0, utils_1.ensure0x)(messageId),
30
29
  destination: this.multiProvider.getChainName(destination),
31
30
  }));
32
31
  }
@@ -86,7 +85,13 @@ class SealevelCoreAdapter extends MultiProtocolApp_1.BaseSealevelAdapter {
86
85
  ], mailboxProgramId);
87
86
  }
88
87
  static deriveMailboxMessageProcessedPda(mailboxProgramId, messageId) {
89
- return super.derivePda(['hyperlane', '-', 'processed_message', Buffer.from(messageId, 'hex')], mailboxProgramId);
88
+ return super.derivePda([
89
+ 'hyperlane',
90
+ '-',
91
+ 'processed_message',
92
+ '-',
93
+ Buffer.from((0, utils_1.strip0x)(messageId), 'hex'),
94
+ ], mailboxProgramId);
90
95
  }
91
96
  }
92
97
  exports.SealevelCoreAdapter = SealevelCoreAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelCoreAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/SealevelCoreAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SealevelCoreAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/SealevelCoreAdapter.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ const hardhat_1 = require("hardhat");
7
7
  const core_1 = require("@hyperlane-xyz/core");
8
8
  const utils_1 = require("@hyperlane-xyz/utils");
9
9
  const chains_1 = require("../consts/chains");
10
+ const HyperlaneProxyFactoryDeployer_1 = require("../deploy/HyperlaneProxyFactoryDeployer");
11
+ const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
10
12
  const MultiProvider_1 = require("../providers/MultiProvider");
11
13
  const TestCoreDeployer_1 = require("./TestCoreDeployer");
12
14
  const localChain = chains_1.Chains.test1;
@@ -17,7 +19,9 @@ describe('TestCoreDeployer', async () => {
17
19
  beforeEach(async () => {
18
20
  const [signer] = await hardhat_1.ethers.getSigners();
19
21
  const multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
20
- const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
22
+ const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer_1.HyperlaneProxyFactoryDeployer(multiProvider);
23
+ const ismFactory = new HyperlaneIsmFactory_1.HyperlaneIsmFactory(await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({}))), multiProvider);
24
+ const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider, ismFactory);
21
25
  testCoreApp = await deployer.deployApp();
22
26
  const recipient = await new core_1.TestRecipient__factory(signer).deploy();
23
27
  localMailbox = testCoreApp.getContracts(localChain).mailbox;
@@ -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":";;AAAA,qCAAmC;AACnC,qCAAmC;AACnC,+BAA8B;AAE9B,qCAAiC;AAEjC,8CAA0E;AAC1E,gDAAwD;AAExD,6CAA0C;AAC1C,2FAAwF;AACxF,oEAAiE;AACjE,8DAA2D;AAG3D,yDAAsD;AAEtD,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC;AAChC,MAAM,WAAW,GAAG,eAAM,CAAC,KAAK,CAAC;AACjC,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IACtC,IAAI,WAAwB,EAC1B,YAAyB,EACzB,aAA0B,EAC1B,eAAgC,CAAC;IAEnC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,gBAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,aAAa,GAAG,6BAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAExE,MAAM,kBAAkB,GAAG,IAAI,6DAA6B,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,yCAAmB,CACxC,MAAM,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACzE,aAAa,CACd,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,mCAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACjE,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,MAAM,IAAI,6BAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;QAE5D,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAC7C,qCAAqC,CACtC,CACC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,EACtC,IAAA,wBAAgB,EAAC,SAAS,CAAC,OAAO,CAAC,EACnC,OAAO,CACR,CAAC;QAEF,MAAM,gBAAgB,GAAG,YAAY,CAAC,gCAAgC,CAAC,CACrE,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,EACtC,IAAA,wBAAgB,EAAC,SAAS,CAAC,OAAO,CAAC,EACnC,OAAO,EACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAChC,CAAC;QACF,MAAM,IAAA,aAAM,EAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACjE,eAAe,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,QAAQ,CACxD,UAAU,EACV,gBAAgB,CACjB,CAAC;QACF,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QAC9D,MAAM,IAAA,aAAM,EACV,aAAa,CAAC,gCAAgC,CAAC,CAC7C,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,EACrC,IAAA,wBAAgB,EAAC,SAAS,CAAC,OAAO,CAAC,EACnC,OAAO,EACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAChC,CACF,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAC9D,UAAU,CACX,CAAC;QACF,IAAA,aAAM,EAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAC/D,WAAW,CACZ,CAAC;QACF,IAAA,aAAM,EAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QACtD,IAAA,aAAM,EAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnC,WAAW,CAAC,wBAAwB,CAAC,eAAe,CAAC;YACrD,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC;SAChD,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -23,8 +23,8 @@ export declare enum MailboxViolationType {
23
23
  }
24
24
  export interface MailboxViolation extends CheckerViolation {
25
25
  type: CoreViolationType.Mailbox;
26
+ subType: MailboxViolationType;
26
27
  contract: Mailbox;
27
- mailboxType: MailboxViolationType;
28
28
  }
29
29
  export interface MailboxMultisigIsmViolation extends MailboxViolation {
30
30
  actual: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC"}
@@ -24,5 +24,6 @@ export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>,
24
24
  protected checkOwnership(chain: ChainName, owner: Address, ownableOverrides?: Record<string, Address>): Promise<void>;
25
25
  expectViolations(violationCounts: Record<string, number>): void;
26
26
  expectEmpty(): void;
27
+ logViolationsTable(): void;
27
28
  }
28
29
  //# sourceMappingURL=HyperlaneAppChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA+B,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAGL,gBAAgB,EAKjB,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,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtD,YAAY,CAChB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC;IAkDhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAAE,EAChC,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;cAKrD,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;IAmBhB,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,EAA+B,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,OAAO,EAMR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAGL,gBAAgB,EAKjB,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;IAsB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtD,YAAY,CAChB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC;IAkDhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAAE,EAChC,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;cAKrD,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;IAmBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;IAKnB,kBAAkB,IAAI,IAAI;CAmB3B"}
@@ -16,14 +16,17 @@ class HyperlaneAppChecker {
16
16
  }
17
17
  async check() {
18
18
  Object.keys(this.configMap)
19
- .filter((_) => !this.app.chains().includes(_))
19
+ .filter((chain) => this.multiProvider.getChainMetadata(chain).protocol ===
20
+ utils_2.ProtocolType.Ethereum && !this.app.chains().includes(chain))
20
21
  .forEach((chain) => this.addViolation({
21
22
  type: types_1.ViolationType.NotDeployed,
22
23
  chain,
23
24
  expected: '',
24
25
  actual: '',
25
26
  }));
26
- return Promise.all(this.app.chains().map((chain) => this.checkChain(chain)));
27
+ return Promise.all(
28
+ // this.app.chains() will only return Ethereum chains that can be interacted with.
29
+ this.app.chains().map((chain) => this.checkChain(chain)));
27
30
  }
28
31
  addViolation(violation) {
29
32
  this.violations.push(violation);
@@ -148,6 +151,26 @@ class HyperlaneAppChecker {
148
151
  const count = this.violations.length;
149
152
  (0, utils_2.assert)(count === 0, `Found ${count} violations`);
150
153
  }
154
+ logViolationsTable() {
155
+ const violations = this.violations;
156
+ if (violations.length > 0) {
157
+ // eslint-disable-next-line no-console
158
+ console.table(violations, [
159
+ 'chain',
160
+ 'remote',
161
+ 'name',
162
+ 'type',
163
+ 'subType',
164
+ 'actual',
165
+ 'expected',
166
+ 'description',
167
+ ]);
168
+ }
169
+ else {
170
+ // eslint-disable-next-line no-console
171
+ console.info(`${module} Checker found no violations`);
172
+ }
173
+ }
151
174
  }
152
175
  exports.HyperlaneAppChecker = HyperlaneAppChecker;
153
176
  //# sourceMappingURL=HyperlaneAppChecker.js.map
@@ -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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"}
@@ -1,9 +1,10 @@
1
1
  import { Debugger } from 'debug';
2
- import { Contract, ethers } from 'ethers';
2
+ import { Contract, PopulatedTransaction, ethers } from 'ethers';
3
3
  import { MailboxClient, Ownable, ProxyAdmin, TimelockController, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
4
4
  import { Address } from '@hyperlane-xyz/utils';
5
5
  import { HyperlaneAddressesMap, HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
6
6
  import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
7
+ import { IsmConfig } from '../ism/types';
7
8
  import { MultiProvider } from '../providers/MultiProvider';
8
9
  import { MailboxClientConfig } from '../router/types';
9
10
  import { ChainMap, ChainName } from '../types';
@@ -18,24 +19,27 @@ export declare abstract class HyperlaneDeployer<Config, Factories extends Hyperl
18
19
  protected readonly multiProvider: MultiProvider;
19
20
  protected readonly factories: Factories;
20
21
  protected readonly options?: DeployerOptions | undefined;
22
+ protected readonly recoverVerificationInputs: boolean;
21
23
  verificationInputs: ChainMap<ContractVerificationInput[]>;
22
24
  cachedAddresses: HyperlaneAddressesMap<any>;
23
25
  deployedContracts: HyperlaneContractsMap<Factories>;
24
26
  startingBlockNumbers: ChainMap<number | undefined>;
25
27
  protected logger: Debugger;
26
28
  protected chainTimeoutMs: number;
27
- constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined);
29
+ constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined, recoverVerificationInputs?: boolean);
28
30
  cacheAddressesMap(addressesMap: HyperlaneAddressesMap<any>): void;
29
31
  checkConfig(_: ChainMap<Config>): Promise<void>;
30
32
  abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
31
33
  deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
32
- protected addDeployedContracts(chain: ChainName, contracts: HyperlaneContracts<any>): void;
34
+ protected addDeployedContracts(chain: ChainName, contracts: HyperlaneContracts<any>, verificationInputs?: ContractVerificationInput[]): void;
35
+ protected addVerificationArtifacts(chain: ChainName, artifacts: ContractVerificationInput[]): void;
33
36
  protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>, label?: string): Promise<T | undefined>;
34
37
  protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
35
38
  protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
39
+ protected configureIsm<C extends Ownable>(chain: ChainName, contract: C, config: IsmConfig, getIsm: (contract: C) => Promise<Address>, setIsm: (contract: C, ism: Address) => Promise<PopulatedTransaction>): Promise<void>;
40
+ protected configureHook<C extends Ownable>(chain: ChainName, contract: C, targetHook: Address, getHook: (contract: C) => Promise<Address>, setHook: (contract: C, hook: Address) => Promise<PopulatedTransaction>): Promise<void>;
36
41
  protected initMailboxClient(local: ChainName, client: MailboxClient, config: MailboxClientConfig): Promise<void>;
37
42
  protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<F['deploy']>>['initialize']>): Promise<ReturnType<F['deploy']>>;
38
- protected addVerificationArtifact(chain: ChainName, artifact: ContractVerificationInput): void;
39
43
  deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
40
44
  protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
41
45
  protected upgradeAndInitialize<C extends ethers.Contract>(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: C, initializeArgs: Parameters<C['initialize']>): Promise<void>;
@@ -43,6 +47,7 @@ export declare abstract class HyperlaneDeployer<Config, Factories extends Hyperl
43
47
  deployTimelock(chain: ChainName, timelockConfig: UpgradeConfig['timelock']): Promise<TimelockController>;
44
48
  writeCache<K extends keyof Factories>(chain: ChainName, contractName: K, address: Address): void;
45
49
  readCache<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string): Awaited<ReturnType<F['deploy']>> | undefined;
50
+ recoverVerificationArtifacts<C extends ethers.Contract>(chain: ChainName, contractName: string, cachedContract: C, constructorArgs: Parameters<C['deploy']>, initializeArgs?: Parameters<C['initialize']>): Promise<ContractVerificationInput[]>;
46
51
  /**
47
52
  * Deploys the Implementation and Proxy for a given contract
48
53
  *
@@ -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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"}
@@ -9,10 +9,11 @@ const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
9
9
  const proxy_1 = require("./proxy");
10
10
  const utils_2 = require("./verify/utils");
11
11
  class HyperlaneDeployer {
12
- constructor(multiProvider, factories, options) {
12
+ constructor(multiProvider, factories, options, recoverVerificationInputs = false) {
13
13
  this.multiProvider = multiProvider;
14
14
  this.factories = factories;
15
15
  this.options = options;
16
+ this.recoverVerificationInputs = recoverVerificationInputs;
16
17
  this.verificationInputs = {};
17
18
  this.cachedAddresses = {};
18
19
  this.deployedContracts = {};
@@ -28,7 +29,9 @@ class HyperlaneDeployer {
28
29
  }
29
30
  async deploy(configMap) {
30
31
  const configChains = Object.keys(configMap);
31
- const targetChains = this.multiProvider.intersect(configChains, true).intersection;
32
+ const ethereumConfigChains = configChains.filter((chain) => this.multiProvider.getChainMetadata(chain).protocol ===
33
+ utils_1.ProtocolType.Ethereum);
34
+ const targetChains = this.multiProvider.intersect(ethereumConfigChains, true).intersection;
32
35
  this.logger(`Start deploy to ${targetChains}`);
33
36
  for (const chain of targetChains) {
34
37
  const signerUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain);
@@ -45,11 +48,20 @@ class HyperlaneDeployer {
45
48
  }
46
49
  return this.deployedContracts;
47
50
  }
48
- addDeployedContracts(chain, contracts) {
51
+ addDeployedContracts(chain, contracts, verificationInputs) {
49
52
  this.deployedContracts[chain] = {
50
53
  ...this.deployedContracts[chain],
51
54
  ...contracts,
52
55
  };
56
+ if (verificationInputs)
57
+ this.addVerificationArtifacts(chain, verificationInputs);
58
+ }
59
+ addVerificationArtifacts(chain, artifacts) {
60
+ this.verificationInputs[chain] = this.verificationInputs[chain] || [];
61
+ artifacts.forEach((artifact) => {
62
+ this.verificationInputs[chain].push(artifact);
63
+ });
64
+ // TODO: deduplicate
53
65
  }
54
66
  async runIf(chain, address, fn, label = 'address') {
55
67
  const signer = await this.multiProvider.getSignerAddress(chain);
@@ -79,75 +91,70 @@ class HyperlaneDeployer {
79
91
  return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
80
92
  }
81
93
  }
82
- async initMailboxClient(local, client, config) {
83
- this.logger(`Initializing mailbox client (if not already) on ${local}...`);
84
- await this.runIfOwner(local, client, async () => {
85
- const txOverrides = this.multiProvider.getTransactionOverrides(local);
86
- // set hook if not already set (and configured)
87
- if (config.hook && config.hook !== (await client.hook())) {
88
- this.logger(`Set hook on ${local}`);
89
- await this.multiProvider.handleTx(local, client.setHook(config.hook, txOverrides));
90
- }
91
- let currentIsm = await client.interchainSecurityModule();
92
- // in case the above returns zero address, fetch the defaultISM from the mailbox
93
- if (currentIsm === ethers_1.ethers.constants.AddressZero) {
94
- const mailbox = core_1.Mailbox__factory.connect(config.mailbox, client.signer);
95
- currentIsm = await mailbox.defaultIsm();
96
- }
97
- // set interchain security module if not already set (and configured)
98
- if (config.interchainSecurityModule) {
99
- let configuredIsm;
100
- if (typeof config.interchainSecurityModule === 'string') {
101
- configuredIsm = config.interchainSecurityModule;
102
- }
103
- else if (this.options?.ismFactory) {
104
- const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(local, currentIsm, config.interchainSecurityModule, this.multiProvider, this.options.ismFactory.chainMap[local]);
105
- if (matches) {
106
- // when the ISM recursively matches the IsmConfig, we don't need to deploy a new ISM
107
- this.logger(`ISM matches config for chain ${local}, skipping deploy`);
108
- return;
109
- }
110
- const ism = await this.options.ismFactory.deploy(local, config.interchainSecurityModule);
111
- configuredIsm = ism.address;
112
- }
113
- else {
114
- throw new Error('No ISM factory provided');
94
+ async configureIsm(chain, contract, config, getIsm, setIsm) {
95
+ if (this.options?.ismFactory === undefined) {
96
+ throw new Error('No ISM factory provided');
97
+ }
98
+ const ismFactory = this.options.ismFactory;
99
+ const configuredIsm = await getIsm(contract);
100
+ const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(chain, configuredIsm, config, this.multiProvider, ismFactory.getContracts(chain));
101
+ if (!matches) {
102
+ await this.runIfOwner(chain, contract, async () => {
103
+ const targetIsm = await ismFactory.deploy(chain, config);
104
+ this.logger(`Set ISM on ${chain}`);
105
+ await this.multiProvider.sendTransaction(chain, setIsm(contract, targetIsm.address));
106
+ if (targetIsm.address !== (await getIsm(contract))) {
107
+ throw new Error(`Set ISM failed on ${chain}`);
115
108
  }
116
- if (!(0, utils_1.eqAddress)(currentIsm, configuredIsm)) {
117
- this.logger(`Set interchain security module on ${local} at ${configuredIsm}`);
118
- await this.multiProvider.handleTx(local, client.setInterchainSecurityModule(configuredIsm, txOverrides));
109
+ });
110
+ }
111
+ }
112
+ async configureHook(chain, contract, targetHook, getHook, setHook) {
113
+ const configuredHook = await getHook(contract);
114
+ if (!(0, utils_1.eqAddress)(targetHook, configuredHook)) {
115
+ await this.runIfOwner(chain, contract, async () => {
116
+ this.logger(`Set hook on ${chain} to ${targetHook}, currently is ${configuredHook}`);
117
+ await this.multiProvider.sendTransaction(chain, setHook(contract, targetHook));
118
+ const actualHook = await getHook(contract);
119
+ if (!(0, utils_1.eqAddress)(targetHook, actualHook)) {
120
+ throw new Error(`Set hook failed on ${chain}, wanted ${targetHook}, got ${actualHook}`);
119
121
  }
120
- }
121
- });
122
+ });
123
+ }
124
+ }
125
+ async initMailboxClient(local, client, config) {
126
+ this.logger(`Initializing mailbox client (if not already) on ${local}...`);
127
+ if (config.hook) {
128
+ await this.configureHook(local, client, config.hook, (_client) => _client.hook(), (_client, _hook) => _client.populateTransaction.setHook(_hook));
129
+ }
130
+ if (config.interchainSecurityModule) {
131
+ await this.configureIsm(local, client, config.interchainSecurityModule, (_client) => _client.interchainSecurityModule(), (_client, _module) => _client.populateTransaction.setInterchainSecurityModule(_module));
132
+ }
122
133
  this.logger(`Connection client on ${local} initialized...`);
123
134
  }
124
135
  async deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
125
136
  const cachedContract = this.readCache(chain, factory, contractName);
126
137
  if (cachedContract) {
138
+ if (this.recoverVerificationInputs) {
139
+ const recoveredInputs = await this.recoverVerificationArtifacts(chain, contractName, cachedContract, constructorArgs, initializeArgs);
140
+ this.addVerificationArtifacts(chain, recoveredInputs);
141
+ }
127
142
  return cachedContract;
128
143
  }
129
- const signer = this.multiProvider.getSigner(chain);
130
- const overrides = this.multiProvider.getTransactionOverrides(chain);
131
144
  this.logger(`Deploy ${contractName} on ${chain}`);
132
- const contract = await factory
133
- .connect(signer)
134
- .deploy(...constructorArgs, overrides);
135
- await this.multiProvider.handleTx(chain, contract.deployTransaction);
145
+ const contract = await this.multiProvider.handleDeploy(chain, factory, constructorArgs);
136
146
  if (initializeArgs) {
137
147
  this.logger(`Initialize ${contractName} on ${chain}`);
148
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
138
149
  const initTx = await contract.initialize(...initializeArgs, overrides);
139
150
  await this.multiProvider.handleTx(chain, initTx);
140
151
  }
141
152
  const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
142
- this.addVerificationArtifact(chain, verificationInput);
153
+ this.addVerificationArtifacts(chain, [verificationInput]);
143
154
  return contract;
144
155
  }
145
- addVerificationArtifact(chain, artifact) {
146
- this.verificationInputs[chain] = this.verificationInputs[chain] || [];
147
- this.verificationInputs[chain].push(artifact);
148
- }
149
156
  async deployContract(chain, contractName, constructorArgs, initializeArgs) {
150
- const contract = (await this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs));
157
+ const contract = await this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs);
151
158
  this.writeCache(chain, contractName, contract.address);
152
159
  return contract;
153
160
  }
@@ -173,15 +180,12 @@ class HyperlaneDeployer {
173
180
  await this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData, overrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides)));
174
181
  }
175
182
  async deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
176
- const initData = initializeArgs
177
- ? implementation.interface.encodeFunctionData('initialize', initializeArgs)
178
- : '0x';
179
- this.logger(`Deploying transparent upgradable proxy`);
180
- const constructorArgs = [
181
- implementation.address,
182
- proxyAdmin,
183
- initData,
184
- ];
183
+ const isProxied = await (0, proxy_1.isProxy)(this.multiProvider.getProvider(chain), implementation.address);
184
+ if (isProxied) {
185
+ // if the implementation is already a proxy, do not deploy a new proxy
186
+ return implementation;
187
+ }
188
+ const constructorArgs = (0, proxy_1.proxyConstructorArgs)(implementation, proxyAdmin, initializeArgs);
185
189
  const proxy = await this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
186
190
  return implementation.attach(proxy.address);
187
191
  }
@@ -214,15 +218,30 @@ class HyperlaneDeployer {
214
218
  }
215
219
  return undefined;
216
220
  }
221
+ async recoverVerificationArtifacts(chain, contractName, cachedContract, constructorArgs, initializeArgs) {
222
+ const provider = this.multiProvider.getProvider(chain);
223
+ const isProxied = await (0, proxy_1.isProxy)(provider, cachedContract.address);
224
+ let implementation;
225
+ if (isProxied) {
226
+ implementation = await (0, proxy_1.proxyImplementation)(provider, cachedContract.address);
227
+ }
228
+ else {
229
+ implementation = cachedContract.address;
230
+ }
231
+ const implementationInput = (0, utils_2.buildVerificationInput)(contractName, implementation, cachedContract.interface.encodeDeploy(constructorArgs));
232
+ if (!isProxied) {
233
+ return [implementationInput];
234
+ }
235
+ const admin = await (0, proxy_1.proxyAdmin)(provider, cachedContract.address);
236
+ const proxyArgs = (0, proxy_1.proxyConstructorArgs)(cachedContract.attach(implementation), admin, initializeArgs);
237
+ const proxyInput = (0, utils_2.buildVerificationInput)('TransparentUpgradeableProxy', cachedContract.address, core_1.TransparentUpgradeableProxy__factory.createInterface().encodeDeploy(proxyArgs));
238
+ return [implementationInput, proxyInput];
239
+ }
217
240
  /**
218
241
  * Deploys the Implementation and Proxy for a given contract
219
242
  *
220
243
  */
221
244
  async deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
222
- const cachedContract = this.readCache(chain, this.factories[contractName], contractName.toString());
223
- if (cachedContract) {
224
- return cachedContract;
225
- }
226
245
  // Try to initialize the implementation even though it may not be necessary
227
246
  const implementation = await this.deployContract(chain, contractName, constructorArgs, initializeArgs);
228
247
  // Initialize the proxy the same way