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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +7 -1
  2. package/dist/{HyperlaneApp.d.ts → app/HyperlaneApp.d.ts} +4 -4
  3. package/dist/app/HyperlaneApp.d.ts.map +1 -0
  4. package/dist/{HyperlaneApp.js → app/HyperlaneApp.js} +2 -2
  5. package/dist/app/HyperlaneApp.js.map +1 -0
  6. package/dist/app/MultiProtocolApp.d.ts +51 -0
  7. package/dist/app/MultiProtocolApp.d.ts.map +1 -0
  8. package/dist/app/MultiProtocolApp.js +80 -0
  9. package/dist/app/MultiProtocolApp.js.map +1 -0
  10. package/dist/app/MultiProtocolApp.test.d.ts +2 -0
  11. package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
  12. package/dist/app/MultiProtocolApp.test.js +19 -0
  13. package/dist/app/MultiProtocolApp.test.js.map +1 -0
  14. package/dist/consts/agentStartBlocks.d.ts +3 -0
  15. package/dist/consts/agentStartBlocks.d.ts.map +1 -0
  16. package/dist/consts/agentStartBlocks.js +28 -0
  17. package/dist/consts/agentStartBlocks.js.map +1 -0
  18. package/dist/consts/bytecode.js +1 -1
  19. package/dist/consts/bytecode.js.map +1 -1
  20. package/dist/consts/chainMetadata.d.ts +2 -58
  21. package/dist/consts/chainMetadata.d.ts.map +1 -1
  22. package/dist/consts/chainMetadata.js +1 -19
  23. package/dist/consts/chainMetadata.js.map +1 -1
  24. package/dist/consts/chains.d.ts +2 -3
  25. package/dist/consts/chains.d.ts.map +1 -1
  26. package/dist/consts/chains.js +2 -3
  27. package/dist/consts/chains.js.map +1 -1
  28. package/dist/consts/environments/index.d.ts +3 -3
  29. package/dist/consts/environments/index.d.ts.map +1 -1
  30. package/dist/consts/environments/index.js.map +1 -1
  31. package/dist/{contracts.d.ts → contracts/contracts.d.ts} +3 -15
  32. package/dist/contracts/contracts.d.ts.map +1 -0
  33. package/dist/{contracts.js → contracts/contracts.js} +12 -23
  34. package/dist/contracts/contracts.js.map +1 -0
  35. package/dist/contracts/types.d.ts +18 -0
  36. package/dist/contracts/types.d.ts.map +1 -0
  37. package/dist/contracts/types.js +3 -0
  38. package/dist/contracts/types.js.map +1 -0
  39. package/dist/core/CoreDeployer.hardhat-test.js +33 -42
  40. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  41. package/dist/core/HyperlaneCore.d.ts +5 -5
  42. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  43. package/dist/core/HyperlaneCore.js +15 -28
  44. package/dist/core/HyperlaneCore.js.map +1 -1
  45. package/dist/core/HyperlaneCore.test.js +4 -13
  46. package/dist/core/HyperlaneCore.test.js.map +1 -1
  47. package/dist/core/HyperlaneCoreChecker.js +80 -99
  48. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  49. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
  50. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  51. package/dist/core/HyperlaneCoreDeployer.js +45 -62
  52. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  53. package/dist/core/TestCoreApp.d.ts +1 -1
  54. package/dist/core/TestCoreApp.d.ts.map +1 -1
  55. package/dist/core/TestCoreApp.js +35 -45
  56. package/dist/core/TestCoreApp.js.map +1 -1
  57. package/dist/core/TestCoreDeployer.d.ts +1 -1
  58. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  59. package/dist/core/TestCoreDeployer.js +14 -27
  60. package/dist/core/TestCoreDeployer.js.map +1 -1
  61. package/dist/core/contracts.d.ts +1 -1
  62. package/dist/core/contracts.d.ts.map +1 -1
  63. package/dist/core/events.d.ts +1 -1
  64. package/dist/core/events.d.ts.map +1 -1
  65. package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
  66. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  67. package/dist/core/types.d.ts +1 -1
  68. package/dist/core/types.d.ts.map +1 -1
  69. package/dist/core/types.js +2 -2
  70. package/dist/core/types.js.map +1 -1
  71. package/dist/deploy/HyperlaneAppChecker.d.ts +1 -1
  72. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  73. package/dist/deploy/HyperlaneAppChecker.js +99 -123
  74. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  75. package/dist/deploy/HyperlaneDeployer.d.ts +1 -1
  76. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  77. package/dist/deploy/HyperlaneDeployer.js +176 -216
  78. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  79. package/dist/deploy/proxy.d.ts +1 -1
  80. package/dist/deploy/proxy.d.ts.map +1 -1
  81. package/dist/deploy/proxy.js +11 -26
  82. package/dist/deploy/proxy.js.map +1 -1
  83. package/dist/deploy/types.js +1 -1
  84. package/dist/deploy/types.js.map +1 -1
  85. package/dist/deploy/verify/ContractVerifier.js +122 -131
  86. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  87. package/dist/deploy/verify/types.d.ts +3 -3
  88. package/dist/deploy/verify/types.d.ts.map +1 -1
  89. package/dist/gas/HyperlaneIgp.d.ts +2 -2
  90. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  91. package/dist/gas/HyperlaneIgp.js +2 -2
  92. package/dist/gas/HyperlaneIgp.js.map +1 -1
  93. package/dist/gas/HyperlaneIgpChecker.js +101 -123
  94. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  95. package/dist/gas/HyperlaneIgpDeployer.d.ts +1 -1
  96. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  97. package/dist/gas/HyperlaneIgpDeployer.js +70 -89
  98. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  99. package/dist/gas/contracts.d.ts +1 -1
  100. package/dist/gas/contracts.d.ts.map +1 -1
  101. package/dist/gas/contracts.js +6 -1
  102. package/dist/gas/contracts.js.map +1 -1
  103. package/dist/gas/token-prices.d.ts +6 -60
  104. package/dist/gas/token-prices.d.ts.map +1 -1
  105. package/dist/gas/token-prices.js +37 -54
  106. package/dist/gas/token-prices.js.map +1 -1
  107. package/dist/gas/token-prices.test.js +11 -20
  108. package/dist/gas/token-prices.test.js.map +1 -1
  109. package/dist/gas/types.d.ts +2 -2
  110. package/dist/gas/types.d.ts.map +1 -1
  111. package/dist/gas/types.js +2 -2
  112. package/dist/gas/types.js.map +1 -1
  113. package/dist/hook/HyperlaneHookDeployer.d.ts +1 -1
  114. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  115. package/dist/hook/HyperlaneHookDeployer.js +69 -88
  116. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  117. package/dist/hook/contracts.d.ts +4 -4
  118. package/dist/hook/contracts.d.ts.map +1 -1
  119. package/dist/hook/contracts.js +5 -1
  120. package/dist/hook/contracts.js.map +1 -1
  121. package/dist/hook/types.d.ts +3 -3
  122. package/dist/hook/types.d.ts.map +1 -1
  123. package/dist/hook/types.js +1 -1
  124. package/dist/hook/types.js.map +1 -1
  125. package/dist/index.d.ts +13 -6
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +30 -5
  128. package/dist/index.js.map +1 -1
  129. package/dist/ism/HyperlaneIsmFactory.d.ts +2 -2
  130. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  131. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
  132. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  133. package/dist/ism/HyperlaneIsmFactory.js +234 -256
  134. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  135. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +1 -1
  136. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
  137. package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
  138. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  139. package/dist/ism/contracts.d.ts +1 -1
  140. package/dist/ism/contracts.d.ts.map +1 -1
  141. package/dist/ism/types.d.ts +5 -5
  142. package/dist/ism/types.d.ts.map +1 -1
  143. package/dist/ism/types.js +1 -1
  144. package/dist/ism/types.js.map +1 -1
  145. package/dist/metadata/ChainMetadataManager.d.ts +130 -0
  146. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
  147. package/dist/metadata/ChainMetadataManager.js +240 -0
  148. package/dist/metadata/ChainMetadataManager.js.map +1 -0
  149. package/dist/metadata/agentConfig.d.ts +4 -4
  150. package/dist/metadata/agentConfig.d.ts.map +1 -1
  151. package/dist/metadata/agentConfig.js +15 -6
  152. package/dist/metadata/agentConfig.js.map +1 -1
  153. package/dist/metadata/chainMetadata.test.js +27 -9
  154. package/dist/metadata/chainMetadata.test.js.map +1 -1
  155. package/dist/metadata/chainMetadataTypes.d.ts +2 -2
  156. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  157. package/dist/metadata/chainMetadataTypes.js +2 -3
  158. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  159. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  160. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  161. package/dist/middleware/account/InterchainAccount.d.ts +1 -1
  162. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  163. package/dist/middleware/account/InterchainAccount.js +1 -1
  164. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  165. package/dist/middleware/account/InterchainAccountChecker.js +4 -1
  166. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  167. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -2
  168. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  169. package/dist/middleware/account/InterchainAccountDeployer.js +28 -41
  170. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  171. package/dist/middleware/account/accounts.hardhat-test.js +21 -30
  172. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  173. package/dist/middleware/account/contracts.d.ts +1 -1
  174. package/dist/middleware/account/contracts.d.ts.map +1 -1
  175. package/dist/middleware/account/contracts.js +5 -1
  176. package/dist/middleware/account/contracts.js.map +1 -1
  177. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +2 -2
  178. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  179. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +130 -152
  180. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  181. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +3 -3
  182. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  183. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -110
  184. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  185. package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
  186. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  187. package/dist/middleware/liquidity-layer/contracts.js +6 -1
  188. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  189. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
  190. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  191. package/dist/middleware/query/InterchainQuery.d.ts +1 -1
  192. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  193. package/dist/middleware/query/InterchainQuery.js +1 -1
  194. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  195. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  196. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  197. package/dist/middleware/query/InterchainQueryDeployer.js +13 -27
  198. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  199. package/dist/middleware/query/contracts.d.ts +1 -1
  200. package/dist/middleware/query/contracts.d.ts.map +1 -1
  201. package/dist/middleware/query/contracts.js +4 -1
  202. package/dist/middleware/query/contracts.js.map +1 -1
  203. package/dist/middleware/query/queries.hardhat-test.js +23 -32
  204. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  205. package/dist/providers/MultiProtocolProvider.d.ts +39 -0
  206. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
  207. package/dist/providers/MultiProtocolProvider.js +105 -0
  208. package/dist/providers/MultiProtocolProvider.js.map +1 -0
  209. package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
  210. package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
  211. package/dist/providers/MultiProtocolProvider.test.js +24 -0
  212. package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
  213. package/dist/providers/MultiProvider.d.ts +20 -118
  214. package/dist/providers/MultiProvider.d.ts.map +1 -1
  215. package/dist/providers/MultiProvider.js +69 -300
  216. package/dist/providers/MultiProvider.js.map +1 -1
  217. package/dist/providers/ProviderType.d.ts +71 -0
  218. package/dist/providers/ProviderType.d.ts.map +1 -0
  219. package/dist/providers/ProviderType.js +11 -0
  220. package/dist/providers/ProviderType.js.map +1 -0
  221. package/dist/providers/RetryProvider.d.ts +1 -1
  222. package/dist/providers/RetryProvider.d.ts.map +1 -1
  223. package/dist/providers/RetryProvider.js +2 -16
  224. package/dist/providers/RetryProvider.js.map +1 -1
  225. package/dist/providers/providerBuilders.d.ts +17 -0
  226. package/dist/providers/providerBuilders.d.ts.map +1 -0
  227. package/dist/providers/providerBuilders.js +97 -0
  228. package/dist/providers/providerBuilders.js.map +1 -0
  229. package/dist/router/GasRouterDeployer.d.ts +1 -1
  230. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  231. package/dist/router/GasRouterDeployer.js +18 -32
  232. package/dist/router/GasRouterDeployer.js.map +1 -1
  233. package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
  234. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  235. package/dist/router/HyperlaneRouterChecker.js +37 -55
  236. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  237. package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
  238. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  239. package/dist/router/HyperlaneRouterDeployer.js +87 -115
  240. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  241. package/dist/router/MultiProtocolRouterApps.d.ts +29 -0
  242. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
  243. package/dist/router/MultiProtocolRouterApps.js +43 -0
  244. package/dist/router/MultiProtocolRouterApps.js.map +1 -0
  245. package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
  246. package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
  247. package/dist/router/MultiProtocolRouterApps.test.js +20 -0
  248. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
  249. package/dist/router/ProxiedRouterChecker.js +14 -34
  250. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  251. package/dist/router/ProxiedRouterDeployer.d.ts +1 -1
  252. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  253. package/dist/router/ProxiedRouterDeployer.js +24 -38
  254. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  255. package/dist/router/RouterApps.d.ts +4 -4
  256. package/dist/router/RouterApps.d.ts.map +1 -1
  257. package/dist/router/RouterApps.js +8 -18
  258. package/dist/router/RouterApps.js.map +1 -1
  259. package/dist/router/adapters/EvmRouterAdapter.d.ts +25 -0
  260. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
  261. package/dist/router/adapters/EvmRouterAdapter.js +50 -0
  262. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
  263. package/dist/router/adapters/SealevelRouterAdapter.d.ts +50 -0
  264. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
  265. package/dist/router/adapters/SealevelRouterAdapter.js +132 -0
  266. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
  267. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +2 -0
  268. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +1 -0
  269. package/dist/router/adapters/SealevelRouterAdapter.test.js +21 -0
  270. package/dist/router/adapters/SealevelRouterAdapter.test.js.map +1 -0
  271. package/dist/router/adapters/types.d.ts +18 -0
  272. package/dist/router/adapters/types.d.ts.map +1 -0
  273. package/dist/router/adapters/types.js +3 -0
  274. package/dist/router/adapters/types.js.map +1 -0
  275. package/dist/router/types.d.ts +12 -9
  276. package/dist/router/types.d.ts.map +1 -1
  277. package/dist/router/types.js +1 -1
  278. package/dist/router/types.js.map +1 -1
  279. package/dist/test/testUtils.d.ts +1 -1
  280. package/dist/test/testUtils.d.ts.map +1 -1
  281. package/dist/test/testUtils.js +12 -23
  282. package/dist/test/testUtils.js.map +1 -1
  283. package/dist/types.d.ts +5 -5
  284. package/dist/types.d.ts.map +1 -1
  285. package/dist/utils/MultiGeneric.d.ts +1 -1
  286. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  287. package/dist/utils/MultiGeneric.js +2 -4
  288. package/dist/utils/MultiGeneric.js.map +1 -1
  289. package/dist/utils/fetch.js +8 -16
  290. package/dist/utils/fetch.js.map +1 -1
  291. package/dist/utils/wagmi.js +1 -2
  292. package/dist/utils/wagmi.js.map +1 -1
  293. package/package.json +10 -7
  294. package/dist/HyperlaneApp.d.ts.map +0 -1
  295. package/dist/HyperlaneApp.js.map +0 -1
  296. package/dist/contracts.d.ts.map +0 -1
  297. package/dist/contracts.js.map +0 -1
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const chai_1 = require("chai");
13
4
  const hardhat_1 = require("hardhat");
@@ -22,7 +13,7 @@ const testUtils_1 = require("../../test/testUtils");
22
13
  const InterchainQuery_1 = require("./InterchainQuery");
23
14
  const InterchainQueryChecker_1 = require("./InterchainQueryChecker");
24
15
  const InterchainQueryDeployer_1 = require("./InterchainQueryDeployer");
25
- describe('InterchainQueryRouter', () => __awaiter(void 0, void 0, void 0, function* () {
16
+ describe('InterchainQueryRouter', async () => {
26
17
  const localChain = chains_1.Chains.test1;
27
18
  const remoteChain = chains_1.Chains.test2;
28
19
  const localDomain = chainMetadata_1.chainMetadata[localChain].chainId;
@@ -35,48 +26,48 @@ describe('InterchainQueryRouter', () => __awaiter(void 0, void 0, void 0, functi
35
26
  let coreApp;
36
27
  let config;
37
28
  let testQuery;
38
- before(() => __awaiter(void 0, void 0, void 0, function* () {
39
- [signer] = yield hardhat_1.ethers.getSigners();
29
+ before(async () => {
30
+ [signer] = await hardhat_1.ethers.getSigners();
40
31
  multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
41
32
  const coreDeployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
42
- const coreContractsMaps = yield coreDeployer.deploy();
33
+ const coreContractsMaps = await coreDeployer.deploy();
43
34
  coreApp = new TestCoreApp_1.TestCoreApp(coreContractsMaps, multiProvider);
44
- config = yield (0, testUtils_1.deployTestIgpsAndGetRouterConfig)(multiProvider, signer.address, coreContractsMaps);
45
- }));
46
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
35
+ config = await (0, testUtils_1.deployTestIgpsAndGetRouterConfig)(multiProvider, signer.address, coreContractsMaps);
36
+ });
37
+ beforeEach(async () => {
47
38
  const InterchainQuery = new InterchainQueryDeployer_1.InterchainQueryDeployer(multiProvider);
48
- contracts = yield InterchainQuery.deploy(config);
39
+ contracts = await InterchainQuery.deploy(config);
49
40
  local = contracts[localChain].interchainQueryRouter;
50
41
  remote = contracts[remoteChain].interchainQueryRouter;
51
- testQuery = yield new core_1.TestQuery__factory(signer).deploy(local.address);
52
- }));
53
- it('checks', () => __awaiter(void 0, void 0, void 0, function* () {
42
+ testQuery = await new core_1.TestQuery__factory(signer).deploy(local.address);
43
+ });
44
+ it('checks', async () => {
54
45
  const app = new InterchainQuery_1.InterchainQuery(contracts, multiProvider);
55
46
  const checker = new InterchainQueryChecker_1.InterchainQueryChecker(multiProvider, app, config);
56
- yield checker.check();
47
+ await checker.check();
57
48
  (0, chai_1.expect)(checker.violations.length).to.eql(0);
58
- }));
59
- it('completes query round trip and invokes callback', () => __awaiter(void 0, void 0, void 0, function* () {
49
+ });
50
+ it('completes query round trip and invokes callback', async () => {
60
51
  const secret = 123;
61
52
  const sender = testQuery.address;
62
53
  const bytes32sender = (0, utils_1.addressToBytes32)(sender);
63
- const expectedOwner = yield remote.owner();
64
- yield (0, chai_1.expect)(testQuery.queryRouterOwner(remoteDomain, secret))
54
+ const expectedOwner = await remote.owner();
55
+ await (0, chai_1.expect)(testQuery.queryRouterOwner(remoteDomain, secret))
65
56
  .to.emit(local, 'QueryDispatched')
66
57
  .withArgs(remoteDomain, sender);
67
- const result = yield coreApp.processOutboundMessages(localChain);
58
+ const result = await coreApp.processOutboundMessages(localChain);
68
59
  const response = result.get(remoteChain)[0];
69
- yield (0, chai_1.expect)(response)
60
+ await (0, chai_1.expect)(response)
70
61
  .to.emit(remote, 'QueryExecuted')
71
62
  .withArgs(localDomain, bytes32sender);
72
- const result2 = yield coreApp.processOutboundMessages(remoteChain);
63
+ const result2 = await coreApp.processOutboundMessages(remoteChain);
73
64
  const response2 = result2.get(localChain)[0];
74
- yield (0, chai_1.expect)(response2)
65
+ await (0, chai_1.expect)(response2)
75
66
  .to.emit(local, 'QueryResolved')
76
67
  .withArgs(remoteDomain, sender);
77
- yield (0, chai_1.expect)(response2)
68
+ await (0, chai_1.expect)(response2)
78
69
  .to.emit(testQuery, 'Owner')
79
70
  .withArgs(secret, expectedOwner);
80
- }));
81
- }));
71
+ });
72
+ });
82
73
  //# sourceMappingURL=queries.hardhat-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../../src/middleware/query/queries.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../../src/middleware/query/queries.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Debugger } from 'debug';
2
+ import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
3
+ import type { ChainMetadata } from '../metadata/chainMetadataTypes';
4
+ import type { ChainMap, ChainName } from '../types';
5
+ import type { MultiProvider } from './MultiProvider';
6
+ import { EthersV5Provider, ProviderMap, ProviderType, SolanaWeb3Provider, TypedProvider, ViemProvider } from './ProviderType';
7
+ import { ProviderBuilderMap } from './providerBuilders';
8
+ export interface MultiProtocolProviderOptions {
9
+ loggerName?: string;
10
+ providerBuilders?: Partial<ProviderBuilderMap>;
11
+ }
12
+ /**
13
+ * A version of MultiProvider that can support different
14
+ * provider types across different protocol types.
15
+ *
16
+ * This uses a different interface for provider/signer related methods
17
+ * so it isn't strictly backwards compatible with MultiProvider.
18
+ *
19
+ * Unlike MultiProvider, this class does not support signer/signing methods (yet).
20
+ * @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
21
+ */
22
+ export declare class MultiProtocolProvider<MetaExt = {}> extends ChainMetadataManager<MetaExt> {
23
+ protected readonly options: MultiProtocolProviderOptions;
24
+ protected readonly providers: ChainMap<ProviderMap<TypedProvider>>;
25
+ protected signers: ChainMap<ProviderMap<never>>;
26
+ protected readonly logger: Debugger;
27
+ protected readonly providerBuilders: Partial<ProviderBuilderMap>;
28
+ constructor(chainMetadata?: ChainMap<ChainMetadata<MetaExt>>, options?: MultiProtocolProviderOptions);
29
+ static fromMultiProvider<MetaExt = {}>(mp: MultiProvider<MetaExt>, options?: MultiProtocolProviderOptions): MultiProtocolProvider<MetaExt>;
30
+ extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MultiProtocolProvider<MetaExt & NewExt>;
31
+ tryGetProvider(chainNameOrId: ChainName | number, type: ProviderType): TypedProvider | null;
32
+ getProvider(chainNameOrId: ChainName | number, type: ProviderType): TypedProvider;
33
+ getEthersV5Provider(chainNameOrId: ChainName | number): EthersV5Provider['provider'];
34
+ getViemProvider(chainNameOrId: ChainName | number): ViemProvider['provider'];
35
+ getSolanaWeb3Provider(chainNameOrId: ChainName | number): SolanaWeb3Provider['provider'];
36
+ setProvider(chainNameOrId: ChainName | number, provider: TypedProvider): TypedProvider;
37
+ setProviders(providers: ChainMap<TypedProvider>): void;
38
+ }
39
+ //# sourceMappingURL=MultiProtocolProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB,CAChC,OAAO,GAAG,EAAE,CACZ,SAAQ,oBAAoB,CAAC,OAAO,CAAC;IAUnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAT1D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAM;IACxE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAM;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAG/D,aAAa,GAAE,QAAQ,CACrB,aAAa,CAAC,OAAO,CAAC,CACoC,EACzC,OAAO,GAAE,4BAAiC;IAU/D,MAAM,CAAC,iBAAiB,CAAC,OAAO,GAAG,EAAE,EACnC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAC1B,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CAAC,OAAO,CAAC;IAUxB,mBAAmB,CAAC,MAAM,GAAG,EAAE,EACtC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,GACnC,qBAAqB,CAAC,OAAO,GAAG,MAAM,CAAC;IAK1C,cAAc,CACZ,aAAa,EAAE,SAAS,GAAG,MAAM,EACjC,IAAI,EAAE,YAAY,GACjB,aAAa,GAAG,IAAI;IAgBvB,WAAW,CACT,aAAa,EAAE,SAAS,GAAG,MAAM,EACjC,IAAI,EAAE,YAAY,GACjB,aAAa;IAOhB,mBAAmB,CACjB,aAAa,EAAE,SAAS,GAAG,MAAM,GAChC,gBAAgB,CAAC,UAAU,CAAC;IAgB/B,eAAe,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC;IAO5E,qBAAqB,CACnB,aAAa,EAAE,SAAS,GAAG,MAAM,GAChC,kBAAkB,CAAC,UAAU,CAAC;IAOjC,WAAW,CACT,aAAa,EAAE,SAAS,GAAG,MAAM,EACjC,QAAQ,EAAE,aAAa,GACtB,aAAa;IAOhB,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;CAKvD"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiProtocolProvider = void 0;
4
+ const debug_1 = require("debug");
5
+ const utils_1 = require("@hyperlane-xyz/utils");
6
+ const chainMetadata_1 = require("../consts/chainMetadata");
7
+ const ChainMetadataManager_1 = require("../metadata/ChainMetadataManager");
8
+ const ProviderType_1 = require("./ProviderType");
9
+ const providerBuilders_1 = require("./providerBuilders");
10
+ /**
11
+ * A version of MultiProvider that can support different
12
+ * provider types across different protocol types.
13
+ *
14
+ * This uses a different interface for provider/signer related methods
15
+ * so it isn't strictly backwards compatible with MultiProvider.
16
+ *
17
+ * Unlike MultiProvider, this class does not support signer/signing methods (yet).
18
+ * @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
19
+ */
20
+ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager {
21
+ constructor(chainMetadata = chainMetadata_1.chainMetadata, options = {}) {
22
+ super(chainMetadata, options);
23
+ this.options = options;
24
+ this.providers = {};
25
+ this.signers = {}; // TODO signer support
26
+ this.logger = (0, debug_1.debug)(options?.loggerName || 'hyperlane:MultiProtocolProvider');
27
+ this.providerBuilders =
28
+ options.providerBuilders || providerBuilders_1.defaultProviderBuilderMap;
29
+ }
30
+ static fromMultiProvider(mp, options = {}) {
31
+ const newMp = new MultiProtocolProvider(mp.metadata, options);
32
+ const typedProviders = (0, utils_1.objMap)(mp.providers, (_, provider) => ({
33
+ type: ProviderType_1.ProviderType.EthersV5,
34
+ provider,
35
+ }));
36
+ newMp.setProviders(typedProviders);
37
+ return newMp;
38
+ }
39
+ extendChainMetadata(additionalMetadata) {
40
+ const newMetadata = super.extendChainMetadata(additionalMetadata).metadata;
41
+ return new MultiProtocolProvider(newMetadata, this.options);
42
+ }
43
+ tryGetProvider(chainNameOrId, type) {
44
+ var _a;
45
+ const metadata = this.tryGetChainMetadata(chainNameOrId);
46
+ if (!metadata)
47
+ return null;
48
+ const { name, chainId, rpcUrls } = metadata;
49
+ if (this.providers[name]?.[type])
50
+ return this.providers[name][type];
51
+ const builder = this.providerBuilders[type];
52
+ if (!rpcUrls.length || !builder)
53
+ return null;
54
+ const provider = builder(rpcUrls, chainId);
55
+ (_a = this.providers)[name] || (_a[name] = {});
56
+ this.providers[name][type] = provider;
57
+ return provider;
58
+ }
59
+ getProvider(chainNameOrId, type) {
60
+ const provider = this.tryGetProvider(chainNameOrId, type);
61
+ if (!provider)
62
+ throw new Error(`No provider available for ${chainNameOrId}`);
63
+ return provider;
64
+ }
65
+ getEthersV5Provider(chainNameOrId) {
66
+ const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.EthersV5);
67
+ if (provider.type !== ProviderType_1.ProviderType.EthersV5)
68
+ throw new Error('Invalid provider type');
69
+ return provider.provider;
70
+ }
71
+ // getEthersV6Provider(
72
+ // chainNameOrId: ChainName | number,
73
+ // ): EthersV6Provider['provider'] {
74
+ // const provider = this.getProvider(chainNameOrId, ProviderType.EthersV5);
75
+ // if (provider.type !== ProviderType.EthersV6)
76
+ // throw new Error('Invalid provider type');
77
+ // return provider.provider;
78
+ // }
79
+ getViemProvider(chainNameOrId) {
80
+ const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.EthersV5);
81
+ if (provider.type !== ProviderType_1.ProviderType.Viem)
82
+ throw new Error('Invalid provider type');
83
+ return provider.provider;
84
+ }
85
+ getSolanaWeb3Provider(chainNameOrId) {
86
+ const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.EthersV5);
87
+ if (provider.type !== ProviderType_1.ProviderType.SolanaWeb3)
88
+ throw new Error('Invalid provider type');
89
+ return provider.provider;
90
+ }
91
+ setProvider(chainNameOrId, provider) {
92
+ var _a;
93
+ const chainName = this.getChainName(chainNameOrId);
94
+ (_a = this.providers)[chainName] || (_a[chainName] = {});
95
+ this.providers[chainName][provider.type] = provider;
96
+ return provider;
97
+ }
98
+ setProviders(providers) {
99
+ for (const chain of Object.keys(providers)) {
100
+ this.setProvider(chain, providers[chain]);
101
+ }
102
+ }
103
+ }
104
+ exports.MultiProtocolProvider = MultiProtocolProvider;
105
+ //# sourceMappingURL=MultiProtocolProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MultiProtocolProvider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolProvider.test.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const chainMetadata_1 = require("../consts/chainMetadata");
5
+ const chains_1 = require("../consts/chains");
6
+ const MultiProtocolProvider_1 = require("../providers/MultiProtocolProvider");
7
+ describe('MultiProtocolProvider', () => {
8
+ describe('constructs', () => {
9
+ it('creates a multi protocol provider without type extension', async () => {
10
+ const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
11
+ const ethMetadata = multiProvider.getChainMetadata(chains_1.Chains.ethereum);
12
+ (0, chai_1.expect)(ethMetadata.name).to.equal(chains_1.Chains.ethereum);
13
+ });
14
+ it('creates a multi protocol provider with type extension', async () => {
15
+ const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider({
16
+ [chains_1.Chains.ethereum]: { ...chainMetadata_1.ethereum, foo: '0x123', bar: 1 },
17
+ });
18
+ const ethMetadata = multiProvider.getChainMetadata(chains_1.Chains.ethereum);
19
+ (0, chai_1.expect)(ethMetadata.foo).to.equal('0x123');
20
+ (0, chai_1.expect)(ethMetadata.bar).to.equal(1);
21
+ });
22
+ });
23
+ });
24
+ //# sourceMappingURL=MultiProtocolProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolProvider.test.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,2DAAmD;AACnD,6CAA0C;AAC1C,8EAA2E;AAE3E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,aAAa,GAAG,IAAI,6CAAqB,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,aAAa,GAAG,IAAI,6CAAqB,CAG5C;gBACD,CAAC,eAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,wBAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;aACzD,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,87 +1,33 @@
1
1
  import { Debugger } from 'debug';
2
2
  import { BigNumber, ContractReceipt, ContractTransaction, PopulatedTransaction, Signer, providers } from 'ethers';
3
3
  import { Address } from '@hyperlane-xyz/utils';
4
+ import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
4
5
  import { ChainMetadata } from '../metadata/chainMetadataTypes';
5
6
  import { ChainMap, ChainName } from '../types';
6
- import { RetryProviderOptions } from './RetryProvider';
7
- declare type Provider = providers.Provider;
8
- export declare function defaultProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], network: providers.Networkish, retryOverride?: RetryProviderOptions): Provider;
9
- export declare type ProviderBuilderFn = typeof defaultProviderBuilder;
10
- interface MultiProviderOptions {
7
+ import { ProviderBuilderFn } from './providerBuilders';
8
+ type Provider = providers.Provider;
9
+ export interface MultiProviderOptions {
11
10
  loggerName?: string;
12
- providerBuilder?: ProviderBuilderFn;
11
+ providerBuilder?: ProviderBuilderFn<Provider>;
13
12
  }
14
- export declare class MultiProvider {
15
- readonly metadata: ChainMap<ChainMetadata>;
16
- protected readonly providers: ChainMap<Provider>;
17
- protected readonly providerBuilder: ProviderBuilderFn;
18
- protected signers: ChainMap<Signer>;
19
- protected useSharedSigner: boolean;
20
- protected readonly logger: Debugger;
13
+ /**
14
+ * A utility class to create and manage providers and signers for multiple chains
15
+ * @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
16
+ */
17
+ export declare class MultiProvider<MetaExt = {}> extends ChainMetadataManager<MetaExt> {
18
+ readonly options: MultiProviderOptions;
19
+ readonly providers: ChainMap<Provider>;
20
+ readonly providerBuilder: ProviderBuilderFn<Provider>;
21
+ signers: ChainMap<Signer>;
22
+ useSharedSigner: boolean;
23
+ readonly logger: Debugger;
21
24
  /**
22
25
  * Create a new MultiProvider with the given chainMetadata,
23
26
  * or the SDK's default metadata if not provided
24
27
  */
25
- constructor(chainMetadata?: ChainMap<ChainMetadata>, options?: MultiProviderOptions);
26
- /**
27
- * Add a chain to the MultiProvider
28
- * @throws if chain's name or domain/chain ID collide
29
- */
30
- addChain(metadata: ChainMetadata): void;
31
- /**
32
- * Get the metadata for a given chain name, chain id, or domain id
33
- * @throws if chain's metadata has not been set
34
- */
35
- tryGetChainMetadata(chainNameOrId: ChainName | number): ChainMetadata | null;
36
- /**
37
- * Get the metadata for a given chain name, chain id, or domain id
38
- * @throws if chain's metadata has not been set
39
- */
40
- getChainMetadata(chainNameOrId: ChainName | number): ChainMetadata;
41
- /**
42
- * Get the name for a given chain name, chain id, or domain id
43
- */
44
- tryGetChainName(chainNameOrId: ChainName | number): string | null;
45
- /**
46
- * Get the name for a given chain name, chain id, or domain id
47
- * @throws if chain's metadata has not been set
48
- */
49
- getChainName(chainNameOrId: ChainName | number): string;
50
- /**
51
- * Get the names for all chains known to this MultiProvider
52
- */
53
- getKnownChainNames(): string[];
54
- /**
55
- * Get the id for a given chain name, chain id, or domain id
56
- */
57
- tryGetChainId(chainNameOrId: ChainName | number): number | null;
58
- /**
59
- * Get the id for a given chain name, chain id, or domain id
60
- * @throws if chain's metadata has not been set
61
- */
62
- getChainId(chainNameOrId: ChainName | number): number;
63
- /**
64
- * Get the ids for all chains known to this MultiProvider
65
- */
66
- getKnownChainIds(): number[];
67
- /**
68
- * Get the domain id for a given chain name, chain id, or domain id
69
- */
70
- tryGetDomainId(chainNameOrId: ChainName | number): number | null;
71
- /**
72
- * Get the domain id for a given chain name, chain id, or domain id
73
- * @throws if chain's metadata has not been set
74
- */
75
- getDomainId(chainNameOrId: ChainName | number): number;
76
- /**
77
- * Get the domain ids for a list of chain names, chain ids, or domain ids
78
- * @throws if any chain's metadata has not been set
79
- */
80
- getDomainIds(chainNamesOrIds: Array<ChainName | number>): number[];
81
- /**
82
- * Get the ids for all chains known to this MultiProvider
83
- */
84
- getKnownDomainIds(): number[];
28
+ constructor(chainMetadata?: ChainMap<ChainMetadata<MetaExt>>, options?: MultiProviderOptions);
29
+ addChain(metadata: ChainMetadata<MetaExt>): void;
30
+ extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MultiProvider<MetaExt & NewExt>;
85
31
  /**
86
32
  * Get an Ethers provider for a given chain name, chain id, or domain id
87
33
  */
@@ -148,48 +94,8 @@ export declare class MultiProvider {
148
94
  */
149
95
  intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
150
96
  intersection: ChainName[];
151
- multiProvider: MultiProvider;
97
+ multiProvider: MultiProvider<MetaExt>;
152
98
  };
153
- /**
154
- * Get chain names excluding given chain name
155
- */
156
- getRemoteChains(name: ChainName): ChainName[];
157
- /**
158
- * Get an RPC URL for a given chain name, chain id, or domain id
159
- * @throws if chain's metadata has not been set
160
- */
161
- getRpcUrl(chainNameOrId: ChainName | number): string;
162
- /**
163
- * Get a block explorer URL for a given chain name, chain id, or domain id
164
- */
165
- tryGetExplorerUrl(chainNameOrId: ChainName | number): string | null;
166
- /**
167
- * Get a block explorer URL for a given chain name, chain id, or domain id
168
- * @throws if chain's metadata or block explorer data has no been set
169
- */
170
- getExplorerUrl(chainNameOrId: ChainName | number): string;
171
- /**
172
- * Get a block explorer's API URL for a given chain name, chain id, or domain id
173
- */
174
- tryGetExplorerApiUrl(chainNameOrId: ChainName | number): string | null;
175
- /**
176
- * Get a block explorer API URL for a given chain name, chain id, or domain id
177
- * @throws if chain's metadata or block explorer data has no been set
178
- */
179
- getExplorerApiUrl(chainNameOrId: ChainName | number): string;
180
- /**
181
- * Get a block explorer URL for given chain's tx
182
- */
183
- tryGetExplorerTxUrl(chainNameOrId: ChainName | number, response: {
184
- hash: string;
185
- }): string | null;
186
- /**
187
- * Get a block explorer URL for given chain's tx
188
- * @throws if chain's metadata or block explorer data has no been set
189
- */
190
- getExplorerTxUrl(chainNameOrId: ChainName | number, response: {
191
- hash: string;
192
- }): string;
193
99
  /**
194
100
  * Get a block explorer URL for given chain's address
195
101
  */
@@ -224,10 +130,6 @@ export declare class MultiProvider {
224
130
  * @throws if chain's metadata or signer has not been set or tx fails
225
131
  */
226
132
  sendTransaction(chainNameOrId: ChainName | number, tx: PopulatedTransaction): Promise<ContractReceipt>;
227
- /**
228
- * Run given function on all known chains
229
- */
230
- mapKnownChains<Output>(fn: (n: ChainName) => Output): ChainMap<Output>;
231
133
  /**
232
134
  * Creates a MultiProvider using the given signer for all test networks
233
135
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}