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

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 (297) hide show
  1. package/README.md +7 -1
  2. package/dist/{HyperlaneApp.d.ts → app/HyperlaneApp.d.ts} +4 -4
  3. package/dist/app/HyperlaneApp.d.ts.map +1 -0
  4. package/dist/{HyperlaneApp.js → app/HyperlaneApp.js} +2 -2
  5. package/dist/app/HyperlaneApp.js.map +1 -0
  6. package/dist/app/MultiProtocolApp.d.ts +51 -0
  7. package/dist/app/MultiProtocolApp.d.ts.map +1 -0
  8. package/dist/app/MultiProtocolApp.js +80 -0
  9. package/dist/app/MultiProtocolApp.js.map +1 -0
  10. package/dist/app/MultiProtocolApp.test.d.ts +2 -0
  11. package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
  12. package/dist/app/MultiProtocolApp.test.js +19 -0
  13. package/dist/app/MultiProtocolApp.test.js.map +1 -0
  14. package/dist/consts/agentStartBlocks.d.ts +3 -0
  15. package/dist/consts/agentStartBlocks.d.ts.map +1 -0
  16. package/dist/consts/agentStartBlocks.js +28 -0
  17. package/dist/consts/agentStartBlocks.js.map +1 -0
  18. package/dist/consts/bytecode.js +1 -1
  19. package/dist/consts/bytecode.js.map +1 -1
  20. package/dist/consts/chainMetadata.d.ts +2 -58
  21. package/dist/consts/chainMetadata.d.ts.map +1 -1
  22. package/dist/consts/chainMetadata.js +1 -19
  23. package/dist/consts/chainMetadata.js.map +1 -1
  24. package/dist/consts/chains.d.ts +2 -3
  25. package/dist/consts/chains.d.ts.map +1 -1
  26. package/dist/consts/chains.js +2 -3
  27. package/dist/consts/chains.js.map +1 -1
  28. package/dist/consts/environments/index.d.ts +3 -3
  29. package/dist/consts/environments/index.d.ts.map +1 -1
  30. package/dist/consts/environments/index.js.map +1 -1
  31. package/dist/{contracts.d.ts → contracts/contracts.d.ts} +3 -15
  32. package/dist/contracts/contracts.d.ts.map +1 -0
  33. package/dist/{contracts.js → contracts/contracts.js} +12 -23
  34. package/dist/contracts/contracts.js.map +1 -0
  35. package/dist/contracts/types.d.ts +18 -0
  36. package/dist/contracts/types.d.ts.map +1 -0
  37. package/dist/contracts/types.js +3 -0
  38. package/dist/contracts/types.js.map +1 -0
  39. package/dist/core/CoreDeployer.hardhat-test.js +33 -42
  40. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  41. package/dist/core/HyperlaneCore.d.ts +5 -5
  42. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  43. package/dist/core/HyperlaneCore.js +15 -28
  44. package/dist/core/HyperlaneCore.js.map +1 -1
  45. package/dist/core/HyperlaneCore.test.js +4 -13
  46. package/dist/core/HyperlaneCore.test.js.map +1 -1
  47. package/dist/core/HyperlaneCoreChecker.js +80 -99
  48. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  49. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
  50. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  51. package/dist/core/HyperlaneCoreDeployer.js +45 -62
  52. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  53. package/dist/core/TestCoreApp.d.ts +1 -1
  54. package/dist/core/TestCoreApp.d.ts.map +1 -1
  55. package/dist/core/TestCoreApp.js +35 -45
  56. package/dist/core/TestCoreApp.js.map +1 -1
  57. package/dist/core/TestCoreDeployer.d.ts +1 -1
  58. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  59. package/dist/core/TestCoreDeployer.js +14 -27
  60. package/dist/core/TestCoreDeployer.js.map +1 -1
  61. package/dist/core/contracts.d.ts +1 -1
  62. package/dist/core/contracts.d.ts.map +1 -1
  63. package/dist/core/events.d.ts +1 -1
  64. package/dist/core/events.d.ts.map +1 -1
  65. package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
  66. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  67. package/dist/core/types.d.ts +1 -1
  68. package/dist/core/types.d.ts.map +1 -1
  69. package/dist/core/types.js +2 -2
  70. package/dist/core/types.js.map +1 -1
  71. package/dist/deploy/HyperlaneAppChecker.d.ts +1 -1
  72. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  73. package/dist/deploy/HyperlaneAppChecker.js +99 -123
  74. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  75. package/dist/deploy/HyperlaneDeployer.d.ts +1 -1
  76. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  77. package/dist/deploy/HyperlaneDeployer.js +176 -216
  78. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  79. package/dist/deploy/proxy.d.ts +1 -1
  80. package/dist/deploy/proxy.d.ts.map +1 -1
  81. package/dist/deploy/proxy.js +11 -26
  82. package/dist/deploy/proxy.js.map +1 -1
  83. package/dist/deploy/types.js +1 -1
  84. package/dist/deploy/types.js.map +1 -1
  85. package/dist/deploy/verify/ContractVerifier.js +122 -131
  86. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  87. package/dist/deploy/verify/types.d.ts +3 -3
  88. package/dist/deploy/verify/types.d.ts.map +1 -1
  89. package/dist/gas/HyperlaneIgp.d.ts +2 -2
  90. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  91. package/dist/gas/HyperlaneIgp.js +2 -2
  92. package/dist/gas/HyperlaneIgp.js.map +1 -1
  93. package/dist/gas/HyperlaneIgpChecker.js +101 -123
  94. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  95. package/dist/gas/HyperlaneIgpDeployer.d.ts +1 -1
  96. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  97. package/dist/gas/HyperlaneIgpDeployer.js +70 -89
  98. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  99. package/dist/gas/contracts.d.ts +1 -1
  100. package/dist/gas/contracts.d.ts.map +1 -1
  101. package/dist/gas/contracts.js +6 -1
  102. package/dist/gas/contracts.js.map +1 -1
  103. package/dist/gas/token-prices.d.ts +6 -60
  104. package/dist/gas/token-prices.d.ts.map +1 -1
  105. package/dist/gas/token-prices.js +37 -54
  106. package/dist/gas/token-prices.js.map +1 -1
  107. package/dist/gas/token-prices.test.js +11 -20
  108. package/dist/gas/token-prices.test.js.map +1 -1
  109. package/dist/gas/types.d.ts +2 -2
  110. package/dist/gas/types.d.ts.map +1 -1
  111. package/dist/gas/types.js +2 -2
  112. package/dist/gas/types.js.map +1 -1
  113. package/dist/hook/HyperlaneHookDeployer.d.ts +1 -1
  114. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  115. package/dist/hook/HyperlaneHookDeployer.js +69 -88
  116. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  117. package/dist/hook/contracts.d.ts +4 -4
  118. package/dist/hook/contracts.d.ts.map +1 -1
  119. package/dist/hook/contracts.js +5 -1
  120. package/dist/hook/contracts.js.map +1 -1
  121. package/dist/hook/types.d.ts +3 -3
  122. package/dist/hook/types.d.ts.map +1 -1
  123. package/dist/hook/types.js +1 -1
  124. package/dist/hook/types.js.map +1 -1
  125. package/dist/index.d.ts +13 -6
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +30 -5
  128. package/dist/index.js.map +1 -1
  129. package/dist/ism/HyperlaneIsmFactory.d.ts +2 -2
  130. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  131. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
  132. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  133. package/dist/ism/HyperlaneIsmFactory.js +234 -256
  134. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  135. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +1 -1
  136. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
  137. package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
  138. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  139. package/dist/ism/contracts.d.ts +1 -1
  140. package/dist/ism/contracts.d.ts.map +1 -1
  141. package/dist/ism/types.d.ts +5 -5
  142. package/dist/ism/types.d.ts.map +1 -1
  143. package/dist/ism/types.js +1 -1
  144. package/dist/ism/types.js.map +1 -1
  145. package/dist/metadata/ChainMetadataManager.d.ts +130 -0
  146. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
  147. package/dist/metadata/ChainMetadataManager.js +240 -0
  148. package/dist/metadata/ChainMetadataManager.js.map +1 -0
  149. package/dist/metadata/agentConfig.d.ts +4 -4
  150. package/dist/metadata/agentConfig.d.ts.map +1 -1
  151. package/dist/metadata/agentConfig.js +15 -6
  152. package/dist/metadata/agentConfig.js.map +1 -1
  153. package/dist/metadata/chainMetadata.test.js +27 -9
  154. package/dist/metadata/chainMetadata.test.js.map +1 -1
  155. package/dist/metadata/chainMetadataTypes.d.ts +2 -2
  156. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  157. package/dist/metadata/chainMetadataTypes.js +2 -3
  158. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  159. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  160. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  161. package/dist/middleware/account/InterchainAccount.d.ts +1 -1
  162. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  163. package/dist/middleware/account/InterchainAccount.js +1 -1
  164. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  165. package/dist/middleware/account/InterchainAccountChecker.js +4 -1
  166. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  167. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -2
  168. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  169. package/dist/middleware/account/InterchainAccountDeployer.js +28 -41
  170. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  171. package/dist/middleware/account/accounts.hardhat-test.js +21 -30
  172. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  173. package/dist/middleware/account/contracts.d.ts +1 -1
  174. package/dist/middleware/account/contracts.d.ts.map +1 -1
  175. package/dist/middleware/account/contracts.js +5 -1
  176. package/dist/middleware/account/contracts.js.map +1 -1
  177. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +2 -2
  178. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  179. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +130 -152
  180. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  181. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +3 -3
  182. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  183. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -110
  184. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  185. package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
  186. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  187. package/dist/middleware/liquidity-layer/contracts.js +6 -1
  188. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  189. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
  190. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  191. package/dist/middleware/query/InterchainQuery.d.ts +1 -1
  192. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  193. package/dist/middleware/query/InterchainQuery.js +1 -1
  194. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  195. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  196. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  197. package/dist/middleware/query/InterchainQueryDeployer.js +13 -27
  198. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  199. package/dist/middleware/query/contracts.d.ts +1 -1
  200. package/dist/middleware/query/contracts.d.ts.map +1 -1
  201. package/dist/middleware/query/contracts.js +4 -1
  202. package/dist/middleware/query/contracts.js.map +1 -1
  203. package/dist/middleware/query/queries.hardhat-test.js +23 -32
  204. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  205. package/dist/providers/MultiProtocolProvider.d.ts +39 -0
  206. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
  207. package/dist/providers/MultiProtocolProvider.js +105 -0
  208. package/dist/providers/MultiProtocolProvider.js.map +1 -0
  209. package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
  210. package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
  211. package/dist/providers/MultiProtocolProvider.test.js +24 -0
  212. package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
  213. package/dist/providers/MultiProvider.d.ts +20 -118
  214. package/dist/providers/MultiProvider.d.ts.map +1 -1
  215. package/dist/providers/MultiProvider.js +69 -300
  216. package/dist/providers/MultiProvider.js.map +1 -1
  217. package/dist/providers/ProviderType.d.ts +71 -0
  218. package/dist/providers/ProviderType.d.ts.map +1 -0
  219. package/dist/providers/ProviderType.js +11 -0
  220. package/dist/providers/ProviderType.js.map +1 -0
  221. package/dist/providers/RetryProvider.d.ts +1 -1
  222. package/dist/providers/RetryProvider.d.ts.map +1 -1
  223. package/dist/providers/RetryProvider.js +2 -16
  224. package/dist/providers/RetryProvider.js.map +1 -1
  225. package/dist/providers/providerBuilders.d.ts +17 -0
  226. package/dist/providers/providerBuilders.d.ts.map +1 -0
  227. package/dist/providers/providerBuilders.js +97 -0
  228. package/dist/providers/providerBuilders.js.map +1 -0
  229. package/dist/router/GasRouterDeployer.d.ts +1 -1
  230. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  231. package/dist/router/GasRouterDeployer.js +18 -32
  232. package/dist/router/GasRouterDeployer.js.map +1 -1
  233. package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
  234. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  235. package/dist/router/HyperlaneRouterChecker.js +37 -55
  236. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  237. package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
  238. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  239. package/dist/router/HyperlaneRouterDeployer.js +87 -115
  240. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  241. package/dist/router/MultiProtocolRouterApps.d.ts +29 -0
  242. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
  243. package/dist/router/MultiProtocolRouterApps.js +43 -0
  244. package/dist/router/MultiProtocolRouterApps.js.map +1 -0
  245. package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
  246. package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
  247. package/dist/router/MultiProtocolRouterApps.test.js +20 -0
  248. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
  249. package/dist/router/ProxiedRouterChecker.js +14 -34
  250. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  251. package/dist/router/ProxiedRouterDeployer.d.ts +1 -1
  252. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  253. package/dist/router/ProxiedRouterDeployer.js +24 -38
  254. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  255. package/dist/router/RouterApps.d.ts +4 -4
  256. package/dist/router/RouterApps.d.ts.map +1 -1
  257. package/dist/router/RouterApps.js +8 -18
  258. package/dist/router/RouterApps.js.map +1 -1
  259. package/dist/router/adapters/EvmRouterAdapter.d.ts +25 -0
  260. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
  261. package/dist/router/adapters/EvmRouterAdapter.js +50 -0
  262. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
  263. package/dist/router/adapters/SealevelRouterAdapter.d.ts +50 -0
  264. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
  265. package/dist/router/adapters/SealevelRouterAdapter.js +132 -0
  266. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
  267. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +2 -0
  268. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +1 -0
  269. package/dist/router/adapters/SealevelRouterAdapter.test.js +21 -0
  270. package/dist/router/adapters/SealevelRouterAdapter.test.js.map +1 -0
  271. package/dist/router/adapters/types.d.ts +18 -0
  272. package/dist/router/adapters/types.d.ts.map +1 -0
  273. package/dist/router/adapters/types.js +3 -0
  274. package/dist/router/adapters/types.js.map +1 -0
  275. package/dist/router/types.d.ts +12 -9
  276. package/dist/router/types.d.ts.map +1 -1
  277. package/dist/router/types.js +1 -1
  278. package/dist/router/types.js.map +1 -1
  279. package/dist/test/testUtils.d.ts +1 -1
  280. package/dist/test/testUtils.d.ts.map +1 -1
  281. package/dist/test/testUtils.js +12 -23
  282. package/dist/test/testUtils.js.map +1 -1
  283. package/dist/types.d.ts +5 -5
  284. package/dist/types.d.ts.map +1 -1
  285. package/dist/utils/MultiGeneric.d.ts +1 -1
  286. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  287. package/dist/utils/MultiGeneric.js +2 -4
  288. package/dist/utils/MultiGeneric.js.map +1 -1
  289. package/dist/utils/fetch.js +8 -16
  290. package/dist/utils/fetch.js.map +1 -1
  291. package/dist/utils/wagmi.js +1 -2
  292. package/dist/utils/wagmi.js.map +1 -1
  293. package/package.json +10 -7
  294. package/dist/HyperlaneApp.d.ts.map +0 -1
  295. package/dist/HyperlaneApp.js.map +0 -1
  296. package/dist/contracts.d.ts.map +0 -1
  297. package/dist/contracts.js.map +0 -1
@@ -1,13 +1,4 @@
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
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -46,139 +37,139 @@ class ContractVerifier extends MultiGeneric_1.MultiGeneric {
46
37
  verify(targets = this.chains()) {
47
38
  return Promise.allSettled(targets.map((chain) => this.verifyChain(chain, this.get(chain))));
48
39
  }
49
- verifyChain(chain, inputs) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- this.logger(`Verifying ${chain}...`);
52
- for (const input of inputs) {
53
- yield this.verifyContract(chain, input);
54
- }
55
- });
40
+ async verifyChain(chain, inputs) {
41
+ this.logger(`Verifying ${chain}...`);
42
+ for (const input of inputs) {
43
+ await this.verifyContract(chain, input);
44
+ }
56
45
  }
57
- submitForm(chain, action, options) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const apiUrl = new URL(this.multiProvider.getExplorerApiUrl(chain));
60
- const isGetRequest = action === ExplorerApiActions.CHECK_STATUS ||
61
- action === ExplorerApiActions.CHECK_PROXY_STATUS ||
62
- action === ExplorerApiActions.GETSOURCECODE;
63
- const params = new URLSearchParams(Object.assign({ apikey: this.apiKeys[chain], module: 'contract', action }, options));
64
- let response;
65
- if (isGetRequest) {
66
- response = yield (0, cross_fetch_1.default)(`${apiUrl}?${params}`);
67
- }
68
- else {
69
- response = yield (0, cross_fetch_1.default)(apiUrl, {
70
- method: 'POST',
71
- headers: {
72
- 'Content-Type': 'application/x-www-form-urlencoded',
73
- },
74
- body: params,
75
- });
76
- }
77
- let result;
78
- let responseText;
79
- try {
80
- responseText = yield response.text();
81
- result = JSON.parse(responseText);
82
- }
83
- catch (e) {
84
- this.logger(`Failed to parse response from ${responseText}`, e);
85
- }
86
- if (result.message === 'NOTOK') {
87
- switch (result.result) {
88
- case ExplorerApiErrors.VERIFICATION_PENDING:
89
- yield (0, utils_1.sleep)(5000); // wait 5 seconds
90
- return this.submitForm(chain, action, options);
91
- case ExplorerApiErrors.ALREADY_VERIFIED:
92
- case ExplorerApiErrors.ALREADY_VERIFIED_ALT:
93
- return;
94
- case ExplorerApiErrors.PROXY_FAILED:
95
- this.logger(`Proxy verification failed, try manually?`);
96
- return;
97
- default:
98
- this.logger(`Verification failed for some unknown reason on ${chain}`, result);
99
- throw new Error(`Verification failed: ${result.result}`);
100
- }
101
- }
102
- return result.result;
46
+ async submitForm(chain, action, options) {
47
+ const apiUrl = new URL(this.multiProvider.getExplorerApiUrl(chain));
48
+ const isGetRequest = action === ExplorerApiActions.CHECK_STATUS ||
49
+ action === ExplorerApiActions.CHECK_PROXY_STATUS ||
50
+ action === ExplorerApiActions.GETSOURCECODE;
51
+ const params = new URLSearchParams({
52
+ apikey: this.apiKeys[chain],
53
+ module: 'contract',
54
+ action,
55
+ ...options,
103
56
  });
104
- }
105
- isAlreadyVerified(chain, input) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- try {
108
- const result = yield this.submitForm(chain, ExplorerApiActions.GETSOURCECODE, Object.assign(Object.assign({}, this.compilerOptions), { address: input.address }));
109
- return result[0].SourceCode !== '';
110
- }
111
- catch (error) {
112
- this.logger(`Error checking if contract is already verified: ${error}`);
113
- return false;
57
+ let response;
58
+ if (isGetRequest) {
59
+ response = await (0, cross_fetch_1.default)(`${apiUrl}?${params}`);
60
+ }
61
+ else {
62
+ response = await (0, cross_fetch_1.default)(apiUrl, {
63
+ method: 'POST',
64
+ headers: {
65
+ 'Content-Type': 'application/x-www-form-urlencoded',
66
+ },
67
+ body: params,
68
+ });
69
+ }
70
+ let result;
71
+ let responseText;
72
+ try {
73
+ responseText = await response.text();
74
+ result = JSON.parse(responseText);
75
+ }
76
+ catch (e) {
77
+ this.logger(`Failed to parse response from ${responseText}`, e);
78
+ }
79
+ if (result.message === 'NOTOK') {
80
+ switch (result.result) {
81
+ case ExplorerApiErrors.VERIFICATION_PENDING:
82
+ await (0, utils_1.sleep)(5000); // wait 5 seconds
83
+ return this.submitForm(chain, action, options);
84
+ case ExplorerApiErrors.ALREADY_VERIFIED:
85
+ case ExplorerApiErrors.ALREADY_VERIFIED_ALT:
86
+ return;
87
+ case ExplorerApiErrors.PROXY_FAILED:
88
+ this.logger(`Proxy verification failed, try manually?`);
89
+ return;
90
+ default:
91
+ this.logger(`Verification failed for some unknown reason on ${chain}`, result);
92
+ throw new Error(`Verification failed: ${result.result}`);
114
93
  }
115
- });
94
+ }
95
+ return result.result;
116
96
  }
117
- verifyProxy(chain, input) {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- if (input.isProxy) {
120
- try {
121
- const proxyGuid = yield this.submitForm(chain, ExplorerApiActions.MARK_PROXY, {
122
- address: input.address,
97
+ async isAlreadyVerified(chain, input) {
98
+ try {
99
+ const result = await this.submitForm(chain, ExplorerApiActions.GETSOURCECODE, {
100
+ ...this.compilerOptions,
101
+ address: input.address,
102
+ });
103
+ return result[0].SourceCode !== '';
104
+ }
105
+ catch (error) {
106
+ this.logger(`Error checking if contract is already verified: ${error}`);
107
+ return false;
108
+ }
109
+ }
110
+ async verifyProxy(chain, input) {
111
+ if (input.isProxy) {
112
+ try {
113
+ const proxyGuid = await this.submitForm(chain, ExplorerApiActions.MARK_PROXY, {
114
+ address: input.address,
115
+ });
116
+ const addressUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
117
+ // poll for verified proxy status
118
+ if (proxyGuid) {
119
+ await this.submitForm(chain, ExplorerApiActions.CHECK_PROXY_STATUS, {
120
+ guid: proxyGuid,
123
121
  });
124
- const addressUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
125
- // poll for verified proxy status
126
- if (proxyGuid) {
127
- yield this.submitForm(chain, ExplorerApiActions.CHECK_PROXY_STATUS, {
128
- guid: proxyGuid,
129
- });
130
- this.logger(`Successfully verified proxy ${addressUrl}#readProxyContract`);
131
- }
132
- }
133
- catch (error) {
134
- console.error(`Verification of proxy at ${input.address} failed on ${chain}`);
135
- throw error;
122
+ this.logger(`Successfully verified proxy ${addressUrl}#readProxyContract`);
136
123
  }
137
124
  }
138
- });
139
- }
140
- verifyImplementation(chain, input) {
141
- var _a;
142
- return __awaiter(this, void 0, void 0, function* () {
143
- this.logger(`Verifying ${input.name} implementation at ${input.address} on ${chain}`);
144
- const data = Object.assign({ sourceCode: this.flattenedSource, contractname: input.name, contractaddress: input.address,
145
- // TYPO IS ENFORCED BY API
146
- constructorArguements: (0, utils_1.strip0x)((_a = input.constructorArguments) !== null && _a !== void 0 ? _a : '') }, this.compilerOptions);
147
- const guid = yield this.submitForm(chain, ExplorerApiActions.VERIFY_IMPLEMENTATION, data);
148
- const addressUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
149
- // poll for verified status
150
- if (guid) {
151
- try {
152
- yield this.submitForm(chain, ExplorerApiActions.CHECK_STATUS, { guid });
153
- this.logger(`Successfully verified ${addressUrl}#code`);
154
- }
155
- catch (error) {
156
- console.error(`Verifying implementation at ${input.address} failed on ${chain}`);
157
- throw error;
158
- }
125
+ catch (error) {
126
+ console.error(`Verification of proxy at ${input.address} failed on ${chain}`);
127
+ throw error;
159
128
  }
160
- });
129
+ }
161
130
  }
162
- verifyContract(chain, input) {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- if (input.address === ethers_1.ethers.constants.AddressZero) {
165
- return;
166
- }
167
- if (Array.isArray(input.constructorArguments)) {
168
- this.logger('Constructor arguments in legacy format, skipping');
169
- return;
170
- }
171
- if (yield this.isAlreadyVerified(chain, input)) {
172
- this.logger(`Contract ${input.name} already verified on ${chain}`);
173
- // There is a rate limit of 5 requests per second
174
- yield (0, utils_1.sleep)(200);
175
- return;
131
+ async verifyImplementation(chain, input) {
132
+ this.logger(`Verifying ${input.name} implementation at ${input.address} on ${chain}`);
133
+ const data = {
134
+ sourceCode: this.flattenedSource,
135
+ contractname: input.name,
136
+ contractaddress: input.address,
137
+ // TYPO IS ENFORCED BY API
138
+ constructorArguements: (0, utils_1.strip0x)(input.constructorArguments ?? ''),
139
+ ...this.compilerOptions,
140
+ };
141
+ const guid = await this.submitForm(chain, ExplorerApiActions.VERIFY_IMPLEMENTATION, data);
142
+ const addressUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
143
+ // poll for verified status
144
+ if (guid) {
145
+ try {
146
+ await this.submitForm(chain, ExplorerApiActions.CHECK_STATUS, { guid });
147
+ this.logger(`Successfully verified ${addressUrl}#code`);
176
148
  }
177
- else {
178
- yield this.verifyImplementation(chain, input);
149
+ catch (error) {
150
+ console.error(`Verifying implementation at ${input.address} failed on ${chain}`);
151
+ throw error;
179
152
  }
180
- yield this.verifyProxy(chain, input);
181
- });
153
+ }
154
+ }
155
+ async verifyContract(chain, input) {
156
+ if (input.address === ethers_1.ethers.constants.AddressZero) {
157
+ return;
158
+ }
159
+ if (Array.isArray(input.constructorArguments)) {
160
+ this.logger('Constructor arguments in legacy format, skipping');
161
+ return;
162
+ }
163
+ if (await this.isAlreadyVerified(chain, input)) {
164
+ this.logger(`Contract ${input.name} already verified on ${chain}`);
165
+ // There is a rate limit of 5 requests per second
166
+ await (0, utils_1.sleep)(200);
167
+ return;
168
+ }
169
+ else {
170
+ await this.verifyImplementation(chain, input);
171
+ }
172
+ await this.verifyProxy(chain, input);
182
173
  }
183
174
  }
184
175
  exports.ContractVerifier = ContractVerifier;
@@ -1 +1 @@
1
- {"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- export declare type ContractVerificationInput = {
1
+ export type ContractVerificationInput = {
2
2
  name: string;
3
3
  address: string;
4
4
  constructorArguments?: string;
5
5
  isProxy?: boolean;
6
6
  };
7
- export declare type VerificationInput = ContractVerificationInput[];
8
- export declare type CompilerOptions = {
7
+ export type VerificationInput = ContractVerificationInput[];
8
+ export type CompilerOptions = {
9
9
  codeformat: 'solidity-single-file' | 'solidity-standard-json-input';
10
10
  compilerversion: string;
11
11
  optimizationUsed: '0' | '1';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;AAE5D,oBAAY,eAAe,GAAG;IAC5B,UAAU,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,GAAG,GAAG,GAAG,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,GAAG,GAAG,GAAG,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { BigNumber } from 'ethers';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
- import { HyperlaneApp } from '../HyperlaneApp';
3
+ import { HyperlaneApp } from '../app/HyperlaneApp';
4
4
  import { HyperlaneEnvironment } from '../consts/environments';
5
- import { HyperlaneAddressesMap } from '../contracts';
5
+ import { HyperlaneAddressesMap } from '../contracts/types';
6
6
  import { MultiProvider } from '../providers/MultiProvider';
7
7
  import { ChainName } from '../types';
8
8
  import { IgpFactories } from './contracts';
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgp.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAA6B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAEzD,qBAAa,YAAa,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC1D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,YAAY;IAQf,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACxC,aAAa,EAAE,aAAa,GAC3B,YAAY;IASf;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;;;;;;;;;;OAYG;IACH,+BAA+B,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,EACpB,6BAA6B,EAAE,OAAO,GACrC,OAAO,CAAC,SAAS,CAAC;CAStB"}
1
+ {"version":3,"file":"HyperlaneIgp.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAEzD,qBAAa,YAAa,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC1D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,YAAY;IAQf,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACxC,aAAa,EAAE,aAAa,GAC3B,YAAY;IASf;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;;;;;;;;;;OAYG;IACH,+BAA+B,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,SAAS,EACpB,6BAA6B,EAAE,OAAO,GACrC,OAAO,CAAC,SAAS,CAAC;CAStB"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HyperlaneIgp = void 0;
4
4
  const core_1 = require("@hyperlane-xyz/core");
5
- const HyperlaneApp_1 = require("../HyperlaneApp");
5
+ const HyperlaneApp_1 = require("../app/HyperlaneApp");
6
6
  const environments_1 = require("../consts/environments");
7
- const contracts_1 = require("../contracts");
7
+ const contracts_1 = require("../contracts/contracts");
8
8
  const contracts_2 = require("./contracts");
9
9
  class HyperlaneIgp extends HyperlaneApp_1.HyperlaneApp {
10
10
  static fromEnvironment(env, multiProvider) {
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgp.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgp.ts"],"names":[],"mappings":";;;AAEA,8CAAsE;AAGtE,kDAA+C;AAC/C,yDAGgC;AAChC,4CAAgF;AAIhF,2CAAyD;AAEzD,MAAa,YAAa,SAAQ,2BAA0B;IAC1D,MAAM,CAAC,eAAe,CACpB,GAAQ,EACR,aAA4B;QAE5B,MAAM,YAAY,GAAG,oCAAqB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;SAClD;QACD,OAAO,YAAY,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,YAAwC,EACxC,aAA4B;QAE5B,MAAM,MAAM,GAAG,IAAA,qCAAyB,EACtC,YAAY,EACZ,wBAAY,EACZ,aAAa,CACd,CAAC;QACF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,MAAiB,EACjB,WAAsB,EACtB,SAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,+BAA+B,CAC7B,MAAiB,EACjB,WAAsB,EACtB,SAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC;QACvE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,qBAAqB,CAC7B,MAAiB,EACjB,WAAsB,EACtB,SAAoB,EACpB,6BAAsC;QAEtC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,sCAA+B,CAAC,OAAO,CACjD,6BAA6B,EAC7B,cAAc,CACf,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAzGD,oCAyGC"}
1
+ {"version":3,"file":"HyperlaneIgp.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgp.ts"],"names":[],"mappings":";;;AAEA,8CAAsE;AAGtE,sDAAmD;AACnD,yDAGgC;AAChC,sDAAmE;AAKnE,2CAAyD;AAEzD,MAAa,YAAa,SAAQ,2BAA0B;IAC1D,MAAM,CAAC,eAAe,CACpB,GAAQ,EACR,aAA4B;QAE5B,MAAM,YAAY,GAAG,oCAAqB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;SAClD;QACD,OAAO,YAAY,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,YAAwC,EACxC,aAA4B;QAE5B,MAAM,MAAM,GAAG,IAAA,qCAAyB,EACtC,YAAY,EACZ,wBAAY,EACZ,aAAa,CACd,CAAC;QACF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,MAAiB,EACjB,WAAsB,EACtB,SAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,+BAA+B,CAC7B,MAAiB,EACjB,WAAsB,EACtB,SAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC;QACvE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,qBAAqB,CAC7B,MAAiB,EACjB,WAAsB,EACtB,SAAoB,EACpB,6BAAsC;QAEtC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,sCAA+B,CAAC,OAAO,CACjD,6BAA6B,EAC7B,cAAc,CACf,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAzGD,oCAyGC"}
@@ -1,13 +1,4 @@
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
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.HyperlaneIgpChecker = void 0;
13
4
  const ethers_1 = require("ethers");
@@ -17,129 +8,116 @@ const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
17
8
  const proxy_1 = require("../deploy/proxy");
18
9
  const types_1 = require("./types");
19
10
  class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
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
- });
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
+ }
32
21
  }
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
- });
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);
48
32
  }
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
- });
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), ''));
64
46
  }
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
- }
92
- }
93
- if (Object.keys(overheadViolation.actual).length > 0) {
94
- this.addViolation(overheadViolation);
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);
95
72
  }
96
- });
73
+ }
74
+ if (Object.keys(overheadViolation.actual).length > 0) {
75
+ this.addViolation(overheadViolation);
76
+ }
97
77
  }
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 = {
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 ((0, utils_1.eqAddress)(actualGasOracle, expectedGasOracle)) {
99
+ const remoteChain = remote;
100
+ gasOraclesViolation.actual[remoteChain] = actualGasOracle;
101
+ gasOraclesViolation.expected[remoteChain] = expectedGasOracle;
102
+ }
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 ((0, utils_1.eqAddress)(actualBeneficiary, expectedBeneficiary)) {
111
+ const violation = {
107
112
  type: 'InterchainGasPaymaster',
108
- subType: types_1.IgpViolationType.GasOracles,
113
+ subType: types_1.IgpViolationType.Beneficiary,
109
114
  contract: igp,
110
115
  chain: local,
111
- actual: {},
112
- expected: {},
116
+ actual: actualBeneficiary,
117
+ expected: expectedBeneficiary,
113
118
  };
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
- });
119
+ this.addViolation(violation);
120
+ }
143
121
  }
144
122
  getGasOracleAddress(local, remote) {
145
123
  const config = this.configMap[local];