@hyperlane-xyz/sdk 1.1.3 → 1.2.0
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 +2 -2
- package/dist/HyperlaneApp.d.ts +7 -8
- package/dist/HyperlaneApp.d.ts.map +1 -1
- package/dist/HyperlaneApp.js +1 -4
- package/dist/HyperlaneApp.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +54 -25
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +65 -81
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +5 -5
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +5 -1
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +4 -2
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +3 -1
- package/dist/core/HyperlaneCore.d.ts +10 -385
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +6 -11
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +2 -3
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +5 -5
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +2 -4
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +6 -6
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +1 -1
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +9 -7
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +32 -9
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +28 -35
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +9 -7
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.js +57 -3
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +11 -11
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.js +12 -20
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/deploy/core/types.d.ts +9 -1
- package/dist/deploy/core/types.d.ts.map +1 -1
- package/dist/deploy/core/types.js +1 -0
- package/dist/deploy/core/types.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.js +18 -23
- package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +7 -7
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +6 -9
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/deploy/middleware/deploy.d.ts +9 -9
- package/dist/deploy/middleware/deploy.d.ts.map +1 -1
- package/dist/deploy/middleware/deploy.js.map +1 -1
- package/dist/deploy/router/GasRouterDeployer.d.ts +12 -0
- package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -0
- package/dist/deploy/router/GasRouterDeployer.js +46 -0
- package/dist/deploy/router/GasRouterDeployer.js.map +1 -0
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.js +19 -22
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/deploy/router/types.d.ts +5 -0
- package/dist/deploy/router/types.d.ts.map +1 -1
- package/dist/deploy/types.d.ts +9 -5
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +1 -0
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/utils.d.ts +2 -6
- package/dist/deploy/utils.d.ts.map +1 -1
- package/dist/deploy/utils.js +1 -27
- package/dist/deploy/utils.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +2 -5
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/events.d.ts +4 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +12 -9
- package/dist/events.js.map +1 -1
- package/dist/gas/calculator.d.ts +20 -20
- package/dist/gas/calculator.d.ts.map +1 -1
- package/dist/gas/calculator.hardhat-test.js +5 -4
- package/dist/gas/calculator.hardhat-test.js.map +1 -1
- package/dist/gas/calculator.js +9 -11
- package/dist/gas/calculator.js.map +1 -1
- package/dist/gas/calculator.test.js +2 -14
- package/dist/gas/calculator.test.js.map +1 -1
- package/dist/gas/token-prices.d.ts +4 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +4 -2
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/index.d.ts +30 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -66
- package/dist/index.js.map +1 -1
- package/dist/middleware/accounts.hardhat-test.js +23 -13
- package/dist/middleware/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer.hardhat-test.js +10 -9
- package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/queries.hardhat-test.js +17 -13
- package/dist/middleware/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +186 -37
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +408 -63
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/router.d.ts +11 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +28 -0
- package/dist/router.js.map +1 -1
- package/dist/test/envSubsetDeployer/app.d.ts +12 -21
- package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.js +13 -18
- package/dist/test/envSubsetDeployer/app.js.map +1 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
- package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
- package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/utils.js +2 -10
- package/dist/test/envSubsetDeployer/utils.js.map +1 -1
- package/dist/test/testUtils.d.ts +5 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +8 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +2 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts +11 -12
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +3 -6
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/wagmi.d.ts +4 -0
- package/dist/utils/wagmi.d.ts.map +1 -0
- package/dist/utils/wagmi.js +28 -0
- package/dist/utils/wagmi.js.map +1 -0
- package/logos/black/gnosis.svg +1 -0
- package/logos/color/gnosis.svg +1 -0
- package/package.json +5 -6
- package/dist/consts/chainConnectionConfigs.d.ts +0 -21
- package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
- package/dist/consts/chainConnectionConfigs.js +0 -35
- package/dist/consts/chainConnectionConfigs.js.map +0 -1
- package/dist/core/message.d.ts +0 -146
- package/dist/core/message.d.ts.map +0 -1
- package/dist/core/message.js +0 -285
- package/dist/core/message.js.map +0 -1
- package/dist/domains.d.ts +0 -4
- package/dist/domains.d.ts.map +0 -1
- package/dist/domains.js +0 -12
- package/dist/domains.js.map +0 -1
- package/dist/providers/ChainConnection.d.ts +0 -23
- package/dist/providers/ChainConnection.d.ts.map +0 -1
- package/dist/providers/ChainConnection.js +0 -67
- package/dist/providers/ChainConnection.js.map +0 -1
|
@@ -1,119 +1,464 @@
|
|
|
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.MultiProvider = void 0;
|
|
4
|
-
const
|
|
13
|
+
const debug_1 = require("debug");
|
|
14
|
+
const ethers_1 = require("ethers");
|
|
15
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
16
|
+
const chains_1 = require("../consts/chains");
|
|
5
17
|
const objects_1 = require("../utils/objects");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
18
|
+
class MultiProvider {
|
|
19
|
+
/**
|
|
20
|
+
* Create a new MultiProvider with the given chainMetadata,
|
|
21
|
+
* or the SDK's default metadata if not provided
|
|
22
|
+
*/
|
|
23
|
+
constructor(chainMetadata = chainMetadata_1.chainMetadata, options = {}) {
|
|
24
|
+
this.metadata = {};
|
|
25
|
+
this.providers = {};
|
|
26
|
+
this.signers = {};
|
|
27
|
+
this.useSharedSigner = false; // A single signer to be used for all chains
|
|
28
|
+
this.metadata = chainMetadata;
|
|
29
|
+
// Ensure no two chains have overlapping names/domainIds/chainIds
|
|
30
|
+
const chainNames = new Set();
|
|
31
|
+
const chainIds = new Set();
|
|
32
|
+
const domainIds = new Set();
|
|
33
|
+
for (const chain of Object.values(chainMetadata)) {
|
|
34
|
+
const { name, chainId, domainId } = chain;
|
|
35
|
+
if (chainNames.has(name))
|
|
36
|
+
throw new Error(`Duplicate chain name: ${name}`);
|
|
37
|
+
if (chainIds.has(chainId))
|
|
38
|
+
throw new Error(`Duplicate chain id: ${chainId}`);
|
|
39
|
+
if (domainIds.has(chainId))
|
|
40
|
+
throw new Error(`Overlapping chain/domain id: ${chainId}`);
|
|
41
|
+
if (domainId && domainIds.has(domainId))
|
|
42
|
+
throw new Error(`Duplicate domain id: ${domainId}`);
|
|
43
|
+
if (domainId && chainIds.has(domainId))
|
|
44
|
+
throw new Error(`Overlapping chain/domain id: ${domainId}`);
|
|
45
|
+
chainNames.add(name);
|
|
46
|
+
chainIds.add(chainId);
|
|
47
|
+
if (domainId)
|
|
48
|
+
domainIds.add(domainId);
|
|
49
|
+
}
|
|
50
|
+
this.logger = (0, debug_1.debug)((options === null || options === void 0 ? void 0 : options.loggerName) || 'hyperlane:MultiProvider');
|
|
10
51
|
}
|
|
11
52
|
/**
|
|
12
|
-
* Get
|
|
13
|
-
* @throws if chain
|
|
53
|
+
* Get the metadata for a given chain name, chain id, or domain id
|
|
54
|
+
* @throws if chain's metadata has not been set
|
|
14
55
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
56
|
+
tryGetChainMetadata(chainNameOrId) {
|
|
57
|
+
let chainMetadata;
|
|
58
|
+
if (typeof chainNameOrId === 'string') {
|
|
59
|
+
chainMetadata = this.metadata[chainNameOrId];
|
|
60
|
+
}
|
|
61
|
+
else if (typeof chainNameOrId === 'number') {
|
|
62
|
+
chainMetadata = Object.values(this.metadata).find((m) => m.chainId === chainNameOrId || m.domainId === chainNameOrId);
|
|
63
|
+
}
|
|
64
|
+
return chainMetadata || null;
|
|
17
65
|
}
|
|
18
66
|
/**
|
|
19
|
-
* Get
|
|
20
|
-
* @
|
|
67
|
+
* Get the metadata for a given chain name, chain id, or domain id
|
|
68
|
+
* @throws if chain's metadata has not been set
|
|
21
69
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
70
|
+
getChainMetadata(chainNameOrId) {
|
|
71
|
+
const chainMetadata = this.tryGetChainMetadata(chainNameOrId);
|
|
72
|
+
if (!chainMetadata)
|
|
73
|
+
throw new Error(`No chain metadata set for ${chainNameOrId}`);
|
|
74
|
+
return chainMetadata;
|
|
24
75
|
}
|
|
25
76
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @throws if chain is invalid or has not been set
|
|
77
|
+
* Get the name for a given chain name, chain id, or domain id
|
|
28
78
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return this.
|
|
79
|
+
tryGetChainName(chainNameOrId) {
|
|
80
|
+
var _a, _b;
|
|
81
|
+
return (_b = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null;
|
|
32
82
|
}
|
|
33
83
|
/**
|
|
34
|
-
* Get
|
|
35
|
-
* @throws if chain
|
|
84
|
+
* Get the name for a given chain name, chain id, or domain id
|
|
85
|
+
* @throws if chain's metadata has not been set
|
|
36
86
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (!chainConnection.provider) {
|
|
40
|
-
throw new Error(`No provider set for chain ${chain}`);
|
|
41
|
-
}
|
|
42
|
-
return chainConnection.provider;
|
|
87
|
+
getChainName(chainNameOrId) {
|
|
88
|
+
return this.getChainMetadata(chainNameOrId).name;
|
|
43
89
|
}
|
|
44
90
|
/**
|
|
45
|
-
* Get
|
|
46
|
-
* @returns value or null if chain value has not been set
|
|
91
|
+
* Get the names for all chains known to this MultiProvider
|
|
47
92
|
*/
|
|
48
|
-
|
|
93
|
+
getKnownChainNames() {
|
|
94
|
+
return Object.keys(this.metadata);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the id for a given chain name, chain id, or domain id
|
|
98
|
+
*/
|
|
99
|
+
tryGetChainId(chainNameOrId) {
|
|
49
100
|
var _a, _b;
|
|
50
|
-
return (_b = (_a = this.
|
|
101
|
+
return (_b = (_a = this.tryGetChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : null;
|
|
51
102
|
}
|
|
52
103
|
/**
|
|
53
|
-
* Get
|
|
54
|
-
* @throws if chain
|
|
104
|
+
* Get the id for a given chain name, chain id, or domain id
|
|
105
|
+
* @throws if chain's metadata has not been set
|
|
55
106
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
107
|
+
getChainId(chainNameOrId) {
|
|
108
|
+
return this.getChainMetadata(chainNameOrId).chainId;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get the ids for all chains known to this MultiProvider
|
|
112
|
+
*/
|
|
113
|
+
getKnownChainIds() {
|
|
114
|
+
return Object.values(this.metadata).map((c) => c.chainId);
|
|
62
115
|
}
|
|
63
116
|
/**
|
|
64
|
-
* Get
|
|
65
|
-
* @returns value or null if chain value has not been set
|
|
117
|
+
* Get the domain id for a given chain name, chain id, or domain id
|
|
66
118
|
*/
|
|
67
|
-
|
|
119
|
+
tryGetDomainId(chainNameOrId) {
|
|
68
120
|
var _a, _b;
|
|
69
|
-
|
|
121
|
+
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
122
|
+
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;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get the domain id for a given chain name, chain id, or domain id
|
|
126
|
+
* @throws if chain's metadata has not been set
|
|
127
|
+
*/
|
|
128
|
+
getDomainId(chainNameOrId) {
|
|
129
|
+
var _a;
|
|
130
|
+
const metadata = this.getChainMetadata(chainNameOrId);
|
|
131
|
+
return (_a = metadata.domainId) !== null && _a !== void 0 ? _a : metadata.chainId;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Get the domain ids for a list of chain names, chain ids, or domain ids
|
|
135
|
+
* @throws if any chain's metadata has not been set
|
|
136
|
+
*/
|
|
137
|
+
getDomainIds(chainNamesOrIds) {
|
|
138
|
+
return chainNamesOrIds.map((c) => this.getDomainId(c));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the ids for all chains known to this MultiProvider
|
|
142
|
+
*/
|
|
143
|
+
getKnownDomainIds() {
|
|
144
|
+
return this.getKnownChainNames().map(this.getDomainId);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get an Ethers provider for a given chain name, chain id, or domain id
|
|
148
|
+
*/
|
|
149
|
+
tryGetProvider(chainNameOrId) {
|
|
150
|
+
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
151
|
+
if (!metadata)
|
|
152
|
+
return null;
|
|
153
|
+
const { name, chainId: id, publicRpcUrls } = metadata;
|
|
154
|
+
if (this.providers[name])
|
|
155
|
+
return this.providers[name];
|
|
156
|
+
if (chains_1.TestChains.includes(name)) {
|
|
157
|
+
this.providers[name] = new ethers_1.providers.JsonRpcProvider('http://localhost:8545', 31337);
|
|
158
|
+
}
|
|
159
|
+
else if (publicRpcUrls.length && publicRpcUrls[0].http) {
|
|
160
|
+
this.providers[name] = new ethers_1.providers.JsonRpcProvider(publicRpcUrls[0].http, id);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
return this.providers[name];
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get an Ethers provider for a given chain name, chain id, or domain id
|
|
169
|
+
* @throws if chain's metadata has not been set
|
|
170
|
+
*/
|
|
171
|
+
getProvider(chainNameOrId) {
|
|
172
|
+
const provider = this.tryGetProvider(chainNameOrId);
|
|
173
|
+
if (!provider)
|
|
174
|
+
throw new Error(`No chain metadata set for ${chainNameOrId}`);
|
|
175
|
+
return provider;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Sets an Ethers provider for a given chain name, chain id, or domain id
|
|
179
|
+
* @throws if chain's metadata has not been set
|
|
180
|
+
*/
|
|
181
|
+
setProvider(chainNameOrId, provider) {
|
|
182
|
+
const chainName = this.getChainName(chainNameOrId);
|
|
183
|
+
this.providers[chainName] = provider;
|
|
184
|
+
return provider;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Sets Ethers providers for a set of chains
|
|
188
|
+
* @throws if chain's metadata has not been set
|
|
189
|
+
*/
|
|
190
|
+
setProviders(providers) {
|
|
191
|
+
for (const chain of Object.keys(providers)) {
|
|
192
|
+
const chainName = this.getChainName(chain);
|
|
193
|
+
this.providers[chainName] = providers[chain];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get an Ethers signer for a given chain name, chain id, or domain id
|
|
198
|
+
* If signer is not yet connected, it will be connected
|
|
199
|
+
*/
|
|
200
|
+
tryGetSigner(chainNameOrId) {
|
|
201
|
+
const chainName = this.tryGetChainName(chainNameOrId);
|
|
202
|
+
if (!chainName)
|
|
203
|
+
return null;
|
|
204
|
+
// Otherwise check the chain-to-signer map
|
|
205
|
+
const signer = this.signers[chainName];
|
|
206
|
+
if (!signer)
|
|
207
|
+
return null;
|
|
208
|
+
if (signer.provider)
|
|
209
|
+
return signer;
|
|
210
|
+
// Auto-connect the signer for convenience
|
|
211
|
+
const provider = this.tryGetProvider(chainName);
|
|
212
|
+
return provider ? signer.connect(provider) : signer;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get an Ethers signer for a given chain name, chain id, or domain id
|
|
216
|
+
* If signer is not yet connected, it will be connected
|
|
217
|
+
* @throws if chain's metadata or signer has not been set
|
|
218
|
+
*/
|
|
219
|
+
getSigner(chainNameOrId) {
|
|
220
|
+
const signer = this.tryGetSigner(chainNameOrId);
|
|
221
|
+
if (!signer)
|
|
222
|
+
throw new Error(`No chain signer set for ${chainNameOrId}`);
|
|
223
|
+
return signer;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get an Ethers signer for a given chain name, chain id, or domain id
|
|
227
|
+
* @throws if chain's metadata or signer has not been set
|
|
228
|
+
*/
|
|
229
|
+
getSignerAddress(chainNameOrId) {
|
|
230
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
231
|
+
const signer = this.getSigner(chainNameOrId);
|
|
232
|
+
const address = yield signer.getAddress();
|
|
233
|
+
return address;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Sets an Ethers Signer for a given chain name, chain id, or domain id
|
|
238
|
+
* @throws if chain's metadata has not been set or shared signer has already been set
|
|
239
|
+
*/
|
|
240
|
+
setSigner(chainNameOrId, signer) {
|
|
241
|
+
if (this.useSharedSigner) {
|
|
242
|
+
throw new Error('MultiProvider already set to use a shared signer');
|
|
243
|
+
}
|
|
244
|
+
const chainName = this.getChainName(chainNameOrId);
|
|
245
|
+
this.signers[chainName] = signer;
|
|
246
|
+
if (signer.provider && !this.providers[chainName]) {
|
|
247
|
+
this.providers[chainName] = signer.provider;
|
|
248
|
+
}
|
|
249
|
+
return signer;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Sets Ethers Signers for a set of chains
|
|
253
|
+
* @throws if chain's metadata has not been set or shared signer has already been set
|
|
254
|
+
*/
|
|
255
|
+
setSigners(signers) {
|
|
256
|
+
if (this.useSharedSigner) {
|
|
257
|
+
throw new Error('MultiProvider already set to use a shared signer');
|
|
258
|
+
}
|
|
259
|
+
for (const chain of Object.keys(signers)) {
|
|
260
|
+
const chainName = this.getChainName(chain);
|
|
261
|
+
this.signers[chainName] = signers[chain];
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Gets the Signer if it's been set, otherwise the provider
|
|
266
|
+
*/
|
|
267
|
+
tryGetSignerOrProvider(chainNameOrId) {
|
|
268
|
+
return (this.tryGetSigner(chainNameOrId) || this.tryGetProvider(chainNameOrId));
|
|
70
269
|
}
|
|
71
270
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* @throws if chain is invalid or has not been set
|
|
271
|
+
* Gets the Signer if it's been set, otherwise the provider
|
|
272
|
+
* @throws if chain metadata has not been set
|
|
75
273
|
*/
|
|
76
|
-
|
|
77
|
-
return this.
|
|
274
|
+
getSignerOrProvider(chainNameOrId) {
|
|
275
|
+
return this.tryGetSigner(chainNameOrId) || this.getProvider(chainNameOrId);
|
|
78
276
|
}
|
|
79
277
|
/**
|
|
80
|
-
*
|
|
278
|
+
* Sets Ethers Signers to be used for all chains
|
|
279
|
+
* Any subsequent calls to getSigner will return given signer
|
|
280
|
+
* Setting sharedSigner to null clears all signers
|
|
81
281
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
282
|
+
setSharedSigner(sharedSigner) {
|
|
283
|
+
if (!sharedSigner) {
|
|
284
|
+
this.useSharedSigner = false;
|
|
285
|
+
this.signers = {};
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
this.useSharedSigner = true;
|
|
289
|
+
for (const chain of this.getKnownChainNames()) {
|
|
290
|
+
this.signers[chain] = sharedSigner;
|
|
291
|
+
}
|
|
292
|
+
return sharedSigner;
|
|
85
293
|
}
|
|
86
294
|
/**
|
|
87
295
|
* Create a new MultiProvider from the intersection
|
|
88
296
|
* of current's chains and the provided chain list
|
|
89
297
|
*/
|
|
90
298
|
intersect(chains, throwIfNotSubset = false) {
|
|
91
|
-
const ownChains = this.
|
|
299
|
+
const ownChains = this.getKnownChainNames();
|
|
92
300
|
const intersection = [];
|
|
93
301
|
for (const chain of chains) {
|
|
94
|
-
// @ts-ignore
|
|
95
302
|
if (ownChains.includes(chain)) {
|
|
96
|
-
// @ts-ignore
|
|
97
303
|
intersection.push(chain);
|
|
98
304
|
}
|
|
99
|
-
else {
|
|
100
|
-
|
|
101
|
-
throw new Error(`MultiProvider#intersect: chains specified ${chain}, but ownChains did not include it`);
|
|
102
|
-
}
|
|
305
|
+
else if (throwIfNotSubset) {
|
|
306
|
+
throw new Error(`MultiProvider#intersect: chains specified ${chain}, but ownChains did not include it`);
|
|
103
307
|
}
|
|
104
308
|
}
|
|
105
309
|
if (!intersection.length) {
|
|
106
310
|
throw new Error(`No chains shared between MultiProvider and list (${ownChains} and ${chains})`);
|
|
107
311
|
}
|
|
108
|
-
const
|
|
109
|
-
const
|
|
312
|
+
const intersectionMetadata = (0, objects_1.pick)(this.metadata, intersection);
|
|
313
|
+
const intersectionProviders = (0, objects_1.pick)(this.providers, intersection);
|
|
314
|
+
const intersectionSigners = (0, objects_1.pick)(this.signers, intersection);
|
|
315
|
+
const multiProvider = new MultiProvider(intersectionMetadata);
|
|
316
|
+
multiProvider.setProviders(intersectionProviders);
|
|
317
|
+
multiProvider.setSigners(intersectionSigners);
|
|
110
318
|
return { intersection, multiProvider };
|
|
111
319
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
320
|
+
/**
|
|
321
|
+
* Get chain names excluding given chain name
|
|
322
|
+
*/
|
|
323
|
+
getRemoteChains(name) {
|
|
324
|
+
return this.getKnownChainNames().filter((n) => n !== name);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Get an RPC URL for given chain
|
|
328
|
+
* @throws if chain's metadata has not been set
|
|
329
|
+
*/
|
|
330
|
+
getRpcUrl(chainNameOrId) {
|
|
331
|
+
const { publicRpcUrls } = this.getChainMetadata(chainNameOrId);
|
|
332
|
+
if (!(publicRpcUrls === null || publicRpcUrls === void 0 ? void 0 : publicRpcUrls.length) || !publicRpcUrls[0].http)
|
|
333
|
+
throw new Error(`No RPC URl configured for ${chainNameOrId}`);
|
|
334
|
+
return publicRpcUrls[0].http;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Get a block explorer URL for given chain
|
|
338
|
+
* @throws if chain's metadata has not been set
|
|
339
|
+
*/
|
|
340
|
+
getExplorerUrl(chainNameOrId) {
|
|
341
|
+
const explorers = this.getChainMetadata(chainNameOrId).blockExplorers;
|
|
342
|
+
if (!(explorers === null || explorers === void 0 ? void 0 : explorers.length))
|
|
343
|
+
return 'UNKNOWN_EXPLORER_URL';
|
|
344
|
+
else
|
|
345
|
+
return explorers[0].url;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Get a block explorer API URL for given chain
|
|
349
|
+
* @throws if chain's metadata has not been set
|
|
350
|
+
*/
|
|
351
|
+
getExplorerApiUrl(chainNameOrId) {
|
|
352
|
+
const explorers = this.getChainMetadata(chainNameOrId).blockExplorers;
|
|
353
|
+
if (!(explorers === null || explorers === void 0 ? void 0 : explorers.length))
|
|
354
|
+
return 'UNKNOWN_EXPLORER_API_URL';
|
|
355
|
+
else
|
|
356
|
+
return (explorers[0].apiUrl || explorers[0].url) + '/api';
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Get a block explorer URL for given chain's tx
|
|
360
|
+
* @throws if chain's metadata has not been set
|
|
361
|
+
*/
|
|
362
|
+
getExplorerTxUrl(chainNameOrId, response) {
|
|
363
|
+
return `${this.getExplorerUrl(chainNameOrId)}/tx/${response.hash}`;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Get a block explorer URL for given chain's address
|
|
367
|
+
* @throws if chain's metadata has not been set
|
|
368
|
+
*/
|
|
369
|
+
getExplorerAddressUrl(chainNameOrId, address) {
|
|
370
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
371
|
+
const base = `${this.getExplorerUrl(chainNameOrId)}/address`;
|
|
372
|
+
if (address)
|
|
373
|
+
return `${base}/${address}`;
|
|
374
|
+
const signerAddress = yield this.getSignerAddress(chainNameOrId);
|
|
375
|
+
return `${base}/${signerAddress}`;
|
|
115
376
|
});
|
|
116
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Get a block explorer URL for given chain's address
|
|
380
|
+
* @throws if chain's metadata has not been set
|
|
381
|
+
*/
|
|
382
|
+
getTransactionOverrides(chainNameOrId) {
|
|
383
|
+
var _a, _b;
|
|
384
|
+
return (_b = (_a = this.getChainMetadata(chainNameOrId)) === null || _a === void 0 ? void 0 : _a.transactionOverrides) !== null && _b !== void 0 ? _b : {};
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Wait for given tx to be confirmed
|
|
388
|
+
* @throws if chain's metadata or signer has not been set or tx fails
|
|
389
|
+
*/
|
|
390
|
+
handleTx(chainNameOrId, tx) {
|
|
391
|
+
var _a;
|
|
392
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
393
|
+
const confirmations = ((_a = this.getChainMetadata(chainNameOrId).blocks) === null || _a === void 0 ? void 0 : _a.confirmations) || 1;
|
|
394
|
+
const response = yield tx;
|
|
395
|
+
this.logger(`Pending ${this.getExplorerTxUrl(chainNameOrId, response)} (waiting ${confirmations} blocks for confirmation)`);
|
|
396
|
+
return response.wait(confirmations);
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Populate a transaction's fields using signer address and overrides
|
|
401
|
+
* @throws if chain's metadata has not been set or tx fails
|
|
402
|
+
*/
|
|
403
|
+
prepareTx(chainNameOrId, tx, from) {
|
|
404
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
405
|
+
const txFrom = from ? from : yield this.getSignerAddress(chainNameOrId);
|
|
406
|
+
const overrides = this.getTransactionOverrides(chainNameOrId);
|
|
407
|
+
return Object.assign(Object.assign(Object.assign({}, tx), { from: txFrom }), overrides);
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Estimate gas for given tx
|
|
412
|
+
* @throws if chain's metadata has not been set or tx fails
|
|
413
|
+
*/
|
|
414
|
+
estimateGas(chainNameOrId, tx, from) {
|
|
415
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
416
|
+
const txReq = yield this.prepareTx(chainNameOrId, tx, from);
|
|
417
|
+
const provider = this.getProvider(chainNameOrId);
|
|
418
|
+
return provider.estimateGas(txReq);
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Send a transaction and wait for confirmation
|
|
423
|
+
* @throws if chain's metadata or signer has not been set or tx fails
|
|
424
|
+
*/
|
|
425
|
+
sendTransaction(chainNameOrId, tx) {
|
|
426
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
427
|
+
const txReq = yield this.prepareTx(chainNameOrId, tx);
|
|
428
|
+
const signer = this.getSigner(chainNameOrId);
|
|
429
|
+
const response = yield signer.sendTransaction(txReq);
|
|
430
|
+
this.logger(`Sent tx ${response.hash}`);
|
|
431
|
+
return this.handleTx(chainNameOrId, response);
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Run given function on all known chains
|
|
436
|
+
*/
|
|
437
|
+
mapKnownChains(fn) {
|
|
438
|
+
const result = {};
|
|
439
|
+
for (const chain of this.getKnownChainNames()) {
|
|
440
|
+
result[chain] = fn(chain);
|
|
441
|
+
}
|
|
442
|
+
return result;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Creates a MultiProvider using the given signer for all test networks
|
|
446
|
+
*/
|
|
447
|
+
static createTestMultiProvider(params = {}) {
|
|
448
|
+
const { signer, provider } = params;
|
|
449
|
+
const chainMetadata = (0, objects_1.pick)(chainMetadata_1.chainMetadata, chains_1.TestChains);
|
|
450
|
+
const mp = new MultiProvider(chainMetadata);
|
|
451
|
+
if (signer) {
|
|
452
|
+
mp.setSharedSigner(signer);
|
|
453
|
+
}
|
|
454
|
+
const _provider = provider || (signer === null || signer === void 0 ? void 0 : signer.provider);
|
|
455
|
+
if (_provider) {
|
|
456
|
+
const providerMap = {};
|
|
457
|
+
chains_1.TestChains.forEach((t) => (providerMap[t] = _provider));
|
|
458
|
+
mp.setProviders(providerMap);
|
|
459
|
+
}
|
|
460
|
+
return mp;
|
|
461
|
+
}
|
|
117
462
|
}
|
|
118
463
|
exports.MultiProvider = MultiProvider;
|
|
119
464
|
//# sourceMappingURL=MultiProvider.js.map
|
|
@@ -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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"}
|
package/dist/router.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { ethers } from 'ethers';
|
|
2
|
-
import { Router } from '@hyperlane-xyz/core';
|
|
1
|
+
import type { BigNumber, ethers } from 'ethers';
|
|
2
|
+
import { GasRouter, Router } from '@hyperlane-xyz/core';
|
|
3
3
|
import type { types } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { HyperlaneApp } from './HyperlaneApp';
|
|
4
5
|
import { HyperlaneContracts, HyperlaneFactories } from './contracts';
|
|
6
|
+
import { ChainMap, ChainName } from './types';
|
|
5
7
|
export declare type RouterContracts<RouterContract extends Router = Router> = HyperlaneContracts & {
|
|
6
8
|
router: RouterContract;
|
|
7
9
|
};
|
|
@@ -17,4 +19,11 @@ export declare type ConnectionClientConfig = {
|
|
|
17
19
|
interchainSecurityModule?: types.Address;
|
|
18
20
|
};
|
|
19
21
|
export { Router } from '@hyperlane-xyz/core';
|
|
22
|
+
export declare class RouterApp<Contracts extends RouterContracts> extends HyperlaneApp<Contracts> {
|
|
23
|
+
getSecurityModules: () => Promise<ChainMap<types.Address>>;
|
|
24
|
+
getOwners: () => Promise<ChainMap<types.Address>>;
|
|
25
|
+
}
|
|
26
|
+
export declare class GasRouterApp<Contracts extends RouterContracts<GasRouter>> extends RouterApp<Contracts> {
|
|
27
|
+
quoteGasPayment(origin: ChainName, destination: ChainName): Promise<BigNumber>;
|
|
28
|
+
}
|
|
20
29
|
//# sourceMappingURL=router.d.ts.map
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9C,oBAAY,eAAe,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IAChE,kBAAkB,GAAG;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEJ,aAAK,aAAa,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IACvD,MAAM,CAAC,eAAe,GAAG;IACvB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CACrD,CAAC;AAEJ,oBAAY,eAAe,CAAC,cAAc,SAAS,MAAM,GAAG,MAAM,IAChE,kBAAkB,GAAG;IACnB,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACvC,CAAC;AAEJ,oBAAY,sBAAsB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,wBAAwB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;CAC1C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,SAAS,CACpB,SAAS,SAAS,eAAe,CACjC,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC/B,kBAAkB,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,CAKrD;IAEJ,SAAS,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,CAG5C;CACL;AAED,qBAAa,YAAY,CACvB,SAAS,SAAS,eAAe,CAAC,SAAS,CAAC,CAC5C,SAAQ,SAAS,CAAC,SAAS,CAAC;IACtB,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,SAAS,CAAC;CAKtB"}
|
package/dist/router.js
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GasRouterApp = exports.RouterApp = void 0;
|
|
13
|
+
const HyperlaneApp_1 = require("./HyperlaneApp");
|
|
14
|
+
const objects_1 = require("./utils/objects");
|
|
15
|
+
class RouterApp extends HyperlaneApp_1.HyperlaneApp {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.getSecurityModules = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.contractsMap, (_, contracts) => contracts.router.interchainSecurityModule()));
|
|
19
|
+
this.getOwners = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.contractsMap, (_, contracts) => contracts.router.owner()));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.RouterApp = RouterApp;
|
|
23
|
+
class GasRouterApp extends RouterApp {
|
|
24
|
+
quoteGasPayment(origin, destination) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return this.getContracts(origin).router.quoteGasPayment(this.multiProvider.getDomainId(destination));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.GasRouterApp = GasRouterApp;
|
|
3
31
|
//# sourceMappingURL=router.js.map
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,iDAA8C;AAG9C,6CAAwD;AAyBxD,MAAa,SAEX,SAAQ,2BAAuB;IAFjC;;QAGE,uBAAkB,GAAG,GAAqC,EAAE,CAC1D,IAAA,uBAAa,EACX,IAAA,gBAAM,EAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CACzC,SAAS,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAC5C,CACF,CAAC;QAEJ,cAAS,GAAG,GAAqC,EAAE,CACjD,IAAA,uBAAa,EACX,IAAA,gBAAM,EAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CACtE,CAAC;IACN,CAAC;CAAA;AAdD,8BAcC;AAED,MAAa,YAEX,SAAQ,SAAoB;IACtB,eAAe,CACnB,MAAiB,EACjB,WAAsB;;YAEtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CACrD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAC5C,CAAC;QACJ,CAAC;KAAA;CACF;AAXD,oCAWC"}
|