@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,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', () =>
|
|
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(() =>
|
|
39
|
-
[signer] =
|
|
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 =
|
|
33
|
+
const coreContractsMaps = await coreDeployer.deploy();
|
|
43
34
|
coreApp = new TestCoreApp_1.TestCoreApp(coreContractsMaps, multiProvider);
|
|
44
|
-
config =
|
|
45
|
-
})
|
|
46
|
-
beforeEach(() =>
|
|
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 =
|
|
39
|
+
contracts = await InterchainQuery.deploy(config);
|
|
49
40
|
local = contracts[localChain].interchainQueryRouter;
|
|
50
41
|
remote = contracts[remoteChain].interchainQueryRouter;
|
|
51
|
-
testQuery =
|
|
52
|
-
})
|
|
53
|
-
it('checks', () =>
|
|
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
|
-
|
|
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', () =>
|
|
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 =
|
|
64
|
-
|
|
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 =
|
|
58
|
+
const result = await coreApp.processOutboundMessages(localChain);
|
|
68
59
|
const response = result.get(remoteChain)[0];
|
|
69
|
-
|
|
60
|
+
await (0, chai_1.expect)(response)
|
|
70
61
|
.to.emit(remote, 'QueryExecuted')
|
|
71
62
|
.withArgs(localDomain, bytes32sender);
|
|
72
|
-
const result2 =
|
|
63
|
+
const result2 = await coreApp.processOutboundMessages(remoteChain);
|
|
73
64
|
const response2 = result2.get(localChain)[0];
|
|
74
|
-
|
|
65
|
+
await (0, chai_1.expect)(response2)
|
|
75
66
|
.to.emit(local, 'QueryResolved')
|
|
76
67
|
.withArgs(remoteDomain, sender);
|
|
77
|
-
|
|
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":"
|
|
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 @@
|
|
|
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 {
|
|
7
|
-
|
|
8
|
-
export
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
26
|
-
|
|
27
|
-
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AACxC,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,SAAS,EACV,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
|