@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.
- package/README.md +7 -1
- package/dist/{HyperlaneApp.d.ts → app/HyperlaneApp.d.ts} +4 -4
- package/dist/app/HyperlaneApp.d.ts.map +1 -0
- package/dist/{HyperlaneApp.js → app/HyperlaneApp.js} +2 -2
- package/dist/app/HyperlaneApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.d.ts +51 -0
- package/dist/app/MultiProtocolApp.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.js +80 -0
- package/dist/app/MultiProtocolApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.test.d.ts +2 -0
- package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.test.js +19 -0
- package/dist/app/MultiProtocolApp.test.js.map +1 -0
- package/dist/consts/agentStartBlocks.d.ts +3 -0
- package/dist/consts/agentStartBlocks.d.ts.map +1 -0
- package/dist/consts/agentStartBlocks.js +28 -0
- package/dist/consts/agentStartBlocks.js.map +1 -0
- package/dist/consts/bytecode.js +1 -1
- package/dist/consts/bytecode.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +2 -58
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +1 -19
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +2 -3
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +2 -3
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +3 -3
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/{contracts.d.ts → contracts/contracts.d.ts} +3 -15
- package/dist/contracts/contracts.d.ts.map +1 -0
- package/dist/{contracts.js → contracts/contracts.js} +12 -23
- package/dist/contracts/contracts.js.map +1 -0
- package/dist/contracts/types.d.ts +18 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +3 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +33 -42
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +5 -5
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +15 -28
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +4 -13
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +80 -99
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +45 -62
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +1 -1
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +35 -45
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +1 -1
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +14 -27
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +1 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/events.d.ts +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -2
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +99 -123
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +176 -216
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -1
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +11 -26
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/types.js +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +122 -131
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.d.ts +3 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +2 -2
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +2 -2
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +101 -123
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +70 -89
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/contracts.d.ts +1 -1
- package/dist/gas/contracts.d.ts.map +1 -1
- package/dist/gas/contracts.js +6 -1
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/token-prices.d.ts +6 -60
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +37 -54
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +11 -20
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/gas/types.d.ts +2 -2
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +2 -2
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +69 -88
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -4
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +5 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +3 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -5
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +2 -2
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +234 -256
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
- package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
- package/dist/ism/contracts.d.ts +1 -1
- package/dist/ism/contracts.d.ts.map +1 -1
- package/dist/ism/types.d.ts +5 -5
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +1 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +130 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.js +240 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -0
- package/dist/metadata/agentConfig.d.ts +4 -4
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +15 -6
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +27 -9
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +2 -2
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +2 -3
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +2 -2
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +1 -1
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +4 -1
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -2
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +28 -41
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +21 -30
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.d.ts +1 -1
- package/dist/middleware/account/contracts.d.ts.map +1 -1
- package/dist/middleware/account/contracts.js +5 -1
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +2 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +130 -152
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +3 -3
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -110
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.js +6 -1
- package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +1 -1
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +13 -27
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/contracts.d.ts +1 -1
- package/dist/middleware/query/contracts.d.ts.map +1 -1
- package/dist/middleware/query/contracts.js +4 -1
- package/dist/middleware/query/contracts.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +23 -32
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +39 -0
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.js +105 -0
- package/dist/providers/MultiProtocolProvider.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.js +24 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +20 -118
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +69 -300
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +71 -0
- package/dist/providers/ProviderType.d.ts.map +1 -0
- package/dist/providers/ProviderType.js +11 -0
- package/dist/providers/ProviderType.js.map +1 -0
- package/dist/providers/RetryProvider.d.ts +1 -1
- package/dist/providers/RetryProvider.d.ts.map +1 -1
- package/dist/providers/RetryProvider.js +2 -16
- package/dist/providers/RetryProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +17 -0
- package/dist/providers/providerBuilders.d.ts.map +1 -0
- package/dist/providers/providerBuilders.js +97 -0
- package/dist/providers/providerBuilders.js.map +1 -0
- package/dist/router/GasRouterDeployer.d.ts +1 -1
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +18 -32
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +37 -55
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +87 -115
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.d.ts +29 -0
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.js +43 -0
- package/dist/router/MultiProtocolRouterApps.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js +20 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
- package/dist/router/ProxiedRouterChecker.js +14 -34
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +24 -38
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +4 -4
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +8 -18
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +25 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.js +50 -0
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +50 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.js +132 -0
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +2 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.js +21 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.js.map +1 -0
- package/dist/router/adapters/types.d.ts +18 -0
- package/dist/router/adapters/types.d.ts.map +1 -0
- package/dist/router/adapters/types.js +3 -0
- package/dist/router/adapters/types.js.map +1 -0
- package/dist/router/types.d.ts +12 -9
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +12 -23
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts +1 -1
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +2 -4
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/fetch.js +8 -16
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/wagmi.js +1 -2
- package/dist/utils/wagmi.js.map +1 -1
- package/package.json +10 -7
- package/dist/HyperlaneApp.d.ts.map +0 -1
- package/dist/HyperlaneApp.js.map +0 -1
- package/dist/contracts.d.ts.map +0 -1
- 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 =
|
|
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
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
|
|
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
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
|
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
|
-
|
|
378
|
-
|
|
379
|
-
|
|
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
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
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
|
-
|
|
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
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
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
|
-
|
|
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
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
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
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
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
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
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
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
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 ||
|
|
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 +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,
|
|
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
|
-
|
|
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;
|