@hyperlane-xyz/sdk 0.5.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 (217) hide show
  1. package/README.md +5 -0
  2. package/dist/HyperlaneApp.d.ts +13 -0
  3. package/dist/HyperlaneApp.d.ts.map +1 -0
  4. package/dist/HyperlaneApp.js +25 -0
  5. package/dist/HyperlaneApp.js.map +1 -0
  6. package/dist/consts/chainConnectionConfigs.d.ts +28 -0
  7. package/dist/consts/chainConnectionConfigs.d.ts.map +1 -0
  8. package/dist/consts/chainConnectionConfigs.js +130 -0
  9. package/dist/consts/chainConnectionConfigs.js.map +1 -0
  10. package/dist/consts/chainMetadata.d.ts +43 -0
  11. package/dist/consts/chainMetadata.d.ts.map +1 -0
  12. package/dist/consts/chainMetadata.js +139 -0
  13. package/dist/consts/chainMetadata.js.map +1 -0
  14. package/dist/consts/chains.d.ts +28 -0
  15. package/dist/consts/chains.d.ts.map +1 -0
  16. package/dist/consts/chains.js +40 -0
  17. package/dist/consts/chains.js.map +1 -0
  18. package/dist/consts/environments/index.d.ts +1450 -0
  19. package/dist/consts/environments/index.d.ts.map +1 -0
  20. package/dist/consts/environments/index.js +15 -0
  21. package/dist/consts/environments/index.js.map +1 -0
  22. package/dist/consts/environments/mainnet.json +513 -0
  23. package/dist/consts/environments/test.json +113 -0
  24. package/dist/consts/environments/testnet2.json +821 -0
  25. package/dist/consts/metamask.d.ts +17 -0
  26. package/dist/consts/metamask.d.ts.map +1 -0
  27. package/dist/consts/metamask.js +50 -0
  28. package/dist/consts/metamask.js.map +1 -0
  29. package/dist/contracts.d.ts +17 -0
  30. package/dist/contracts.d.ts.map +1 -0
  31. package/dist/contracts.js +61 -0
  32. package/dist/contracts.js.map +1 -0
  33. package/dist/core/HyperlaneCore.d.ts +1491 -0
  34. package/dist/core/HyperlaneCore.d.ts.map +1 -0
  35. package/dist/core/HyperlaneCore.js +103 -0
  36. package/dist/core/HyperlaneCore.js.map +1 -0
  37. package/dist/core/TestCoreApp.d.ts +27 -0
  38. package/dist/core/TestCoreApp.d.ts.map +1 -0
  39. package/dist/core/TestCoreApp.js +63 -0
  40. package/dist/core/TestCoreApp.js.map +1 -0
  41. package/dist/core/TestCoreDeployer.d.ts +13 -0
  42. package/dist/core/TestCoreDeployer.d.ts.map +1 -0
  43. package/dist/core/TestCoreDeployer.js +85 -0
  44. package/dist/core/TestCoreDeployer.js.map +1 -0
  45. package/dist/core/contracts.d.ts +30 -0
  46. package/dist/core/contracts.d.ts.map +1 -0
  47. package/dist/core/contracts.js +14 -0
  48. package/dist/core/contracts.js.map +1 -0
  49. package/dist/core/events.d.ts +9 -0
  50. package/dist/core/events.d.ts.map +1 -0
  51. package/dist/core/events.js +3 -0
  52. package/dist/core/events.js.map +1 -0
  53. package/dist/core/message.d.ts +162 -0
  54. package/dist/core/message.d.ts.map +1 -0
  55. package/dist/core/message.js +311 -0
  56. package/dist/core/message.js.map +1 -0
  57. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +3 -0
  58. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +1 -0
  59. package/dist/core/testHyperlaneDeploy.hardhat-test.js +66 -0
  60. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -0
  61. package/dist/deploy/HyperlaneAppChecker.d.ts +22 -0
  62. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -0
  63. package/dist/deploy/HyperlaneAppChecker.js +76 -0
  64. package/dist/deploy/HyperlaneAppChecker.js.map +1 -0
  65. package/dist/deploy/HyperlaneDeployer.d.ts +40 -0
  66. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -0
  67. package/dist/deploy/HyperlaneDeployer.js +153 -0
  68. package/dist/deploy/HyperlaneDeployer.js.map +1 -0
  69. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +17 -0
  70. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -0
  71. package/dist/deploy/core/HyperlaneCoreChecker.js +210 -0
  72. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -0
  73. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +30 -0
  74. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -0
  75. package/dist/deploy/core/HyperlaneCoreDeployer.js +134 -0
  76. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -0
  77. package/dist/deploy/core/types.d.ts +64 -0
  78. package/dist/deploy/core/types.d.ts.map +1 -0
  79. package/dist/deploy/core/types.js +23 -0
  80. package/dist/deploy/core/types.js.map +1 -0
  81. package/dist/deploy/proxy.d.ts +17 -0
  82. package/dist/deploy/proxy.d.ts.map +1 -0
  83. package/dist/deploy/proxy.js +35 -0
  84. package/dist/deploy/proxy.js.map +1 -0
  85. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +13 -0
  86. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -0
  87. package/dist/deploy/router/HyperlaneRouterChecker.js +44 -0
  88. package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -0
  89. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +13 -0
  90. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -0
  91. package/dist/deploy/router/HyperlaneRouterDeployer.js +103 -0
  92. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -0
  93. package/dist/deploy/router/types.d.ts +7 -0
  94. package/dist/deploy/router/types.d.ts.map +1 -0
  95. package/dist/deploy/router/types.js +3 -0
  96. package/dist/deploy/router/types.js.map +1 -0
  97. package/dist/deploy/types.d.ts +19 -0
  98. package/dist/deploy/types.d.ts.map +1 -0
  99. package/dist/deploy/types.js +8 -0
  100. package/dist/deploy/types.js.map +1 -0
  101. package/dist/deploy/utils.d.ts +10 -0
  102. package/dist/deploy/utils.d.ts.map +1 -0
  103. package/dist/deploy/utils.js +38 -0
  104. package/dist/deploy/utils.js.map +1 -0
  105. package/dist/deploy/verify/ContractVerifier.d.ts +19 -0
  106. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -0
  107. package/dist/deploy/verify/ContractVerifier.js +129 -0
  108. package/dist/deploy/verify/ContractVerifier.js.map +1 -0
  109. package/dist/deploy/verify/types.d.ts +14 -0
  110. package/dist/deploy/verify/types.d.ts.map +1 -0
  111. package/dist/deploy/verify/types.js +3 -0
  112. package/dist/deploy/verify/types.js.map +1 -0
  113. package/dist/deploy/verify/utils.d.ts +6 -0
  114. package/dist/deploy/verify/utils.d.ts.map +1 -0
  115. package/dist/deploy/verify/utils.js +25 -0
  116. package/dist/deploy/verify/utils.js.map +1 -0
  117. package/dist/domains.d.ts +4 -0
  118. package/dist/domains.d.ts.map +1 -0
  119. package/dist/domains.js +8 -0
  120. package/dist/domains.js.map +1 -0
  121. package/dist/events.d.ts +25 -0
  122. package/dist/events.d.ts.map +1 -0
  123. package/dist/events.js +161 -0
  124. package/dist/events.js.map +1 -0
  125. package/dist/gas/calculator.d.ts +134 -0
  126. package/dist/gas/calculator.d.ts.map +1 -0
  127. package/dist/gas/calculator.js +235 -0
  128. package/dist/gas/calculator.js.map +1 -0
  129. package/dist/gas/calculator.test.d.ts +2 -0
  130. package/dist/gas/calculator.test.d.ts.map +1 -0
  131. package/dist/gas/calculator.test.js +211 -0
  132. package/dist/gas/calculator.test.js.map +1 -0
  133. package/dist/gas/token-prices.d.ts +18 -0
  134. package/dist/gas/token-prices.d.ts.map +1 -0
  135. package/dist/gas/token-prices.js +63 -0
  136. package/dist/gas/token-prices.js.map +1 -0
  137. package/dist/gas/token-prices.test.d.ts +2 -0
  138. package/dist/gas/token-prices.test.d.ts.map +1 -0
  139. package/dist/gas/token-prices.test.js +40 -0
  140. package/dist/gas/token-prices.test.js.map +1 -0
  141. package/dist/index.d.ts +42 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +119 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/providers/ChainConnection.d.ts +22 -0
  146. package/dist/providers/ChainConnection.d.ts.map +1 -0
  147. package/dist/providers/ChainConnection.js +67 -0
  148. package/dist/providers/ChainConnection.js.map +1 -0
  149. package/dist/providers/MultiProvider.d.ts +55 -0
  150. package/dist/providers/MultiProvider.d.ts.map +1 -0
  151. package/dist/providers/MultiProvider.js +106 -0
  152. package/dist/providers/MultiProvider.js.map +1 -0
  153. package/dist/providers/RetryProvider.d.ts +18 -0
  154. package/dist/providers/RetryProvider.d.ts.map +1 -0
  155. package/dist/providers/RetryProvider.js +49 -0
  156. package/dist/providers/RetryProvider.js.map +1 -0
  157. package/dist/proxy.d.ts +23 -0
  158. package/dist/proxy.d.ts.map +1 -0
  159. package/dist/proxy.js +30 -0
  160. package/dist/proxy.js.map +1 -0
  161. package/dist/router.d.ts +19 -0
  162. package/dist/router.d.ts.map +1 -0
  163. package/dist/router.js +3 -0
  164. package/dist/router.js.map +1 -0
  165. package/dist/test/envSubsetDeployer/app.d.ts +36 -0
  166. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -0
  167. package/dist/test/envSubsetDeployer/app.js +77 -0
  168. package/dist/test/envSubsetDeployer/app.js.map +1 -0
  169. package/dist/test/envSubsetDeployer/check-single-chain.d.ts +2 -0
  170. package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +1 -0
  171. package/dist/test/envSubsetDeployer/check-single-chain.js +49 -0
  172. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -0
  173. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +2 -0
  174. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +1 -0
  175. package/dist/test/envSubsetDeployer/deploy-single-chain.js +42 -0
  176. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -0
  177. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +2 -0
  178. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +1 -0
  179. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +80 -0
  180. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -0
  181. package/dist/test/envSubsetDeployer/utils.d.ts +7 -0
  182. package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -0
  183. package/dist/test/envSubsetDeployer/utils.js +25 -0
  184. package/dist/test/envSubsetDeployer/utils.js.map +1 -0
  185. package/dist/test/testUtils.d.ts +29 -0
  186. package/dist/test/testUtils.d.ts.map +1 -0
  187. package/dist/test/testUtils.js +98 -0
  188. package/dist/test/testUtils.js.map +1 -0
  189. package/dist/types.d.ts +20 -0
  190. package/dist/types.d.ts.map +1 -0
  191. package/dist/types.js +3 -0
  192. package/dist/types.js.map +1 -0
  193. package/dist/utils/MultiGeneric.d.ts +27 -0
  194. package/dist/utils/MultiGeneric.d.ts.map +1 -0
  195. package/dist/utils/MultiGeneric.js +70 -0
  196. package/dist/utils/MultiGeneric.js.map +1 -0
  197. package/dist/utils/ids.d.ts +20 -0
  198. package/dist/utils/ids.d.ts.map +1 -0
  199. package/dist/utils/ids.js +47 -0
  200. package/dist/utils/ids.js.map +1 -0
  201. package/dist/utils/number.d.ts +32 -0
  202. package/dist/utils/number.d.ts.map +1 -0
  203. package/dist/utils/number.js +59 -0
  204. package/dist/utils/number.js.map +1 -0
  205. package/dist/utils/objects.d.ts +7 -0
  206. package/dist/utils/objects.d.ts.map +1 -0
  207. package/dist/utils/objects.js +29 -0
  208. package/dist/utils/objects.js.map +1 -0
  209. package/dist/utils/time.d.ts +8 -0
  210. package/dist/utils/time.d.ts.map +1 -0
  211. package/dist/utils/time.js +15 -0
  212. package/dist/utils/time.js.map +1 -0
  213. package/dist/utils/utils.test.d.ts +2 -0
  214. package/dist/utils/utils.test.d.ts.map +1 -0
  215. package/dist/utils/utils.test.js +41 -0
  216. package/dist/utils/utils.test.js.map +1 -0
  217. package/package.json +55 -0
@@ -0,0 +1,42 @@
1
+ export { AllChains, Chains } from './consts/chains';
2
+ export { chainMetadata } from './consts/chainMetadata';
3
+ export { chainConnectionConfigs, testChainConnectionConfigs, } from './consts/chainConnectionConfigs';
4
+ export { environments as coreEnvironments } from './consts/environments';
5
+ export { ChainMap, ChainName, CompleteChainMap, Connection, NameOrDomain, RemoteChainMap, Remotes, TestChainNames, IChainConnection, } from './types';
6
+ export { ChainNameToDomainId, DomainIdToChainName } from './domains';
7
+ export { HyperlaneApp } from './HyperlaneApp';
8
+ export { HyperlaneAddresses, HyperlaneContracts, HyperlaneFactories, buildContracts, connectContracts, serializeContracts, } from './contracts';
9
+ export { Annotated, getEvents, queryAnnotatedEvents, TSContract, } from './events';
10
+ export { BeaconProxyAddresses, ProxiedContract, ProxyAddresses } from './proxy';
11
+ export { Router, RouterContracts, RouterFactories } from './router';
12
+ export { ChainConnection } from './providers/ChainConnection';
13
+ export { MultiProvider } from './providers/MultiProvider';
14
+ export { RetryJsonRpcProvider, RetryProvider } from './providers/RetryProvider';
15
+ export { HyperlaneCore, CoreContractsMap, DispatchedMessage, } from './core/HyperlaneCore';
16
+ export { CoreContracts, coreFactories, InboxContracts, OutboxContracts, } from './core/contracts';
17
+ export { HyperlaneLifecyleEvent, AnnotatedDispatch, AnnotatedLifecycleEvent, } from './core/events';
18
+ export { HyperlaneMessage, HyperlaneStatus, MessageStatus, resolveDomain, resolveId, resolveNetworks, } from './core/message';
19
+ export { TestCoreApp, TestCoreContracts, TestInboxContracts, TestOutboxContracts, } from './core/TestCoreApp';
20
+ export { TestCoreDeployer } from './core/TestCoreDeployer';
21
+ export { InterchainGasCalculator, ParsedMessage } from './gas/calculator';
22
+ export { CoinGeckoTokenPriceGetter, TokenPriceGetter, } from './gas/token-prices';
23
+ export { HyperlaneAppChecker } from './deploy/HyperlaneAppChecker';
24
+ export { CheckerViolation, EnvironmentConfig, OwnerViolation, ViolationType, } from './deploy/types';
25
+ export { HyperlaneCoreDeployer } from './deploy/core/HyperlaneCoreDeployer';
26
+ export { HyperlaneCoreChecker } from './deploy/core/HyperlaneCoreChecker';
27
+ export { CoreConfig, CoreViolationType, ValidatorManagerConfig, ValidatorManagerViolation, EnrolledInboxesViolation, ConnectionManagerViolation, ConnectionManagerViolationType, EnrolledValidatorsViolation, ValidatorManagerViolationType, } from './deploy/core/types';
28
+ export { HyperlaneDeployer } from './deploy/HyperlaneDeployer';
29
+ export { UpgradeBeaconViolation } from './deploy/proxy';
30
+ export { HyperlaneRouterDeployer } from './deploy/router/HyperlaneRouterDeployer';
31
+ export { HyperlaneRouterChecker } from './deploy/router/HyperlaneRouterChecker';
32
+ export { RouterConfig } from './deploy/router/types';
33
+ export { getTestMultiProvider, getChainToOwnerMap } from './deploy/utils';
34
+ export { ContractVerifier } from './deploy/verify/ContractVerifier';
35
+ export { ContractVerificationInput, VerificationInput, CompilerOptions, } from './deploy/verify/types';
36
+ export * as verificationUtils from './deploy/verify/utils';
37
+ export { canonizeId, evmId } from './utils/ids';
38
+ export { MultiGeneric } from './utils/MultiGeneric';
39
+ export { bigToFixed, convertDecimalValue, fixedToBig, mulBigAndFixed, } from './utils/number';
40
+ export { objMap, objMapEntries, promiseObjAll, pick } from './utils/objects';
41
+ export { delay } from './utils/time';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.convertDecimalValue = exports.bigToFixed = exports.MultiGeneric = exports.evmId = exports.canonizeId = exports.verificationUtils = exports.ContractVerifier = exports.getChainToOwnerMap = exports.getTestMultiProvider = exports.HyperlaneRouterChecker = exports.HyperlaneRouterDeployer = exports.HyperlaneDeployer = exports.ValidatorManagerViolationType = exports.ConnectionManagerViolationType = exports.CoreViolationType = exports.HyperlaneCoreChecker = exports.HyperlaneCoreDeployer = exports.ViolationType = exports.HyperlaneAppChecker = exports.CoinGeckoTokenPriceGetter = exports.InterchainGasCalculator = exports.TestCoreDeployer = exports.TestCoreApp = exports.resolveNetworks = exports.resolveId = exports.resolveDomain = exports.MessageStatus = exports.HyperlaneMessage = exports.coreFactories = exports.HyperlaneCore = exports.RetryProvider = exports.RetryJsonRpcProvider = exports.MultiProvider = exports.ChainConnection = exports.ProxiedContract = exports.queryAnnotatedEvents = exports.getEvents = exports.Annotated = exports.serializeContracts = exports.connectContracts = exports.buildContracts = exports.HyperlaneApp = exports.DomainIdToChainName = exports.ChainNameToDomainId = exports.coreEnvironments = exports.testChainConnectionConfigs = exports.chainConnectionConfigs = exports.chainMetadata = exports.Chains = exports.AllChains = void 0;
27
+ exports.delay = exports.pick = exports.promiseObjAll = exports.objMapEntries = exports.objMap = exports.mulBigAndFixed = exports.fixedToBig = void 0;
28
+ var chains_1 = require("./consts/chains");
29
+ Object.defineProperty(exports, "AllChains", { enumerable: true, get: function () { return chains_1.AllChains; } });
30
+ Object.defineProperty(exports, "Chains", { enumerable: true, get: function () { return chains_1.Chains; } });
31
+ var chainMetadata_1 = require("./consts/chainMetadata");
32
+ Object.defineProperty(exports, "chainMetadata", { enumerable: true, get: function () { return chainMetadata_1.chainMetadata; } });
33
+ var chainConnectionConfigs_1 = require("./consts/chainConnectionConfigs");
34
+ Object.defineProperty(exports, "chainConnectionConfigs", { enumerable: true, get: function () { return chainConnectionConfigs_1.chainConnectionConfigs; } });
35
+ Object.defineProperty(exports, "testChainConnectionConfigs", { enumerable: true, get: function () { return chainConnectionConfigs_1.testChainConnectionConfigs; } });
36
+ var environments_1 = require("./consts/environments");
37
+ Object.defineProperty(exports, "coreEnvironments", { enumerable: true, get: function () { return environments_1.environments; } });
38
+ var domains_1 = require("./domains");
39
+ Object.defineProperty(exports, "ChainNameToDomainId", { enumerable: true, get: function () { return domains_1.ChainNameToDomainId; } });
40
+ Object.defineProperty(exports, "DomainIdToChainName", { enumerable: true, get: function () { return domains_1.DomainIdToChainName; } });
41
+ var HyperlaneApp_1 = require("./HyperlaneApp");
42
+ Object.defineProperty(exports, "HyperlaneApp", { enumerable: true, get: function () { return HyperlaneApp_1.HyperlaneApp; } });
43
+ var contracts_1 = require("./contracts");
44
+ Object.defineProperty(exports, "buildContracts", { enumerable: true, get: function () { return contracts_1.buildContracts; } });
45
+ Object.defineProperty(exports, "connectContracts", { enumerable: true, get: function () { return contracts_1.connectContracts; } });
46
+ Object.defineProperty(exports, "serializeContracts", { enumerable: true, get: function () { return contracts_1.serializeContracts; } });
47
+ var events_1 = require("./events");
48
+ Object.defineProperty(exports, "Annotated", { enumerable: true, get: function () { return events_1.Annotated; } });
49
+ Object.defineProperty(exports, "getEvents", { enumerable: true, get: function () { return events_1.getEvents; } });
50
+ Object.defineProperty(exports, "queryAnnotatedEvents", { enumerable: true, get: function () { return events_1.queryAnnotatedEvents; } });
51
+ var proxy_1 = require("./proxy");
52
+ Object.defineProperty(exports, "ProxiedContract", { enumerable: true, get: function () { return proxy_1.ProxiedContract; } });
53
+ var ChainConnection_1 = require("./providers/ChainConnection");
54
+ Object.defineProperty(exports, "ChainConnection", { enumerable: true, get: function () { return ChainConnection_1.ChainConnection; } });
55
+ var MultiProvider_1 = require("./providers/MultiProvider");
56
+ Object.defineProperty(exports, "MultiProvider", { enumerable: true, get: function () { return MultiProvider_1.MultiProvider; } });
57
+ var RetryProvider_1 = require("./providers/RetryProvider");
58
+ Object.defineProperty(exports, "RetryJsonRpcProvider", { enumerable: true, get: function () { return RetryProvider_1.RetryJsonRpcProvider; } });
59
+ Object.defineProperty(exports, "RetryProvider", { enumerable: true, get: function () { return RetryProvider_1.RetryProvider; } });
60
+ var HyperlaneCore_1 = require("./core/HyperlaneCore");
61
+ Object.defineProperty(exports, "HyperlaneCore", { enumerable: true, get: function () { return HyperlaneCore_1.HyperlaneCore; } });
62
+ var contracts_2 = require("./core/contracts");
63
+ Object.defineProperty(exports, "coreFactories", { enumerable: true, get: function () { return contracts_2.coreFactories; } });
64
+ var message_1 = require("./core/message");
65
+ Object.defineProperty(exports, "HyperlaneMessage", { enumerable: true, get: function () { return message_1.HyperlaneMessage; } });
66
+ Object.defineProperty(exports, "MessageStatus", { enumerable: true, get: function () { return message_1.MessageStatus; } });
67
+ Object.defineProperty(exports, "resolveDomain", { enumerable: true, get: function () { return message_1.resolveDomain; } });
68
+ Object.defineProperty(exports, "resolveId", { enumerable: true, get: function () { return message_1.resolveId; } });
69
+ Object.defineProperty(exports, "resolveNetworks", { enumerable: true, get: function () { return message_1.resolveNetworks; } });
70
+ var TestCoreApp_1 = require("./core/TestCoreApp");
71
+ Object.defineProperty(exports, "TestCoreApp", { enumerable: true, get: function () { return TestCoreApp_1.TestCoreApp; } });
72
+ var TestCoreDeployer_1 = require("./core/TestCoreDeployer");
73
+ Object.defineProperty(exports, "TestCoreDeployer", { enumerable: true, get: function () { return TestCoreDeployer_1.TestCoreDeployer; } });
74
+ var calculator_1 = require("./gas/calculator");
75
+ Object.defineProperty(exports, "InterchainGasCalculator", { enumerable: true, get: function () { return calculator_1.InterchainGasCalculator; } });
76
+ var token_prices_1 = require("./gas/token-prices");
77
+ Object.defineProperty(exports, "CoinGeckoTokenPriceGetter", { enumerable: true, get: function () { return token_prices_1.CoinGeckoTokenPriceGetter; } });
78
+ var HyperlaneAppChecker_1 = require("./deploy/HyperlaneAppChecker");
79
+ Object.defineProperty(exports, "HyperlaneAppChecker", { enumerable: true, get: function () { return HyperlaneAppChecker_1.HyperlaneAppChecker; } });
80
+ var types_1 = require("./deploy/types");
81
+ Object.defineProperty(exports, "ViolationType", { enumerable: true, get: function () { return types_1.ViolationType; } });
82
+ var HyperlaneCoreDeployer_1 = require("./deploy/core/HyperlaneCoreDeployer");
83
+ Object.defineProperty(exports, "HyperlaneCoreDeployer", { enumerable: true, get: function () { return HyperlaneCoreDeployer_1.HyperlaneCoreDeployer; } });
84
+ var HyperlaneCoreChecker_1 = require("./deploy/core/HyperlaneCoreChecker");
85
+ Object.defineProperty(exports, "HyperlaneCoreChecker", { enumerable: true, get: function () { return HyperlaneCoreChecker_1.HyperlaneCoreChecker; } });
86
+ var types_2 = require("./deploy/core/types");
87
+ Object.defineProperty(exports, "CoreViolationType", { enumerable: true, get: function () { return types_2.CoreViolationType; } });
88
+ Object.defineProperty(exports, "ConnectionManagerViolationType", { enumerable: true, get: function () { return types_2.ConnectionManagerViolationType; } });
89
+ Object.defineProperty(exports, "ValidatorManagerViolationType", { enumerable: true, get: function () { return types_2.ValidatorManagerViolationType; } });
90
+ var HyperlaneDeployer_1 = require("./deploy/HyperlaneDeployer");
91
+ Object.defineProperty(exports, "HyperlaneDeployer", { enumerable: true, get: function () { return HyperlaneDeployer_1.HyperlaneDeployer; } });
92
+ var HyperlaneRouterDeployer_1 = require("./deploy/router/HyperlaneRouterDeployer");
93
+ Object.defineProperty(exports, "HyperlaneRouterDeployer", { enumerable: true, get: function () { return HyperlaneRouterDeployer_1.HyperlaneRouterDeployer; } });
94
+ var HyperlaneRouterChecker_1 = require("./deploy/router/HyperlaneRouterChecker");
95
+ Object.defineProperty(exports, "HyperlaneRouterChecker", { enumerable: true, get: function () { return HyperlaneRouterChecker_1.HyperlaneRouterChecker; } });
96
+ var utils_1 = require("./deploy/utils");
97
+ Object.defineProperty(exports, "getTestMultiProvider", { enumerable: true, get: function () { return utils_1.getTestMultiProvider; } });
98
+ Object.defineProperty(exports, "getChainToOwnerMap", { enumerable: true, get: function () { return utils_1.getChainToOwnerMap; } });
99
+ var ContractVerifier_1 = require("./deploy/verify/ContractVerifier");
100
+ Object.defineProperty(exports, "ContractVerifier", { enumerable: true, get: function () { return ContractVerifier_1.ContractVerifier; } });
101
+ exports.verificationUtils = __importStar(require("./deploy/verify/utils"));
102
+ var ids_1 = require("./utils/ids");
103
+ Object.defineProperty(exports, "canonizeId", { enumerable: true, get: function () { return ids_1.canonizeId; } });
104
+ Object.defineProperty(exports, "evmId", { enumerable: true, get: function () { return ids_1.evmId; } });
105
+ var MultiGeneric_1 = require("./utils/MultiGeneric");
106
+ Object.defineProperty(exports, "MultiGeneric", { enumerable: true, get: function () { return MultiGeneric_1.MultiGeneric; } });
107
+ var number_1 = require("./utils/number");
108
+ Object.defineProperty(exports, "bigToFixed", { enumerable: true, get: function () { return number_1.bigToFixed; } });
109
+ Object.defineProperty(exports, "convertDecimalValue", { enumerable: true, get: function () { return number_1.convertDecimalValue; } });
110
+ Object.defineProperty(exports, "fixedToBig", { enumerable: true, get: function () { return number_1.fixedToBig; } });
111
+ Object.defineProperty(exports, "mulBigAndFixed", { enumerable: true, get: function () { return number_1.mulBigAndFixed; } });
112
+ var objects_1 = require("./utils/objects");
113
+ Object.defineProperty(exports, "objMap", { enumerable: true, get: function () { return objects_1.objMap; } });
114
+ Object.defineProperty(exports, "objMapEntries", { enumerable: true, get: function () { return objects_1.objMapEntries; } });
115
+ Object.defineProperty(exports, "promiseObjAll", { enumerable: true, get: function () { return objects_1.promiseObjAll; } });
116
+ Object.defineProperty(exports, "pick", { enumerable: true, get: function () { return objects_1.pick; } });
117
+ var time_1 = require("./utils/time");
118
+ Object.defineProperty(exports, "delay", { enumerable: true, get: function () { return time_1.delay; } });
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoD;AAA3C,mGAAA,SAAS,OAAA;AAAE,gGAAA,MAAM,OAAA;AAC1B,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,0EAGyC;AAFvC,gIAAA,sBAAsB,OAAA;AACtB,oIAAA,0BAA0B,OAAA;AAE5B,sDAAyE;AAAhE,gHAAA,YAAY,OAAoB;AAczC,qCAAqE;AAA5D,8GAAA,mBAAmB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAEjD,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,yCAOqB;AAHnB,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAGpB,mCAKkB;AAJhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,8GAAA,oBAAoB,OAAA;AAItB,iCAAgF;AAAjD,wGAAA,eAAe,OAAA;AAI9C,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,2DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,2DAAgF;AAAvE,qHAAA,oBAAoB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAE5C,sDAI8B;AAH5B,8GAAA,aAAa,OAAA;AAIf,8CAK0B;AAHxB,0GAAA,aAAa,OAAA;AASf,0CAOwB;AANtB,2GAAA,gBAAgB,OAAA;AAEhB,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,oGAAA,SAAS,OAAA;AACT,0GAAA,eAAe,OAAA;AAEjB,kDAK4B;AAJ1B,0GAAA,WAAW,OAAA;AAKb,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AAEzB,+CAA0E;AAAjE,qHAAA,uBAAuB,OAAA;AAChC,mDAG4B;AAF1B,yHAAA,yBAAyB,OAAA;AAI3B,oEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAC5B,wCAKwB;AADtB,sGAAA,aAAa,OAAA;AAEf,6EAA4E;AAAnE,8HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,4HAAA,oBAAoB,OAAA;AAC7B,6CAU6B;AAR3B,0GAAA,iBAAiB,OAAA;AAKjB,uHAAA,8BAA8B,OAAA;AAE9B,sHAAA,6BAA6B,OAAA;AAE/B,gEAA+D;AAAtD,sHAAA,iBAAiB,OAAA;AAE1B,mFAAkF;AAAzE,kIAAA,uBAAuB,OAAA;AAChC,iFAAgF;AAAvE,gIAAA,sBAAsB,OAAA;AAE/B,wCAA0E;AAAjE,6GAAA,oBAAoB,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AACjD,qEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AAMzB,2EAA2D;AAE3D,mCAAgD;AAAvC,iGAAA,UAAU,OAAA;AAAE,4FAAA,KAAK,OAAA;AAC1B,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,yCAKwB;AAJtB,oGAAA,UAAU,OAAA;AACV,6GAAA,mBAAmB,OAAA;AACnB,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAEhB,2CAA6E;AAApE,iGAAA,MAAM,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,+FAAA,IAAI,OAAA;AACnD,qCAAqC;AAA5B,6FAAA,KAAK,OAAA"}
@@ -0,0 +1,22 @@
1
+ import { Debugger } from 'debug';
2
+ import { ethers } from 'ethers';
3
+ import { IChainConnection } from '../types';
4
+ export declare class ChainConnection {
5
+ provider: ethers.providers.Provider;
6
+ signer?: ethers.Signer;
7
+ overrides: ethers.Overrides;
8
+ confirmations: number;
9
+ blockExplorerUrl: string;
10
+ apiPrefix: string;
11
+ logger: Debugger;
12
+ constructor(dc: IChainConnection);
13
+ getConnection: () => ethers.providers.Provider | ethers.Signer;
14
+ getAddress: () => Promise<string> | undefined;
15
+ getTxUrl(response: ethers.providers.TransactionResponse): string;
16
+ getAddressUrl(address?: string): Promise<string>;
17
+ getApiUrl(): string;
18
+ handleTx(tx: ethers.ContractTransaction | Promise<ethers.ContractTransaction>): Promise<ethers.ContractReceipt>;
19
+ estimateGas(tx: ethers.PopulatedTransaction, from?: string): Promise<ethers.BigNumber>;
20
+ sendTransaction(tx: ethers.PopulatedTransaction): Promise<ethers.ContractReceipt>;
21
+ }
22
+ //# sourceMappingURL=ChainConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainConnection.d.ts","sourceRoot":"","sources":["../../src/providers/ChainConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,eAAe;IAC1B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;gBAEL,EAAE,EAAE,gBAAgB;IAUhC,aAAa,QAAO,OAAO,SAAS,CAAC,QAAQ,GAAG,OAAO,MAAM,CAC9B;IAE/B,UAAU,QAAO,QAAQ,MAAM,CAAC,GAAG,SAAS,CAA8B;IAE1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,GAAG,MAAM;IAI1D,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtD,SAAS,IAAI,MAAM;IAOb,QAAQ,CACZ,EAAE,EAAE,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAU5B,WAAW,CACf,EAAE,EAAE,MAAM,CAAC,oBAAoB,EAC/B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IAQtB,eAAe,CACnB,EAAE,EAAE,MAAM,CAAC,oBAAoB,GAC9B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;CAOnC"}
@@ -0,0 +1,67 @@
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.ChainConnection = void 0;
13
+ const debug_1 = require("debug");
14
+ class ChainConnection {
15
+ constructor(dc) {
16
+ var _a, _b, _c, _d;
17
+ this.getConnection = () => { var _a; return (_a = this.signer) !== null && _a !== void 0 ? _a : this.provider; };
18
+ this.getAddress = () => { var _a; return (_a = this.signer) === null || _a === void 0 ? void 0 : _a.getAddress(); };
19
+ this.provider = dc.provider;
20
+ this.signer = dc.signer;
21
+ this.overrides = (_a = dc.overrides) !== null && _a !== void 0 ? _a : {};
22
+ this.confirmations = (_b = dc.confirmations) !== null && _b !== void 0 ? _b : 0;
23
+ this.blockExplorerUrl = (_c = dc.blockExplorerUrl) !== null && _c !== void 0 ? _c : 'UNKNOWN_EXPLORER';
24
+ this.apiPrefix = (_d = dc.apiPrefix) !== null && _d !== void 0 ? _d : 'api.';
25
+ this.logger = (0, debug_1.debug)('hyperlane:ChainConnection');
26
+ }
27
+ getTxUrl(response) {
28
+ return `${this.blockExplorerUrl}/tx/${response.hash}`;
29
+ }
30
+ getAddressUrl(address) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return `${this.blockExplorerUrl}/address/${address !== null && address !== void 0 ? address : (yield this.signer.getAddress())}`;
33
+ });
34
+ }
35
+ getApiUrl() {
36
+ const prefix = 'https://';
37
+ return `${prefix}${this.apiPrefix}${this.blockExplorerUrl.slice(prefix.length)}/api`;
38
+ }
39
+ handleTx(tx) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const response = yield tx;
42
+ this.logger(`Pending ${this.getTxUrl(response)} (waiting ${this.confirmations} blocks for confirmation)`);
43
+ return response.wait(this.confirmations);
44
+ });
45
+ }
46
+ estimateGas(tx, from) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ let txFrom = from;
49
+ if (!txFrom) {
50
+ txFrom = yield this.getAddress();
51
+ }
52
+ return this.provider.estimateGas(Object.assign(Object.assign({}, tx), { from: txFrom }));
53
+ });
54
+ }
55
+ sendTransaction(tx) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (!this.signer)
58
+ throw new Error('no signer found');
59
+ const from = yield this.signer.getAddress();
60
+ const response = yield this.signer.sendTransaction(Object.assign(Object.assign({}, tx), { from }));
61
+ this.logger(`sent tx ${response.hash}`);
62
+ return this.handleTx(response);
63
+ });
64
+ }
65
+ }
66
+ exports.ChainConnection = ChainConnection;
67
+ //# sourceMappingURL=ChainConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainConnection.js","sourceRoot":"","sources":["../../src/providers/ChainConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AAKxC,MAAa,eAAe;IAS1B,YAAY,EAAoB;;QAUhC,kBAAa,GAAG,GAA8C,EAAE,WAC9D,OAAA,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,QAAQ,CAAA,EAAA,CAAC;QAE/B,eAAU,GAAG,GAAgC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,EAAE,CAAA,EAAA,CAAC;QAZxE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAA,EAAE,CAAC,SAAS,mCAAI,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,MAAA,EAAE,CAAC,aAAa,mCAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,MAAA,EAAE,CAAC,gBAAgB,mCAAI,kBAAkB,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,MAAA,EAAE,CAAC,SAAS,mCAAI,MAAM,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAA,aAAK,EAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IAOD,QAAQ,CAAC,QAA8C;QACrD,OAAO,GAAG,IAAI,CAAC,gBAAgB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAEK,aAAa,CAAC,OAAgB;;YAClC,OAAO,GAAG,IAAI,CAAC,gBAAgB,YAC7B,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,MAAM,IAAI,CAAC,MAAO,CAAC,UAAU,EAAE,CAC7C,EAAE,CAAC;QACL,CAAC;KAAA;IAED,SAAS;QACP,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAC7D,MAAM,CAAC,MAAM,CACd,MAAM,CAAC;IACV,CAAC;IAEK,QAAQ,CACZ,EAAoE;;YAEpE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CACT,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAChC,IAAI,CAAC,aACP,2BAA2B,CAC5B,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEK,WAAW,CACf,EAA+B,EAC/B,IAAa;;YAEb,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAClC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,iCAAM,EAAE,KAAE,IAAI,EAAE,MAAM,IAAG,CAAC;QAC5D,CAAC;KAAA;IAEK,eAAe,CACnB,EAA+B;;YAE/B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,iCAAM,EAAE,KAAE,IAAI,IAAG,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,WAAW,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KAAA;CACF;AAzED,0CAyEC"}
@@ -0,0 +1,55 @@
1
+ import { ethers } from 'ethers';
2
+ import { ChainMap, ChainName, IChainConnection, Remotes } from '../types';
3
+ import { MultiGeneric } from '../utils/MultiGeneric';
4
+ import { ChainConnection } from './ChainConnection';
5
+ export declare class MultiProvider<Chain extends ChainName = ChainName> extends MultiGeneric<Chain, ChainConnection> {
6
+ constructor(chainConnectionConfigs: ChainMap<Chain, IChainConnection>);
7
+ /**
8
+ * Get chainConnection for a chain
9
+ * @throws if chain is invalid or has not been set
10
+ */
11
+ getChainConnection(chain: Chain): ChainConnection;
12
+ /**
13
+ * Get chainConnection for a chain
14
+ * @returns value or null if chain value has not been set
15
+ */
16
+ tryGetChainConnection(chain: Chain): ChainConnection | null;
17
+ /**
18
+ * Set value for a chain
19
+ * @throws if chain is invalid or has not been set
20
+ */
21
+ setChainConnection(chain: Chain, chainConnectionConfig: IChainConnection): ChainConnection;
22
+ /**
23
+ * Get provider for a chain
24
+ * @throws if chain is invalid or has not been set
25
+ */
26
+ getChainProvider(chain: Chain): ethers.providers.Provider;
27
+ /**
28
+ * Get provider for a chain
29
+ * @returns value or null if chain value has not been set
30
+ */
31
+ tryGetChainProvider(chain: Chain): ethers.providers.Provider | null;
32
+ /**
33
+ * Get signer for a chain
34
+ * @throws if chain is invalid or has not been set
35
+ */
36
+ getChainSigner(chain: Chain): ethers.Signer;
37
+ /**
38
+ * Get signer for a chain
39
+ * @returns value or null if chain value has not been set
40
+ */
41
+ tryGetChainSigner(chain: Chain): ethers.Signer | null;
42
+ /**
43
+ * Create a new MultiProvider which includes the provided chain connection config
44
+ */
45
+ extendWithChain<New extends Remotes<ChainName, Chain>>(chain: New, chainConnectionConfig: IChainConnection): MultiProvider<New & Chain>;
46
+ /**
47
+ * Create a new MultiProvider from the intersection
48
+ * of current's chains and the provided chain list
49
+ */
50
+ intersect<IntersectionChain extends Chain>(chains: ChainName[], throwIfNotSubset?: boolean): {
51
+ intersection: IntersectionChain[];
52
+ multiProvider: MultiProvider<IntersectionChain>;
53
+ };
54
+ }
55
+ //# sourceMappingURL=MultiProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,aAAa,CACxB,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC;gBAChC,sBAAsB,EAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IASrE;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAIjD;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI;IAI3D;;;OAGG;IACH,kBAAkB,CAChB,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,gBAAgB,GACtC,eAAe;IAKlB;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ;IAQzD;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI;IAInE;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM;IAQ3C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;IAIrD;;OAEG;IACH,eAAe,CAAC,GAAG,SAAS,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EACnD,KAAK,EAAE,GAAG,EACV,qBAAqB,EAAE,gBAAgB,GACtC,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC;IAQ7B;;;OAGG;IACH,SAAS,CAAC,iBAAiB,SAAS,KAAK,EACvC,MAAM,EAAE,SAAS,EAAE,EACnB,gBAAgB,UAAQ,GACvB;QACD,YAAY,EAAE,iBAAiB,EAAE,CAAC;QAClC,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACjD;CAkCF"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiProvider = void 0;
4
+ const MultiGeneric_1 = require("../utils/MultiGeneric");
5
+ const objects_1 = require("../utils/objects");
6
+ const ChainConnection_1 = require("./ChainConnection");
7
+ class MultiProvider extends MultiGeneric_1.MultiGeneric {
8
+ constructor(chainConnectionConfigs) {
9
+ super((0, objects_1.objMap)(chainConnectionConfigs, (_, connection) => new ChainConnection_1.ChainConnection(connection)));
10
+ }
11
+ /**
12
+ * Get chainConnection for a chain
13
+ * @throws if chain is invalid or has not been set
14
+ */
15
+ getChainConnection(chain) {
16
+ return this.get(chain);
17
+ }
18
+ /**
19
+ * Get chainConnection for a chain
20
+ * @returns value or null if chain value has not been set
21
+ */
22
+ tryGetChainConnection(chain) {
23
+ return this.tryGet(chain);
24
+ }
25
+ /**
26
+ * Set value for a chain
27
+ * @throws if chain is invalid or has not been set
28
+ */
29
+ setChainConnection(chain, chainConnectionConfig) {
30
+ const connection = new ChainConnection_1.ChainConnection(chainConnectionConfig);
31
+ return this.set(chain, connection);
32
+ }
33
+ /**
34
+ * Get provider for a chain
35
+ * @throws if chain is invalid or has not been set
36
+ */
37
+ getChainProvider(chain) {
38
+ const chainConnection = this.get(chain);
39
+ if (!chainConnection.provider) {
40
+ throw new Error(`No provider set for chain ${chain}`);
41
+ }
42
+ return chainConnection.provider;
43
+ }
44
+ /**
45
+ * Get provider for a chain
46
+ * @returns value or null if chain value has not been set
47
+ */
48
+ tryGetChainProvider(chain) {
49
+ var _a, _b;
50
+ return (_b = (_a = this.tryGet(chain)) === null || _a === void 0 ? void 0 : _a.provider) !== null && _b !== void 0 ? _b : null;
51
+ }
52
+ /**
53
+ * Get signer for a chain
54
+ * @throws if chain is invalid or has not been set
55
+ */
56
+ getChainSigner(chain) {
57
+ const chainConnection = this.get(chain);
58
+ if (!chainConnection.signer) {
59
+ throw new Error(`No signer set for chain ${chain}`);
60
+ }
61
+ return chainConnection.signer;
62
+ }
63
+ /**
64
+ * Get signer for a chain
65
+ * @returns value or null if chain value has not been set
66
+ */
67
+ tryGetChainSigner(chain) {
68
+ var _a, _b;
69
+ return (_b = (_a = this.tryGet(chain)) === null || _a === void 0 ? void 0 : _a.signer) !== null && _b !== void 0 ? _b : null;
70
+ }
71
+ /**
72
+ * Create a new MultiProvider which includes the provided chain connection config
73
+ */
74
+ extendWithChain(chain, chainConnectionConfig) {
75
+ const connection = new ChainConnection_1.ChainConnection(chainConnectionConfig);
76
+ return new MultiProvider(Object.assign(Object.assign({}, this.chainMap), { [chain]: connection }));
77
+ }
78
+ /**
79
+ * Create a new MultiProvider from the intersection
80
+ * of current's chains and the provided chain list
81
+ */
82
+ intersect(chains, throwIfNotSubset = false) {
83
+ const ownChains = this.chains();
84
+ const intersection = [];
85
+ for (const chain of chains) {
86
+ // @ts-ignore
87
+ if (ownChains.includes(chain)) {
88
+ // @ts-ignore
89
+ intersection.push(chain);
90
+ }
91
+ else {
92
+ if (throwIfNotSubset) {
93
+ throw new Error(`MultiProvider#intersect: chains specified ${chain}, but ownChains did not include it`);
94
+ }
95
+ }
96
+ }
97
+ if (!intersection.length) {
98
+ throw new Error(`No chains shared between MultiProvider and list`);
99
+ }
100
+ const intersectionChainMap = (0, objects_1.pick)(this.chainMap, intersection);
101
+ const multiProvider = new MultiProvider(Object.assign({}, intersectionChainMap));
102
+ return { intersection, multiProvider };
103
+ }
104
+ }
105
+ exports.MultiProvider = MultiProvider;
106
+ //# sourceMappingURL=MultiProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ethers } from 'ethers';
2
+ export declare type RetryOptions = {
3
+ maxRequests: number;
4
+ baseRetryMs: number;
5
+ };
6
+ export declare class RetryProvider extends ethers.providers.BaseProvider {
7
+ readonly provider: ethers.providers.BaseProvider;
8
+ readonly retryOptions: RetryOptions;
9
+ constructor(provider: ethers.providers.BaseProvider, retryOptions: RetryOptions);
10
+ perform(method: string, params: any): Promise<any>;
11
+ }
12
+ export declare class RetryJsonRpcProvider extends ethers.providers.JsonRpcProvider {
13
+ readonly provider: ethers.providers.JsonRpcProvider;
14
+ readonly retryOptions: RetryOptions;
15
+ constructor(provider: ethers.providers.JsonRpcProvider, retryOptions: RetryOptions);
16
+ send(method: string, params: Array<any>): Promise<any>;
17
+ }
18
+ //# sourceMappingURL=RetryProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RetryProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,oBAAY,YAAY,GAAG;IAEzB,WAAW,EAAE,MAAM,CAAC;IAGpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAM,CAAC,SAAS,CAAC,YAAY;IAE5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EACvC,YAAY,EAAE,YAAY;IAYrC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAOnD;AAGD,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,SAAS,CAAC,eAAe;IAEtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe;IACnD,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,EAC1C,YAAY,EAAE,YAAY;IAS/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAO7D"}
@@ -0,0 +1,49 @@
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.RetryJsonRpcProvider = exports.RetryProvider = void 0;
13
+ // RetryProvider
14
+ //
15
+ // Mostly taken from the removed version that was in ethers.js
16
+ // See: https://github.com/ethers-io/ethers.js/discussions/3006
17
+ const ethers_1 = require("ethers");
18
+ const utils_1 = require("@hyperlane-xyz/utils");
19
+ class RetryProvider extends ethers_1.ethers.providers.BaseProvider {
20
+ constructor(provider, retryOptions) {
21
+ super(provider.getNetwork());
22
+ this.provider = provider;
23
+ this.retryOptions = retryOptions;
24
+ utils_1.utils.assert(retryOptions.maxRequests >= 1, 'RetryOptions.maxRequests must be >= 1');
25
+ ethers_1.ethers.utils.defineReadOnly(this, 'provider', provider);
26
+ ethers_1.ethers.utils.defineReadOnly(this, 'retryOptions', retryOptions);
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
29
+ perform(method, params) {
30
+ return utils_1.utils.retryAsync(() => this.provider.perform(method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
31
+ }
32
+ }
33
+ exports.RetryProvider = RetryProvider;
34
+ // Need this separate class for JsonRpcProvider to still expose `getSigner`, so will retry at the request level
35
+ class RetryJsonRpcProvider extends ethers_1.ethers.providers.JsonRpcProvider {
36
+ constructor(provider, retryOptions) {
37
+ super(provider.connection, provider.network);
38
+ this.provider = provider;
39
+ this.retryOptions = retryOptions;
40
+ utils_1.utils.assert(retryOptions.maxRequests >= 1, 'RetryOptions.maxRequests must be >= 1');
41
+ }
42
+ send(method, params) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return utils_1.utils.retryAsync(() => __awaiter(this, void 0, void 0, function* () { return this.provider.send(method, params); }), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
45
+ });
46
+ }
47
+ }
48
+ exports.RetryJsonRpcProvider = RetryJsonRpcProvider;
49
+ //# sourceMappingURL=RetryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gBAAgB;AAChB,EAAE;AACF,8DAA8D;AAC9D,+DAA+D;AAC/D,mCAAgC;AAEhC,gDAA6C;AAU7C,MAAa,aAAc,SAAQ,eAAM,CAAC,SAAS,CAAC,YAAY;IAC9D,YACW,QAAuC,EACvC,YAA0B;QAEnC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAHpB,aAAQ,GAAR,QAAQ,CAA+B;QACvC,iBAAY,GAAZ,YAAY,CAAc;QAGnC,aAAK,CAAC,MAAM,CACV,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,MAAc,EAAE,MAAW;QACjC,OAAO,aAAK,CAAC,UAAU,CACrB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;IACJ,CAAC;CACF;AAtBD,sCAsBC;AAED,+GAA+G;AAC/G,MAAa,oBAAqB,SAAQ,eAAM,CAAC,SAAS,CAAC,eAAe;IACxE,YACW,QAA0C,EAC1C,YAA0B;QAEnC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAHpC,aAAQ,GAAR,QAAQ,CAAkC;QAC1C,iBAAY,GAAZ,YAAY,CAAc;QAGnC,aAAK,CAAC,MAAM,CACV,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAEK,IAAI,CAAC,MAAc,EAAE,MAAkB;;YAC3C,OAAO,aAAK,CAAC,UAAU,CACrB,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA,GAAA,EAC9C,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;QACJ,CAAC;KAAA;CACF;AAnBD,oDAmBC"}
@@ -0,0 +1,23 @@
1
+ import { Contract } from 'ethers';
2
+ import type { types } from '@hyperlane-xyz/utils';
3
+ import { Connection } from './types';
4
+ export declare enum ProxyKind {
5
+ UpgradeBeacon = "UpgradeBeacon"
6
+ }
7
+ export interface ProxyAddresses<Kind extends ProxyKind> {
8
+ kind: Kind;
9
+ proxy: types.Address;
10
+ implementation: types.Address;
11
+ }
12
+ export declare function isProxyAddresses(addresses: unknown): addresses is ProxyAddresses<any>;
13
+ export interface BeaconProxyAddresses extends ProxyAddresses<ProxyKind.UpgradeBeacon> {
14
+ beacon: types.Address;
15
+ }
16
+ export declare class ProxiedContract<C extends Contract, A extends ProxyAddresses<any>> {
17
+ readonly contract: C;
18
+ readonly addresses: A;
19
+ constructor(contract: C, addresses: A);
20
+ get address(): string;
21
+ connect(connection: Connection): ProxiedContract<C, A>;
22
+ }
23
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,oBAAY,SAAS;IACnB,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,SAAS;IACpD,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,GACjB,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,CASlC;AAED,MAAM,WAAW,oBACf,SAAQ,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;CACvB;AAED,qBAAa,eAAe,CAC1B,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC;aAED,QAAQ,EAAE,CAAC;aAAkB,SAAS,EAAE,CAAC;gBAAzC,QAAQ,EAAE,CAAC,EAAkB,SAAS,EAAE,CAAC;IAErE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CAMvD"}
package/dist/proxy.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxiedContract = exports.isProxyAddresses = exports.ProxyKind = void 0;
4
+ var ProxyKind;
5
+ (function (ProxyKind) {
6
+ ProxyKind["UpgradeBeacon"] = "UpgradeBeacon";
7
+ })(ProxyKind = exports.ProxyKind || (exports.ProxyKind = {}));
8
+ function isProxyAddresses(addresses) {
9
+ return (addresses !== null &&
10
+ typeof addresses === 'object' &&
11
+ 'proxy' in addresses &&
12
+ 'implementation' in addresses &&
13
+ 'kind' in addresses &&
14
+ Object.keys(ProxyKind).includes(addresses.kind));
15
+ }
16
+ exports.isProxyAddresses = isProxyAddresses;
17
+ class ProxiedContract {
18
+ constructor(contract, addresses) {
19
+ this.contract = contract;
20
+ this.addresses = addresses;
21
+ }
22
+ get address() {
23
+ return this.contract.address;
24
+ }
25
+ connect(connection) {
26
+ return new ProxiedContract(this.contract.connect(connection), this.addresses);
27
+ }
28
+ }
29
+ exports.ProxiedContract = ProxiedContract;
30
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;AAMA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,4CAA+B,CAAA;AACjC,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAQD,SAAgB,gBAAgB,CAC9B,SAAkB;IAElB,OAAO,CACL,SAAS,KAAK,IAAI;QAClB,OAAO,SAAS,KAAK,QAAQ;QAC7B,OAAO,IAAI,SAAS;QACpB,gBAAgB,IAAI,SAAS;QAC7B,MAAM,IAAI,SAAS;QACnB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAE,SAAiB,CAAC,IAAI,CAAC,CACzD,CAAC;AACJ,CAAC;AAXD,4CAWC;AAOD,MAAa,eAAe;IAI1B,YAA4B,QAAW,EAAkB,SAAY;QAAzC,aAAQ,GAAR,QAAQ,CAAG;QAAkB,cAAS,GAAT,SAAS,CAAG;IAAG,CAAC;IAEzE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,UAAsB;QAC5B,OAAO,IAAI,eAAe,CACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAM,EACtC,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AAhBD,0CAgBC"}
@@ -0,0 +1,19 @@
1
+ import type { ethers } from 'ethers';
2
+ import { Router } from '@hyperlane-xyz/app';
3
+ import type { types } from '@hyperlane-xyz/utils';
4
+ import { HyperlaneContracts, HyperlaneFactories } from './contracts';
5
+ export declare type RouterContracts<RouterContract extends Router = Router> = HyperlaneContracts & {
6
+ router: RouterContract;
7
+ };
8
+ declare type RouterFactory<RouterContract extends Router = Router> = ethers.ContractFactory & {
9
+ deploy: (...args: any[]) => Promise<RouterContract>;
10
+ };
11
+ export declare type RouterFactories<RouterContract extends Router = Router> = HyperlaneFactories & {
12
+ router: RouterFactory<RouterContract>;
13
+ };
14
+ export declare type ConnectionClientConfig = {
15
+ connectionManager: types.Address;
16
+ interchainGasPaymaster: types.Address;
17
+ };
18
+ export { Router } from '@hyperlane-xyz/app';
19
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,oBAAY,eAAe,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IAChE,kBAAkB,GAAG;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEJ,aAAK,aAAa,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IACvD,MAAM,CAAC,eAAe,GAAG;IACvB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CACrD,CAAC;AAEJ,oBAAY,eAAe,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IAChE,kBAAkB,GAAG;IACnB,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACvC,CAAC;AAEJ,oBAAY,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;CACvC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC"}