@hyperlane-xyz/sdk 1.1.4 → 1.2.1

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 (183) hide show
  1. package/dist/HyperlaneApp.d.ts +7 -8
  2. package/dist/HyperlaneApp.d.ts.map +1 -1
  3. package/dist/HyperlaneApp.js +1 -4
  4. package/dist/HyperlaneApp.js.map +1 -1
  5. package/dist/consts/chainMetadata.d.ts +229 -25
  6. package/dist/consts/chainMetadata.d.ts.map +1 -1
  7. package/dist/consts/chainMetadata.js +132 -78
  8. package/dist/consts/chainMetadata.js.map +1 -1
  9. package/dist/consts/chainMetadata.test.d.ts +2 -0
  10. package/dist/consts/chainMetadata.test.d.ts.map +1 -0
  11. package/dist/consts/chainMetadata.test.js +40 -0
  12. package/dist/consts/chainMetadata.test.js.map +1 -0
  13. package/dist/consts/chains.d.ts +5 -5
  14. package/dist/consts/chains.d.ts.map +1 -1
  15. package/dist/consts/chains.js +5 -1
  16. package/dist/consts/chains.js.map +1 -1
  17. package/dist/consts/environments/index.d.ts +22 -2
  18. package/dist/consts/environments/index.d.ts.map +1 -1
  19. package/dist/consts/environments/mainnet.json +18 -9
  20. package/dist/consts/environments/test.json +25 -22
  21. package/dist/consts/environments/testnet.json +16 -8
  22. package/dist/core/HyperlaneCore.d.ts +10 -387
  23. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  24. package/dist/core/HyperlaneCore.js +7 -12
  25. package/dist/core/HyperlaneCore.js.map +1 -1
  26. package/dist/core/HyperlaneCore.test.js +2 -3
  27. package/dist/core/HyperlaneCore.test.js.map +1 -1
  28. package/dist/core/TestCoreApp.d.ts +5 -5
  29. package/dist/core/TestCoreApp.d.ts.map +1 -1
  30. package/dist/core/TestCoreApp.js +2 -4
  31. package/dist/core/TestCoreApp.js.map +1 -1
  32. package/dist/core/TestCoreDeployer.d.ts +6 -6
  33. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  34. package/dist/core/TestCoreDeployer.js +15 -6
  35. package/dist/core/TestCoreDeployer.js.map +1 -1
  36. package/dist/core/contracts.d.ts +6 -2
  37. package/dist/core/contracts.d.ts.map +1 -1
  38. package/dist/core/contracts.js +1 -0
  39. package/dist/core/contracts.js.map +1 -1
  40. package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
  41. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  42. package/dist/deploy/HyperlaneAppChecker.d.ts +8 -8
  43. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  44. package/dist/deploy/HyperlaneAppChecker.js +5 -5
  45. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  46. package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
  47. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  48. package/dist/deploy/HyperlaneDeployer.js +44 -39
  49. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  50. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +12 -9
  51. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
  52. package/dist/deploy/core/HyperlaneCoreChecker.js +72 -12
  53. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
  54. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +18 -14
  55. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  56. package/dist/deploy/core/HyperlaneCoreDeployer.js +69 -27
  57. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
  58. package/dist/deploy/core/types.d.ts +31 -3
  59. package/dist/deploy/core/types.d.ts.map +1 -1
  60. package/dist/deploy/core/types.js +11 -1
  61. package/dist/deploy/core/types.js.map +1 -1
  62. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
  63. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
  64. package/dist/deploy/middleware/LiquidityLayerApp.js +26 -35
  65. package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
  66. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +6 -9
  67. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  68. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +15 -21
  69. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
  70. package/dist/deploy/middleware/deploy.d.ts +14 -17
  71. package/dist/deploy/middleware/deploy.d.ts.map +1 -1
  72. package/dist/deploy/middleware/deploy.js +25 -38
  73. package/dist/deploy/middleware/deploy.js.map +1 -1
  74. package/dist/deploy/router/GasRouterDeployer.d.ts +4 -4
  75. package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -1
  76. package/dist/deploy/router/GasRouterDeployer.js +3 -6
  77. package/dist/deploy/router/GasRouterDeployer.js.map +1 -1
  78. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
  79. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
  80. package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
  81. package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
  82. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
  83. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  84. package/dist/deploy/router/HyperlaneRouterDeployer.js +18 -21
  85. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
  86. package/dist/deploy/types.d.ts +3 -4
  87. package/dist/deploy/types.d.ts.map +1 -1
  88. package/dist/deploy/types.js.map +1 -1
  89. package/dist/deploy/utils.d.ts +2 -6
  90. package/dist/deploy/utils.d.ts.map +1 -1
  91. package/dist/deploy/utils.js +1 -27
  92. package/dist/deploy/utils.js.map +1 -1
  93. package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
  94. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  95. package/dist/deploy/verify/ContractVerifier.js +3 -5
  96. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  97. package/dist/deploy/verify/utils.js +1 -1
  98. package/dist/deploy/verify/utils.js.map +1 -1
  99. package/dist/events.d.ts +4 -4
  100. package/dist/events.d.ts.map +1 -1
  101. package/dist/events.js +12 -9
  102. package/dist/events.js.map +1 -1
  103. package/dist/gas/calculator.d.ts +20 -20
  104. package/dist/gas/calculator.d.ts.map +1 -1
  105. package/dist/gas/calculator.hardhat-test.js +11 -8
  106. package/dist/gas/calculator.hardhat-test.js.map +1 -1
  107. package/dist/gas/calculator.js +9 -11
  108. package/dist/gas/calculator.js.map +1 -1
  109. package/dist/gas/calculator.test.js +2 -14
  110. package/dist/gas/calculator.test.js.map +1 -1
  111. package/dist/gas/token-prices.d.ts +5 -2
  112. package/dist/gas/token-prices.d.ts.map +1 -1
  113. package/dist/gas/token-prices.js +12 -2
  114. package/dist/gas/token-prices.js.map +1 -1
  115. package/dist/index.d.ts +28 -31
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +63 -71
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/accounts.hardhat-test.js +19 -13
  120. package/dist/middleware/accounts.hardhat-test.js.map +1 -1
  121. package/dist/middleware/liquidity-layer.hardhat-test.js +11 -10
  122. package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
  123. package/dist/middleware/queries.hardhat-test.js +11 -10
  124. package/dist/middleware/queries.hardhat-test.js.map +1 -1
  125. package/dist/middleware.d.ts +4 -4
  126. package/dist/middleware.d.ts.map +1 -1
  127. package/dist/middleware.js.map +1 -1
  128. package/dist/providers/MultiProvider.d.ts +204 -37
  129. package/dist/providers/MultiProvider.d.ts.map +1 -1
  130. package/dist/providers/MultiProvider.js +455 -63
  131. package/dist/providers/MultiProvider.js.map +1 -1
  132. package/dist/proxy.d.ts.map +1 -1
  133. package/dist/proxy.js +3 -1
  134. package/dist/proxy.js.map +1 -1
  135. package/dist/router.d.ts +11 -6
  136. package/dist/router.d.ts.map +1 -1
  137. package/dist/router.js +1 -2
  138. package/dist/router.js.map +1 -1
  139. package/dist/test/envSubsetDeployer/app.d.ts +12 -21
  140. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
  141. package/dist/test/envSubsetDeployer/app.js +13 -18
  142. package/dist/test/envSubsetDeployer/app.js.map +1 -1
  143. package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
  144. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  145. package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
  146. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  147. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
  148. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
  149. package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
  150. package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
  151. package/dist/test/envSubsetDeployer/utils.js +2 -10
  152. package/dist/test/envSubsetDeployer/utils.js.map +1 -1
  153. package/dist/test/testUtils.d.ts +5 -1
  154. package/dist/test/testUtils.d.ts.map +1 -1
  155. package/dist/test/testUtils.js +8 -1
  156. package/dist/test/testUtils.js.map +1 -1
  157. package/dist/types.d.ts +2 -17
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/utils/MultiGeneric.d.ts +11 -12
  160. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  161. package/dist/utils/MultiGeneric.js +3 -6
  162. package/dist/utils/MultiGeneric.js.map +1 -1
  163. package/dist/utils/wagmi.d.ts +1 -1
  164. package/dist/utils/wagmi.d.ts.map +1 -1
  165. package/dist/utils/wagmi.js +7 -6
  166. package/dist/utils/wagmi.js.map +1 -1
  167. package/package.json +5 -5
  168. package/dist/consts/chainConnectionConfigs.d.ts +0 -21
  169. package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
  170. package/dist/consts/chainConnectionConfigs.js +0 -35
  171. package/dist/consts/chainConnectionConfigs.js.map +0 -1
  172. package/dist/core/message.d.ts +0 -146
  173. package/dist/core/message.d.ts.map +0 -1
  174. package/dist/core/message.js +0 -285
  175. package/dist/core/message.js.map +0 -1
  176. package/dist/domains.d.ts +0 -4
  177. package/dist/domains.d.ts.map +0 -1
  178. package/dist/domains.js +0 -12
  179. package/dist/domains.js.map +0 -1
  180. package/dist/providers/ChainConnection.d.ts +0 -23
  181. package/dist/providers/ChainConnection.d.ts.map +0 -1
  182. package/dist/providers/ChainConnection.js +0 -67
  183. package/dist/providers/ChainConnection.js.map +0 -1
@@ -10,10 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.HyperlaneCoreChecker = void 0;
13
- const utils_1 = require("ethers/lib/utils");
14
- const utils_2 = require("@hyperlane-xyz/utils");
15
- const utils_3 = require("@hyperlane-xyz/utils/dist/src/utils");
16
- const domains_1 = require("../../domains");
13
+ const ethers_1 = require("ethers");
14
+ const utils_1 = require("@hyperlane-xyz/utils");
17
15
  const HyperlaneAppChecker_1 = require("../HyperlaneAppChecker");
18
16
  const types_1 = require("./types");
19
17
  const MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH = '0x29b7294ab3ad2e8587e5cce0e2289ce65e12a2ea2f1e7ab34a05e7737616f457';
@@ -36,6 +34,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
36
34
  yield this.checkMultisigIsm(chain);
37
35
  yield this.checkBytecodes(chain);
38
36
  yield this.checkValidatorAnnounce(chain);
37
+ yield this.checkInterchainGasPaymaster(chain);
39
38
  });
40
39
  }
41
40
  checkDomainOwnership(chain) {
@@ -57,7 +56,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
57
56
  const contracts = this.app.getContracts(chain);
58
57
  const mailbox = contracts.mailbox.contract;
59
58
  const localDomain = yield mailbox.localDomain();
60
- utils_2.utils.assert(localDomain === domains_1.ChainNameToDomainId[chain]);
59
+ utils_1.utils.assert(localDomain === this.multiProvider.getDomainId(chain));
61
60
  const actualIsm = yield mailbox.defaultIsm();
62
61
  const expectedIsm = contracts.multisigIsm.address;
63
62
  if (actualIsm !== expectedIsm) {
@@ -84,7 +83,9 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
84
83
  // that to compare, but some coincidental ocurrences of
85
84
  // localDomain in the bytecode should be not be removed which
86
85
  // are just done via an offset guard
87
- _.replaceAll(utils_1.defaultAbiCoder.encode(['uint32'], [localDomain]).slice(2), (match, offset) => (offset > 8000 ? match : '')));
86
+ _.replaceAll(ethers_1.utils.defaultAbiCoder
87
+ .encode(['uint32'], [localDomain])
88
+ .slice(2), (match, offset) => (offset > 8000 ? match : '')));
88
89
  yield this.checkBytecode(chain, 'Mailbox proxy', contracts.mailbox.address, TRANSPARENT_PROXY_BYTECODE_HASH);
89
90
  yield this.checkBytecode(chain, 'InterchainGasPaymaster proxy', contracts.interchainGasPaymaster.address, TRANSPARENT_PROXY_BYTECODE_HASH);
90
91
  yield this.checkBytecode(chain, 'ProxyAdmin', contracts.proxyAdmin.address, PROXY_ADMIN_BYTECODE_HASH);
@@ -92,7 +93,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
92
93
  yield this.checkBytecode(chain, 'InterchainGasPaymaster implementation', contracts.interchainGasPaymaster.addresses.implementation, INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH);
93
94
  yield this.checkBytecode(chain, 'OverheadIGP', contracts.defaultIsmInterchainGasPaymaster.address, OVERHEAD_IGP_BYTECODE_HASH, (_) =>
94
95
  // Remove the address of the wrapped ISM from the bytecode
95
- _.replaceAll(utils_1.defaultAbiCoder
96
+ _.replaceAll(ethers_1.utils.defaultAbiCoder
96
97
  .encode(['address'], [contracts.interchainGasPaymaster.addresses.proxy])
97
98
  .slice(2), ''));
98
99
  });
@@ -102,7 +103,6 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
102
103
  const contracts = this.app.getContracts(chain);
103
104
  yield this.checkProxiedContract(chain, 'Mailbox', contracts.mailbox.addresses, contracts.proxyAdmin.address);
104
105
  yield this.checkProxiedContract(chain, 'InterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
105
- yield this.checkProxiedContract(chain, 'DefaultIsmInterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
106
106
  });
107
107
  }
108
108
  checkValidatorAnnounce(chain) {
@@ -111,7 +111,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
111
111
  const validatorAnnounce = this.app.getContracts(chain).validatorAnnounce;
112
112
  const announcedValidators = yield validatorAnnounce.getAnnouncedValidators();
113
113
  expectedValidators.map((validator) => {
114
- const matches = announcedValidators.filter((x) => (0, utils_3.eqAddress)(x, validator));
114
+ const matches = announcedValidators.filter((x) => utils_1.utils.eqAddress(x, validator));
115
115
  if (matches.length == 0) {
116
116
  const violation = {
117
117
  type: types_1.CoreViolationType.ValidatorAnnounce,
@@ -137,13 +137,13 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
137
137
  const coreContracts = this.app.getContracts(local);
138
138
  const multisigIsm = coreContracts.multisigIsm;
139
139
  const config = this.configMap[remote];
140
- const remoteDomain = domains_1.ChainNameToDomainId[remote];
140
+ const remoteDomain = this.multiProvider.getDomainId(remote);
141
141
  const multisigIsmConfig = config.multisigIsm;
142
142
  const expectedValidators = multisigIsmConfig.validators;
143
143
  const actualValidators = yield multisigIsm.validators(remoteDomain);
144
144
  const expectedSet = new Set(expectedValidators.map((_) => _.toLowerCase()));
145
145
  const actualSet = new Set(actualValidators.map((_) => _.toLowerCase()));
146
- if (!utils_2.utils.setEquality(expectedSet, actualSet)) {
146
+ if (!utils_1.utils.setEquality(expectedSet, actualSet)) {
147
147
  const violation = {
148
148
  type: types_1.CoreViolationType.MultisigIsm,
149
149
  subType: types_1.MultisigIsmViolationType.EnrolledValidators,
@@ -156,7 +156,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
156
156
  this.addViolation(violation);
157
157
  }
158
158
  const expectedThreshold = multisigIsmConfig.threshold;
159
- utils_2.utils.assert(expectedThreshold !== undefined);
159
+ utils_1.utils.assert(expectedThreshold !== undefined);
160
160
  const actualThreshold = yield multisigIsm.threshold(remoteDomain);
161
161
  if (expectedThreshold !== actualThreshold) {
162
162
  const violation = {
@@ -172,6 +172,66 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
172
172
  }
173
173
  });
174
174
  }
175
+ checkInterchainGasPaymaster(local) {
176
+ return __awaiter(this, void 0, void 0, function* () {
177
+ const coreContracts = this.app.getContracts(local);
178
+ const igp = coreContracts.interchainGasPaymaster.contract;
179
+ // Construct the violation, updating the actual & expected
180
+ // objects as violations are found.
181
+ // A single violation is used so that only a single `setGasOracles`
182
+ // call is generated to set multiple gas oracles.
183
+ const gasOraclesViolation = {
184
+ type: types_1.CoreViolationType.InterchainGasPaymaster,
185
+ subType: types_1.IgpViolationType.GasOracles,
186
+ contract: igp,
187
+ chain: local,
188
+ actual: {},
189
+ expected: {},
190
+ };
191
+ const remotes = this.multiProvider.getRemoteChains(local);
192
+ for (const remote of remotes) {
193
+ const remoteId = this.multiProvider.getDomainId(remote);
194
+ const actualGasOracle = yield igp.gasOracles(remoteId);
195
+ const expectedGasOracle = this.getGasOracleAddress(local, remote);
196
+ if (!utils_1.utils.eqAddress(actualGasOracle, expectedGasOracle)) {
197
+ const remoteChain = remote;
198
+ gasOraclesViolation.actual[remoteChain] = actualGasOracle;
199
+ gasOraclesViolation.expected[remoteChain] = expectedGasOracle;
200
+ }
201
+ }
202
+ // Add the violation only if it's been populated with gas oracle inconsistencies
203
+ if (Object.keys(gasOraclesViolation.actual).length > 0) {
204
+ this.addViolation(gasOraclesViolation);
205
+ }
206
+ const actualBeneficiary = yield igp.beneficiary();
207
+ const expectedBeneficiary = this.configMap[local].igp.beneficiary;
208
+ if (!utils_1.utils.eqAddress(actualBeneficiary, expectedBeneficiary)) {
209
+ const violation = {
210
+ type: types_1.CoreViolationType.InterchainGasPaymaster,
211
+ subType: types_1.IgpViolationType.Beneficiary,
212
+ contract: igp,
213
+ chain: local,
214
+ actual: actualBeneficiary,
215
+ expected: expectedBeneficiary,
216
+ };
217
+ this.addViolation(violation);
218
+ }
219
+ });
220
+ }
221
+ getGasOracleAddress(local, remote) {
222
+ const config = this.configMap[local];
223
+ const gasOracleType = config.igp.gasOracles[remote];
224
+ if (!gasOracleType) {
225
+ throw Error(`Expected gas oracle type for local ${local} and remote ${remote}`);
226
+ }
227
+ const coreContracts = this.app.getContracts(local);
228
+ switch (gasOracleType) {
229
+ case types_1.GasOracleContractType.StorageGasOracle:
230
+ return coreContracts.storageGasOracle.address;
231
+ default:
232
+ throw Error(`Unsupported gas oracle type ${gasOracleType}`);
233
+ }
234
+ }
175
235
  }
176
236
  exports.HyperlaneCoreChecker = HyperlaneCoreChecker;
177
237
  //# sourceMappingURL=HyperlaneCoreChecker.js.map
@@ -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,16 +1,16 @@
1
1
  import { ethers } from 'ethers';
2
- import { InterchainGasPaymaster, Mailbox, MultisigIsm, OverheadIgp, Ownable, ProxyAdmin, ValidatorAnnounce } from '@hyperlane-xyz/core';
3
- import type { types } from '@hyperlane-xyz/utils';
4
- import { CoreContracts, coreFactories } from '../../core/contracts';
2
+ import { InterchainGasPaymaster, Mailbox, MultisigIsm, OverheadIgp, Ownable, ProxyAdmin, StorageGasOracle, ValidatorAnnounce } from '@hyperlane-xyz/core';
3
+ import { types } from '@hyperlane-xyz/utils';
4
+ import { CoreContracts, GasOracleContracts, coreFactories } from '../../core/contracts';
5
5
  import { MultiProvider } from '../../providers/MultiProvider';
6
6
  import { ProxiedContract, TransparentProxyAddresses } from '../../proxy';
7
7
  import { ChainMap, ChainName } from '../../types';
8
8
  import { DeployOptions, HyperlaneDeployer } from '../HyperlaneDeployer';
9
9
  import { CoreConfig } from './types';
10
- export declare class HyperlaneCoreDeployer<Chain extends ChainName> extends HyperlaneDeployer<Chain, CoreConfig, CoreContracts, typeof coreFactories> {
11
- startingBlockNumbers: ChainMap<Chain, number | undefined>;
12
- gasOverhead: ChainMap<Chain, OverheadIgp.DomainConfigStruct>;
13
- constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, CoreConfig>, factoriesOverride?: {
10
+ export declare class HyperlaneCoreDeployer extends HyperlaneDeployer<CoreConfig, CoreContracts, typeof coreFactories> {
11
+ startingBlockNumbers: ChainMap<number | undefined>;
12
+ gasOverhead: ChainMap<OverheadIgp.DomainConfigStruct>;
13
+ constructor(multiProvider: MultiProvider, configMap: ChainMap<CoreConfig>, factoriesOverride?: {
14
14
  interchainAccountRouter: import("@hyperlane-xyz/core").InterchainAccountRouter__factory;
15
15
  interchainQueryRouter: import("@hyperlane-xyz/core").InterchainQueryRouter__factory;
16
16
  validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
@@ -18,15 +18,19 @@ export declare class HyperlaneCoreDeployer<Chain extends ChainName> extends Hype
18
18
  proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
19
19
  interchainGasPaymaster: import("@hyperlane-xyz/core").InterchainGasPaymaster__factory;
20
20
  defaultIsmInterchainGasPaymaster: import("@hyperlane-xyz/core").OverheadIgp__factory;
21
+ storageGasOracle: import("@hyperlane-xyz/core").StorageGasOracle__factory;
21
22
  multisigIsm: import("@hyperlane-xyz/core").MultisigIsm__factory;
22
23
  mailbox: import("@hyperlane-xyz/core").Mailbox__factory;
23
24
  });
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>;
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>;
28
- deployMultisigIsm<LocalChain extends Chain>(chain: LocalChain): Promise<MultisigIsm>;
29
- deployContracts<LocalChain extends Chain>(chain: LocalChain, config: CoreConfig): Promise<CoreContracts>;
30
- transferOwnershipOfContracts(chain: Chain, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
25
+ deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, gasOracleContracts: GasOracleContracts, deployOpts?: DeployOptions): Promise<ProxiedContract<InterchainGasPaymaster, TransparentProxyAddresses>>;
26
+ deployDefaultIsmInterchainGasPaymaster(chain: ChainName, interchainGasPaymasterAddress: types.Address, deployOpts?: DeployOptions): Promise<OverheadIgp>;
27
+ deployGasOracleContracts(chain: ChainName, deployOpts?: DeployOptions): Promise<GasOracleContracts>;
28
+ deployStorageGasOracle(chain: ChainName, deployOpts?: DeployOptions): Promise<StorageGasOracle>;
29
+ deployMailbox(chain: ChainName, defaultIsmAddress: types.Address, proxyAdmin: ProxyAdmin, deployOpts?: DeployOptions): Promise<ProxiedContract<Mailbox, TransparentProxyAddresses>>;
30
+ deployValidatorAnnounce(chain: ChainName, mailboxAddress: string, deployOpts?: DeployOptions): Promise<ValidatorAnnounce>;
31
+ deployMultisigIsm(chain: ChainName): Promise<MultisigIsm>;
32
+ deployContracts(chain: ChainName, config: CoreConfig): Promise<CoreContracts>;
33
+ transferOwnershipOfContracts(chain: ChainName, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
34
+ private getGasOracleAddress;
31
35
  }
32
36
  //# sourceMappingURL=HyperlaneCoreDeployer.d.ts.map
@@ -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,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"}
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,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,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,EAAyB,MAAM,SAAS,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,EACb,OAAO,aAAa,CACrB;IACC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAGpD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,iBAAiB;;;;;;;;;;;KAAgB;IAsB7B,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CACR,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CACnE;IA8CK,sCAAsC,CAC1C,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,WAAW,CAAC;IAkDjB,wBAAwB,CAC5B,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,sBAAsB,CAC1B,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAItB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,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,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAUvB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAyEzD,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC;IAoDnB,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAsBpC,OAAO,CAAC,mBAAmB;CAqB5B"}
@@ -16,12 +16,12 @@ exports.HyperlaneCoreDeployer = void 0;
16
16
  const debug_1 = __importDefault(require("debug"));
17
17
  const ethers_1 = require("ethers");
18
18
  const core_1 = require("@hyperlane-xyz/core");
19
- const chainMetadata_1 = require("../../consts/chainMetadata");
19
+ const utils_1 = require("@hyperlane-xyz/utils");
20
20
  const multisigIsmVerifyCosts_json_1 = __importDefault(require("../../consts/multisigIsmVerifyCosts.json"));
21
21
  const contracts_1 = require("../../core/contracts");
22
- const domains_1 = require("../../domains");
23
22
  const objects_1 = require("../../utils/objects");
24
23
  const HyperlaneDeployer_1 = require("../HyperlaneDeployer");
24
+ const types_1 = require("./types");
25
25
  class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
26
26
  constructor(multiProvider, configMap, factoriesOverride = contracts_1.coreFactories) {
27
27
  super(multiProvider, configMap, factoriesOverride, {
@@ -35,29 +35,48 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
35
35
  if (!verifyCost)
36
36
  throw new Error(`Unknown verification cost for ${threshold} of ${validators.length}`);
37
37
  return {
38
- domain: domains_1.ChainNameToDomainId[chain],
38
+ domain: multiProvider.getDomainId(chain),
39
39
  gasOverhead: verifyCost,
40
40
  };
41
41
  });
42
42
  this.startingBlockNumbers = (0, objects_1.objMap)(configMap, () => undefined);
43
43
  }
44
- deployInterchainGasPaymaster(chain, proxyAdmin, deployOpts) {
44
+ deployInterchainGasPaymaster(chain, proxyAdmin, gasOracleContracts, deployOpts) {
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
- return this.deployProxiedContract(chain, 'interchainGasPaymaster', [], proxyAdmin, [], deployOpts);
46
+ const beneficiary = this.configMap[chain].igp.beneficiary;
47
+ const igp = yield this.deployProxiedContract(chain, 'interchainGasPaymaster', [beneficiary], proxyAdmin, [beneficiary], deployOpts);
48
+ // Set the gas oracles
49
+ const remotes = this.multiProvider.getRemoteChains(chain);
50
+ const gasOracleConfigsToSet = [];
51
+ for (const remote of remotes) {
52
+ const remoteId = this.multiProvider.getDomainId(remote);
53
+ const currentGasOracle = yield igp.contract.gasOracles(remoteId);
54
+ const desiredGasOracle = this.getGasOracleAddress(chain, remote, gasOracleContracts);
55
+ if (!utils_1.utils.eqAddress(currentGasOracle, desiredGasOracle)) {
56
+ gasOracleConfigsToSet.push({
57
+ remoteDomain: remoteId,
58
+ gasOracle: desiredGasOracle,
59
+ });
60
+ }
61
+ }
62
+ if (gasOracleConfigsToSet.length > 0) {
63
+ yield this.runIfOwner(chain, igp.contract, () => __awaiter(this, void 0, void 0, function* () {
64
+ return this.multiProvider.handleTx(chain, igp.contract.setGasOracles(gasOracleConfigsToSet));
65
+ }));
66
+ }
67
+ return igp;
47
68
  });
48
69
  }
49
70
  deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymasterAddress, deployOpts) {
50
71
  return __awaiter(this, void 0, void 0, function* () {
51
- const chainSigner = this.multiProvider.getChainSigner(chain);
52
- const deployer = yield chainSigner.getAddress();
72
+ const deployer = yield this.multiProvider.getSignerAddress(chain);
53
73
  // Transfer ownership to the deployer so the destination gas overheads can be set
54
74
  const initCalldata = core_1.Ownable__factory.createInterface().encodeFunctionData('transferOwnership', [deployer]);
55
75
  const defaultIsmInterchainGasPaymaster = yield this.deployContract(chain, 'defaultIsmInterchainGasPaymaster', [interchainGasPaymasterAddress], Object.assign(Object.assign({}, deployOpts), { initCalldata }));
56
76
  const configChains = Object.keys(this.configMap);
57
- const chainConnection = this.multiProvider.getChainConnection(chain);
58
77
  const remotes = this.multiProvider
59
78
  .intersect(configChains, false)
60
- .multiProvider.remoteChains(chain);
79
+ .multiProvider.getRemoteChains(chain);
61
80
  // Only set gas overhead configs if they differ from what's on chain
62
81
  const configs = [];
63
82
  for (const remote of remotes) {
@@ -68,16 +87,27 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
68
87
  }
69
88
  }
70
89
  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
- }));
90
+ yield this.runIfOwner(chain, defaultIsmInterchainGasPaymaster, () => this.multiProvider.handleTx(chain, defaultIsmInterchainGasPaymaster.setDestinationGasOverheads(configs, this.multiProvider.getTransactionOverrides(chain))));
74
91
  }
75
92
  return defaultIsmInterchainGasPaymaster;
76
93
  });
77
94
  }
95
+ deployGasOracleContracts(chain, deployOpts) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const storageGasOracle = yield this.deployStorageGasOracle(chain, deployOpts);
98
+ return {
99
+ storageGasOracle,
100
+ };
101
+ });
102
+ }
103
+ deployStorageGasOracle(chain, deployOpts) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ return this.deployContract(chain, 'storageGasOracle', [], deployOpts);
106
+ });
107
+ }
78
108
  deployMailbox(chain, defaultIsmAddress, proxyAdmin, deployOpts) {
79
109
  return __awaiter(this, void 0, void 0, function* () {
80
- const domain = chainMetadata_1.chainMetadata[chain].id;
110
+ const domain = this.multiProvider.getDomainId(chain);
81
111
  const owner = this.configMap[chain].owner;
82
112
  const mailbox = yield this.deployProxiedContract(chain, 'mailbox', [domain], proxyAdmin, [owner, defaultIsmAddress], deployOpts);
83
113
  return mailbox;
@@ -96,27 +126,27 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
96
126
  return __awaiter(this, void 0, void 0, function* () {
97
127
  const multisigIsm = yield this.deployContract(chain, 'multisigIsm', []);
98
128
  const configChains = Object.keys(this.configMap);
99
- const chainConnection = this.multiProvider.getChainConnection(chain);
100
129
  const remotes = this.multiProvider
101
130
  .intersect(configChains, false)
102
- .multiProvider.remoteChains(chain);
131
+ .multiProvider.getRemoteChains(chain);
132
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
103
133
  yield _super.runIfOwner.call(this, chain, multisigIsm, () => __awaiter(this, void 0, void 0, function* () {
104
134
  // TODO: Remove extraneous validators
105
- const remoteDomains = remotes.map((chain) => domains_1.ChainNameToDomainId[chain]);
135
+ const remoteDomains = this.multiProvider.getDomainIds(remotes);
106
136
  const actualValidators = yield Promise.all(remoteDomains.map((id) => multisigIsm.validators(id)));
107
137
  const expectedValidators = remotes.map((chain) => this.configMap[chain].multisigIsm.validators);
108
138
  const validatorsToEnroll = expectedValidators.map((validators, i) => validators.filter((validator) => !actualValidators[i].includes(ethers_1.ethers.utils.getAddress(validator))));
109
139
  const chainsToEnrollValidators = remotes.filter((_, i) => validatorsToEnroll[i].length > 0);
110
140
  if (chainsToEnrollValidators.length > 0) {
111
141
  this.logger(`Enroll ${chainsToEnrollValidators} validators on ${chain}`);
112
- yield chainConnection.handleTx(multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => domains_1.ChainNameToDomainId[c]), validatorsToEnroll.filter((validators) => validators.length > 0), chainConnection.overrides));
142
+ yield this.multiProvider.handleTx(chain, multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => this.multiProvider.getDomainId(c)), validatorsToEnroll.filter((validators) => validators.length > 0), overrides));
113
143
  }
114
144
  const actualThresholds = yield Promise.all(remoteDomains.map((id) => multisigIsm.threshold(id)));
115
145
  const expectedThresholds = remotes.map((chain) => this.configMap[chain].multisigIsm.threshold);
116
146
  const chainsToSetThreshold = remotes.filter((_, i) => actualThresholds[i] !== expectedThresholds[i]);
117
147
  if (chainsToSetThreshold.length > 0) {
118
148
  this.logger(`Set remote (${chainsToSetThreshold}) thresholds on ${chain}`);
119
- yield chainConnection.handleTx(multisigIsm.setThresholds(chainsToSetThreshold.map((c) => domains_1.ChainNameToDomainId[c]), chainsToSetThreshold.map((c) => this.configMap[c].multisigIsm.threshold), chainConnection.overrides));
149
+ yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((c) => this.configMap[c].multisigIsm.threshold), overrides));
120
150
  }
121
151
  }));
122
152
  return multisigIsm;
@@ -128,13 +158,13 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
128
158
  // skip deploying to chains configured to be removed
129
159
  return undefined;
130
160
  }
131
- const dc = this.multiProvider.getChainConnection(chain);
132
- const provider = dc.provider;
161
+ const provider = this.multiProvider.getProvider(chain);
133
162
  const startingBlockNumber = yield provider.getBlockNumber();
134
163
  this.startingBlockNumbers[chain] = startingBlockNumber;
135
164
  const multisigIsm = yield this.deployMultisigIsm(chain);
136
165
  const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
137
- const interchainGasPaymaster = yield this.deployInterchainGasPaymaster(chain, proxyAdmin);
166
+ const gasOracleContracts = yield this.deployGasOracleContracts(chain);
167
+ const interchainGasPaymaster = yield this.deployInterchainGasPaymaster(chain, proxyAdmin, gasOracleContracts);
138
168
  const defaultIsmInterchainGasPaymaster = yield this.deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymaster.address);
139
169
  const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin);
140
170
  const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
@@ -145,14 +175,12 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
145
175
  defaultIsmInterchainGasPaymaster,
146
176
  ];
147
177
  yield this.transferOwnershipOfContracts(chain, ownables);
148
- return {
149
- validatorAnnounce,
178
+ return Object.assign(Object.assign({}, gasOracleContracts), { validatorAnnounce,
150
179
  proxyAdmin,
151
180
  mailbox,
152
181
  interchainGasPaymaster,
153
182
  defaultIsmInterchainGasPaymaster,
154
- multisigIsm,
155
- };
183
+ multisigIsm });
156
184
  });
157
185
  }
158
186
  transferOwnershipOfContracts(chain, ownables) {
@@ -161,12 +189,11 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
161
189
  });
162
190
  return __awaiter(this, void 0, void 0, function* () {
163
191
  const owner = this.configMap[chain].owner;
164
- const chainConnection = this.multiProvider.getChainConnection(chain);
165
192
  const receipts = [];
166
193
  for (const ownable of ownables) {
167
194
  const currentOwner = yield ownable.owner();
168
195
  if (currentOwner.toLowerCase() !== owner.toLowerCase()) {
169
- const receipt = yield _super.runIfOwner.call(this, chain, ownable, () => chainConnection.handleTx(ownable.transferOwnership(owner, chainConnection.overrides)));
196
+ const receipt = yield _super.runIfOwner.call(this, chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
170
197
  if (receipt)
171
198
  receipts.push(receipt);
172
199
  }
@@ -174,6 +201,21 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
174
201
  return receipts.filter((x) => x !== undefined);
175
202
  });
176
203
  }
204
+ getGasOracleAddress(local, remote, gasOracleContracts) {
205
+ const localConfig = this.configMap[local];
206
+ const gasOracleType = localConfig.igp.gasOracles[remote];
207
+ if (!gasOracleType) {
208
+ throw Error(`Expected gas oracle type for local ${local} and remote ${remote}`);
209
+ }
210
+ switch (gasOracleType) {
211
+ case types_1.GasOracleContractType.StorageGasOracle: {
212
+ return gasOracleContracts.storageGasOracle.address;
213
+ }
214
+ default: {
215
+ throw Error(`Unsupported gas oracle type ${gasOracleType}`);
216
+ }
217
+ }
218
+ }
177
219
  }
178
220
  exports.HyperlaneCoreDeployer = HyperlaneCoreDeployer;
179
221
  //# sourceMappingURL=HyperlaneCoreDeployer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAgC;AAEhC,8CAS6B;AAG7B,8DAA2D;AAC3D,2GAA8E;AAC9E,oDAAoE;AACpE,2CAAoD;AAIpD,iDAA6C;AAC7C,4DAAwE;AAIxE,MAAa,qBAEX,SAAQ,qCAKT;IAIC,YACE,aAAmC,EACnC,SAAsC,EACtC,iBAAiB,GAAG,yBAAa;QAEjC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE;YACjD,MAAM,EAAE,IAAA,eAAK,EAAC,wBAAwB,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAA,gBAAM,EAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;YACrD,MAAM,UAAU;YACd,aAAa;YACb,qCAAsB,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CACb,iCAAiC,SAAS,OAAO,UAAU,CAAC,MAAM,EAAE,CACrE,CAAC;YACJ,OAAO;gBACL,MAAM,EAAE,6BAAmB,CAAC,KAAK,CAAC;gBAClC,WAAW,EAAE,UAAU;aACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAA,gBAAM,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAEK,4BAA4B,CAChC,KAAiB,EACjB,UAAsB,EACtB,UAA0B;;YAI1B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,KAAK,EACL,wBAAwB,EACxB,EAAE,EACF,UAAU,EACV,EAAE,EACF,UAAU,CACX,CAAC;QACJ,CAAC;KAAA;IAEK,sCAAsC,CAC1C,KAAiB,EACjB,6BAA4C,EAC5C,UAA0B;;YAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;YAChD,iFAAiF;YACjF,MAAM,YAAY,GAAG,uBAAgB,CAAC,eAAe,EAAE,CAAC,kBAAkB,CACxE,mBAAmB,EACnB,CAAC,QAAQ,CAAC,CACX,CAAC;YACF,MAAM,gCAAgC,GAAG,MAAM,IAAI,CAAC,cAAc,CAChE,KAAK,EACL,kCAAkC,EAClC,CAAC,6BAA6B,CAAC,kCAE1B,UAAU,KACb,YAAY,IAEf,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAY,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa;iBAC/B,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC9B,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAErC,oEAAoE;YACpE,MAAM,OAAO,GAAqC,EAAE,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,gBAAgB,GACpB,MAAM,gCAAgC,CAAC,sBAAsB,CAC3D,WAAW,CAAC,MAAM,CACnB,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC3B;aACF;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,gCAAgC,EAAE,GAAS,EAAE;oBACxE,OAAA,eAAe,CAAC,QAAQ,CACtB,gCAAgC,CAAC,0BAA0B,CACzD,OAAO,EACP,eAAe,CAAC,SAAS,CAC1B,CACF,CAAA;kBAAA,CACF,CAAC;aACH;YAED,OAAO,gCAAgC,CAAC;QAC1C,CAAC;KAAA;IAEK,aAAa,CACjB,KAAiB,EACjB,iBAAgC,EAChC,UAAsB,EACtB,UAA0B;;YAE1B,MAAM,MAAM,GAAG,6BAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAE1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC9C,KAAK,EACL,SAAS,EACT,CAAC,MAAM,CAAC,EACR,UAAU,EACV,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAC1B,UAAU,CACX,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,uBAAuB,CAC3B,KAAiB,EACjB,cAAsB,EACtB,UAA0B;;YAE1B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CACjD,KAAK,EACL,mBAAmB,EACnB,CAAC,cAAc,CAAC,EAChB,UAAU,CACX,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC3B,CAAC;KAAA;IAEK,iBAAiB,CACrB,KAAiB;;;;;YAEjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAY,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa;iBAC/B,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC9B,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,WAAW,EAAE,GAAS,EAAE;gBACpD,qCAAqC;gBACrC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzE,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CACxD,CAAC;gBACF,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAClE,UAAU,CAAC,MAAM,CACf,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CACpE,CACF,CAAC;gBACF,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC;gBAEF,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,CACT,UAAU,wBAAwB,kBAAkB,KAAK,EAAE,CAC5D,CAAC;oBACF,MAAM,eAAe,CAAC,QAAQ,CAC5B,WAAW,CAAC,gBAAgB,CAC1B,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAAmB,CAAC,CAAC,CAAC,CAAC,EAC3D,kBAAkB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAChE,eAAe,CAAC,SAAS,CAC1B,CACF,CAAC;iBACH;gBAED,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CACrD,CAAC;gBACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CACvD,CAAC;gBACF,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,CACxD,CAAC;gBACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,IAAI,CAAC,MAAM,CACT,eAAe,oBAAoB,mBAAmB,KAAK,EAAE,CAC9D,CAAC;oBACF,MAAM,eAAe,CAAC,QAAQ,CAC5B,WAAW,CAAC,aAAa,CACvB,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAAmB,CAAC,CAAC,CAAC,CAAC,EACvD,oBAAoB,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAC/C,EACD,eAAe,CAAC,SAAS,CAC1B,CACF,CAAC;iBACH;YACH,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAEK,eAAe,CACnB,KAAiB,EACjB,MAAkB;;YAElB,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,oDAAoD;gBACpD,OAAO,SAAgB,CAAC;aACzB;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAS,CAAC;YAC9B,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC;YACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACtE,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACpE,KAAK,EACL,UAAU,CACX,CAAC;YACF,MAAM,gCAAgC,GACpC,MAAM,IAAI,CAAC,sCAAsC,CAC/C,KAAK,EACL,sBAAsB,CAAC,OAAO,CAC/B,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,KAAK,EACL,WAAW,CAAC,OAAO,EACnB,UAAU,CACX,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC1D,KAAK,EACL,OAAO,CAAC,OAAO,CAChB,CAAC;YACF,8FAA8F;YAC9F,MAAM,QAAQ,GAAc;gBAC1B,WAAW;gBACX,UAAU;gBACV,gCAAgC;aACjC,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEzD,OAAO;gBACL,iBAAiB;gBACjB,UAAU;gBACV,OAAO;gBACP,sBAAsB;gBACtB,gCAAgC;gBAChC,WAAW;aACZ,CAAC;QACJ,CAAC;KAAA;IAEK,4BAA4B,CAChC,KAAY,EACZ,QAAmB;;;;;YAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,QAAQ,GAA6B,EAAE,CAAC;YAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE;oBACtD,MAAM,OAAO,GAAG,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAC1D,eAAe,CAAC,QAAQ,CACtB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,CAC5D,CACF,CAAC;oBACF,IAAI,OAAO;wBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACrC;aACF;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAA6B,CAAC;QAC7E,CAAC;KAAA;CACF;AA5RD,sDA4RC"}
1
+ {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
- import { Mailbox, MultisigIsm } from '@hyperlane-xyz/core';
1
+ import { InterchainGasPaymaster, Mailbox, MultisigIsm } from '@hyperlane-xyz/core';
2
2
  import type { types } from '@hyperlane-xyz/utils';
3
- import { ChainName } from '../../types';
3
+ import { ChainMap, ChainName } from '../../types';
4
4
  import type { CheckerViolation } from '../types';
5
+ export declare enum GasOracleContractType {
6
+ StorageGasOracle = "StorageGasOracle"
7
+ }
8
+ export declare type InterchainGasPaymasterConfig = {
9
+ beneficiary: types.Address;
10
+ gasOracles: ChainMap<GasOracleContractType>;
11
+ };
5
12
  export declare type MultisigIsmConfig = {
6
13
  validators: Array<types.Address>;
7
14
  threshold: number;
@@ -9,13 +16,15 @@ export declare type MultisigIsmConfig = {
9
16
  export declare type CoreConfig = {
10
17
  multisigIsm: MultisigIsmConfig;
11
18
  owner: types.Address;
19
+ igp: InterchainGasPaymasterConfig;
12
20
  remove?: boolean;
13
21
  };
14
22
  export declare enum CoreViolationType {
15
23
  MultisigIsm = "MultisigIsm",
16
24
  Mailbox = "Mailbox",
17
25
  ConnectionManager = "ConnectionManager",
18
- ValidatorAnnounce = "ValidatorAnnounce"
26
+ ValidatorAnnounce = "ValidatorAnnounce",
27
+ InterchainGasPaymaster = "InterchainGasPaymaster"
19
28
  }
20
29
  export declare enum MultisigIsmViolationType {
21
30
  EnrolledValidators = "EnrolledValidators",
@@ -24,6 +33,10 @@ export declare enum MultisigIsmViolationType {
24
33
  export declare enum MailboxViolationType {
25
34
  DefaultIsm = "DefaultIsm"
26
35
  }
36
+ export declare enum IgpViolationType {
37
+ Beneficiary = "Beneficiary",
38
+ GasOracles = "GasOracles"
39
+ }
27
40
  export interface MailboxViolation extends CheckerViolation {
28
41
  type: CoreViolationType.Mailbox;
29
42
  contract: Mailbox;
@@ -56,4 +69,19 @@ export interface ValidatorAnnounceViolation extends CheckerViolation {
56
69
  actual: boolean;
57
70
  expected: boolean;
58
71
  }
72
+ export interface IgpViolation extends CheckerViolation {
73
+ type: CoreViolationType.InterchainGasPaymaster;
74
+ contract: InterchainGasPaymaster;
75
+ subType: IgpViolationType;
76
+ }
77
+ export interface IgpBeneficiaryViolation extends IgpViolation {
78
+ subType: IgpViolationType.Beneficiary;
79
+ actual: types.Address;
80
+ expected: types.Address;
81
+ }
82
+ export interface IgpGasOraclesViolation extends IgpViolation {
83
+ subType: IgpViolationType.GasOracles;
84
+ actual: ChainMap<types.Address>;
85
+ expected: ChainMap<types.Address>;
86
+ }
59
87
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,oBAAY,iBAAiB,GAAG;IAC9B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,kBAAkB,uBAAuB;IACzC,SAAS,cAAc;CACxB;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,KAAK,CAAC,OAAO,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACpC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;IACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,oBAAY,qBAAqB;IAC/B,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,4BAA4B,GAAG;IACzC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,GAAG,EAAE,4BAA4B,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,wBAAwB;IAClC,kBAAkB,uBAAuB;IACzC,SAAS,cAAc;CACxB;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,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,KAAK,CAAC,OAAO,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACpC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;IACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,IAAI,EAAE,iBAAiB,CAAC,sBAAsB,CAAC;IAC/C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC;IACtC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;IACrC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CACnC"}
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailboxViolationType = exports.MultisigIsmViolationType = exports.CoreViolationType = void 0;
3
+ exports.IgpViolationType = exports.MailboxViolationType = exports.MultisigIsmViolationType = exports.CoreViolationType = exports.GasOracleContractType = void 0;
4
+ var GasOracleContractType;
5
+ (function (GasOracleContractType) {
6
+ GasOracleContractType["StorageGasOracle"] = "StorageGasOracle";
7
+ })(GasOracleContractType = exports.GasOracleContractType || (exports.GasOracleContractType = {}));
4
8
  var CoreViolationType;
5
9
  (function (CoreViolationType) {
6
10
  CoreViolationType["MultisigIsm"] = "MultisigIsm";
7
11
  CoreViolationType["Mailbox"] = "Mailbox";
8
12
  CoreViolationType["ConnectionManager"] = "ConnectionManager";
9
13
  CoreViolationType["ValidatorAnnounce"] = "ValidatorAnnounce";
14
+ CoreViolationType["InterchainGasPaymaster"] = "InterchainGasPaymaster";
10
15
  })(CoreViolationType = exports.CoreViolationType || (exports.CoreViolationType = {}));
11
16
  var MultisigIsmViolationType;
12
17
  (function (MultisigIsmViolationType) {
@@ -17,4 +22,9 @@ var MailboxViolationType;
17
22
  (function (MailboxViolationType) {
18
23
  MailboxViolationType["DefaultIsm"] = "DefaultIsm";
19
24
  })(MailboxViolationType = exports.MailboxViolationType || (exports.MailboxViolationType = {}));
25
+ var IgpViolationType;
26
+ (function (IgpViolationType) {
27
+ IgpViolationType["Beneficiary"] = "Beneficiary";
28
+ IgpViolationType["GasOracles"] = "GasOracles";
29
+ })(IgpViolationType = exports.IgpViolationType || (exports.IgpViolationType = {}));
20
30
  //# sourceMappingURL=types.js.map