@hyperlane-xyz/sdk 1.0.0-beta8 → 1.0.1-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 (89) hide show
  1. package/dist/consts/chainConnectionConfigs.d.ts +3 -0
  2. package/dist/consts/chainConnectionConfigs.d.ts.map +1 -1
  3. package/dist/consts/chainConnectionConfigs.js +7 -5
  4. package/dist/consts/chainConnectionConfigs.js.map +1 -1
  5. package/dist/consts/chainMetadata.d.ts.map +1 -1
  6. package/dist/consts/chainMetadata.js +4 -1
  7. package/dist/consts/chainMetadata.js.map +1 -1
  8. package/dist/consts/environments/index.d.ts +80 -42
  9. package/dist/consts/environments/index.d.ts.map +1 -1
  10. package/dist/consts/environments/mainnet.json +64 -48
  11. package/dist/consts/environments/test.json +27 -21
  12. package/dist/consts/environments/testnet.json +56 -40
  13. package/dist/consts/multisigIsmVerifyCosts.json +209 -0
  14. package/dist/core/HyperlaneCore.d.ts +80 -42
  15. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  16. package/dist/core/HyperlaneCore.js +2 -1
  17. package/dist/core/HyperlaneCore.js.map +1 -1
  18. package/dist/core/contracts.d.ts +6 -3
  19. package/dist/core/contracts.d.ts.map +1 -1
  20. package/dist/core/contracts.js +2 -0
  21. package/dist/core/contracts.js.map +1 -1
  22. package/dist/deploy/HyperlaneDeployer.d.ts +7 -1
  23. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  24. package/dist/deploy/HyperlaneDeployer.js +38 -4
  25. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  26. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
  27. package/dist/deploy/core/HyperlaneCoreChecker.js +1 -0
  28. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
  29. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +6 -1
  30. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  31. package/dist/deploy/core/HyperlaneCoreDeployer.js +67 -5
  32. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
  33. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +12 -4
  34. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
  35. package/dist/deploy/middleware/LiquidityLayerApp.js +79 -15
  36. package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
  37. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +17 -6
  38. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  39. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +49 -15
  40. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
  41. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
  42. package/dist/deploy/router/HyperlaneRouterChecker.js +1 -2
  43. package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
  44. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  45. package/dist/deploy/router/HyperlaneRouterDeployer.js +3 -4
  46. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
  47. package/dist/deploy/utils.d.ts.map +1 -1
  48. package/dist/deploy/utils.js +1 -0
  49. package/dist/deploy/utils.js.map +1 -1
  50. package/dist/deploy/verify/ContractVerifier.js +1 -1
  51. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  52. package/dist/gas/calculator.d.ts +52 -0
  53. package/dist/gas/calculator.d.ts.map +1 -1
  54. package/dist/gas/calculator.hardhat-test.d.ts +2 -0
  55. package/dist/gas/calculator.hardhat-test.d.ts.map +1 -0
  56. package/dist/gas/calculator.hardhat-test.js +56 -0
  57. package/dist/gas/calculator.hardhat-test.js.map +1 -0
  58. package/dist/gas/calculator.js +70 -7
  59. package/dist/gas/calculator.js.map +1 -1
  60. package/dist/gas/calculator.test.js +4 -3
  61. package/dist/gas/calculator.test.js.map +1 -1
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/middleware/liquidity-layer.hardhat-test.js +52 -25
  66. package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
  67. package/dist/middleware.d.ts +3 -1
  68. package/dist/middleware.d.ts.map +1 -1
  69. package/dist/middleware.js +1 -0
  70. package/dist/middleware.js.map +1 -1
  71. package/dist/providers/ChainConnection.d.ts +1 -0
  72. package/dist/providers/ChainConnection.d.ts.map +1 -1
  73. package/dist/providers/ChainConnection.js +2 -1
  74. package/dist/providers/ChainConnection.js.map +1 -1
  75. package/dist/providers/MultiProvider.d.ts +6 -0
  76. package/dist/providers/MultiProvider.d.ts.map +1 -1
  77. package/dist/providers/MultiProvider.js +9 -1
  78. package/dist/providers/MultiProvider.js.map +1 -1
  79. package/dist/test/envSubsetDeployer/check-single-chain.js +2 -0
  80. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  81. package/dist/test/envSubsetDeployer/deploy-single-chain.js +2 -0
  82. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  83. package/dist/types.d.ts +1 -0
  84. package/dist/types.d.ts.map +1 -1
  85. package/dist/utils/objects.d.ts +1 -0
  86. package/dist/utils/objects.d.ts.map +1 -1
  87. package/dist/utils/objects.js +5 -1
  88. package/dist/utils/objects.js.map +1 -1
  89. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,aAAK,yBAAyB,GAAG;IAC/B,sBAAsB,EAAE,eAAe,CACrC,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG,yBAAyB,GAAG;IACtD,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC7D,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;CAQzB,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,oBAAY,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,eAAe,CACrC,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC;IACF,gCAAgC,EAAE,WAAW,CAAC;CAC/C,CAAC;AAEF,oBAAY,aAAa,GAAG,yBAAyB,GAAG;IACtD,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC7D,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CAUzB,CAAC"}
@@ -5,9 +5,11 @@ const core_1 = require("@hyperlane-xyz/core");
5
5
  exports.coreFactories = {
6
6
  interchainAccountRouter: new core_1.InterchainAccountRouter__factory(),
7
7
  interchainQueryRouter: new core_1.InterchainQueryRouter__factory(),
8
+ validatorAnnounce: new core_1.ValidatorAnnounce__factory(),
8
9
  create2Factory: new core_1.Create2Factory__factory(),
9
10
  proxyAdmin: new core_1.ProxyAdmin__factory(),
10
11
  interchainGasPaymaster: new core_1.InterchainGasPaymaster__factory(),
12
+ defaultIsmInterchainGasPaymaster: new core_1.OverheadIgp__factory(),
11
13
  multisigIsm: new core_1.MultisigIsm__factory(),
12
14
  mailbox: new core_1.Mailbox__factory(),
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAY6B;AAiBhB,QAAA,aAAa,GAAG;IAC3B,uBAAuB,EAAE,IAAI,uCAAgC,EAAE;IAC/D,qBAAqB,EAAE,IAAI,qCAA8B,EAAE;IAC3D,cAAc,EAAE,IAAI,8BAAuB,EAAE;IAC7C,UAAU,EAAE,IAAI,0BAAmB,EAAE;IACrC,sBAAsB,EAAE,IAAI,sCAA+B,EAAE;IAC7D,WAAW,EAAE,IAAI,2BAAoB,EAAE;IACvC,OAAO,EAAE,IAAI,uBAAgB,EAAE;CAChC,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAgB6B;AAmBhB,QAAA,aAAa,GAAG;IAC3B,uBAAuB,EAAE,IAAI,uCAAgC,EAAE;IAC/D,qBAAqB,EAAE,IAAI,qCAA8B,EAAE;IAC3D,iBAAiB,EAAE,IAAI,iCAA0B,EAAE;IACnD,cAAc,EAAE,IAAI,8BAAuB,EAAE;IAC7C,UAAU,EAAE,IAAI,0BAAmB,EAAE;IACrC,sBAAsB,EAAE,IAAI,sCAA+B,EAAE;IAC7D,gCAAgC,EAAE,IAAI,2BAAoB,EAAE;IAC5D,WAAW,EAAE,IAAI,2BAAoB,EAAE;IACvC,OAAO,EAAE,IAAI,uBAAgB,EAAE;CAChC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Debugger } from 'debug';
2
2
  import { ethers } from 'ethers';
3
3
  import { Ownable, ProxyAdmin } from '@hyperlane-xyz/core';
4
+ import { types } from '@hyperlane-xyz/utils';
4
5
  import { HyperlaneContracts, HyperlaneFactories } from '../contracts';
5
6
  import { MultiProvider } from '../providers/MultiProvider';
6
7
  import { ProxiedContract, TransparentProxyAddresses } from '../proxy';
@@ -25,7 +26,7 @@ export declare abstract class HyperlaneDeployer<Chain extends ChainName, Config,
25
26
  constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, Config>, factories: Factories, options?: DeployerOptions | undefined);
26
27
  abstract deployContracts(chain: Chain, config: Config): Promise<Contracts>;
27
28
  deploy(partialDeployment?: Partial<Record<Chain, Partial<Contracts>>>): Promise<Record<Chain, Contracts>>;
28
- protected runIfOwner(chain: Chain, ownable: Ownable, fn: () => Promise<any>): Promise<void>;
29
+ protected runIfOwner<T>(chain: Chain, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
29
30
  protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: Chain, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
30
31
  deployContract<K extends keyof Factories>(chain: Chain, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<Factories[K]['deploy']>>;
31
32
  protected deployProxy<C extends ethers.Contract>(chain: Chain, implementation: C, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
@@ -35,6 +36,11 @@ export declare abstract class HyperlaneDeployer<Chain extends ChainName, Config,
35
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>>;
39
+ /**
40
+ * Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
41
+ * if the admin is not already the `desiredProxyAdmin`.
42
+ */
43
+ changeProxyAdmin(chain: Chain, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
38
44
  mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<Chain, ContractVerificationInput[]>): ChainMap<Chain, ContractVerificationInput[]>;
39
45
  }
40
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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"}
@@ -64,6 +64,7 @@ class HyperlaneDeployer {
64
64
  else {
65
65
  this.logger('Owner and signer NOT equal, skipping', logObj);
66
66
  }
67
+ return undefined;
67
68
  });
68
69
  }
69
70
  deployContractFromFactory(chain, factory, contractName, constructorArgs, deployOpts) {
@@ -154,14 +155,30 @@ class HyperlaneDeployer {
154
155
  // 3. Initialization data: This will start as null, and we will
155
156
  // initialize our proxied contract manually.
156
157
  const constructorArgs = [exports.CREATE2FACTORY_ADDRESS, exports.CREATE2FACTORY_ADDRESS, '0x'];
157
- // We set the initCallData to atomically change admin to the proxyAdmin
158
+ // The proxy admin during deployment must be owned by the deployer.
159
+ // If the canonical proxyAdmin isn't owned by the deployer, we use
160
+ // a temporary deployer-owned proxy admin.
161
+ // Note this requires the proxy contracts to ensure admin power has been
162
+ // transferred to the canonical proxy admin at some point in the future.
163
+ const proxyAdminOwner = yield proxyAdmin.owner();
164
+ const deployer = yield this.multiProvider
165
+ .getChainSigner(chain)
166
+ .getAddress();
167
+ let deployerOwnedProxyAdmin = proxyAdmin;
168
+ if (proxyAdminOwner.toLowerCase() !== deployer.toLowerCase()) {
169
+ deployerOwnedProxyAdmin = yield this.deployContractFromFactory(chain, new core_1.ProxyAdmin__factory(), 'DeployerOwnedProxyAdmin', []);
170
+ }
171
+ // We set the initCallData to atomically change admin to the deployer owned proxyAdmin
158
172
  // contract.
159
- const initCalldata = new core_1.TransparentUpgradeableProxy__factory().interface.encodeFunctionData('changeAdmin', [proxyAdmin.address]);
173
+ const initCalldata = new core_1.TransparentUpgradeableProxy__factory().interface.encodeFunctionData('changeAdmin', [deployerOwnedProxyAdmin.address]);
160
174
  proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs, Object.assign(Object.assign({}, deployOpts), { initCalldata }));
161
175
  this.logger(`Upgrading and initializing transparent upgradable proxy`);
162
- // We now have a deployed proxy admin'd by ProxyAdmin.
176
+ // We now have a deployed proxy admin'd by deployerOwnedProxyAdmin.
163
177
  // Upgrade its implementation and initialize it
164
- yield proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, chainConnection.overrides);
178
+ const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, chainConnection.overrides);
179
+ yield chainConnection.handleTx(upgradeAndCallTx);
180
+ // Change the proxy admin from deployerOwnedProxyAdmin to proxyAdmin if necessary.
181
+ yield this.changeProxyAdmin(chain, proxy.address, deployerOwnedProxyAdmin, proxyAdmin);
165
182
  }
166
183
  else {
167
184
  const constructorArgs = [implementation.address, proxyAdmin.address, initData];
@@ -199,6 +216,23 @@ class HyperlaneDeployer {
199
216
  return contract;
200
217
  });
201
218
  }
219
+ /**
220
+ * Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
221
+ * if the admin is not already the `desiredProxyAdmin`.
222
+ */
223
+ changeProxyAdmin(chain, proxyAddress, currentProxyAdmin, desiredProxyAdmin) {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ if (currentProxyAdmin.address.toLowerCase() ===
226
+ desiredProxyAdmin.address.toLowerCase()) {
227
+ this.logger('Current proxy admin is the desired proxy admin');
228
+ return;
229
+ }
230
+ 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);
234
+ });
235
+ }
202
236
  mergeWithExistingVerificationInputs(existingInputsMap) {
203
237
  const allChains = new Set();
204
238
  Object.keys(existingInputsMap).forEach((_) => allChains.add(_));
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,UAAU,EAOX,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAoB,CAC/B,KAAK,SAAS,SAAS,CACvB,SAAQ,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC9D,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAgD5E"}
1
+ {"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,UAAU,EAOX,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAoB,CAC/B,KAAK,SAAS,SAAS,CACvB,SAAQ,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC9D,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAgD5E"}
@@ -68,6 +68,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
68
68
  const contracts = this.app.getContracts(chain);
69
69
  yield this.checkProxiedContract(chain, 'Mailbox', contracts.mailbox.addresses, contracts.proxyAdmin.address);
70
70
  yield this.checkProxiedContract(chain, 'InterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
71
+ yield this.checkProxiedContract(chain, 'DefaultIsmInterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
71
72
  });
72
73
  }
73
74
  checkMultisigIsm(local) {
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
- import { InterchainGasPaymaster, Mailbox, MultisigIsm, Ownable, ProxyAdmin } from '@hyperlane-xyz/core';
2
+ import { InterchainGasPaymaster, Mailbox, MultisigIsm, OverheadIgp, Ownable, ProxyAdmin, ValidatorAnnounce } from '@hyperlane-xyz/core';
3
3
  import type { types } from '@hyperlane-xyz/utils';
4
4
  import { CoreContracts, coreFactories } from '../../core/contracts';
5
5
  import { MultiProvider } from '../../providers/MultiProvider';
@@ -9,17 +9,22 @@ import { DeployOptions, HyperlaneDeployer } from '../HyperlaneDeployer';
9
9
  import { CoreConfig } from './types';
10
10
  export declare class HyperlaneCoreDeployer<Chain extends ChainName> extends HyperlaneDeployer<Chain, CoreConfig, CoreContracts, typeof coreFactories> {
11
11
  startingBlockNumbers: ChainMap<Chain, number | undefined>;
12
+ gasOverhead: ChainMap<Chain, OverheadIgp.DomainConfigStruct>;
12
13
  constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, CoreConfig>, factoriesOverride?: {
13
14
  interchainAccountRouter: import("@hyperlane-xyz/core").InterchainAccountRouter__factory;
14
15
  interchainQueryRouter: import("@hyperlane-xyz/core").InterchainQueryRouter__factory;
16
+ validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
15
17
  create2Factory: import("@hyperlane-xyz/core").Create2Factory__factory;
16
18
  proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
17
19
  interchainGasPaymaster: import("@hyperlane-xyz/core").InterchainGasPaymaster__factory;
20
+ defaultIsmInterchainGasPaymaster: import("@hyperlane-xyz/core").OverheadIgp__factory;
18
21
  multisigIsm: import("@hyperlane-xyz/core").MultisigIsm__factory;
19
22
  mailbox: import("@hyperlane-xyz/core").Mailbox__factory;
20
23
  });
21
24
  deployInterchainGasPaymaster<LocalChain extends Chain>(chain: LocalChain, proxyAdmin: ProxyAdmin, deployOpts?: DeployOptions): Promise<ProxiedContract<InterchainGasPaymaster, TransparentProxyAddresses>>;
25
+ deployDefaultIsmInterchainGasPaymaster<LocalChain extends Chain>(chain: LocalChain, interchainGasPaymasterAddress: types.Address, deployOpts?: DeployOptions): Promise<OverheadIgp>;
22
26
  deployMailbox<LocalChain extends Chain>(chain: LocalChain, defaultIsmAddress: types.Address, proxyAdmin: ProxyAdmin, deployOpts?: DeployOptions): Promise<ProxiedContract<Mailbox, TransparentProxyAddresses>>;
27
+ deployValidatorAnnounce<LocalChain extends Chain>(chain: LocalChain, mailboxAddress: string, deployOpts?: DeployOptions): Promise<ValidatorAnnounce>;
23
28
  deployMultisigIsm<LocalChain extends Chain>(chain: LocalChain): Promise<MultisigIsm>;
24
29
  deployContracts<LocalChain extends Chain>(chain: LocalChain, config: CoreConfig): Promise<CoreContracts>;
25
30
  transferOwnershipOfContracts(chain: Chain, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,qBAAqB,CAChC,KAAK,SAAS,SAAS,CACvB,SAAQ,iBAAiB,CACzB,KAAK,EACL,UAAU,EACV,aAAa,EACb,OAAO,aAAa,CACrB;IACC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBAGxD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,EACtC,iBAAiB;;;;;;;;KAAgB;IAQnC,4BAA4B,CAAC,UAAU,SAAS,KAAK,EACnD,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CACR,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CACnE;IAWK,aAAa,CAAC,UAAU,SAAS,KAAK,EAC1C,KAAK,EAAE,UAAU,EACjB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAChC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAezD,iBAAiB,CAAC,UAAU,SAAS,KAAK,EAC9C,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IAmEjB,eAAe,CAAC,UAAU,SAAS,KAAK,EAC5C,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC;IAkCnB,4BAA4B,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;CAgBrC"}
1
+ {"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,WAAW,EACX,OAAO,EAEP,UAAU,EACV,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,qBAAqB,CAChC,KAAK,SAAS,SAAS,CACvB,SAAQ,iBAAiB,CACzB,KAAK,EACL,UAAU,EACV,aAAa,EACb,OAAO,aAAa,CACrB;IACC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAG3D,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,EACtC,iBAAiB;;;;;;;;;;KAAgB;IAsB7B,4BAA4B,CAAC,UAAU,SAAS,KAAK,EACzD,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CACR,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CACnE;IAWK,sCAAsC,CAAC,UAAU,SAAS,KAAK,EACnE,KAAK,EAAE,UAAU,EACjB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,WAAW,CAAC;IAmDjB,aAAa,CAAC,UAAU,SAAS,KAAK,EAC1C,KAAK,EAAE,UAAU,EACjB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAChC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAezD,uBAAuB,CAAC,UAAU,SAAS,KAAK,EACpD,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAUvB,iBAAiB,CAAC,UAAU,SAAS,KAAK,EAC9C,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IAmEjB,eAAe,CAAC,UAAU,SAAS,KAAK,EAC5C,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC;IAiDnB,4BAA4B,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;CAkBrC"}
@@ -15,7 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HyperlaneCoreDeployer = void 0;
16
16
  const debug_1 = __importDefault(require("debug"));
17
17
  const ethers_1 = require("ethers");
18
+ const core_1 = require("@hyperlane-xyz/core");
18
19
  const chainMetadata_1 = require("../../consts/chainMetadata");
20
+ const multisigIsmVerifyCosts_json_1 = __importDefault(require("../../consts/multisigIsmVerifyCosts.json"));
19
21
  const contracts_1 = require("../../core/contracts");
20
22
  const domains_1 = require("../../domains");
21
23
  const objects_1 = require("../../utils/objects");
@@ -25,10 +27,53 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
25
27
  super(multiProvider, configMap, factoriesOverride, {
26
28
  logger: (0, debug_1.default)('hyperlane:CoreDeployer'),
27
29
  });
30
+ this.gasOverhead = (0, objects_1.objMap)(configMap, (chain, config) => {
31
+ const { validators, threshold } = config.multisigIsm;
32
+ const verifyCost =
33
+ // @ts-ignore
34
+ multisigIsmVerifyCosts_json_1.default[`${validators.length}`][`${threshold}`];
35
+ if (!verifyCost)
36
+ throw new Error(`Unknown verification cost for ${threshold} of ${validators.length}`);
37
+ return {
38
+ domain: domains_1.ChainNameToDomainId[chain],
39
+ gasOverhead: verifyCost,
40
+ };
41
+ });
28
42
  this.startingBlockNumbers = (0, objects_1.objMap)(configMap, () => undefined);
29
43
  }
30
44
  deployInterchainGasPaymaster(chain, proxyAdmin, deployOpts) {
31
- return this.deployProxiedContract(chain, 'interchainGasPaymaster', [], proxyAdmin, [], deployOpts);
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return this.deployProxiedContract(chain, 'interchainGasPaymaster', [], proxyAdmin, [], deployOpts);
47
+ });
48
+ }
49
+ deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymasterAddress, deployOpts) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const chainSigner = this.multiProvider.getChainSigner(chain);
52
+ const deployer = yield chainSigner.getAddress();
53
+ // Transfer ownership to the deployer so the destination gas overheads can be set
54
+ const initCalldata = core_1.Ownable__factory.createInterface().encodeFunctionData('transferOwnership', [deployer]);
55
+ const defaultIsmInterchainGasPaymaster = yield this.deployContract(chain, 'defaultIsmInterchainGasPaymaster', [interchainGasPaymasterAddress], Object.assign(Object.assign({}, deployOpts), { initCalldata }));
56
+ const configChains = Object.keys(this.configMap);
57
+ const chainConnection = this.multiProvider.getChainConnection(chain);
58
+ const remotes = this.multiProvider
59
+ .intersect(configChains, false)
60
+ .multiProvider.remoteChains(chain);
61
+ // Only set gas overhead configs if they differ from what's on chain
62
+ const configs = [];
63
+ for (const remote of remotes) {
64
+ const gasOverhead = this.gasOverhead[remote];
65
+ const existingOverhead = yield defaultIsmInterchainGasPaymaster.destinationGasOverhead(gasOverhead.domain);
66
+ if (!existingOverhead.eq(gasOverhead.gasOverhead)) {
67
+ configs.push(gasOverhead);
68
+ }
69
+ }
70
+ if (configs.length > 0) {
71
+ yield this.runIfOwner(chain, defaultIsmInterchainGasPaymaster, () => __awaiter(this, void 0, void 0, function* () {
72
+ return chainConnection.handleTx(defaultIsmInterchainGasPaymaster.setDestinationGasOverheads(configs, chainConnection.overrides));
73
+ }));
74
+ }
75
+ return defaultIsmInterchainGasPaymaster;
76
+ });
32
77
  }
33
78
  deployMailbox(chain, defaultIsmAddress, proxyAdmin, deployOpts) {
34
79
  return __awaiter(this, void 0, void 0, function* () {
@@ -38,6 +83,12 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
38
83
  return mailbox;
39
84
  });
40
85
  }
86
+ deployValidatorAnnounce(chain, mailboxAddress, deployOpts) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress], deployOpts);
89
+ return validatorAnnounce;
90
+ });
91
+ }
41
92
  deployMultisigIsm(chain) {
42
93
  const _super = Object.create(null, {
43
94
  runIfOwner: { get: () => super.runIfOwner }
@@ -84,26 +135,37 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
84
135
  const multisigIsm = yield this.deployMultisigIsm(chain);
85
136
  const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
86
137
  const interchainGasPaymaster = yield this.deployInterchainGasPaymaster(chain, proxyAdmin);
138
+ const defaultIsmInterchainGasPaymaster = yield this.deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymaster.address);
87
139
  const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin);
88
- // Mailbox ownership is transferred upon initialization.
89
- const ownables = [multisigIsm, proxyAdmin];
140
+ const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
141
+ // Ownership of the Mailbox and the interchainGasPaymaster is transferred upon initialization.
142
+ const ownables = [
143
+ multisigIsm,
144
+ proxyAdmin,
145
+ defaultIsmInterchainGasPaymaster,
146
+ ];
90
147
  yield this.transferOwnershipOfContracts(chain, ownables);
91
148
  return {
149
+ validatorAnnounce,
92
150
  proxyAdmin,
93
- interchainGasPaymaster,
94
151
  mailbox,
152
+ interchainGasPaymaster,
153
+ defaultIsmInterchainGasPaymaster,
95
154
  multisigIsm,
96
155
  };
97
156
  });
98
157
  }
99
158
  transferOwnershipOfContracts(chain, ownables) {
159
+ const _super = Object.create(null, {
160
+ runIfOwner: { get: () => super.runIfOwner }
161
+ });
100
162
  return __awaiter(this, void 0, void 0, function* () {
101
163
  const owner = this.configMap[chain].owner;
102
164
  const chainConnection = this.multiProvider.getChainConnection(chain);
103
165
  const receipts = yield Promise.all(ownables.map((ownable) => __awaiter(this, void 0, void 0, function* () {
104
166
  const currentOwner = yield ownable.owner();
105
167
  if (currentOwner.toLowerCase() !== owner.toLowerCase()) {
106
- return chainConnection.handleTx(ownable.transferOwnership(owner, chainConnection.overrides));
168
+ return _super.runIfOwner.call(this, chain, ownable, () => chainConnection.handleTx(ownable.transferOwnership(owner, chainConnection.overrides)));
107
169
  }
108
170
  return undefined;
109
171
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { HyperlaneApp } from '../../HyperlaneApp';
2
2
  import { LiquidityLayerContracts } from '../../middleware';
3
3
  import { MultiProvider } from '../../providers/MultiProvider';
4
4
  import { ChainMap, ChainName } from '../../types';
5
- import { BridgeAdapterConfig, CircleBridgeAdapterConfig } from './LiquidityLayerRouterDeployer';
5
+ import { BridgeAdapterConfig } from './LiquidityLayerRouterDeployer';
6
6
  interface CircleBridgeMessage<Chain> {
7
7
  chain: Chain;
8
8
  remoteChain: Chain;
@@ -12,14 +12,22 @@ interface CircleBridgeMessage<Chain> {
12
12
  domain: number;
13
13
  nonceHash: string;
14
14
  }
15
+ interface PortalBridgeMessage<Chain> {
16
+ origin: Chain;
17
+ nonce: number;
18
+ portalSequence: number;
19
+ destination: Chain;
20
+ }
15
21
  export declare class LiquidityLayerApp<Chain extends ChainName = ChainName> extends HyperlaneApp<LiquidityLayerContracts, Chain> {
16
22
  readonly contractsMap: ChainMap<Chain, LiquidityLayerContracts>;
17
23
  readonly multiProvider: MultiProvider<Chain>;
18
- readonly bridgeAdapterConfigs: ChainMap<Chain, BridgeAdapterConfig[]>;
19
- constructor(contractsMap: ChainMap<Chain, LiquidityLayerContracts>, multiProvider: MultiProvider<Chain>, bridgeAdapterConfigs: ChainMap<Chain, BridgeAdapterConfig[]>);
20
- circleBridgeAdapterConfig(): ChainMap<Chain, CircleBridgeAdapterConfig>;
24
+ readonly config: ChainMap<Chain, BridgeAdapterConfig>;
25
+ constructor(contractsMap: ChainMap<Chain, LiquidityLayerContracts>, multiProvider: MultiProvider<Chain>, config: ChainMap<Chain, BridgeAdapterConfig>);
21
26
  fetchCircleMessageTransactions(chain: Chain): Promise<string[]>;
27
+ fetchPortalBridgeTransactions(chain: Chain): Promise<string[]>;
28
+ parsePortalMessages(chain: Chain, txHash: string): Promise<PortalBridgeMessage<Chain>[]>;
22
29
  parseCircleMessages(chain: Chain, txHash: string): Promise<CircleBridgeMessage<Chain>[]>;
30
+ attemptPortalTransferCompletion(message: PortalBridgeMessage<Chain>): Promise<void>;
23
31
  attemptCircleAttestationSubmission(message: CircleBridgeMessage<Chain>): Promise<void>;
24
32
  }
25
33
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"LiquidityLayerApp.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,mBAAmB,EAEnB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAUxC,UAAU,mBAAmB,CAAC,KAAK;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,qBAAa,iBAAiB,CAC5B,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,uBAAuB,EAAE,KAAK,CAAC;aAElC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;aACtD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC;aACnC,oBAAoB,EAAE,QAAQ,CAC5C,KAAK,EACL,mBAAmB,EAAE,CACtB;gBALe,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,EACtD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,oBAAoB,EAAE,QAAQ,CAC5C,KAAK,EACL,mBAAmB,EAAE,CACtB;IAKH,yBAAyB,IAAI,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAUjE,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc/D,mBAAmB,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IAyClC,kCAAkC,CACtC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAuCjB"}
1
+ {"version":3,"file":"LiquidityLayerApp.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAsBrE,UAAU,mBAAmB,CAAC,KAAK;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,mBAAmB,CAAC,KAAK;IACjC,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;CACpB;AAED,qBAAa,iBAAiB,CAC5B,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,uBAAuB,EAAE,KAAK,CAAC;aAElC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;aACtD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC;aACnC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;gBAF5C,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,EACtD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAKxD,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc/D,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc9D,mBAAmB,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IAuBlC,mBAAmB,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IA2ClC,+BAA+B,CACnC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAmDV,kCAAkC,CACtC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAsCjB"}
@@ -16,22 +16,24 @@ exports.LiquidityLayerApp = void 0;
16
16
  const cross_fetch_1 = __importDefault(require("cross-fetch"));
17
17
  const ethers_1 = require("ethers");
18
18
  const core_1 = require("@hyperlane-xyz/core");
19
+ const utils_1 = require("@hyperlane-xyz/utils");
19
20
  const HyperlaneApp_1 = require("../../HyperlaneApp");
20
21
  const chains_1 = require("../../consts/chains");
21
- const objects_1 = require("../../utils/objects");
22
- const LiquidityLayerRouterDeployer_1 = require("./LiquidityLayerRouterDeployer");
23
- const CircleBridgeInterface = core_1.ICircleBridge__factory.createInterface();
22
+ const domains_1 = require("../../domains");
23
+ const PORTAL_VAA_SERVICE_TESTNET_BASE_URL = 'https://wormhole-v2-testnet-api.certus.one/v1/signed_vaa/';
24
+ const CIRCLE_ATTESTATIONS_BASE_URL = 'https://iris-api-sandbox.circle.com/attestations/';
25
+ const PORTAL_VAA_SERVICE_SUCCESS_CODE = 5;
26
+ const TokenMessengerInterface = core_1.ITokenMessenger__factory.createInterface();
24
27
  const CircleBridgeAdapterInterface = core_1.CircleBridgeAdapter__factory.createInterface();
28
+ const PortalAdapterInterface = core_1.PortalAdapter__factory.createInterface();
25
29
  const BridgedTokenTopic = CircleBridgeAdapterInterface.getEventTopic(CircleBridgeAdapterInterface.getEvent('BridgedToken'));
30
+ const PortalBridgedTokenTopic = PortalAdapterInterface.getEventTopic(PortalAdapterInterface.getEvent('BridgedToken'));
26
31
  class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
27
- constructor(contractsMap, multiProvider, bridgeAdapterConfigs) {
32
+ constructor(contractsMap, multiProvider, config) {
28
33
  super(contractsMap, multiProvider);
29
34
  this.contractsMap = contractsMap;
30
35
  this.multiProvider = multiProvider;
31
- this.bridgeAdapterConfigs = bridgeAdapterConfigs;
32
- }
33
- circleBridgeAdapterConfig() {
34
- return (0, objects_1.objMap)(this.bridgeAdapterConfigs, (_chain, config) => config.find((_) => _.type === LiquidityLayerRouterDeployer_1.BridgeAdapterType.Circle));
36
+ this.config = config;
35
37
  }
36
38
  fetchCircleMessageTransactions(chain) {
37
39
  return __awaiter(this, void 0, void 0, function* () {
@@ -47,6 +49,45 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
47
49
  return response.result.map((_) => _.transactionHash).flat();
48
50
  });
49
51
  }
52
+ fetchPortalBridgeTransactions(chain) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const cc = this.multiProvider.getChainConnection(chain);
55
+ const params = new URLSearchParams({
56
+ module: 'logs',
57
+ action: 'getLogs',
58
+ address: this.getContracts(chain).portalAdapter.address,
59
+ topic0: PortalBridgedTokenTopic,
60
+ });
61
+ const req = yield (0, cross_fetch_1.default)(`${cc.getApiUrl()}?${params}`);
62
+ const response = yield req.json();
63
+ return response.result.map((_) => _.transactionHash).flat();
64
+ });
65
+ }
66
+ parsePortalMessages(chain, txHash) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const connection = this.multiProvider.getChainConnection(chain);
69
+ const receipt = yield connection.provider.getTransactionReceipt(txHash);
70
+ const matchingLogs = receipt.logs
71
+ .map((_) => {
72
+ try {
73
+ return [PortalAdapterInterface.parseLog(_)];
74
+ }
75
+ catch (_a) {
76
+ return [];
77
+ }
78
+ })
79
+ .flat();
80
+ if (matchingLogs.length == 0)
81
+ return [];
82
+ const event = matchingLogs.find((_) => _.name === 'BridgedToken');
83
+ const portalSequence = event.args.portalSequence.toNumber();
84
+ const nonce = event.args.nonce.toNumber();
85
+ const destination = domains_1.DomainIdToChainName[event.args.destination];
86
+ return [
87
+ { origin: chain, nonce, portalSequence, destination },
88
+ ];
89
+ });
90
+ }
50
91
  parseCircleMessages(chain, txHash) {
51
92
  return __awaiter(this, void 0, void 0, function* () {
52
93
  const connection = this.multiProvider.getChainConnection(chain);
@@ -54,7 +95,7 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
54
95
  const matchingLogs = receipt.logs
55
96
  .map((_) => {
56
97
  try {
57
- return [CircleBridgeInterface.parseLog(_)];
98
+ return [TokenMessengerInterface.parseLog(_)];
58
99
  }
59
100
  catch (_a) {
60
101
  try {
@@ -72,7 +113,8 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
72
113
  .message;
73
114
  const nonce = matchingLogs.find((_) => _.name === 'BridgedToken').args
74
115
  .nonce;
75
- const remoteChain = message.chain === chains_1.Chains.fuji ? chains_1.Chains.goerli : chains_1.Chains.fuji;
116
+ const remoteChain = chain === chains_1.Chains.fuji ? chains_1.Chains.goerli : chains_1.Chains.fuji;
117
+ const domain = this.config[chain].circle.circleDomainMapping.find((_) => _.hyperlaneDomain === domains_1.ChainNameToDomainId[chain]).circleDomain;
76
118
  return [
77
119
  {
78
120
  chain,
@@ -81,24 +123,46 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
81
123
  txHash,
82
124
  message,
83
125
  nonce,
84
- domain: 0,
85
- nonceHash: ethers_1.ethers.utils.solidityKeccak256(['uint32', 'uint256'], [0, nonce]),
126
+ domain,
127
+ nonceHash: ethers_1.ethers.utils.solidityKeccak256(['uint32', 'uint64'], [domain, nonce]),
86
128
  },
87
129
  ];
88
130
  });
89
131
  }
132
+ attemptPortalTransferCompletion(message) {
133
+ var _a;
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ const destinationPortalAdapter = this.getContracts(message.destination)
136
+ .portalAdapter;
137
+ const transferId = yield destinationPortalAdapter.transferId(domains_1.ChainNameToDomainId[message.origin], message.nonce);
138
+ const transferTokenAddress = yield destinationPortalAdapter.portalTransfersProcessed(transferId);
139
+ if (!utils_1.utils.eqAddress(transferTokenAddress, ethers_1.ethers.constants.AddressZero)) {
140
+ console.log(`Transfer with nonce ${message.nonce} from ${message.origin} to ${message.destination} already processed`);
141
+ return;
142
+ }
143
+ const wormholeOriginDomain = (_a = this.config[message.destination].portal.wormholeDomainMapping.find((_) => _.hyperlaneDomain === domains_1.ChainNameToDomainId[message.origin])) === null || _a === void 0 ? void 0 : _a.wormholeDomain;
144
+ const emitter = utils_1.utils.strip0x(utils_1.utils.addressToBytes32(this.config[message.origin].portal.portalBridgeAddress));
145
+ const vaa = yield (0, cross_fetch_1.default)(`${PORTAL_VAA_SERVICE_TESTNET_BASE_URL}${wormholeOriginDomain}/${emitter}/${message.portalSequence}`).then((_) => _.json());
146
+ if (vaa.code && vaa.code === PORTAL_VAA_SERVICE_SUCCESS_CODE) {
147
+ console.log(`VAA not yet found for nonce ${message.nonce}`);
148
+ return;
149
+ }
150
+ const connection = this.multiProvider.getChainConnection(message.destination);
151
+ console.debug(`Complete portal transfer for nonce ${message.nonce} on ${message.destination}`);
152
+ yield connection.handleTx(destinationPortalAdapter.completeTransfer(utils_1.utils.ensure0x(Buffer.from(vaa.vaaBytes, 'base64').toString('hex'))));
153
+ });
154
+ }
90
155
  attemptCircleAttestationSubmission(message) {
91
156
  return __awaiter(this, void 0, void 0, function* () {
92
157
  const connection = this.multiProvider.getChainConnection(message.remoteChain);
93
- const transmitter = core_1.ICircleMessageTransmitter__factory.connect(this.circleBridgeAdapterConfig()[message.remoteChain]
94
- .messageTransmitterAddress, connection.signer);
158
+ const transmitter = core_1.ICircleMessageTransmitter__factory.connect(this.config[message.remoteChain].circle.messageTransmitterAddress, connection.signer);
95
159
  const alreadyProcessed = yield transmitter.usedNonces(message.nonceHash);
96
160
  if (alreadyProcessed) {
97
161
  console.log(`Message sent on ${message.txHash} was already processed`);
98
162
  return;
99
163
  }
100
164
  const messageHash = ethers_1.ethers.utils.keccak256(message.message);
101
- const attestationsB = yield (0, cross_fetch_1.default)(`https://iris-api-sandbox.circle.com/attestations/${messageHash}`);
165
+ const attestationsB = yield (0, cross_fetch_1.default)(`${CIRCLE_ATTESTATIONS_BASE_URL}${messageHash}`);
102
166
  const attestations = yield attestationsB.json();
103
167
  if (attestations.status !== 'complete') {
104
168
  console.log(`Attestations not available for message nonce ${message.nonce} on ${message.txHash}`);