@hyperlane-xyz/sdk 1.4.3-beta0 → 1.4.3-beta1

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 (244) hide show
  1. package/dist/HyperlaneApp.d.ts.map +1 -1
  2. package/dist/HyperlaneApp.js +2 -2
  3. package/dist/HyperlaneApp.js.map +1 -1
  4. package/dist/consts/bytecode.js +1 -1
  5. package/dist/consts/bytecode.js.map +1 -1
  6. package/dist/consts/chainMetadata.d.ts +2 -1
  7. package/dist/consts/chainMetadata.d.ts.map +1 -1
  8. package/dist/consts/chainMetadata.js +26 -25
  9. package/dist/consts/chainMetadata.js.map +1 -1
  10. package/dist/consts/chains.d.ts +1 -1
  11. package/dist/consts/chains.d.ts.map +1 -1
  12. package/dist/consts/chains.js +2 -2
  13. package/dist/consts/chains.js.map +1 -1
  14. package/dist/consts/environments/index.d.ts +2 -2
  15. package/dist/consts/environments/index.d.ts.map +1 -1
  16. package/dist/consts/environments/index.js +2 -2
  17. package/dist/consts/environments/index.js.map +1 -1
  18. package/dist/contracts.d.ts +7 -7
  19. package/dist/contracts.d.ts.map +1 -1
  20. package/dist/contracts.js +33 -22
  21. package/dist/contracts.js.map +1 -1
  22. package/dist/core/CoreDeployer.hardhat-test.js +42 -33
  23. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  24. package/dist/core/HyperlaneCore.d.ts +3 -3
  25. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCore.js +28 -15
  27. package/dist/core/HyperlaneCore.js.map +1 -1
  28. package/dist/core/HyperlaneCore.test.js +13 -4
  29. package/dist/core/HyperlaneCore.test.js.map +1 -1
  30. package/dist/core/HyperlaneCoreChecker.js +99 -80
  31. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  32. package/dist/core/HyperlaneCoreDeployer.d.ts +3 -3
  33. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  34. package/dist/core/HyperlaneCoreDeployer.js +62 -45
  35. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  36. package/dist/core/TestCoreApp.js +45 -35
  37. package/dist/core/TestCoreApp.js.map +1 -1
  38. package/dist/core/TestCoreDeployer.js +27 -14
  39. package/dist/core/TestCoreDeployer.js.map +1 -1
  40. package/dist/core/contracts.d.ts +1 -1
  41. package/dist/core/contracts.d.ts.map +1 -1
  42. package/dist/core/events.d.ts +1 -1
  43. package/dist/core/events.d.ts.map +1 -1
  44. package/dist/core/testHyperlaneDeploy.hardhat-test.js +33 -24
  45. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  46. package/dist/core/types.d.ts +5 -5
  47. package/dist/core/types.d.ts.map +1 -1
  48. package/dist/core/types.js +2 -2
  49. package/dist/core/types.js.map +1 -1
  50. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
  51. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  52. package/dist/deploy/HyperlaneAppChecker.js +126 -103
  53. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  54. package/dist/deploy/HyperlaneDeployer.d.ts +3 -3
  55. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  56. package/dist/deploy/HyperlaneDeployer.js +216 -176
  57. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  58. package/dist/deploy/proxy.d.ts +7 -7
  59. package/dist/deploy/proxy.d.ts.map +1 -1
  60. package/dist/deploy/proxy.js +27 -12
  61. package/dist/deploy/proxy.js.map +1 -1
  62. package/dist/deploy/types.js +1 -1
  63. package/dist/deploy/types.js.map +1 -1
  64. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  65. package/dist/deploy/verify/ContractVerifier.js +131 -123
  66. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  67. package/dist/deploy/verify/types.d.ts +3 -3
  68. package/dist/deploy/verify/types.d.ts.map +1 -1
  69. package/dist/gas/HyperlaneIgp.d.ts +2 -2
  70. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgp.js.map +1 -1
  72. package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
  73. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  74. package/dist/gas/HyperlaneIgpChecker.js +123 -101
  75. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  76. package/dist/gas/HyperlaneIgpDeployer.d.ts +2 -2
  77. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  78. package/dist/gas/HyperlaneIgpDeployer.js +89 -70
  79. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  80. package/dist/gas/contracts.d.ts +1 -1
  81. package/dist/gas/contracts.d.ts.map +1 -1
  82. package/dist/gas/contracts.js +1 -6
  83. package/dist/gas/contracts.js.map +1 -1
  84. package/dist/gas/token-prices.d.ts +6 -6
  85. package/dist/gas/token-prices.d.ts.map +1 -1
  86. package/dist/gas/token-prices.js +54 -37
  87. package/dist/gas/token-prices.js.map +1 -1
  88. package/dist/gas/token-prices.test.js +20 -11
  89. package/dist/gas/token-prices.test.js.map +1 -1
  90. package/dist/gas/types.d.ts +10 -10
  91. package/dist/gas/types.d.ts.map +1 -1
  92. package/dist/gas/types.js +2 -2
  93. package/dist/gas/types.js.map +1 -1
  94. package/dist/hook/HyperlaneHookDeployer.d.ts +4 -4
  95. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  96. package/dist/hook/HyperlaneHookDeployer.js +89 -70
  97. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  98. package/dist/hook/contracts.d.ts +4 -4
  99. package/dist/hook/contracts.d.ts.map +1 -1
  100. package/dist/hook/contracts.js +1 -5
  101. package/dist/hook/contracts.js.map +1 -1
  102. package/dist/hook/types.d.ts +7 -7
  103. package/dist/hook/types.d.ts.map +1 -1
  104. package/dist/hook/types.js +1 -1
  105. package/dist/hook/types.js.map +1 -1
  106. package/dist/index.d.ts +4 -8
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +4 -25
  109. package/dist/index.js.map +1 -1
  110. package/dist/ism/HyperlaneIsmFactory.d.ts +3 -3
  111. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  112. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +23 -14
  113. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  114. package/dist/ism/HyperlaneIsmFactory.js +254 -232
  115. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  116. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
  117. package/dist/ism/HyperlaneIsmFactoryDeployer.js +35 -19
  118. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  119. package/dist/ism/contracts.d.ts +1 -1
  120. package/dist/ism/contracts.d.ts.map +1 -1
  121. package/dist/ism/types.d.ts +8 -8
  122. package/dist/ism/types.d.ts.map +1 -1
  123. package/dist/ism/types.js +1 -1
  124. package/dist/ism/types.js.map +1 -1
  125. package/dist/metadata/agentConfig.d.ts +5 -5
  126. package/dist/metadata/agentConfig.d.ts.map +1 -1
  127. package/dist/metadata/agentConfig.js +6 -15
  128. package/dist/metadata/agentConfig.js.map +1 -1
  129. package/dist/metadata/chainMetadata.test.js +11 -28
  130. package/dist/metadata/chainMetadata.test.js.map +1 -1
  131. package/dist/metadata/chainMetadataTypes.d.ts +3 -12
  132. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  133. package/dist/metadata/chainMetadataTypes.js +6 -14
  134. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  135. package/dist/metadata/deploymentArtifacts.d.ts +5 -5
  136. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  137. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  138. package/dist/middleware/account/InterchainAccountChecker.js +3 -6
  139. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  140. package/dist/middleware/account/InterchainAccountDeployer.d.ts +1 -1
  141. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  142. package/dist/middleware/account/InterchainAccountDeployer.js +41 -28
  143. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  144. package/dist/middleware/account/accounts.hardhat-test.js +30 -21
  145. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  146. package/dist/middleware/account/contracts.d.ts +1 -1
  147. package/dist/middleware/account/contracts.d.ts.map +1 -1
  148. package/dist/middleware/account/contracts.js +1 -5
  149. package/dist/middleware/account/contracts.js.map +1 -1
  150. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  151. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +151 -129
  152. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  153. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +4 -4
  154. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  155. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +110 -86
  156. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  157. package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
  158. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  159. package/dist/middleware/liquidity-layer/contracts.js +1 -6
  160. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  161. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +47 -43
  162. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  163. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  164. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  165. package/dist/middleware/query/InterchainQueryDeployer.js +27 -13
  166. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  167. package/dist/middleware/query/contracts.d.ts +1 -1
  168. package/dist/middleware/query/contracts.d.ts.map +1 -1
  169. package/dist/middleware/query/contracts.js +1 -4
  170. package/dist/middleware/query/contracts.js.map +1 -1
  171. package/dist/middleware/query/queries.hardhat-test.js +33 -24
  172. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  173. package/dist/providers/MultiProvider.d.ts +4 -4
  174. package/dist/providers/MultiProvider.d.ts.map +1 -1
  175. package/dist/providers/MultiProvider.js +88 -68
  176. package/dist/providers/MultiProvider.js.map +1 -1
  177. package/dist/providers/RetryProvider.d.ts +1 -1
  178. package/dist/providers/RetryProvider.d.ts.map +1 -1
  179. package/dist/providers/RetryProvider.js +18 -4
  180. package/dist/providers/RetryProvider.js.map +1 -1
  181. package/dist/router/GasRouterDeployer.d.ts +2 -2
  182. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  183. package/dist/router/GasRouterDeployer.js +32 -18
  184. package/dist/router/GasRouterDeployer.js.map +1 -1
  185. package/dist/router/HyperlaneRouterChecker.js +55 -37
  186. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  187. package/dist/router/HyperlaneRouterDeployer.d.ts +2 -2
  188. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  189. package/dist/router/HyperlaneRouterDeployer.js +114 -87
  190. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  191. package/dist/router/ProxiedRouterChecker.js +34 -14
  192. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  193. package/dist/router/ProxiedRouterDeployer.js +39 -25
  194. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  195. package/dist/router/RouterApps.d.ts +3 -3
  196. package/dist/router/RouterApps.d.ts.map +1 -1
  197. package/dist/router/RouterApps.js +16 -5
  198. package/dist/router/RouterApps.js.map +1 -1
  199. package/dist/router/types.d.ts +14 -14
  200. package/dist/router/types.d.ts.map +1 -1
  201. package/dist/router/types.js +1 -1
  202. package/dist/router/types.js.map +1 -1
  203. package/dist/test/testUtils.d.ts +4 -4
  204. package/dist/test/testUtils.d.ts.map +1 -1
  205. package/dist/test/testUtils.js +25 -14
  206. package/dist/test/testUtils.js.map +1 -1
  207. package/dist/types.d.ts +5 -5
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/utils/MultiGeneric.js +4 -2
  210. package/dist/utils/MultiGeneric.js.map +1 -1
  211. package/dist/utils/fetch.js +16 -8
  212. package/dist/utils/fetch.js.map +1 -1
  213. package/dist/utils/filter.d.ts +3 -0
  214. package/dist/utils/filter.d.ts.map +1 -0
  215. package/dist/utils/filter.js +13 -0
  216. package/dist/utils/filter.js.map +1 -0
  217. package/dist/utils/wagmi.d.ts.map +1 -1
  218. package/dist/utils/wagmi.js +4 -3
  219. package/dist/utils/wagmi.js.map +1 -1
  220. package/package.json +7 -7
  221. package/dist/consts/agentStartBlocks.d.ts +0 -3
  222. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  223. package/dist/consts/agentStartBlocks.js +0 -28
  224. package/dist/consts/agentStartBlocks.js.map +0 -1
  225. package/dist/utils/ids.d.ts +0 -20
  226. package/dist/utils/ids.d.ts.map +0 -1
  227. package/dist/utils/ids.js +0 -47
  228. package/dist/utils/ids.js.map +0 -1
  229. package/dist/utils/number.d.ts +0 -32
  230. package/dist/utils/number.d.ts.map +0 -1
  231. package/dist/utils/number.js +0 -59
  232. package/dist/utils/number.js.map +0 -1
  233. package/dist/utils/objects.d.ts +0 -17
  234. package/dist/utils/objects.d.ts.map +0 -1
  235. package/dist/utils/objects.js +0 -77
  236. package/dist/utils/objects.js.map +0 -1
  237. package/dist/utils/time.d.ts +0 -8
  238. package/dist/utils/time.d.ts.map +0 -1
  239. package/dist/utils/time.js +0 -15
  240. package/dist/utils/time.js.map +0 -1
  241. package/dist/utils/utils.test.d.ts +0 -2
  242. package/dist/utils/utils.test.d.ts.map +0 -1
  243. package/dist/utils/utils.test.js +0 -41
  244. package/dist/utils/utils.test.js.map +0 -1
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.HyperlaneIgpChecker = void 0;
4
13
  const ethers_1 = require("ethers");
@@ -8,116 +17,129 @@ const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
8
17
  const proxy_1 = require("../deploy/proxy");
9
18
  const types_1 = require("./types");
10
19
  class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
11
- async checkChain(chain) {
12
- await this.checkDomainOwnership(chain);
13
- await this.checkProxiedContracts(chain);
14
- await this.checkBytecodes(chain);
15
- await this.checkOverheadInterchainGasPaymaster(chain);
16
- await this.checkInterchainGasPaymaster(chain);
17
- const config = this.configMap[chain];
18
- if (config.upgrade) {
19
- await this.checkUpgrade(chain, config.upgrade);
20
- }
20
+ checkChain(chain) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ yield this.checkDomainOwnership(chain);
23
+ yield this.checkProxiedContracts(chain);
24
+ yield this.checkBytecodes(chain);
25
+ yield this.checkOverheadInterchainGasPaymaster(chain);
26
+ yield this.checkInterchainGasPaymaster(chain);
27
+ const config = this.configMap[chain];
28
+ if (config.upgrade) {
29
+ yield this.checkUpgrade(chain, config.upgrade);
30
+ }
31
+ });
21
32
  }
22
- async checkDomainOwnership(chain) {
23
- const config = this.configMap[chain];
24
- const ownableOverrides = {
25
- storageGasOracle: config.oracleKey,
26
- };
27
- if (config.upgrade) {
28
- const timelockController = this.app.getAddresses(chain).timelockController;
29
- ownableOverrides['proxyAdmin'] = timelockController;
30
- }
31
- await super.checkOwnership(chain, config.owner, ownableOverrides);
33
+ checkDomainOwnership(chain) {
34
+ const _super = Object.create(null, {
35
+ checkOwnership: { get: () => super.checkOwnership }
36
+ });
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const config = this.configMap[chain];
39
+ const ownableOverrides = {
40
+ storageGasOracle: config.oracleKey,
41
+ };
42
+ if (config.upgrade) {
43
+ const timelockController = this.app.getAddresses(chain).timelockController;
44
+ ownableOverrides['proxyAdmin'] = timelockController;
45
+ }
46
+ yield _super.checkOwnership.call(this, chain, config.owner, ownableOverrides);
47
+ });
32
48
  }
33
- async checkBytecodes(chain) {
34
- const contracts = this.app.getContracts(chain);
35
- await this.checkBytecode(chain, 'InterchainGasPaymaster proxy', contracts.interchainGasPaymaster.address, [bytecode_1.BytecodeHash.TRANSPARENT_PROXY_BYTECODE_HASH]);
36
- const implementation = await (0, proxy_1.proxyImplementation)(this.multiProvider.getProvider(chain), contracts.interchainGasPaymaster.address);
37
- await this.checkBytecode(chain, 'InterchainGasPaymaster implementation', implementation, [
38
- bytecode_1.BytecodeHash.INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
39
- bytecode_1.BytecodeHash.OWNER_INITIALIZABLE_INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
40
- ]);
41
- await this.checkBytecode(chain, 'OverheadIGP', contracts.defaultIsmInterchainGasPaymaster.address, [bytecode_1.BytecodeHash.OVERHEAD_IGP_BYTECODE_HASH], (bytecode) =>
42
- // Remove the address of the wrapped IGP from the bytecode
43
- bytecode.replaceAll(ethers_1.utils.defaultAbiCoder
44
- .encode(['address'], [contracts.interchainGasPaymaster.address])
45
- .slice(2), ''));
49
+ checkBytecodes(chain) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const contracts = this.app.getContracts(chain);
52
+ yield this.checkBytecode(chain, 'InterchainGasPaymaster proxy', contracts.interchainGasPaymaster.address, [bytecode_1.BytecodeHash.TRANSPARENT_PROXY_BYTECODE_HASH]);
53
+ const implementation = yield (0, proxy_1.proxyImplementation)(this.multiProvider.getProvider(chain), contracts.interchainGasPaymaster.address);
54
+ yield this.checkBytecode(chain, 'InterchainGasPaymaster implementation', implementation, [
55
+ bytecode_1.BytecodeHash.INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
56
+ bytecode_1.BytecodeHash.OWNER_INITIALIZABLE_INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
57
+ ]);
58
+ yield this.checkBytecode(chain, 'OverheadIGP', contracts.defaultIsmInterchainGasPaymaster.address, [bytecode_1.BytecodeHash.OVERHEAD_IGP_BYTECODE_HASH], (bytecode) =>
59
+ // Remove the address of the wrapped IGP from the bytecode
60
+ bytecode.replaceAll(ethers_1.utils.defaultAbiCoder
61
+ .encode(['address'], [contracts.interchainGasPaymaster.address])
62
+ .slice(2), ''));
63
+ });
46
64
  }
47
- async checkOverheadInterchainGasPaymaster(local) {
48
- const coreContracts = this.app.getContracts(local);
49
- const defaultIsmIgp = coreContracts.defaultIsmInterchainGasPaymaster;
50
- // Construct the violation, updating the actual & expected
51
- // objects as violations are found.
52
- // A single violation is used so that only a single `setDestinationGasOverheads`
53
- // call is generated to set multiple gas overheads.
54
- const overheadViolation = {
55
- type: 'InterchainGasPaymaster',
56
- subType: types_1.IgpViolationType.Overhead,
57
- contract: defaultIsmIgp,
58
- chain: local,
59
- actual: {},
60
- expected: {},
61
- };
62
- const remotes = this.app.remoteChains(local);
63
- for (const remote of remotes) {
64
- const expectedOverhead = this.configMap[local].overhead[remote];
65
- const remoteId = this.multiProvider.getDomainId(remote);
66
- const existingOverhead = await defaultIsmIgp.destinationGasOverhead(remoteId);
67
- if (!existingOverhead.eq(expectedOverhead)) {
68
- const remoteChain = remote;
69
- overheadViolation.actual[remoteChain] = existingOverhead;
70
- overheadViolation.expected[remoteChain] =
71
- ethers_1.BigNumber.from(expectedOverhead);
65
+ checkOverheadInterchainGasPaymaster(local) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const coreContracts = this.app.getContracts(local);
68
+ const defaultIsmIgp = coreContracts.defaultIsmInterchainGasPaymaster;
69
+ // Construct the violation, updating the actual & expected
70
+ // objects as violations are found.
71
+ // A single violation is used so that only a single `setDestinationGasOverheads`
72
+ // call is generated to set multiple gas overheads.
73
+ const overheadViolation = {
74
+ type: 'InterchainGasPaymaster',
75
+ subType: types_1.IgpViolationType.Overhead,
76
+ contract: defaultIsmIgp,
77
+ chain: local,
78
+ actual: {},
79
+ expected: {},
80
+ };
81
+ const remotes = this.app.remoteChains(local);
82
+ for (const remote of remotes) {
83
+ const expectedOverhead = this.configMap[local].overhead[remote];
84
+ const remoteId = this.multiProvider.getDomainId(remote);
85
+ const existingOverhead = yield defaultIsmIgp.destinationGasOverhead(remoteId);
86
+ if (!existingOverhead.eq(expectedOverhead)) {
87
+ const remoteChain = remote;
88
+ overheadViolation.actual[remoteChain] = existingOverhead;
89
+ overheadViolation.expected[remoteChain] =
90
+ ethers_1.BigNumber.from(expectedOverhead);
91
+ }
72
92
  }
73
- }
74
- if (Object.keys(overheadViolation.actual).length > 0) {
75
- this.addViolation(overheadViolation);
76
- }
77
- }
78
- async checkInterchainGasPaymaster(local) {
79
- const coreContracts = this.app.getContracts(local);
80
- const igp = coreContracts.interchainGasPaymaster;
81
- // Construct the violation, updating the actual & expected
82
- // objects as violations are found.
83
- // A single violation is used so that only a single `setGasOracles`
84
- // call is generated to set multiple gas oracles.
85
- const gasOraclesViolation = {
86
- type: 'InterchainGasPaymaster',
87
- subType: types_1.IgpViolationType.GasOracles,
88
- contract: igp,
89
- chain: local,
90
- actual: {},
91
- expected: {},
92
- };
93
- const remotes = this.app.remoteChains(local);
94
- for (const remote of remotes) {
95
- const remoteId = this.multiProvider.getDomainId(remote);
96
- const actualGasOracle = await igp.gasOracles(remoteId);
97
- const expectedGasOracle = this.getGasOracleAddress(local, remote);
98
- if (!utils_1.utils.eqAddress(actualGasOracle, expectedGasOracle)) {
99
- const remoteChain = remote;
100
- gasOraclesViolation.actual[remoteChain] = actualGasOracle;
101
- gasOraclesViolation.expected[remoteChain] = expectedGasOracle;
93
+ if (Object.keys(overheadViolation.actual).length > 0) {
94
+ this.addViolation(overheadViolation);
102
95
  }
103
- }
104
- // Add the violation only if it's been populated with gas oracle inconsistencies
105
- if (Object.keys(gasOraclesViolation.actual).length > 0) {
106
- this.addViolation(gasOraclesViolation);
107
- }
108
- const actualBeneficiary = await igp.beneficiary();
109
- const expectedBeneficiary = this.configMap[local].beneficiary;
110
- if (!utils_1.utils.eqAddress(actualBeneficiary, expectedBeneficiary)) {
111
- const violation = {
96
+ });
97
+ }
98
+ checkInterchainGasPaymaster(local) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const coreContracts = this.app.getContracts(local);
101
+ const igp = coreContracts.interchainGasPaymaster;
102
+ // Construct the violation, updating the actual & expected
103
+ // objects as violations are found.
104
+ // A single violation is used so that only a single `setGasOracles`
105
+ // call is generated to set multiple gas oracles.
106
+ const gasOraclesViolation = {
112
107
  type: 'InterchainGasPaymaster',
113
- subType: types_1.IgpViolationType.Beneficiary,
108
+ subType: types_1.IgpViolationType.GasOracles,
114
109
  contract: igp,
115
110
  chain: local,
116
- actual: actualBeneficiary,
117
- expected: expectedBeneficiary,
111
+ actual: {},
112
+ expected: {},
118
113
  };
119
- this.addViolation(violation);
120
- }
114
+ const remotes = this.app.remoteChains(local);
115
+ for (const remote of remotes) {
116
+ const remoteId = this.multiProvider.getDomainId(remote);
117
+ const actualGasOracle = yield igp.gasOracles(remoteId);
118
+ const expectedGasOracle = this.getGasOracleAddress(local, remote);
119
+ if ((0, utils_1.eqAddress)(actualGasOracle, expectedGasOracle)) {
120
+ const remoteChain = remote;
121
+ gasOraclesViolation.actual[remoteChain] = actualGasOracle;
122
+ gasOraclesViolation.expected[remoteChain] = expectedGasOracle;
123
+ }
124
+ }
125
+ // Add the violation only if it's been populated with gas oracle inconsistencies
126
+ if (Object.keys(gasOraclesViolation.actual).length > 0) {
127
+ this.addViolation(gasOraclesViolation);
128
+ }
129
+ const actualBeneficiary = yield igp.beneficiary();
130
+ const expectedBeneficiary = this.configMap[local].beneficiary;
131
+ if ((0, utils_1.eqAddress)(actualBeneficiary, expectedBeneficiary)) {
132
+ const violation = {
133
+ type: 'InterchainGasPaymaster',
134
+ subType: types_1.IgpViolationType.Beneficiary,
135
+ contract: igp,
136
+ chain: local,
137
+ actual: actualBeneficiary,
138
+ expected: expectedBeneficiary,
139
+ };
140
+ this.addViolation(violation);
141
+ }
142
+ });
121
143
  }
122
144
  getGasOracleAddress(local, remote) {
123
145
  const config = this.configMap[local];
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpChecker.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIgpChecker.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { InterchainGasPaymaster, OverheadIgp, ProxyAdmin, StorageGasOracle } from '@hyperlane-xyz/core';
2
- import { types } from '@hyperlane-xyz/utils';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
3
  import { HyperlaneContracts } from '../contracts';
4
4
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
5
  import { MultiProvider } from '../providers/MultiProvider';
@@ -9,7 +9,7 @@ import { IgpConfig, OverheadIgpConfig } from './types';
9
9
  export declare class HyperlaneIgpDeployer extends HyperlaneDeployer<OverheadIgpConfig, IgpFactories> {
10
10
  constructor(multiProvider: MultiProvider);
11
11
  deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, storageGasOracle: StorageGasOracle, config: IgpConfig): Promise<InterchainGasPaymaster>;
12
- deployOverheadIgp(chain: ChainName, interchainGasPaymasterAddress: types.Address, config: OverheadIgpConfig): Promise<OverheadIgp>;
12
+ deployOverheadIgp(chain: ChainName, interchainGasPaymasterAddress: Address, config: OverheadIgpConfig): Promise<OverheadIgp>;
13
13
  deployStorageGasOracle(chain: ChainName): Promise<StorageGasOracle>;
14
14
  deployContracts(chain: ChainName, config: OverheadIgpConfig): Promise<HyperlaneContracts<IgpFactories>>;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpDeployer.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,iBAAiB,EACjB,YAAY,CACb;gBACa,aAAa,EAAE,aAAa;IAMlC,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAqC5B,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,WAAW,CAAC;IAqCjB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAyD7C"}
1
+ {"version":3,"file":"HyperlaneIgpDeployer.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,iBAAiB,EACjB,YAAY,CACb;gBACa,aAAa,EAAE,aAAa;IAMlC,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAqC5B,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,OAAO,EACtC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,WAAW,CAAC;IAqCjB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAyD7C"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -16,83 +25,93 @@ class HyperlaneIgpDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
16
25
  logger: (0, debug_1.default)('hyperlane:IgpDeployer'),
17
26
  });
18
27
  }
19
- async deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config) {
20
- const owner = config.owner;
21
- const beneficiary = config.beneficiary;
22
- const igp = await this.deployProxiedContract(chain, 'interchainGasPaymaster', proxyAdmin.address, [], [owner, beneficiary]);
23
- const gasOracleConfigsToSet = [];
24
- const remotes = Object.keys(config.gasOracleType);
25
- for (const remote of remotes) {
26
- const remoteId = this.multiProvider.getDomainId(remote);
27
- const currentGasOracle = await igp.gasOracles(remoteId);
28
- if (!utils_1.utils.eqAddress(currentGasOracle, storageGasOracle.address)) {
29
- gasOracleConfigsToSet.push({
30
- remoteDomain: remoteId,
31
- gasOracle: storageGasOracle.address,
32
- });
28
+ deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const owner = config.owner;
31
+ const beneficiary = config.beneficiary;
32
+ const igp = yield this.deployProxiedContract(chain, 'interchainGasPaymaster', proxyAdmin.address, [], [owner, beneficiary]);
33
+ const gasOracleConfigsToSet = [];
34
+ const remotes = Object.keys(config.gasOracleType);
35
+ for (const remote of remotes) {
36
+ const remoteId = this.multiProvider.getDomainId(remote);
37
+ const currentGasOracle = yield igp.gasOracles(remoteId);
38
+ if (!(0, utils_1.eqAddress)(currentGasOracle, storageGasOracle.address)) {
39
+ gasOracleConfigsToSet.push({
40
+ remoteDomain: remoteId,
41
+ gasOracle: storageGasOracle.address,
42
+ });
43
+ }
33
44
  }
34
- }
35
- if (gasOracleConfigsToSet.length > 0) {
36
- await this.runIfOwner(chain, igp, async () => this.multiProvider.handleTx(chain, igp.setGasOracles(gasOracleConfigsToSet)));
37
- }
38
- return igp;
45
+ if (gasOracleConfigsToSet.length > 0) {
46
+ yield this.runIfOwner(chain, igp, () => __awaiter(this, void 0, void 0, function* () {
47
+ return this.multiProvider.handleTx(chain, igp.setGasOracles(gasOracleConfigsToSet));
48
+ }));
49
+ }
50
+ return igp;
51
+ });
39
52
  }
40
- async deployOverheadIgp(chain, interchainGasPaymasterAddress, config) {
41
- const overheadInterchainGasPaymaster = await this.deployContract(chain, 'defaultIsmInterchainGasPaymaster', [interchainGasPaymasterAddress]);
42
- // Only set gas overhead configs if they differ from what's on chain
43
- const configs = [];
44
- const remotes = Object.keys(config.overhead);
45
- for (const remote of remotes) {
46
- const remoteDomain = this.multiProvider.getDomainId(remote);
47
- const gasOverhead = config.overhead[remote];
48
- const existingOverhead = await overheadInterchainGasPaymaster.destinationGasOverhead(remoteDomain);
49
- if (!existingOverhead.eq(gasOverhead)) {
50
- configs.push({ domain: remoteDomain, gasOverhead });
53
+ deployOverheadIgp(chain, interchainGasPaymasterAddress, config) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const overheadInterchainGasPaymaster = yield this.deployContract(chain, 'defaultIsmInterchainGasPaymaster', [interchainGasPaymasterAddress]);
56
+ // Only set gas overhead configs if they differ from what's on chain
57
+ const configs = [];
58
+ const remotes = Object.keys(config.overhead);
59
+ for (const remote of remotes) {
60
+ const remoteDomain = this.multiProvider.getDomainId(remote);
61
+ const gasOverhead = config.overhead[remote];
62
+ const existingOverhead = yield overheadInterchainGasPaymaster.destinationGasOverhead(remoteDomain);
63
+ if (!existingOverhead.eq(gasOverhead)) {
64
+ configs.push({ domain: remoteDomain, gasOverhead });
65
+ }
51
66
  }
52
- }
53
- if (configs.length > 0) {
54
- await this.runIfOwner(chain, overheadInterchainGasPaymaster, () => this.multiProvider.handleTx(chain, overheadInterchainGasPaymaster.setDestinationGasOverheads(configs, this.multiProvider.getTransactionOverrides(chain))));
55
- }
56
- return overheadInterchainGasPaymaster;
67
+ if (configs.length > 0) {
68
+ yield this.runIfOwner(chain, overheadInterchainGasPaymaster, () => this.multiProvider.handleTx(chain, overheadInterchainGasPaymaster.setDestinationGasOverheads(configs, this.multiProvider.getTransactionOverrides(chain))));
69
+ }
70
+ return overheadInterchainGasPaymaster;
71
+ });
57
72
  }
58
- async deployStorageGasOracle(chain) {
59
- return this.deployContract(chain, 'storageGasOracle', []);
73
+ deployStorageGasOracle(chain) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ return this.deployContract(chain, 'storageGasOracle', []);
76
+ });
60
77
  }
61
- async deployContracts(chain, config) {
62
- // NB: To share ProxyAdmins with HyperlaneCore, ensure the ProxyAdmin
63
- // is loaded into the contract cache.
64
- const proxyAdmin = await this.deployContract(chain, 'proxyAdmin', []);
65
- let timelockController;
66
- if (config.upgrade) {
67
- timelockController = await this.deployTimelock(chain, config.upgrade.timelock);
68
- await this.transferOwnershipOfContracts(chain, timelockController.address, { proxyAdmin });
69
- }
70
- else {
71
- // mock this for consistent serialization
72
- timelockController = core_1.TimelockController__factory.connect(ethers_1.ethers.constants.AddressZero, this.multiProvider.getProvider(chain));
73
- await this.transferOwnershipOfContracts(chain, config.owner, {
74
- proxyAdmin,
78
+ deployContracts(chain, config) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ // NB: To share ProxyAdmins with HyperlaneCore, ensure the ProxyAdmin
81
+ // is loaded into the contract cache.
82
+ const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
83
+ let timelockController;
84
+ if (config.upgrade) {
85
+ timelockController = yield this.deployTimelock(chain, config.upgrade.timelock);
86
+ yield this.transferOwnershipOfContracts(chain, timelockController.address, { proxyAdmin });
87
+ }
88
+ else {
89
+ // mock this for consistent serialization
90
+ timelockController = core_1.TimelockController__factory.connect(ethers_1.ethers.constants.AddressZero, this.multiProvider.getProvider(chain));
91
+ yield this.transferOwnershipOfContracts(chain, config.owner, {
92
+ proxyAdmin,
93
+ });
94
+ }
95
+ const storageGasOracle = yield this.deployStorageGasOracle(chain);
96
+ const interchainGasPaymaster = yield this.deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config);
97
+ const overheadIgp = yield this.deployOverheadIgp(chain, interchainGasPaymaster.address, config);
98
+ yield this.transferOwnershipOfContracts(chain, config.owner, {
99
+ overheadIgp,
100
+ interchainGasPaymaster,
75
101
  });
76
- }
77
- const storageGasOracle = await this.deployStorageGasOracle(chain);
78
- const interchainGasPaymaster = await this.deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config);
79
- const overheadIgp = await this.deployOverheadIgp(chain, interchainGasPaymaster.address, config);
80
- await this.transferOwnershipOfContracts(chain, config.owner, {
81
- overheadIgp,
82
- interchainGasPaymaster,
83
- });
84
- // Configure oracle key for StorageGasOracle separately to keep 'hot'
85
- // for updating exchange rates regularly
86
- await this.transferOwnershipOfContracts(chain, config.oracleKey, {
87
- storageGasOracle,
102
+ // Configure oracle key for StorageGasOracle separately to keep 'hot'
103
+ // for updating exchange rates regularly
104
+ yield this.transferOwnershipOfContracts(chain, config.oracleKey, {
105
+ storageGasOracle,
106
+ });
107
+ return {
108
+ proxyAdmin,
109
+ timelockController,
110
+ storageGasOracle,
111
+ interchainGasPaymaster,
112
+ defaultIsmInterchainGasPaymaster: overheadIgp,
113
+ };
88
114
  });
89
- return {
90
- proxyAdmin,
91
- timelockController,
92
- storageGasOracle,
93
- interchainGasPaymaster,
94
- defaultIsmInterchainGasPaymaster: overheadIgp,
95
- };
96
115
  }
97
116
  }
98
117
  exports.HyperlaneIgpDeployer = HyperlaneIgpDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpDeployer.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIgpDeployer.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ export declare const igpFactories: {
6
6
  defaultIsmInterchainGasPaymaster: OverheadIgp__factory;
7
7
  storageGasOracle: StorageGasOracle__factory;
8
8
  };
9
- export type IgpFactories = typeof igpFactories;
9
+ export declare type IgpFactories = typeof igpFactories;
10
10
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/gas/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,YAAY;;;;;;CAKxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/gas/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,YAAY;;;;;;CAKxB,CAAC;AAEF,oBAAY,YAAY,GAAG,OAAO,YAAY,CAAC"}
@@ -3,10 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.igpFactories = void 0;
4
4
  const core_1 = require("@hyperlane-xyz/core");
5
5
  const types_1 = require("../router/types");
6
- exports.igpFactories = {
7
- interchainGasPaymaster: new core_1.InterchainGasPaymaster__factory(),
8
- defaultIsmInterchainGasPaymaster: new core_1.OverheadIgp__factory(),
9
- storageGasOracle: new core_1.StorageGasOracle__factory(),
10
- ...types_1.proxiedFactories,
11
- };
6
+ exports.igpFactories = Object.assign({ interchainGasPaymaster: new core_1.InterchainGasPaymaster__factory(), defaultIsmInterchainGasPaymaster: new core_1.OverheadIgp__factory(), storageGasOracle: new core_1.StorageGasOracle__factory() }, types_1.proxiedFactories);
12
7
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/gas/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAE7B,2CAAmD;AAEtC,QAAA,YAAY,GAAG;IAC1B,sBAAsB,EAAE,IAAI,sCAA+B,EAAE;IAC7D,gCAAgC,EAAE,IAAI,2BAAoB,EAAE;IAC5D,gBAAgB,EAAE,IAAI,gCAAyB,EAAE;IACjD,GAAG,wBAAgB;CACpB,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/gas/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAE7B,2CAAmD;AAEtC,QAAA,YAAY,mBACvB,sBAAsB,EAAE,IAAI,sCAA+B,EAAE,EAC7D,gCAAgC,EAAE,IAAI,2BAAoB,EAAE,EAC5D,gBAAgB,EAAE,IAAI,gCAAyB,EAAE,IAC9C,wBAAgB,EACnB"}
@@ -5,11 +5,11 @@ export interface TokenPriceGetter {
5
5
  getTokenPrice(chain: ChainName): Promise<number>;
6
6
  getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
7
7
  }
8
- export type CoinGeckoInterface = Pick<CoinGecko, 'simple'>;
9
- export type CoinGeckoSimpleInterface = CoinGecko['simple'];
10
- export type CoinGeckoSimplePriceParams = Parameters<CoinGeckoSimpleInterface['price']>[0];
11
- export type CoinGeckoResponse = ReturnType<CoinGeckoSimpleInterface['price']>;
12
- type TokenPriceCacheEntry = {
8
+ export declare type CoinGeckoInterface = Pick<CoinGecko, 'simple'>;
9
+ export declare type CoinGeckoSimpleInterface = CoinGecko['simple'];
10
+ export declare type CoinGeckoSimplePriceParams = Parameters<CoinGeckoSimpleInterface['price']>[0];
11
+ export declare type CoinGeckoResponse = ReturnType<CoinGeckoSimpleInterface['price']>;
12
+ declare type TokenPriceCacheEntry = {
13
13
  price: number;
14
14
  timestamp: Date;
15
15
  };
@@ -29,7 +29,7 @@ export declare class CoinGeckoTokenPriceGetter implements TokenPriceGetter {
29
29
  constructor(coinGecko: CoinGeckoInterface, expirySeconds?: number, chainMetadata?: ChainMap<{
30
30
  name: string;
31
31
  chainId: number;
32
- protocol: import("../metadata/chainMetadataTypes").ProtocolType;
32
+ protocol: import("@hyperlane-xyz/utils").ProtocolType;
33
33
  rpcUrls: [{
34
34
  http: string;
35
35
  webSocket?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,MAAM,MAAM,wBAAwB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3D,MAAM,MAAM,0BAA0B,GAAG,UAAU,CACjD,wBAAwB,CAAC,OAAO,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9E,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWlC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAchC;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAG1C,SAAS,EAAE,kBAAkB,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAuB;IAOtC,MAAM,CAAC,oBAAoB,CACzB,aAAa,CAAC,EAAE,MAAM,GACrB,yBAAyB;IAKtB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;YAKJ,cAAc;YA2Bd,gBAAgB;CAe/B"}
1
+ {"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,oBAAY,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,oBAAY,wBAAwB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3D,oBAAY,0BAA0B,GAAG,UAAU,CACjD,wBAAwB,CAAC,OAAO,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC;AACL,oBAAY,iBAAiB,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9E,aAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWlC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAchC;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAG1C,SAAS,EAAE,kBAAkB,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAuB;IAOtC,MAAM,CAAC,oBAAoB,CACzB,aAAa,CAAC,EAAE,MAAM,GACrB,yBAAyB;IAKtB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;YAKJ,cAAc;YA2Bd,gBAAgB;CAe/B"}