@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,83 +1,33 @@
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
- exports.MultiProvider = exports.defaultProviderBuilder = void 0;
3
+ exports.MultiProvider = void 0;
13
4
  const debug_1 = require("debug");
14
5
  const ethers_1 = require("ethers");
15
6
  const utils_1 = require("@hyperlane-xyz/utils");
16
7
  const chainMetadata_1 = require("../consts/chainMetadata");
17
8
  const chains_1 = require("../consts/chains");
18
- const chainMetadataTypes_1 = require("../metadata/chainMetadataTypes");
19
- const RetryProvider_1 = require("./RetryProvider");
20
- const DEFAULT_RETRY_OPTIONS = {
21
- maxRequests: 3,
22
- baseRetryMs: 250,
23
- };
24
- function defaultProviderBuilder(rpcUrls, network, retryOverride) {
25
- const createProvider = (r) => {
26
- const retry = r.retry || retryOverride;
27
- return retry
28
- ? new RetryProvider_1.RetryJsonRpcProvider(retry, r.http, network)
29
- : new ethers_1.providers.StaticJsonRpcProvider(r.http, network);
30
- };
31
- if (rpcUrls.length > 1) {
32
- return new ethers_1.providers.FallbackProvider(rpcUrls.map(createProvider), 1);
33
- }
34
- else if (rpcUrls.length === 1) {
35
- return createProvider(rpcUrls[0]);
36
- }
37
- else {
38
- throw new Error('No RPC URLs provided');
39
- }
40
- }
41
- exports.defaultProviderBuilder = defaultProviderBuilder;
42
- class MultiProvider {
9
+ const ChainMetadataManager_1 = require("../metadata/ChainMetadataManager");
10
+ const providerBuilders_1 = require("./providerBuilders");
11
+ /**
12
+ * A utility class to create and manage providers and signers for multiple chains
13
+ * @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
14
+ */
15
+ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
43
16
  /**
44
17
  * Create a new MultiProvider with the given chainMetadata,
45
18
  * or the SDK's default metadata if not provided
46
19
  */
47
- constructor(chainMetadata = chainMetadata_1.chainMetadata, options = {}) {
48
- this.metadata = {};
20
+ constructor(chainMetadata, options = {}) {
21
+ super(chainMetadata, options);
22
+ this.options = options;
49
23
  this.providers = {};
50
24
  this.signers = {};
51
25
  this.useSharedSigner = false; // A single signer to be used for all chains
52
- Object.entries(chainMetadata).forEach(([key, cm]) => {
53
- if (key !== cm.name)
54
- throw new Error(`Chain name mismatch: Key was ${key}, but name is ${cm.name}`);
55
- this.addChain(cm);
56
- });
57
- this.logger = (0, debug_1.debug)((options === null || options === void 0 ? void 0 : options.loggerName) || 'hyperlane:MultiProvider');
58
- this.providerBuilder = (options === null || options === void 0 ? void 0 : options.providerBuilder) || defaultProviderBuilder;
26
+ this.logger = (0, debug_1.debug)(options?.loggerName || 'hyperlane:MultiProvider');
27
+ this.providerBuilder = options?.providerBuilder || providerBuilders_1.defaultProviderBuilder;
59
28
  }
60
- /**
61
- * Add a chain to the MultiProvider
62
- * @throws if chain's name or domain/chain ID collide
63
- */
64
29
  addChain(metadata) {
65
- if (!(0, chainMetadataTypes_1.isValidChainMetadata)(metadata))
66
- throw new Error(`Invalid chain metadata for ${metadata.name}`);
67
- // Ensure no two chains have overlapping names/domainIds/chainIds
68
- for (const chainMetadata of Object.values(this.metadata)) {
69
- const { name, chainId, domainId } = chainMetadata;
70
- if (name == metadata.name)
71
- throw new Error(`Duplicate chain name: ${name}`);
72
- // Chain and Domain Ids should be globally unique
73
- const idCollision = chainId == metadata.chainId ||
74
- domainId == metadata.chainId ||
75
- (metadata.domainId &&
76
- (chainId == metadata.domainId || domainId === metadata.domainId));
77
- if (idCollision)
78
- throw new Error(`Chain/Domain id collision: ${name} and ${metadata.name}`);
79
- }
80
- this.metadata[metadata.name] = metadata;
30
+ super.addChain(metadata);
81
31
  if (this.useSharedSigner) {
82
32
  const signers = Object.values(this.signers);
83
33
  if (signers.length > 0) {
@@ -85,98 +35,9 @@ class MultiProvider {
85
35
  }
86
36
  }
87
37
  }
88
- /**
89
- * Get the metadata for a given chain name, chain id, or domain id
90
- * @throws if chain's metadata has not been set
91
- */
92
- tryGetChainMetadata(chainNameOrId) {
93
- let chainMetadata;
94
- if (typeof chainNameOrId === 'string') {
95
- chainMetadata = this.metadata[chainNameOrId];
96
- }
97
- else if (typeof chainNameOrId === 'number') {
98
- chainMetadata = Object.values(this.metadata).find((m) => m.chainId === chainNameOrId || m.domainId === chainNameOrId);
99
- }
100
- return chainMetadata || null;
101
- }
102
- /**
103
- * Get the metadata for a given chain name, chain id, or domain id
104
- * @throws if chain's metadata has not been set
105
- */
106
- getChainMetadata(chainNameOrId) {
107
- const chainMetadata = this.tryGetChainMetadata(chainNameOrId);
108
- if (!chainMetadata)
109
- throw new Error(`No chain metadata set for ${chainNameOrId}`);
110
- return chainMetadata;
111
- }
112
- /**
113
- * Get the name for a given chain name, chain id, or domain id
114
- */
115
- tryGetChainName(chainNameOrId) {
116
- var _a, _b;
117
- return (_b = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null;
118
- }
119
- /**
120
- * Get the name for a given chain name, chain id, or domain id
121
- * @throws if chain's metadata has not been set
122
- */
123
- getChainName(chainNameOrId) {
124
- return this.getChainMetadata(chainNameOrId).name;
125
- }
126
- /**
127
- * Get the names for all chains known to this MultiProvider
128
- */
129
- getKnownChainNames() {
130
- return Object.keys(this.metadata);
131
- }
132
- /**
133
- * Get the id for a given chain name, chain id, or domain id
134
- */
135
- tryGetChainId(chainNameOrId) {
136
- var _a, _b;
137
- return (_b = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : null;
138
- }
139
- /**
140
- * Get the id for a given chain name, chain id, or domain id
141
- * @throws if chain's metadata has not been set
142
- */
143
- getChainId(chainNameOrId) {
144
- return this.getChainMetadata(chainNameOrId).chainId;
145
- }
146
- /**
147
- * Get the ids for all chains known to this MultiProvider
148
- */
149
- getKnownChainIds() {
150
- return Object.values(this.metadata).map((c) => c.chainId);
151
- }
152
- /**
153
- * Get the domain id for a given chain name, chain id, or domain id
154
- */
155
- tryGetDomainId(chainNameOrId) {
156
- var _a, _b;
157
- const metadata = this.tryGetChainMetadata(chainNameOrId);
158
- return (_b = (_a = metadata === null || metadata === void 0 ? void 0 : metadata.domainId) !== null && _a !== void 0 ? _a : metadata === null || metadata === void 0 ? void 0 : metadata.chainId) !== null && _b !== void 0 ? _b : null;
159
- }
160
- /**
161
- * Get the domain id for a given chain name, chain id, or domain id
162
- * @throws if chain's metadata has not been set
163
- */
164
- getDomainId(chainNameOrId) {
165
- const metadata = this.getChainMetadata(chainNameOrId);
166
- return (0, chainMetadataTypes_1.getDomainId)(metadata);
167
- }
168
- /**
169
- * Get the domain ids for a list of chain names, chain ids, or domain ids
170
- * @throws if any chain's metadata has not been set
171
- */
172
- getDomainIds(chainNamesOrIds) {
173
- return chainNamesOrIds.map((c) => this.getDomainId(c));
174
- }
175
- /**
176
- * Get the ids for all chains known to this MultiProvider
177
- */
178
- getKnownDomainIds() {
179
- return this.getKnownChainNames().map(this.getDomainId);
38
+ extendChainMetadata(additionalMetadata) {
39
+ const newMetadata = super.extendChainMetadata(additionalMetadata).metadata;
40
+ return new MultiProvider(newMetadata, this.options);
180
41
  }
181
42
  /**
182
43
  * Get an Ethers provider for a given chain name, chain id, or domain id
@@ -192,7 +53,7 @@ class MultiProvider {
192
53
  this.providers[name] = new ethers_1.providers.JsonRpcProvider('http://127.0.0.1:8545', 31337);
193
54
  }
194
55
  else if (rpcUrls.length) {
195
- this.providers[name] = this.providerBuilder(rpcUrls, chainId, DEFAULT_RETRY_OPTIONS);
56
+ this.providers[name] = this.providerBuilder(rpcUrls, chainId, providerBuilders_1.DEFAULT_RETRY_OPTIONS);
196
57
  }
197
58
  else {
198
59
  return null;
@@ -264,12 +125,10 @@ class MultiProvider {
264
125
  * Get an Ethers signer for a given chain name, chain id, or domain id
265
126
  * @throws if chain's metadata or signer has not been set
266
127
  */
267
- getSignerAddress(chainNameOrId) {
268
- return __awaiter(this, void 0, void 0, function* () {
269
- const signer = this.getSigner(chainNameOrId);
270
- const address = yield signer.getAddress();
271
- return address;
272
- });
128
+ async getSignerAddress(chainNameOrId) {
129
+ const signer = this.getSigner(chainNameOrId);
130
+ const address = await signer.getAddress();
131
+ return address;
273
132
  }
274
133
  /**
275
134
  * Sets an Ethers Signer for a given chain name, chain id, or domain id
@@ -356,176 +215,86 @@ class MultiProvider {
356
215
  return { intersection, multiProvider };
357
216
  }
358
217
  /**
359
- * Get chain names excluding given chain name
360
- */
361
- getRemoteChains(name) {
362
- return (0, utils_1.exclude)(name, this.getKnownChainNames());
363
- }
364
- /**
365
- * Get an RPC URL for a given chain name, chain id, or domain id
366
- * @throws if chain's metadata has not been set
367
- */
368
- getRpcUrl(chainNameOrId) {
369
- const { rpcUrls } = this.getChainMetadata(chainNameOrId);
370
- if (!(rpcUrls === null || rpcUrls === void 0 ? void 0 : rpcUrls.length) || !rpcUrls[0].http)
371
- throw new Error(`No RPC URl configured for ${chainNameOrId}`);
372
- return rpcUrls[0].http;
373
- }
374
- /**
375
- * Get a block explorer URL for a given chain name, chain id, or domain id
218
+ * Get a block explorer URL for given chain's address
376
219
  */
377
- tryGetExplorerUrl(chainNameOrId) {
378
- var _a;
379
- const explorers = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.blockExplorers;
380
- if (!(explorers === null || explorers === void 0 ? void 0 : explorers.length))
220
+ async tryGetExplorerAddressUrl(chainNameOrId, address) {
221
+ const baseUrl = this.tryGetExplorerUrl(chainNameOrId);
222
+ if (!baseUrl)
381
223
  return null;
382
- return explorers[0].url;
383
- }
384
- /**
385
- * Get a block explorer URL for a given chain name, chain id, or domain id
386
- * @throws if chain's metadata or block explorer data has no been set
387
- */
388
- getExplorerUrl(chainNameOrId) {
389
- const url = this.tryGetExplorerUrl(chainNameOrId);
390
- if (!url)
391
- throw new Error(`No explorer url set for ${chainNameOrId}`);
392
- return url;
393
- }
394
- /**
395
- * Get a block explorer's API URL for a given chain name, chain id, or domain id
396
- */
397
- tryGetExplorerApiUrl(chainNameOrId) {
398
- var _a;
399
- const explorers = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.blockExplorers;
400
- if (!(explorers === null || explorers === void 0 ? void 0 : explorers.length) || !explorers[0].apiUrl)
224
+ if (address)
225
+ return `${baseUrl}/address/${address}`;
226
+ const signer = this.tryGetSigner(chainNameOrId);
227
+ if (!signer)
401
228
  return null;
402
- const { apiUrl, apiKey } = explorers[0];
403
- if (!apiKey)
404
- return apiUrl;
405
- const url = new URL(apiUrl);
406
- url.searchParams.set('apikey', apiKey);
407
- return url.toString();
408
- }
409
- /**
410
- * Get a block explorer API URL for a given chain name, chain id, or domain id
411
- * @throws if chain's metadata or block explorer data has no been set
412
- */
413
- getExplorerApiUrl(chainNameOrId) {
414
- const url = this.tryGetExplorerApiUrl(chainNameOrId);
415
- if (!url)
416
- throw new Error(`No explorer api url set for ${chainNameOrId}`);
417
- return url;
418
- }
419
- /**
420
- * Get a block explorer URL for given chain's tx
421
- */
422
- tryGetExplorerTxUrl(chainNameOrId, response) {
423
- const baseUrl = this.tryGetExplorerUrl(chainNameOrId);
424
- return baseUrl ? `${baseUrl}/tx/${response.hash}` : null;
425
- }
426
- /**
427
- * Get a block explorer URL for given chain's tx
428
- * @throws if chain's metadata or block explorer data has no been set
429
- */
430
- getExplorerTxUrl(chainNameOrId, response) {
431
- return `${this.getExplorerUrl(chainNameOrId)}/tx/${response.hash}`;
432
- }
433
- /**
434
- * Get a block explorer URL for given chain's address
435
- */
436
- tryGetExplorerAddressUrl(chainNameOrId, address) {
437
- return __awaiter(this, void 0, void 0, function* () {
438
- const baseUrl = this.tryGetExplorerUrl(chainNameOrId);
439
- if (!baseUrl)
440
- return null;
441
- if (address)
442
- return `${baseUrl}/address/${address}`;
443
- const signer = this.tryGetSigner(chainNameOrId);
444
- if (!signer)
445
- return null;
446
- return `${baseUrl}/address/${yield signer.getAddress()}`;
447
- });
229
+ return `${baseUrl}/address/${await signer.getAddress()}`;
448
230
  }
449
231
  /**
450
232
  * Get a block explorer URL for given chain's address
451
233
  * @throws if chain's metadata, signer, or block explorer data has no been set
452
234
  */
453
- getExplorerAddressUrl(chainNameOrId, address) {
454
- return __awaiter(this, void 0, void 0, function* () {
455
- const url = yield this.tryGetExplorerAddressUrl(chainNameOrId, address);
456
- if (!url)
457
- throw new Error(`Missing data for address url for ${chainNameOrId}`);
458
- return url;
459
- });
235
+ async getExplorerAddressUrl(chainNameOrId, address) {
236
+ const url = await this.tryGetExplorerAddressUrl(chainNameOrId, address);
237
+ if (!url)
238
+ throw new Error(`Missing data for address url for ${chainNameOrId}`);
239
+ return url;
460
240
  }
461
241
  /**
462
242
  * Get the transaction overrides for a given chain name, chain id, or domain id
463
243
  * @throws if chain's metadata has not been set
464
244
  */
465
245
  getTransactionOverrides(chainNameOrId) {
466
- var _a, _b;
467
- return (_b = (_a = this.getChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.transactionOverrides) !== null && _b !== void 0 ? _b : {};
246
+ return this.getChainMetadata(chainNameOrId)?.transactionOverrides ?? {};
468
247
  }
469
248
  /**
470
249
  * Wait for given tx to be confirmed
471
250
  * @throws if chain's metadata or signer has not been set or tx fails
472
251
  */
473
- handleTx(chainNameOrId, tx) {
474
- var _a;
475
- return __awaiter(this, void 0, void 0, function* () {
476
- const confirmations = ((_a = this.getChainMetadata(chainNameOrId).blocks) === null || _a === void 0 ? void 0 : _a.confirmations) || 1;
477
- const response = yield tx;
478
- const txUrl = this.tryGetExplorerTxUrl(chainNameOrId, response);
479
- this.logger(`Pending ${txUrl || response.hash} (waiting ${confirmations} blocks for confirmation)`);
480
- return response.wait(confirmations);
481
- });
252
+ async handleTx(chainNameOrId, tx) {
253
+ const confirmations = this.getChainMetadata(chainNameOrId).blocks?.confirmations || 1;
254
+ const response = await tx;
255
+ const txUrl = this.tryGetExplorerTxUrl(chainNameOrId, response);
256
+ this.logger(`Pending ${txUrl || response.hash} (waiting ${confirmations} blocks for confirmation)`);
257
+ return response.wait(confirmations);
482
258
  }
483
259
  /**
484
260
  * Populate a transaction's fields using signer address and overrides
485
261
  * @throws if chain's metadata has not been set or tx fails
486
262
  */
487
- prepareTx(chainNameOrId, tx, from) {
488
- return __awaiter(this, void 0, void 0, function* () {
489
- const txFrom = from ? from : yield this.getSignerAddress(chainNameOrId);
490
- const overrides = this.getTransactionOverrides(chainNameOrId);
491
- return Object.assign(Object.assign(Object.assign({}, tx), { from: txFrom }), overrides);
492
- });
263
+ async prepareTx(chainNameOrId, tx, from) {
264
+ const txFrom = from ? from : await this.getSignerAddress(chainNameOrId);
265
+ const overrides = this.getTransactionOverrides(chainNameOrId);
266
+ return {
267
+ ...tx,
268
+ from: txFrom,
269
+ ...overrides,
270
+ };
493
271
  }
494
272
  /**
495
273
  * Estimate gas for given tx
496
274
  * @throws if chain's metadata has not been set or tx fails
497
275
  */
498
- estimateGas(chainNameOrId, tx, from) {
499
- return __awaiter(this, void 0, void 0, function* () {
500
- const txReq = Object.assign(Object.assign({}, (yield this.prepareTx(chainNameOrId, tx, from))), {
501
- // Reset any tx request params that may have an unintended effect on gas estimation
502
- gasLimit: undefined, gasPrice: undefined, maxPriorityFeePerGas: undefined, maxFeePerGas: undefined });
503
- const provider = this.getProvider(chainNameOrId);
504
- return provider.estimateGas(txReq);
505
- });
276
+ async estimateGas(chainNameOrId, tx, from) {
277
+ const txReq = {
278
+ ...(await this.prepareTx(chainNameOrId, tx, from)),
279
+ // Reset any tx request params that may have an unintended effect on gas estimation
280
+ gasLimit: undefined,
281
+ gasPrice: undefined,
282
+ maxPriorityFeePerGas: undefined,
283
+ maxFeePerGas: undefined,
284
+ };
285
+ const provider = this.getProvider(chainNameOrId);
286
+ return provider.estimateGas(txReq);
506
287
  }
507
288
  /**
508
289
  * Send a transaction and wait for confirmation
509
290
  * @throws if chain's metadata or signer has not been set or tx fails
510
291
  */
511
- sendTransaction(chainNameOrId, tx) {
512
- return __awaiter(this, void 0, void 0, function* () {
513
- const txReq = yield this.prepareTx(chainNameOrId, tx);
514
- const signer = this.getSigner(chainNameOrId);
515
- const response = yield signer.sendTransaction(txReq);
516
- this.logger(`Sent tx ${response.hash}`);
517
- return this.handleTx(chainNameOrId, response);
518
- });
519
- }
520
- /**
521
- * Run given function on all known chains
522
- */
523
- mapKnownChains(fn) {
524
- const result = {};
525
- for (const chain of this.getKnownChainNames()) {
526
- result[chain] = fn(chain);
527
- }
528
- return result;
292
+ async sendTransaction(chainNameOrId, tx) {
293
+ const txReq = await this.prepareTx(chainNameOrId, tx);
294
+ const signer = this.getSigner(chainNameOrId);
295
+ const response = await signer.sendTransaction(txReq);
296
+ this.logger(`Sent tx ${response.hash}`);
297
+ return this.handleTx(chainNameOrId, response);
529
298
  }
530
299
  /**
531
300
  * Creates a MultiProvider using the given signer for all test networks
@@ -537,7 +306,7 @@ class MultiProvider {
537
306
  if (signer) {
538
307
  mp.setSharedSigner(signer);
539
308
  }
540
- const _provider = provider || (signer === null || signer === void 0 ? void 0 : signer.provider);
309
+ const _provider = provider || signer?.provider;
541
310
  if (_provider) {
542
311
  const providerMap = {};
543
312
  chains.forEach((t) => (providerMap[t] = _provider));
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { Connection, Transaction as SolTransaction } from '@solana/web3.js';
2
+ import type { Contract as EV5Contract, providers as EV5Providers, PopulatedTransaction as EV5Transaction } from 'ethers';
3
+ import type { GetContractReturnType, PublicClient, Transaction as VTransaction } from 'viem';
4
+ export declare enum ProviderType {
5
+ EthersV5 = "ethers-v5",
6
+ Viem = "viem",
7
+ SolanaWeb3 = "solana-web3"
8
+ }
9
+ export type ProviderMap<Value> = Partial<Record<ProviderType, Value>>;
10
+ /**
11
+ * Providers with discriminated union of type
12
+ */
13
+ interface TypedProviderBase<T> {
14
+ type: ProviderType;
15
+ provider: T;
16
+ }
17
+ export interface EthersV5Provider extends TypedProviderBase<EV5Providers.Provider> {
18
+ type: ProviderType.EthersV5;
19
+ provider: EV5Providers.Provider;
20
+ }
21
+ export interface ViemProvider extends TypedProviderBase<PublicClient> {
22
+ type: ProviderType.Viem;
23
+ provider: PublicClient;
24
+ }
25
+ export interface SolanaWeb3Provider extends TypedProviderBase<Connection> {
26
+ type: ProviderType.SolanaWeb3;
27
+ provider: Connection;
28
+ }
29
+ export type TypedProvider = EthersV5Provider | ViemProvider | SolanaWeb3Provider;
30
+ /**
31
+ * Contracts with discriminated union of provider type
32
+ */
33
+ interface TypedContractBase<T> {
34
+ type: ProviderType;
35
+ contract: T;
36
+ }
37
+ export interface EthersV5Contract extends TypedContractBase<EV5Contract> {
38
+ type: ProviderType.EthersV5;
39
+ transaction: EV5Contract;
40
+ }
41
+ export interface ViemContract extends TypedContractBase<GetContractReturnType> {
42
+ type: ProviderType.Viem;
43
+ transaction: GetContractReturnType;
44
+ }
45
+ export interface SolanaWeb3Contract extends TypedContractBase<never> {
46
+ type: ProviderType.SolanaWeb3;
47
+ transaction: never;
48
+ }
49
+ export type TypedContract = EthersV5Contract | ViemContract | SolanaWeb3Contract;
50
+ /**
51
+ * Transactions with discriminated union of provider type
52
+ */
53
+ interface TypedTransactionBase<T> {
54
+ type: ProviderType;
55
+ transaction: T;
56
+ }
57
+ export interface EthersV5Transaction extends TypedTransactionBase<EV5Transaction> {
58
+ type: ProviderType.EthersV5;
59
+ transaction: EV5Transaction;
60
+ }
61
+ export interface ViemTransaction extends TypedTransactionBase<VTransaction> {
62
+ type: ProviderType.Viem;
63
+ transaction: VTransaction;
64
+ }
65
+ export interface SolanaWeb3Transaction extends TypedTransactionBase<SolTransaction> {
66
+ type: ProviderType.SolanaWeb3;
67
+ transaction: SolTransaction;
68
+ }
69
+ export type TypedTransaction = EthersV5Transaction | ViemTransaction | SolanaWeb3Transaction;
70
+ export {};
71
+ //# sourceMappingURL=ProviderType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderType.d.ts","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,IAAI,cAAc,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,EACzB,oBAAoB,IAAI,cAAc,EACvC,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,IAAI,YAAY,EAC5B,MAAM,MAAM,CAAC;AAEd,oBAAY,YAAY;IACtB,QAAQ,cAAc;IAEtB,IAAI,SAAS;IACb,UAAU,gBAAgB;CAC3B;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtE;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBACf,SAAQ,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC;IAChD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;CACjC;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,YAAY,CAAC;IACnE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,UAAU,CAAC;IACvE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IAC5E,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,oBAAoB,CAAC,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC;CAChB;AAED,MAAM,WAAW,mBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAOD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IACzE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,qBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GAEnB,eAAe,GACf,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderType = void 0;
4
+ var ProviderType;
5
+ (function (ProviderType) {
6
+ ProviderType["EthersV5"] = "ethers-v5";
7
+ // EthersV6 = 'ethers-v6', Disabled for now to simplify build tooling
8
+ ProviderType["Viem"] = "viem";
9
+ ProviderType["SolanaWeb3"] = "solana-web3";
10
+ })(ProviderType || (exports.ProviderType = ProviderType = {}));
11
+ //# sourceMappingURL=ProviderType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":";;;AAgBA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qEAAqE;IACrE,6BAAa,CAAA;IACb,0CAA0B,CAAA;AAC5B,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
- export declare type RetryProviderOptions = {
2
+ export type RetryProviderOptions = {
3
3
  maxRequests: number;
4
4
  baseRetryMs: number;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RetryProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,oBAAY,oBAAoB,GAAG;IAEjC,WAAW,EAAE,MAAM,CAAC;IAGpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,SAAS;KACvD,qBAAqB;IACtB,SAAgB,YAAY,EAAE,oBAAoB,CAAC;gBAEjD,YAAY,EAAE,oBAAoB,EAClC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,EAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;IAcjC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAO7D"}
1
+ {"version":3,"file":"RetryProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,WAAW,EAAE,MAAM,CAAC;IAGpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,SAAS;KACvD,qBAAqB;IACtB,SAAgB,YAAY,EAAE,oBAAoB,CAAC;gBAEjD,YAAY,EAAE,oBAAoB,EAClC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,EAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;IAcjC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAO7D"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RetryJsonRpcProvider = void 0;
13
4
  // RetryProvider Mostly taken from the removed version that was in ethers.js
@@ -22,13 +13,8 @@ class RetryJsonRpcProvider extends ethers_1.ethers.providers
22
13
  (0, utils_1.assert)(retryOptions.baseRetryMs >= 1, 'RetryOptions.baseRetryMs must be >= 1');
23
14
  this.retryOptions = retryOptions;
24
15
  }
25
- send(method, params) {
26
- const _super = Object.create(null, {
27
- send: { get: () => super.send }
28
- });
29
- return __awaiter(this, void 0, void 0, function* () {
30
- return (0, utils_1.retryAsync)(() => _super.send.call(this, method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
31
- });
16
+ async send(method, params) {
17
+ return (0, utils_1.retryAsync)(() => super.send(method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
32
18
  }
33
19
  }
34
20
  exports.RetryJsonRpcProvider = RetryJsonRpcProvider;