@hyperlane-xyz/sdk 0.5.5 → 1.0.0-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/package.json +3 -3
  2. package/dist/HyperlaneApp.d.ts +0 -13
  3. package/dist/HyperlaneApp.d.ts.map +0 -1
  4. package/dist/HyperlaneApp.js +0 -25
  5. package/dist/HyperlaneApp.js.map +0 -1
  6. package/dist/consts/chainConnectionConfigs.d.ts +0 -29
  7. package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
  8. package/dist/consts/chainConnectionConfigs.js +0 -146
  9. package/dist/consts/chainConnectionConfigs.js.map +0 -1
  10. package/dist/consts/chainMetadata.d.ts +0 -44
  11. package/dist/consts/chainMetadata.d.ts.map +0 -1
  12. package/dist/consts/chainMetadata.js +0 -144
  13. package/dist/consts/chainMetadata.js.map +0 -1
  14. package/dist/consts/chains.d.ts +0 -38
  15. package/dist/consts/chains.d.ts.map +0 -1
  16. package/dist/consts/chains.js +0 -52
  17. package/dist/consts/chains.js.map +0 -1
  18. package/dist/consts/environments/index.d.ts +0 -1493
  19. package/dist/consts/environments/index.d.ts.map +0 -1
  20. package/dist/consts/environments/index.js +0 -28
  21. package/dist/consts/environments/index.js.map +0 -1
  22. package/dist/consts/environments/mainnet.json +0 -682
  23. package/dist/consts/environments/test.json +0 -113
  24. package/dist/consts/environments/testnet2.json +0 -682
  25. package/dist/consts/metamask.d.ts +0 -17
  26. package/dist/consts/metamask.d.ts.map +0 -1
  27. package/dist/consts/metamask.js +0 -50
  28. package/dist/consts/metamask.js.map +0 -1
  29. package/dist/contracts.d.ts +0 -17
  30. package/dist/contracts.d.ts.map +0 -1
  31. package/dist/contracts.js +0 -61
  32. package/dist/contracts.js.map +0 -1
  33. package/dist/core/HyperlaneCore.d.ts +0 -1523
  34. package/dist/core/HyperlaneCore.d.ts.map +0 -1
  35. package/dist/core/HyperlaneCore.js +0 -132
  36. package/dist/core/HyperlaneCore.js.map +0 -1
  37. package/dist/core/HyperlaneCore.test.d.ts +0 -2
  38. package/dist/core/HyperlaneCore.test.d.ts.map +0 -1
  39. package/dist/core/HyperlaneCore.test.js +0 -27
  40. package/dist/core/HyperlaneCore.test.js.map +0 -1
  41. package/dist/core/TestCoreApp.d.ts +0 -27
  42. package/dist/core/TestCoreApp.d.ts.map +0 -1
  43. package/dist/core/TestCoreApp.js +0 -63
  44. package/dist/core/TestCoreApp.js.map +0 -1
  45. package/dist/core/TestCoreDeployer.d.ts +0 -13
  46. package/dist/core/TestCoreDeployer.d.ts.map +0 -1
  47. package/dist/core/TestCoreDeployer.js +0 -85
  48. package/dist/core/TestCoreDeployer.js.map +0 -1
  49. package/dist/core/contracts.d.ts +0 -33
  50. package/dist/core/contracts.d.ts.map +0 -1
  51. package/dist/core/contracts.js +0 -14
  52. package/dist/core/contracts.js.map +0 -1
  53. package/dist/core/events.d.ts +0 -9
  54. package/dist/core/events.d.ts.map +0 -1
  55. package/dist/core/events.js +0 -3
  56. package/dist/core/events.js.map +0 -1
  57. package/dist/core/message.d.ts +0 -161
  58. package/dist/core/message.d.ts.map +0 -1
  59. package/dist/core/message.js +0 -310
  60. package/dist/core/message.js.map +0 -1
  61. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +0 -3
  62. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +0 -1
  63. package/dist/core/testHyperlaneDeploy.hardhat-test.js +0 -66
  64. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +0 -1
  65. package/dist/deploy/HyperlaneAppChecker.d.ts +0 -22
  66. package/dist/deploy/HyperlaneAppChecker.d.ts.map +0 -1
  67. package/dist/deploy/HyperlaneAppChecker.js +0 -84
  68. package/dist/deploy/HyperlaneAppChecker.js.map +0 -1
  69. package/dist/deploy/HyperlaneDeployer.d.ts +0 -45
  70. package/dist/deploy/HyperlaneDeployer.d.ts.map +0 -1
  71. package/dist/deploy/HyperlaneDeployer.js +0 -187
  72. package/dist/deploy/HyperlaneDeployer.js.map +0 -1
  73. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +0 -17
  74. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +0 -1
  75. package/dist/deploy/core/HyperlaneCoreChecker.js +0 -208
  76. package/dist/deploy/core/HyperlaneCoreChecker.js.map +0 -1
  77. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +0 -33
  78. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +0 -1
  79. package/dist/deploy/core/HyperlaneCoreDeployer.js +0 -135
  80. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +0 -1
  81. package/dist/deploy/core/types.d.ts +0 -64
  82. package/dist/deploy/core/types.d.ts.map +0 -1
  83. package/dist/deploy/core/types.js +0 -23
  84. package/dist/deploy/core/types.js.map +0 -1
  85. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +0 -34
  86. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +0 -1
  87. package/dist/deploy/middleware/LiquidityLayerApp.js +0 -180
  88. package/dist/deploy/middleware/LiquidityLayerApp.js.map +0 -1
  89. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +0 -44
  90. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +0 -1
  91. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +0 -127
  92. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +0 -1
  93. package/dist/deploy/middleware/TokenBridgeApp.d.ts +0 -26
  94. package/dist/deploy/middleware/TokenBridgeApp.d.ts.map +0 -1
  95. package/dist/deploy/middleware/TokenBridgeApp.js +0 -115
  96. package/dist/deploy/middleware/TokenBridgeApp.js.map +0 -1
  97. package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts +0 -33
  98. package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts.map +0 -1
  99. package/dist/deploy/middleware/TokenBridgeRouterDeployer.js +0 -93
  100. package/dist/deploy/middleware/TokenBridgeRouterDeployer.js.map +0 -1
  101. package/dist/deploy/middleware/deploy.d.ts +0 -21
  102. package/dist/deploy/middleware/deploy.d.ts.map +0 -1
  103. package/dist/deploy/middleware/deploy.js +0 -62
  104. package/dist/deploy/middleware/deploy.js.map +0 -1
  105. package/dist/deploy/proxy.d.ts +0 -17
  106. package/dist/deploy/proxy.d.ts.map +0 -1
  107. package/dist/deploy/proxy.js +0 -35
  108. package/dist/deploy/proxy.js.map +0 -1
  109. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +0 -14
  110. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +0 -1
  111. package/dist/deploy/router/HyperlaneRouterChecker.js +0 -53
  112. package/dist/deploy/router/HyperlaneRouterChecker.js.map +0 -1
  113. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +0 -13
  114. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +0 -1
  115. package/dist/deploy/router/HyperlaneRouterDeployer.js +0 -108
  116. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +0 -1
  117. package/dist/deploy/router/types.d.ts +0 -7
  118. package/dist/deploy/router/types.d.ts.map +0 -1
  119. package/dist/deploy/router/types.js +0 -3
  120. package/dist/deploy/router/types.js.map +0 -1
  121. package/dist/deploy/types.d.ts +0 -23
  122. package/dist/deploy/types.d.ts.map +0 -1
  123. package/dist/deploy/types.js +0 -9
  124. package/dist/deploy/types.js.map +0 -1
  125. package/dist/deploy/utils.d.ts +0 -10
  126. package/dist/deploy/utils.d.ts.map +0 -1
  127. package/dist/deploy/utils.js +0 -38
  128. package/dist/deploy/utils.js.map +0 -1
  129. package/dist/deploy/verify/ContractVerifier.d.ts +0 -19
  130. package/dist/deploy/verify/ContractVerifier.d.ts.map +0 -1
  131. package/dist/deploy/verify/ContractVerifier.js +0 -137
  132. package/dist/deploy/verify/ContractVerifier.js.map +0 -1
  133. package/dist/deploy/verify/types.d.ts +0 -14
  134. package/dist/deploy/verify/types.d.ts.map +0 -1
  135. package/dist/deploy/verify/types.js +0 -3
  136. package/dist/deploy/verify/types.js.map +0 -1
  137. package/dist/deploy/verify/utils.d.ts +0 -6
  138. package/dist/deploy/verify/utils.d.ts.map +0 -1
  139. package/dist/deploy/verify/utils.js +0 -25
  140. package/dist/deploy/verify/utils.js.map +0 -1
  141. package/dist/domains.d.ts +0 -4
  142. package/dist/domains.d.ts.map +0 -1
  143. package/dist/domains.js +0 -12
  144. package/dist/domains.js.map +0 -1
  145. package/dist/events.d.ts +0 -25
  146. package/dist/events.d.ts.map +0 -1
  147. package/dist/events.js +0 -161
  148. package/dist/events.js.map +0 -1
  149. package/dist/gas/calculator.d.ts +0 -134
  150. package/dist/gas/calculator.d.ts.map +0 -1
  151. package/dist/gas/calculator.js +0 -235
  152. package/dist/gas/calculator.js.map +0 -1
  153. package/dist/gas/calculator.test.d.ts +0 -2
  154. package/dist/gas/calculator.test.d.ts.map +0 -1
  155. package/dist/gas/calculator.test.js +0 -211
  156. package/dist/gas/calculator.test.js.map +0 -1
  157. package/dist/gas/token-prices.d.ts +0 -34
  158. package/dist/gas/token-prices.d.ts.map +0 -1
  159. package/dist/gas/token-prices.js +0 -105
  160. package/dist/gas/token-prices.js.map +0 -1
  161. package/dist/gas/token-prices.test.d.ts +0 -2
  162. package/dist/gas/token-prices.test.d.ts.map +0 -1
  163. package/dist/gas/token-prices.test.js +0 -46
  164. package/dist/gas/token-prices.test.js.map +0 -1
  165. package/dist/index.d.ts +0 -46
  166. package/dist/index.d.ts.map +0 -1
  167. package/dist/index.js +0 -134
  168. package/dist/index.js.map +0 -1
  169. package/dist/middleware/accounts.hardhat-test.d.ts +0 -2
  170. package/dist/middleware/accounts.hardhat-test.d.ts.map +0 -1
  171. package/dist/middleware/accounts.hardhat-test.js +0 -63
  172. package/dist/middleware/accounts.hardhat-test.js.map +0 -1
  173. package/dist/middleware/accounts.test.d.ts +0 -2
  174. package/dist/middleware/accounts.test.d.ts.map +0 -1
  175. package/dist/middleware/accounts.test.js +0 -61
  176. package/dist/middleware/accounts.test.js.map +0 -1
  177. package/dist/middleware/liquidity-layer.hardhat-test.d.ts +0 -2
  178. package/dist/middleware/liquidity-layer.hardhat-test.d.ts.map +0 -1
  179. package/dist/middleware/liquidity-layer.hardhat-test.js +0 -116
  180. package/dist/middleware/liquidity-layer.hardhat-test.js.map +0 -1
  181. package/dist/middleware/queries.hardhat-test.d.ts +0 -2
  182. package/dist/middleware/queries.hardhat-test.d.ts.map +0 -1
  183. package/dist/middleware/queries.hardhat-test.js +0 -69
  184. package/dist/middleware/queries.hardhat-test.js.map +0 -1
  185. package/dist/middleware/queries.test.d.ts +0 -2
  186. package/dist/middleware/queries.test.d.ts.map +0 -1
  187. package/dist/middleware/queries.test.js +0 -69
  188. package/dist/middleware/queries.test.js.map +0 -1
  189. package/dist/middleware/tokenbridge.hardhat-test.d.ts +0 -2
  190. package/dist/middleware/tokenbridge.hardhat-test.d.ts.map +0 -1
  191. package/dist/middleware/tokenbridge.hardhat-test.js +0 -89
  192. package/dist/middleware/tokenbridge.hardhat-test.js.map +0 -1
  193. package/dist/middleware.d.ts +0 -18
  194. package/dist/middleware.d.ts.map +0 -1
  195. package/dist/middleware.js +0 -16
  196. package/dist/middleware.js.map +0 -1
  197. package/dist/providers/ChainConnection.d.ts +0 -22
  198. package/dist/providers/ChainConnection.d.ts.map +0 -1
  199. package/dist/providers/ChainConnection.js +0 -67
  200. package/dist/providers/ChainConnection.js.map +0 -1
  201. package/dist/providers/MultiProvider.d.ts +0 -56
  202. package/dist/providers/MultiProvider.d.ts.map +0 -1
  203. package/dist/providers/MultiProvider.js +0 -111
  204. package/dist/providers/MultiProvider.js.map +0 -1
  205. package/dist/providers/RetryProvider.d.ts +0 -18
  206. package/dist/providers/RetryProvider.d.ts.map +0 -1
  207. package/dist/providers/RetryProvider.js +0 -49
  208. package/dist/providers/RetryProvider.js.map +0 -1
  209. package/dist/proxy.d.ts +0 -23
  210. package/dist/proxy.d.ts.map +0 -1
  211. package/dist/proxy.js +0 -30
  212. package/dist/proxy.js.map +0 -1
  213. package/dist/router.d.ts +0 -19
  214. package/dist/router.d.ts.map +0 -1
  215. package/dist/router.js +0 -3
  216. package/dist/router.js.map +0 -1
  217. package/dist/test/envSubsetDeployer/app.d.ts +0 -36
  218. package/dist/test/envSubsetDeployer/app.d.ts.map +0 -1
  219. package/dist/test/envSubsetDeployer/app.js +0 -77
  220. package/dist/test/envSubsetDeployer/app.js.map +0 -1
  221. package/dist/test/envSubsetDeployer/check-single-chain.d.ts +0 -2
  222. package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +0 -1
  223. package/dist/test/envSubsetDeployer/check-single-chain.js +0 -49
  224. package/dist/test/envSubsetDeployer/check-single-chain.js.map +0 -1
  225. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +0 -2
  226. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +0 -1
  227. package/dist/test/envSubsetDeployer/deploy-single-chain.js +0 -42
  228. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +0 -1
  229. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +0 -2
  230. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +0 -1
  231. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +0 -83
  232. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +0 -1
  233. package/dist/test/envSubsetDeployer/utils.d.ts +0 -7
  234. package/dist/test/envSubsetDeployer/utils.d.ts.map +0 -1
  235. package/dist/test/envSubsetDeployer/utils.js +0 -25
  236. package/dist/test/envSubsetDeployer/utils.js.map +0 -1
  237. package/dist/test/testUtils.d.ts +0 -31
  238. package/dist/test/testUtils.d.ts.map +0 -1
  239. package/dist/test/testUtils.js +0 -106
  240. package/dist/test/testUtils.js.map +0 -1
  241. package/dist/tokenBridge.d.ts +0 -10
  242. package/dist/tokenBridge.d.ts.map +0 -1
  243. package/dist/tokenBridge.js +0 -9
  244. package/dist/tokenBridge.js.map +0 -1
  245. package/dist/types.d.ts +0 -21
  246. package/dist/types.d.ts.map +0 -1
  247. package/dist/types.js +0 -3
  248. package/dist/types.js.map +0 -1
  249. package/dist/utils/MultiGeneric.d.ts +0 -27
  250. package/dist/utils/MultiGeneric.d.ts.map +0 -1
  251. package/dist/utils/MultiGeneric.js +0 -70
  252. package/dist/utils/MultiGeneric.js.map +0 -1
  253. package/dist/utils/ids.d.ts +0 -20
  254. package/dist/utils/ids.d.ts.map +0 -1
  255. package/dist/utils/ids.js +0 -47
  256. package/dist/utils/ids.js.map +0 -1
  257. package/dist/utils/number.d.ts +0 -32
  258. package/dist/utils/number.d.ts.map +0 -1
  259. package/dist/utils/number.js +0 -59
  260. package/dist/utils/number.js.map +0 -1
  261. package/dist/utils/objects.d.ts +0 -8
  262. package/dist/utils/objects.d.ts.map +0 -1
  263. package/dist/utils/objects.js +0 -33
  264. package/dist/utils/objects.js.map +0 -1
  265. package/dist/utils/time.d.ts +0 -8
  266. package/dist/utils/time.d.ts.map +0 -1
  267. package/dist/utils/time.js +0 -15
  268. package/dist/utils/time.js.map +0 -1
  269. package/dist/utils/utils.test.d.ts +0 -2
  270. package/dist/utils/utils.test.d.ts.map +0 -1
  271. package/dist/utils/utils.test.js +0 -41
  272. package/dist/utils/utils.test.js.map +0 -1
@@ -1,127 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LiquidityLayerDeployer = exports.BridgeAdapterType = void 0;
13
- const core_1 = require("@hyperlane-xyz/core");
14
- const utils_1 = require("@hyperlane-xyz/utils");
15
- const domains_1 = require("../../domains");
16
- const middleware_1 = require("../../middleware");
17
- const objects_1 = require("../../utils/objects");
18
- const HyperlaneRouterDeployer_1 = require("../router/HyperlaneRouterDeployer");
19
- var BridgeAdapterType;
20
- (function (BridgeAdapterType) {
21
- BridgeAdapterType["Circle"] = "Circle";
22
- BridgeAdapterType["Portal"] = "Portal";
23
- })(BridgeAdapterType = exports.BridgeAdapterType || (exports.BridgeAdapterType = {}));
24
- class LiquidityLayerDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
25
- constructor(multiProvider, configMap, core, create2salt = 'LiquidityLayerDeployerSalt') {
26
- super(multiProvider, configMap, middleware_1.liquidityLayerFactories, {});
27
- this.core = core;
28
- this.create2salt = create2salt;
29
- }
30
- enrollRemoteRouters(contractsMap) {
31
- const _super = Object.create(null, {
32
- enrollRemoteRouters: { get: () => super.enrollRemoteRouters }
33
- });
34
- return __awaiter(this, void 0, void 0, function* () {
35
- this.logger(`Enroll LiquidityLayerRouters with each other`);
36
- yield _super.enrollRemoteRouters.call(this, contractsMap);
37
- this.logger(`Enroll CircleBridgeAdapters with each other`);
38
- yield _super.enrollRemoteRouters.call(this, (0, objects_1.objFilter)((0, objects_1.objMap)(contractsMap, (_chain, contracts) => ({
39
- router: contracts.circleBridgeAdapter,
40
- })), (_) => !!_.router));
41
- this.logger(`Enroll PortalAdapters with each other`);
42
- yield _super.enrollRemoteRouters.call(this, (0, objects_1.objFilter)((0, objects_1.objMap)(contractsMap, (_chain, contracts) => ({
43
- router: contracts.portalAdapter,
44
- })), (_) => !!_.router));
45
- });
46
- }
47
- // Custom contract deployment logic can go here
48
- // If no custom logic is needed, call deployContract for the router
49
- deployContracts(chain, config) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const initCalldata = core_1.LiquidityLayerRouter__factory.createInterface().encodeFunctionData('initialize', [config.owner, config.connectionManager, config.interchainGasPaymaster]);
52
- const router = yield this.deployContract(chain, 'router', [], {
53
- create2Salt: this.create2salt,
54
- initCalldata,
55
- });
56
- const bridgeAdapters = {};
57
- if (config.circle) {
58
- bridgeAdapters.circleBridgeAdapter = yield this.deployCircleBridgeAdapter(chain, config.circle, config.owner, router);
59
- }
60
- if (config.portal) {
61
- bridgeAdapters.portalAdapter = yield this.deployPortalAdapter(chain, config.portal, config.owner, router);
62
- }
63
- return Object.assign(Object.assign({}, bridgeAdapters), { router });
64
- });
65
- }
66
- deployPortalAdapter(chain, adapterConfig, owner, router) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const cc = this.multiProvider.getChainConnection(chain);
69
- const initCalldata = core_1.PortalAdapter__factory.createInterface().encodeFunctionData('initialize', [
70
- domains_1.ChainNameToDomainId[chain],
71
- owner,
72
- adapterConfig.portalBridgeAddress,
73
- router.address,
74
- ]);
75
- const portalAdapter = yield this.deployContract(chain, 'portalAdapter', [], {
76
- create2Salt: this.create2salt,
77
- initCalldata,
78
- });
79
- for (const { wormholeDomain, hyperlaneDomain, } of adapterConfig.wormholeDomainMapping) {
80
- const expectedCircleDomain = yield portalAdapter.hyperlaneDomainToWormholeDomain(hyperlaneDomain);
81
- if (expectedCircleDomain === wormholeDomain)
82
- continue;
83
- this.logger(`Set wormhole domain ${wormholeDomain} for hyperlane domain ${hyperlaneDomain}`);
84
- yield cc.handleTx(portalAdapter.addDomain(hyperlaneDomain, wormholeDomain));
85
- }
86
- if (!utils_1.utils.eqAddress(yield router.liquidityLayerAdapters('Portal'), portalAdapter.address)) {
87
- this.logger('Set Portal as LiquidityLayerAdapter on Router');
88
- yield cc.handleTx(router.setLiquidityLayerAdapter(adapterConfig.type, portalAdapter.address));
89
- }
90
- return portalAdapter;
91
- });
92
- }
93
- deployCircleBridgeAdapter(chain, adapterConfig, owner, router) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const cc = this.multiProvider.getChainConnection(chain);
96
- const initCalldata = core_1.CircleBridgeAdapter__factory.createInterface().encodeFunctionData('initialize', [
97
- owner,
98
- adapterConfig.circleBridgeAddress,
99
- adapterConfig.messageTransmitterAddress,
100
- router.address,
101
- ]);
102
- const circleBridgeAdapter = yield this.deployContract(chain, 'circleBridgeAdapter', [], {
103
- create2Salt: this.create2salt,
104
- initCalldata,
105
- });
106
- if (!utils_1.utils.eqAddress(yield circleBridgeAdapter.tokenSymbolToAddress('USDC'), adapterConfig.usdcAddress)) {
107
- this.logger(`Set USDC token contract`);
108
- yield cc.handleTx(circleBridgeAdapter.addToken(adapterConfig.usdcAddress, 'USDC'));
109
- }
110
- // Set domain mappings
111
- for (const { circleDomain, hyperlaneDomain, } of adapterConfig.circleDomainMapping) {
112
- const expectedCircleDomain = yield circleBridgeAdapter.hyperlaneDomainToCircleDomain(hyperlaneDomain);
113
- if (expectedCircleDomain === circleDomain)
114
- continue;
115
- this.logger(`Set circle domain ${circleDomain} for hyperlane domain ${hyperlaneDomain}`);
116
- yield cc.handleTx(circleBridgeAdapter.addDomain(hyperlaneDomain, circleDomain));
117
- }
118
- if (!utils_1.utils.eqAddress(yield router.liquidityLayerAdapters('Circle'), circleBridgeAdapter.address)) {
119
- this.logger('Set Circle as LiquidityLayerAdapter on Router');
120
- yield cc.handleTx(router.setLiquidityLayerAdapter(adapterConfig.type, circleBridgeAdapter.address));
121
- }
122
- return circleBridgeAdapter;
123
- });
124
- }
125
- }
126
- exports.LiquidityLayerDeployer = LiquidityLayerDeployer;
127
- //# sourceMappingURL=LiquidityLayerRouterDeployer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiquidityLayerRouterDeployer.js","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAO6B;AAC7B,gDAA6C;AAG7C,2CAAoD;AACpD,iDAI0B;AAG1B,iDAAwD;AACxD,+EAA4E;AAG5E,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACnB,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AA6BD,MAAa,sBAEX,SAAQ,iDAKT;IACC,YACE,aAAmC,EACnC,SAAgD,EACtC,IAA0B,EAC1B,cAAc,4BAA4B;QAEpD,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,oCAAuB,EAAE,EAAE,CAAC,CAAC;QAHnD,SAAI,GAAJ,IAAI,CAAsB;QAC1B,gBAAW,GAAX,WAAW,CAA+B;IAGtD,CAAC;IAEK,mBAAmB,CACvB,YAAsD;;;;;YAEtD,IAAI,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;YAC5D,MAAM,OAAM,mBAAmB,YAAC,YAAY,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC;YAC3D,MAAM,OAAM,mBAAmB,YAC7B,IAAA,mBAAS,EACP,IAAA,gBAAM,EAAC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM,EAAE,SAAS,CAAC,mBAAmB;aACtC,CAAC,CAAC,EACH,CAAC,CAAC,EAAwC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACxD,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;YACrD,MAAM,OAAM,mBAAmB,YAC7B,IAAA,mBAAS,EACP,IAAA,gBAAM,EAAC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM,EAAE,SAAS,CAAC,aAAa;aAChC,CAAC,CAAC,EACH,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAClD,CACF,CAAC;QACJ,CAAC;KAAA;IAED,+CAA+C;IAC/C,mEAAmE;IAC7D,eAAe,CACnB,KAAY,EACZ,MAA4B;;YAE5B,MAAM,YAAY,GAChB,oCAA6B,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAChE,YAAY,EACZ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CACxE,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,cAAc,GAAqC,EAAE,CAAC;YAE5D,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,cAAc,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACvE,KAAK,EACL,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,EACZ,MAAM,CACP,CAAC;aACH;YACD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,cAAc,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3D,KAAK,EACL,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,EACZ,MAAM,CACP,CAAC;aACH;YAED,uCACK,cAAc,KACjB,MAAM,IACN;QACJ,CAAC;KAAA;IAEK,mBAAmB,CACvB,KAAY,EACZ,aAAkC,EAClC,KAAa,EACb,MAA4B;;YAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,YAAY,GAChB,6BAAsB,CAAC,eAAe,EAAE,CAAC,kBAAkB,CACzD,YAAY,EACZ;gBACE,6BAAmB,CAAC,KAAK,CAAC;gBAC1B,KAAK;gBACL,aAAa,CAAC,mBAAmB;gBACjC,MAAM,CAAC,OAAO;aACf,CACF,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAC7C,KAAK,EACL,eAAe,EACf,EAAE,EACF;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY;aACb,CACF,CAAC;YAEF,KAAK,MAAM,EACT,cAAc,EACd,eAAe,GAChB,IAAI,aAAa,CAAC,qBAAqB,EAAE;gBACxC,MAAM,oBAAoB,GACxB,MAAM,aAAa,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;gBACvE,IAAI,oBAAoB,KAAK,cAAc;oBAAE,SAAS;gBAEtD,IAAI,CAAC,MAAM,CACT,uBAAuB,cAAc,yBAAyB,eAAe,EAAE,CAChF,CAAC;gBACF,MAAM,EAAE,CAAC,QAAQ,CACf,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CACzD,CAAC;aACH;YAED,IACE,CAAC,aAAK,CAAC,SAAS,CACd,MAAM,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAC7C,aAAa,CAAC,OAAO,CACtB,EACD;gBACA,IAAI,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,MAAM,EAAE,CAAC,QAAQ,CACf,MAAM,CAAC,wBAAwB,CAC7B,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,OAAO,CACtB,CACF,CAAC;aACH;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEK,yBAAyB,CAC7B,KAAY,EACZ,aAAwC,EACxC,KAAa,EACb,MAA4B;;YAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,YAAY,GAChB,mCAA4B,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAC/D,YAAY,EACZ;gBACE,KAAK;gBACL,aAAa,CAAC,mBAAmB;gBACjC,aAAa,CAAC,yBAAyB;gBACvC,MAAM,CAAC,OAAO;aACf,CACF,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CACnD,KAAK,EACL,qBAAqB,EACrB,EAAE,EACF;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY;aACb,CACF,CAAC;YAEF,IACE,CAAC,aAAK,CAAC,SAAS,CACd,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACtD,aAAa,CAAC,WAAW,CAC1B,EACD;gBACA,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACvC,MAAM,EAAE,CAAC,QAAQ,CACf,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAChE,CAAC;aACH;YACD,sBAAsB;YACtB,KAAK,MAAM,EACT,YAAY,EACZ,eAAe,GAChB,IAAI,aAAa,CAAC,mBAAmB,EAAE;gBACtC,MAAM,oBAAoB,GACxB,MAAM,mBAAmB,CAAC,6BAA6B,CACrD,eAAe,CAChB,CAAC;gBACJ,IAAI,oBAAoB,KAAK,YAAY;oBAAE,SAAS;gBAEpD,IAAI,CAAC,MAAM,CACT,qBAAqB,YAAY,yBAAyB,eAAe,EAAE,CAC5E,CAAC;gBACF,MAAM,EAAE,CAAC,QAAQ,CACf,mBAAmB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAC7D,CAAC;aACH;YAED,IACE,CAAC,aAAK,CAAC,SAAS,CACd,MAAM,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAC7C,mBAAmB,CAAC,OAAO,CAC5B,EACD;gBACA,IAAI,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,MAAM,EAAE,CAAC,QAAQ,CACf,MAAM,CAAC,wBAAwB,CAC7B,aAAa,CAAC,IAAI,EAClB,mBAAmB,CAAC,OAAO,CAC5B,CACF,CAAC;aACH;YAED,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KAAA;CACF;AA7ND,wDA6NC"}
@@ -1,26 +0,0 @@
1
- import { HyperlaneApp } from '../../HyperlaneApp';
2
- import { TokenBridgeContracts } from '../../middleware';
3
- import { MultiProvider } from '../../providers/MultiProvider';
4
- import { ChainMap, ChainName } from '../../types';
5
- import { BridgeAdapterConfig, CircleBridgeAdapterConfig } from './TokenBridgeRouterDeployer';
6
- interface CircleBridgeMessage<Chain> {
7
- chain: Chain;
8
- remoteChain: Chain;
9
- txHash: string;
10
- message: string;
11
- nonce: number;
12
- domain: number;
13
- nonceHash: string;
14
- }
15
- export declare class TokenBridgeApp<Chain extends ChainName = ChainName> extends HyperlaneApp<TokenBridgeContracts, Chain> {
16
- readonly contractsMap: ChainMap<Chain, TokenBridgeContracts>;
17
- readonly multiProvider: MultiProvider<Chain>;
18
- readonly bridgeAdapterConfigs: ChainMap<Chain, BridgeAdapterConfig[]>;
19
- constructor(contractsMap: ChainMap<Chain, TokenBridgeContracts>, multiProvider: MultiProvider<Chain>, bridgeAdapterConfigs: ChainMap<Chain, BridgeAdapterConfig[]>);
20
- circleBridgeAdapterConfig(): ChainMap<Chain, CircleBridgeAdapterConfig>;
21
- fetchCircleMessageTransactions(chain: Chain): Promise<string[]>;
22
- parseCircleMessages(chain: Chain, txHash: string): Promise<CircleBridgeMessage<Chain>[]>;
23
- attemptCircleAttestationSubmission(message: CircleBridgeMessage<Chain>): Promise<void>;
24
- }
25
- export {};
26
- //# sourceMappingURL=TokenBridgeApp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenBridgeApp.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/TokenBridgeApp.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,mBAAmB,EAEnB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAUrC,UAAU,mBAAmB,CAAC,KAAK;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,qBAAa,cAAc,CACzB,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,oBAAoB,EAAE,KAAK,CAAC;aAE/B,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;aACnD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC;aACnC,oBAAoB,EAAE,QAAQ,CAC5C,KAAK,EACL,mBAAmB,EAAE,CACtB;gBALe,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,EACnD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,oBAAoB,EAAE,QAAQ,CAC5C,KAAK,EACL,mBAAmB,EAAE,CACtB;IAKH,yBAAyB,IAAI,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAUjE,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc/D,mBAAmB,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IAyClC,kCAAkC,CACtC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAuCjB"}
@@ -1,115 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TokenBridgeApp = void 0;
16
- const cross_fetch_1 = __importDefault(require("cross-fetch"));
17
- const ethers_1 = require("ethers");
18
- const core_1 = require("@hyperlane-xyz/core");
19
- const HyperlaneApp_1 = require("../../HyperlaneApp");
20
- const chains_1 = require("../../consts/chains");
21
- const objects_1 = require("../../utils/objects");
22
- const TokenBridgeRouterDeployer_1 = require("./TokenBridgeRouterDeployer");
23
- const CircleBridgeInterface = core_1.ICircleBridge__factory.createInterface();
24
- const CircleBridgeAdapterInterface = core_1.CircleBridgeAdapter__factory.createInterface();
25
- const BridgedTokenTopic = CircleBridgeAdapterInterface.getEventTopic(CircleBridgeAdapterInterface.getEvent('BridgedToken'));
26
- class TokenBridgeApp extends HyperlaneApp_1.HyperlaneApp {
27
- constructor(contractsMap, multiProvider, bridgeAdapterConfigs) {
28
- super(contractsMap, multiProvider);
29
- this.contractsMap = contractsMap;
30
- this.multiProvider = multiProvider;
31
- this.bridgeAdapterConfigs = bridgeAdapterConfigs;
32
- }
33
- circleBridgeAdapterConfig() {
34
- return (0, objects_1.objMap)(this.bridgeAdapterConfigs, (_chain, config) => config.find((_) => _.type === TokenBridgeRouterDeployer_1.BridgeAdapterType.Circle));
35
- }
36
- fetchCircleMessageTransactions(chain) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const cc = this.multiProvider.getChainConnection(chain);
39
- const params = new URLSearchParams({
40
- module: 'logs',
41
- action: 'getLogs',
42
- address: this.getContracts(chain).circleBridgeAdapter.address,
43
- topic0: BridgedTokenTopic,
44
- });
45
- const req = yield (0, cross_fetch_1.default)(`${cc.getApiUrl()}?${params}`);
46
- const response = yield req.json();
47
- return response.result.map((_) => _.transactionHash).flat();
48
- });
49
- }
50
- parseCircleMessages(chain, txHash) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const connection = this.multiProvider.getChainConnection(chain);
53
- const receipt = yield connection.provider.getTransactionReceipt(txHash);
54
- const matchingLogs = receipt.logs
55
- .map((_) => {
56
- try {
57
- return [CircleBridgeInterface.parseLog(_)];
58
- }
59
- catch (_a) {
60
- try {
61
- return [CircleBridgeAdapterInterface.parseLog(_)];
62
- }
63
- catch (_b) {
64
- return [];
65
- }
66
- }
67
- })
68
- .flat();
69
- if (matchingLogs.length == 0)
70
- return [];
71
- const message = matchingLogs.find((_) => _.name === 'MessageSent').args
72
- .message;
73
- const nonce = matchingLogs.find((_) => _.name === 'BridgedToken').args
74
- .nonce;
75
- const remoteChain = message.chain === chains_1.Chains.fuji ? chains_1.Chains.goerli : chains_1.Chains.fuji;
76
- return [
77
- {
78
- chain,
79
- // @ts-ignore
80
- remoteChain,
81
- txHash,
82
- message,
83
- nonce,
84
- domain: 0,
85
- nonceHash: ethers_1.ethers.utils.solidityKeccak256(['uint32', 'uint256'], [0, nonce]),
86
- },
87
- ];
88
- });
89
- }
90
- attemptCircleAttestationSubmission(message) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const connection = this.multiProvider.getChainConnection(message.remoteChain);
93
- const transmitter = core_1.ICircleMessageTransmitter__factory.connect(this.circleBridgeAdapterConfig()[message.remoteChain]
94
- .messageTransmitterAddress, connection.signer);
95
- const alreadyProcessed = yield transmitter.usedNonces(message.nonceHash);
96
- if (alreadyProcessed) {
97
- console.log(`Message sent on ${message.txHash} was already processed`);
98
- return;
99
- }
100
- const messageHash = ethers_1.ethers.utils.keccak256(message.message);
101
- const attestationsB = yield (0, cross_fetch_1.default)(`https://iris-api-sandbox.circle.com/attestations/${messageHash}`);
102
- const attestations = yield attestationsB.json();
103
- if (attestations.status !== 'complete') {
104
- console.log(`Attestations not available for message nonce ${message.nonce} on ${message.txHash}`);
105
- return;
106
- }
107
- console.log(`Ready to submit attestations for message ${message.nonce}`);
108
- const tx = yield transmitter.receiveMessage(message.message, attestations.attestation);
109
- console.log(`Submitted attestations in ${yield connection.getTxUrl(tx)}`);
110
- yield connection.handleTx(tx);
111
- });
112
- }
113
- }
114
- exports.TokenBridgeApp = TokenBridgeApp;
115
- //# sourceMappingURL=TokenBridgeApp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenBridgeApp.js","sourceRoot":"","sources":["../../../src/deploy/middleware/TokenBridgeApp.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { CircleBridgeAdapter, TokenBridgeRouter } from '@hyperlane-xyz/core';
2
- import { HyperlaneCore } from '../../core/HyperlaneCore';
3
- import { TokenBridgeContracts, TokenBridgeFactories } from '../../middleware';
4
- import { MultiProvider } from '../../providers/MultiProvider';
5
- import { ChainMap, ChainName } from '../../types';
6
- import { HyperlaneRouterDeployer } from '../router/HyperlaneRouterDeployer';
7
- import { RouterConfig } from '../router/types';
8
- export declare enum BridgeAdapterType {
9
- Circle = "Circle"
10
- }
11
- export interface CircleBridgeAdapterConfig {
12
- type: BridgeAdapterType.Circle;
13
- circleBridgeAddress: string;
14
- messageTransmitterAddress: string;
15
- usdcAddress: string;
16
- circleDomainMapping: {
17
- hyperlaneDomain: number;
18
- circleDomain: number;
19
- }[];
20
- }
21
- export declare type BridgeAdapterConfig = CircleBridgeAdapterConfig;
22
- export declare type TokenBridgeConfig = RouterConfig & {
23
- bridgeAdapterConfigs: BridgeAdapterConfig[];
24
- };
25
- export declare class TokenBridgeDeployer<Chain extends ChainName> extends HyperlaneRouterDeployer<Chain, TokenBridgeConfig, TokenBridgeContracts, TokenBridgeFactories> {
26
- protected core: HyperlaneCore<Chain>;
27
- protected create2salt: string;
28
- constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, TokenBridgeConfig>, core: HyperlaneCore<Chain>, create2salt?: string);
29
- enrollRemoteRouters(contractsMap: ChainMap<Chain, TokenBridgeContracts>): Promise<void>;
30
- deployContracts(chain: Chain, config: TokenBridgeConfig): Promise<TokenBridgeContracts>;
31
- deployCircleBridgeAdapter(chain: Chain, adapterConfig: CircleBridgeAdapterConfig, owner: string, router: TokenBridgeRouter): Promise<CircleBridgeAdapter>;
32
- }
33
- //# sourceMappingURL=TokenBridgeRouterDeployer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenBridgeRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/TokenBridgeRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EAEnB,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;CACL;AAED,oBAAY,mBAAmB,GAAG,yBAAyB,CAAC;AAE5D,oBAAY,iBAAiB,GAAG,YAAY,GAAG;IAC7C,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C,CAAC;AAEF,qBAAa,mBAAmB,CAC9B,KAAK,SAAS,SAAS,CACvB,SAAQ,uBAAuB,CAC/B,KAAK,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,CACrB;IAIG,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IACpC,SAAS,CAAC,WAAW;gBAHrB,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,EACnC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,EAC1B,WAAW,SAA4B;IAK7C,mBAAmB,CACvB,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAcV,eAAe,CACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,oBAAoB,CAAC;IA+B1B,yBAAyB,CAC7B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,yBAAyB,EACxC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,mBAAmB,CAAC;CA2DhC"}
@@ -1,93 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TokenBridgeDeployer = exports.BridgeAdapterType = void 0;
13
- const ethers_1 = require("ethers");
14
- const core_1 = require("@hyperlane-xyz/core");
15
- const middleware_1 = require("../../middleware");
16
- const objects_1 = require("../../utils/objects");
17
- const HyperlaneRouterDeployer_1 = require("../router/HyperlaneRouterDeployer");
18
- var BridgeAdapterType;
19
- (function (BridgeAdapterType) {
20
- BridgeAdapterType["Circle"] = "Circle";
21
- })(BridgeAdapterType = exports.BridgeAdapterType || (exports.BridgeAdapterType = {}));
22
- class TokenBridgeDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
23
- constructor(multiProvider, configMap, core, create2salt = 'TokenBridgeDeployerSalt') {
24
- super(multiProvider, configMap, middleware_1.tokenBridgeFactories, {});
25
- this.core = core;
26
- this.create2salt = create2salt;
27
- }
28
- enrollRemoteRouters(contractsMap) {
29
- const _super = Object.create(null, {
30
- enrollRemoteRouters: { get: () => super.enrollRemoteRouters }
31
- });
32
- return __awaiter(this, void 0, void 0, function* () {
33
- // Enroll the TokenBridgeRouter with each other
34
- yield _super.enrollRemoteRouters.call(this, contractsMap);
35
- // Enroll the circle adapters with each other
36
- yield _super.enrollRemoteRouters.call(this, (0, objects_1.objMap)(contractsMap, (_chain, contracts) => ({
37
- router: contracts.circleBridgeAdapter,
38
- })));
39
- });
40
- }
41
- // Custom contract deployment logic can go here
42
- // If no custom logic is needed, call deployContract for the router
43
- deployContracts(chain, config) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const initCalldata = core_1.TokenBridgeRouter__factory.createInterface().encodeFunctionData('initialize', [config.owner, config.connectionManager, config.interchainGasPaymaster]);
46
- const router = yield this.deployContract(chain, 'router', [], {
47
- create2Salt: this.create2salt,
48
- initCalldata,
49
- });
50
- const bridgeAdapters = {};
51
- for (const adapterConfig of config.bridgeAdapterConfigs) {
52
- if (adapterConfig.type === BridgeAdapterType.Circle) {
53
- bridgeAdapters.circleBridgeAdapter =
54
- yield this.deployCircleBridgeAdapter(chain, adapterConfig, config.owner, router);
55
- }
56
- }
57
- return Object.assign(Object.assign({}, bridgeAdapters), { router });
58
- });
59
- }
60
- deployCircleBridgeAdapter(chain, adapterConfig, owner, router) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- const cc = this.multiProvider.getChainConnection(chain);
63
- const initCalldata = core_1.CircleBridgeAdapter__factory.createInterface().encodeFunctionData('initialize', [
64
- owner,
65
- adapterConfig.circleBridgeAddress,
66
- adapterConfig.messageTransmitterAddress,
67
- router.address,
68
- ]);
69
- const circleBridgeAdapter = yield this.deployContract(chain, 'circleBridgeAdapter', [], {
70
- create2Salt: this.create2salt,
71
- initCalldata,
72
- });
73
- if ((yield circleBridgeAdapter.tokenSymbolToAddress('USDC')) ===
74
- ethers_1.ethers.constants.AddressZero) {
75
- this.logger(`Set USDC token contract`);
76
- yield cc.handleTx(circleBridgeAdapter.addToken(adapterConfig.usdcAddress, 'USDC'));
77
- }
78
- // Set domain mappings
79
- for (const { circleDomain, hyperlaneDomain, } of adapterConfig.circleDomainMapping) {
80
- const expectedCircleDomain = yield circleBridgeAdapter.hyperlaneDomainToCircleDomain(hyperlaneDomain);
81
- if (expectedCircleDomain === circleDomain)
82
- continue;
83
- this.logger(`Set circle domain ${circleDomain} for hyperlane domain ${hyperlaneDomain}`);
84
- yield cc.handleTx(circleBridgeAdapter.addDomain(hyperlaneDomain, circleDomain));
85
- }
86
- this.logger('Set CircleTokenBridgeAdapter on Router');
87
- yield cc.handleTx(router.setTokenBridgeAdapter(adapterConfig.type, circleBridgeAdapter.address));
88
- return circleBridgeAdapter;
89
- });
90
- }
91
- }
92
- exports.TokenBridgeDeployer = TokenBridgeDeployer;
93
- //# sourceMappingURL=TokenBridgeRouterDeployer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenBridgeRouterDeployer.js","sourceRoot":"","sources":["../../../src/deploy/middleware/TokenBridgeRouterDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { HyperlaneCore } from '../../core/HyperlaneCore';
2
- import { InterchainAccountContracts, InterchainAccountFactories, InterchainQueryContracts, InterchainQueryFactories } from '../../middleware';
3
- import { MultiProvider } from '../../providers/MultiProvider';
4
- import { ChainMap, ChainName } from '../../types';
5
- import { HyperlaneRouterDeployer } from '../router/HyperlaneRouterDeployer';
6
- import { RouterConfig } from '../router/types';
7
- export declare type InterchainAccountConfig = RouterConfig;
8
- export declare class InterchainAccountDeployer<Chain extends ChainName> extends HyperlaneRouterDeployer<Chain, InterchainAccountConfig, InterchainAccountContracts, InterchainAccountFactories> {
9
- protected core: HyperlaneCore<Chain>;
10
- protected create2salt: string;
11
- constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, InterchainAccountConfig>, core: HyperlaneCore<Chain>, create2salt?: string);
12
- deployContracts(chain: Chain, config: InterchainAccountConfig): Promise<InterchainAccountContracts>;
13
- }
14
- export declare type InterchainQueryConfig = RouterConfig;
15
- export declare class InterchainQueryDeployer<Chain extends ChainName> extends HyperlaneRouterDeployer<Chain, InterchainQueryConfig, InterchainQueryContracts, InterchainQueryFactories> {
16
- protected core: HyperlaneCore<Chain>;
17
- protected create2salt: string;
18
- constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, InterchainQueryConfig>, core: HyperlaneCore<Chain>, create2salt?: string);
19
- deployContracts(chain: Chain, config: InterchainQueryConfig): Promise<InterchainQueryContracts>;
20
- }
21
- //# sourceMappingURL=deploy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,oBAAY,uBAAuB,GAAG,YAAY,CAAC;AAEnD,qBAAa,yBAAyB,CACpC,KAAK,SAAS,SAAS,CACvB,SAAQ,uBAAuB,CAC/B,KAAK,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,CAC3B;IAIG,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IACpC,SAAS,CAAC,WAAW;gBAHrB,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,EACzC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,EAC1B,WAAW,SAAa;IAO9B,eAAe,CACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;CAcvC;AAED,oBAAY,qBAAqB,GAAG,YAAY,CAAC;AAEjD,qBAAa,uBAAuB,CAClC,KAAK,SAAS,SAAS,CACvB,SAAQ,uBAAuB,CAC/B,KAAK,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,CACzB;IAIG,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IAEpC,SAAS,CAAC,WAAW;gBAJrB,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,EACvC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,EAE1B,WAAW,SAAa;IAO9B,eAAe,CACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;CAcrC"}
@@ -1,62 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.InterchainQueryDeployer = exports.InterchainAccountDeployer = void 0;
13
- const core_1 = require("@hyperlane-xyz/core");
14
- const middleware_1 = require("../../middleware");
15
- const HyperlaneRouterDeployer_1 = require("../router/HyperlaneRouterDeployer");
16
- class InterchainAccountDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
17
- constructor(multiProvider, configMap, core, create2salt = 'asdasdsd') {
18
- super(multiProvider, configMap, middleware_1.interchainAccountFactories, {});
19
- this.core = core;
20
- this.create2salt = create2salt;
21
- }
22
- // Custom contract deployment logic can go here
23
- // If no custom logic is needed, call deployContract for the router
24
- deployContracts(chain, config) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const initCalldata = core_1.InterchainAccountRouter__factory.createInterface().encodeFunctionData('initialize', [config.owner, config.connectionManager, config.interchainGasPaymaster]);
27
- const router = yield this.deployContract(chain, 'router', [], {
28
- create2Salt: this.create2salt + 'router',
29
- initCalldata,
30
- });
31
- return {
32
- router,
33
- };
34
- });
35
- }
36
- }
37
- exports.InterchainAccountDeployer = InterchainAccountDeployer;
38
- class InterchainQueryDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
39
- constructor(multiProvider, configMap, core,
40
- // TODO replace salt with 'hyperlane' before next redeploy
41
- create2salt = 'asdasdsd') {
42
- super(multiProvider, configMap, middleware_1.interchainQueryFactories, {});
43
- this.core = core;
44
- this.create2salt = create2salt;
45
- }
46
- // Custom contract deployment logic can go here
47
- // If no custom logic is needed, call deployContract for the router
48
- deployContracts(chain, config) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- const initCalldata = core_1.InterchainQueryRouter__factory.createInterface().encodeFunctionData('initialize', [config.owner, config.connectionManager, config.interchainGasPaymaster]);
51
- const router = yield this.deployContract(chain, 'router', [], {
52
- create2Salt: this.create2salt + 'router',
53
- initCalldata,
54
- });
55
- return {
56
- router,
57
- };
58
- });
59
- }
60
- }
61
- exports.InterchainQueryDeployer = InterchainQueryDeployer;
62
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAG6B;AAG7B,iDAO0B;AAG1B,+EAA4E;AAK5E,MAAa,yBAEX,SAAQ,iDAKT;IACC,YACE,aAAmC,EACnC,SAAmD,EACzC,IAA0B,EAC1B,cAAc,UAAU;QAElC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,uCAA0B,EAAE,EAAE,CAAC,CAAC;QAHtD,SAAI,GAAJ,IAAI,CAAsB;QAC1B,gBAAW,GAAX,WAAW,CAAa;IAGpC,CAAC;IAED,+CAA+C;IAC/C,mEAAmE;IAC7D,eAAe,CACnB,KAAY,EACZ,MAA+B;;YAE/B,MAAM,YAAY,GAChB,uCAAgC,CAAC,eAAe,EAAE,CAAC,kBAAkB,CACnE,YAAY,EACZ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CACxE,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,QAAQ;gBACxC,YAAY;aACb,CAAC,CAAC;YACH,OAAO;gBACL,MAAM;aACP,CAAC;QACJ,CAAC;KAAA;CACF;AApCD,8DAoCC;AAID,MAAa,uBAEX,SAAQ,iDAKT;IACC,YACE,aAAmC,EACnC,SAAiD,EACvC,IAA0B;IACpC,0DAA0D;IAChD,cAAc,UAAU;QAElC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,qCAAwB,EAAE,EAAE,CAAC,CAAC;QAJpD,SAAI,GAAJ,IAAI,CAAsB;QAE1B,gBAAW,GAAX,WAAW,CAAa;IAGpC,CAAC;IAED,+CAA+C;IAC/C,mEAAmE;IAC7D,eAAe,CACnB,KAAY,EACZ,MAA6B;;YAE7B,MAAM,YAAY,GAChB,qCAA8B,CAAC,eAAe,EAAE,CAAC,kBAAkB,CACjE,YAAY,EACZ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CACxE,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,QAAQ;gBACxC,YAAY;aACb,CAAC,CAAC;YACH,OAAO;gBACL,MAAM;aACP,CAAC;QACJ,CAAC;KAAA;CACF;AArCD,0DAqCC"}
@@ -1,17 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import type { types } from '@hyperlane-xyz/utils';
3
- import { BeaconProxyAddresses } from '../proxy';
4
- import { ChainName } from '../types';
5
- import { CheckerViolation } from './types';
6
- export interface UpgradeBeaconViolation extends CheckerViolation {
7
- type: BeaconProxyAddresses['kind'];
8
- data: {
9
- proxiedAddress: BeaconProxyAddresses;
10
- name: string;
11
- };
12
- actual: string;
13
- expected: string;
14
- }
15
- export declare function upgradeBeaconImplementation(provider: ethers.providers.Provider, beacon: types.Address): Promise<types.Address>;
16
- export declare function upgradeBeaconViolation<Chain extends ChainName>(chain: Chain, name: string, proxiedAddress: BeaconProxyAddresses, actual: types.Address): UpgradeBeaconViolation;
17
- //# sourceMappingURL=proxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,EAAE;QACJ,cAAc,EAAE,oBAAoB,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAIxB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,SAAS,EAC5D,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,oBAAoB,EACpC,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,sBAAsB,CAWxB"}
@@ -1,35 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.upgradeBeaconViolation = exports.upgradeBeaconImplementation = void 0;
13
- const ethers_1 = require("ethers");
14
- function upgradeBeaconImplementation(provider, beacon) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- // TODO: This should check the correct upgrade beacon controller
17
- const storageValue = yield provider.getStorageAt(beacon, 0);
18
- return ethers_1.ethers.utils.getAddress(storageValue.slice(26));
19
- });
20
- }
21
- exports.upgradeBeaconImplementation = upgradeBeaconImplementation;
22
- function upgradeBeaconViolation(chain, name, proxiedAddress, actual) {
23
- return {
24
- chain,
25
- type: proxiedAddress.kind,
26
- actual,
27
- expected: proxiedAddress.implementation,
28
- data: {
29
- name,
30
- proxiedAddress,
31
- },
32
- };
33
- }
34
- exports.upgradeBeaconViolation = upgradeBeaconViolation;
35
- //# sourceMappingURL=proxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAmBhC,SAAsB,2BAA2B,CAC/C,QAAmC,EACnC,MAAqB;;QAErB,gEAAgE;QAChE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CAAA;AAPD,kEAOC;AAED,SAAgB,sBAAsB,CACpC,KAAY,EACZ,IAAY,EACZ,cAAoC,EACpC,MAAqB;IAErB,OAAO;QACL,KAAK;QACL,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,MAAM;QACN,QAAQ,EAAE,cAAc,CAAC,cAAc;QACvC,IAAI,EAAE;YACJ,IAAI;YACJ,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAhBD,wDAgBC"}
@@ -1,14 +0,0 @@
1
- import { Ownable } from '@hyperlane-xyz/core';
2
- import { HyperlaneApp } from '../../HyperlaneApp';
3
- import { RouterContracts } from '../../router';
4
- import { ChainName } from '../../types';
5
- import { HyperlaneAppChecker } from '../HyperlaneAppChecker';
6
- import { RouterConfig } from './types';
7
- export declare class HyperlaneRouterChecker<Chain extends ChainName, App extends HyperlaneApp<Contracts, Chain>, Config extends RouterConfig, Contracts extends RouterContracts> extends HyperlaneAppChecker<Chain, App, Config> {
8
- checkOwnership(chain: Chain): Promise<void>;
9
- checkChain(chain: Chain): Promise<void>;
10
- checkEnrolledRouters(chain: Chain): Promise<void>;
11
- checkConnectionManager(chain: Chain): Promise<void>;
12
- ownables(chain: Chain): Ownable[];
13
- }
14
- //# sourceMappingURL=HyperlaneRouterChecker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,sBAAsB,CACjC,KAAK,SAAS,SAAS,EACvB,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,eAAe,CACjC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;IAC/C,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE;CAGlC"}