@hyperlane-xyz/sdk 3.11.0-beta-0 → 3.20.0-beta0
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/dist/app/MultiProtocolApp.test.js +9 -11
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/crud.d.ts +2 -0
- package/dist/consts/crud.d.ts.map +1 -0
- package/dist/consts/crud.js +2 -0
- package/dist/consts/crud.js.map +1 -0
- package/dist/consts/igp.d.ts +3 -1
- package/dist/consts/igp.d.ts.map +1 -1
- package/dist/consts/igp.js +3 -1
- package/dist/consts/igp.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +23 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.js +211 -0
- package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
- package/dist/consts/testChains.d.ts +17 -0
- package/dist/consts/testChains.d.ts.map +1 -0
- package/dist/consts/testChains.js +105 -0
- package/dist/consts/testChains.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +49 -8
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +6 -2
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +51 -11
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +2 -6
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +0 -2
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +0 -8
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +15 -77
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +2 -1
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.js +2 -2
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +10 -2
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
- package/dist/core/read.d.ts +28 -0
- package/dist/core/read.d.ts.map +1 -0
- package/dist/core/read.js +44 -0
- package/dist/core/read.js.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +3 -3
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/crud/AbstractCrudModule.d.ts +21 -0
- package/dist/crud/AbstractCrudModule.d.ts.map +1 -0
- package/dist/crud/AbstractCrudModule.js +10 -0
- package/dist/crud/AbstractCrudModule.js.map +1 -0
- package/dist/crud/EvmHookModule.d.ts +18 -0
- package/dist/crud/EvmHookModule.d.ts.map +1 -0
- package/dist/crud/EvmHookModule.js +28 -0
- package/dist/crud/EvmHookModule.js.map +1 -0
- package/dist/crud/EvmIsmModule.d.ts +18 -0
- package/dist/crud/EvmIsmModule.d.ts.map +1 -0
- package/dist/crud/EvmIsmModule.js +28 -0
- package/dist/crud/EvmIsmModule.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +4 -4
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/schemas.d.ts +70 -0
- package/dist/deploy/schemas.d.ts.map +1 -0
- package/dist/deploy/schemas.js +7 -0
- package/dist/deploy/schemas.js.map +1 -0
- package/dist/deploy/types.d.ts +12 -3
- 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/gas/HyperlaneIgp.d.ts +0 -2
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +0 -9
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +3 -6
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +12 -7
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +3 -2
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.d.ts.map +1 -1
- package/dist/gas/oracle/types.js +4 -3
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/token-prices.d.ts +2 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +4 -7
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +6 -6
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +1 -2
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/read.d.ts +35 -0
- package/dist/hook/read.d.ts.map +1 -0
- package/dist/hook/read.js +191 -0
- package/dist/hook/read.js.map +1 -0
- package/dist/hook/read.test.d.ts +2 -0
- package/dist/hook/read.test.d.ts.map +1 -0
- package/dist/hook/read.test.js +147 -0
- package/dist/hook/read.test.js.map +1 -0
- package/dist/hook/types.d.ts +14 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +14 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -6
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +0 -2
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +37 -9
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +16 -27
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/read.d.ts +29 -0
- package/dist/ism/read.d.ts.map +1 -0
- package/dist/ism/read.js +152 -0
- package/dist/ism/read.js.map +1 -0
- package/dist/ism/read.test.d.ts +2 -0
- package/dist/ism/read.test.d.ts.map +1 -0
- package/dist/ism/read.test.js +124 -0
- package/dist/ism/read.test.js.map +1 -0
- package/dist/ism/schemas.d.ts +177 -0
- package/dist/ism/schemas.d.ts.map +1 -0
- package/dist/ism/schemas.js +59 -0
- package/dist/ism/schemas.js.map +1 -0
- package/dist/ism/schemas.test.d.ts +2 -0
- package/dist/ism/schemas.test.d.ts.map +1 -0
- package/dist/ism/schemas.test.js +18 -0
- package/dist/ism/schemas.test.js.map +1 -0
- package/dist/ism/types.d.ts +11 -4
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +4 -3
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +10 -4
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +12 -2
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +27 -13
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +464 -246
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +4 -8
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +9 -9
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +3 -7
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/blockExplorer.test.d.ts +2 -0
- package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.test.js +41 -0
- package/dist/metadata/blockExplorer.test.js.map +1 -0
- package/dist/metadata/chainMetadata.test.js +0 -10
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +335 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +33 -9
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +0 -2
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +2 -12
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +3 -3
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/schemas.d.ts +21 -0
- package/dist/middleware/account/schemas.d.ts.map +1 -0
- package/dist/middleware/account/schemas.js +11 -0
- package/dist/middleware/account/schemas.js.map +1 -0
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +5 -6
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +0 -2
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +0 -9
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +5 -6
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +6 -2
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +15 -2
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +8 -9
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +7 -8
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +26 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +0 -3
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +0 -2
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +2 -1
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.test.js +4 -4
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/RouterApps.d.ts +1 -1
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +11 -5
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/schemas.d.ts +71 -0
- package/dist/router/schemas.d.ts.map +1 -0
- package/dist/router/schemas.js +16 -0
- package/dist/router/schemas.js.map +1 -0
- package/dist/router/types.d.ts +5 -12
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/test/MockCoinGecko.d.ts +12 -0
- package/dist/test/MockCoinGecko.d.ts.map +1 -0
- package/dist/test/MockCoinGecko.js +38 -0
- package/dist/test/MockCoinGecko.js.map +1 -0
- package/dist/test/testUtils.d.ts +8 -10
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +25 -39
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/Token.test.js +30 -37
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.test.js +4 -5
- package/dist/token/TokenAmount.test.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +2 -3
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +3 -8
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +10 -13
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +4 -2
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/app.d.ts +11 -0
- package/dist/token/app.d.ts.map +1 -0
- package/dist/token/app.js +22 -0
- package/dist/token/app.js.map +1 -0
- package/dist/token/checker.d.ts +10 -0
- package/dist/token/checker.d.ts.map +1 -0
- package/dist/token/checker.js +73 -0
- package/dist/token/checker.js.map +1 -0
- package/dist/token/config.d.ts +9 -4
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +9 -0
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +4 -1
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +48 -2
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +7 -3
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/read.d.ts +42 -0
- package/dist/token/read.d.ts.map +1 -0
- package/dist/token/read.js +88 -0
- package/dist/token/read.js.map +1 -0
- package/dist/token/schemas.d.ts +375 -0
- package/dist/token/schemas.d.ts.map +1 -0
- package/dist/token/schemas.js +48 -0
- package/dist/token/schemas.js.map +1 -0
- package/dist/token/schemas.test.d.ts +2 -0
- package/dist/token/schemas.test.d.ts.map +1 -0
- package/dist/token/schemas.test.js +85 -0
- package/dist/token/schemas.test.js.map +1 -0
- package/dist/token/types.d.ts +5 -0
- package/dist/token/types.d.ts.map +1 -0
- package/dist/token/types.js +2 -0
- package/dist/token/types.js.map +1 -0
- package/dist/types.d.ts +0 -1
- 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 -3
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/cosmos.d.ts +1180 -0
- package/dist/utils/cosmos.d.ts.map +1 -0
- package/dist/utils/cosmos.js +375 -0
- package/dist/utils/cosmos.js.map +1 -0
- package/dist/utils/fork.d.ts +38 -0
- package/dist/utils/fork.d.ts.map +1 -0
- package/dist/utils/fork.js +89 -0
- package/dist/utils/fork.js.map +1 -0
- package/dist/utils/ism.js +1 -1
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/wagmi.d.ts +0 -2
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +2 -5
- package/dist/utils/wagmi.js.map +1 -1
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +9 -5
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +34 -35
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/package.json +4 -5
- package/dist/consts/chainMetadata.d.ts +0 -85
- package/dist/consts/chainMetadata.d.ts.map +0 -1
- package/dist/consts/chainMetadata.js +0 -929
- package/dist/consts/chainMetadata.js.map +0 -1
- package/dist/consts/chains.d.ts +0 -54
- package/dist/consts/chains.d.ts.map +0 -1
- package/dist/consts/chains.js +0 -93
- package/dist/consts/chains.js.map +0 -1
- package/dist/consts/environments/index.d.ts +0 -503
- package/dist/consts/environments/index.d.ts.map +0 -1
- package/dist/consts/environments/index.js +0 -7
- package/dist/consts/environments/index.js.map +0 -1
- package/dist/consts/environments/mainnet.json +0 -342
- package/dist/consts/environments/testnet.json +0 -132
- package/dist/consts/multisigIsmVerifyCosts.json +0 -209
- package/dist/metadata/health.d.ts +0 -9
- package/dist/metadata/health.d.ts.map +0 -1
- package/dist/metadata/health.js +0 -112
- package/dist/metadata/health.js.map +0 -1
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts +0 -2
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +0 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +0 -161
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +0 -1
- package/dist/test/metadata-check.d.ts +0 -2
- package/dist/test/metadata-check.d.ts.map +0 -1
- package/dist/test/metadata-check.js +0 -81
- package/dist/test/metadata-check.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { ERC20__factory, HypERC20Collateral__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/crud.js';
|
|
4
|
+
import { EvmHookReader } from '../hook/read.js';
|
|
5
|
+
import { EvmIsmReader } from '../ism/read.js';
|
|
6
|
+
export class EvmERC20WarpRouteReader {
|
|
7
|
+
multiProvider;
|
|
8
|
+
chain;
|
|
9
|
+
concurrency;
|
|
10
|
+
provider;
|
|
11
|
+
evmHookReader;
|
|
12
|
+
evmIsmReader;
|
|
13
|
+
constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY) {
|
|
14
|
+
this.multiProvider = multiProvider;
|
|
15
|
+
this.chain = chain;
|
|
16
|
+
this.concurrency = concurrency;
|
|
17
|
+
this.provider = this.multiProvider.getProvider(chain);
|
|
18
|
+
this.evmHookReader = new EvmHookReader(multiProvider, chain, concurrency);
|
|
19
|
+
this.evmIsmReader = new EvmIsmReader(multiProvider, chain, concurrency);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Derives the configuration for a Hyperlane ERC20 router contract at the given address.
|
|
23
|
+
*
|
|
24
|
+
* @param address - The address of the Hyperlane ERC20 router contract.
|
|
25
|
+
* @returns The configuration for the Hyperlane ERC20 router.
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
async deriveWarpRouteConfig(address) {
|
|
29
|
+
const fetchedBaseMetadata = await this.fetchBaseMetadata(address);
|
|
30
|
+
const fetchedTokenMetadata = await this.fetchTokenMetadata(fetchedBaseMetadata.token);
|
|
31
|
+
const results = {
|
|
32
|
+
...fetchedBaseMetadata,
|
|
33
|
+
...fetchedTokenMetadata,
|
|
34
|
+
};
|
|
35
|
+
if (fetchedBaseMetadata.interchainSecurityModule !==
|
|
36
|
+
ethers.constants.AddressZero) {
|
|
37
|
+
results.interchainSecurityModule =
|
|
38
|
+
await this.evmIsmReader.deriveIsmConfig(fetchedBaseMetadata.interchainSecurityModule);
|
|
39
|
+
}
|
|
40
|
+
// @todo add after https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3667 is fixed
|
|
41
|
+
// if (fetchedBaseMetadata.hook !== ethers.constants.AddressZero) {
|
|
42
|
+
// results.hook = await this.evmHookReader.deriveHookConfig(
|
|
43
|
+
// fetchedBaseMetadata.hook,
|
|
44
|
+
// );
|
|
45
|
+
// }
|
|
46
|
+
return results;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetches the base metadata for a Warp Route contract.
|
|
50
|
+
*
|
|
51
|
+
* @param routerAddress - The address of the Warp Route contract.
|
|
52
|
+
* @returns The base metadata for the Warp Route contract, including the mailbox, owner, wrapped token address, hook, and interchain security module.
|
|
53
|
+
*/
|
|
54
|
+
async fetchBaseMetadata(routerAddress) {
|
|
55
|
+
const warpRoute = HypERC20Collateral__factory.connect(routerAddress, this.provider);
|
|
56
|
+
const [mailbox, owner, token, hook, interchainSecurityModule] = await Promise.all([
|
|
57
|
+
warpRoute.mailbox(),
|
|
58
|
+
warpRoute.owner(),
|
|
59
|
+
warpRoute.wrappedToken(),
|
|
60
|
+
warpRoute.hook(),
|
|
61
|
+
warpRoute.interchainSecurityModule(),
|
|
62
|
+
]);
|
|
63
|
+
return {
|
|
64
|
+
mailbox,
|
|
65
|
+
owner,
|
|
66
|
+
token,
|
|
67
|
+
hook,
|
|
68
|
+
interchainSecurityModule,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fetches the metadata for a token address.
|
|
73
|
+
*
|
|
74
|
+
* @param tokenAddress - The address of the token.
|
|
75
|
+
* @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
|
|
76
|
+
*/
|
|
77
|
+
async fetchTokenMetadata(tokenAddress) {
|
|
78
|
+
const erc20 = ERC20__factory.connect(tokenAddress, this.provider);
|
|
79
|
+
const [name, symbol, totalSupply, decimals] = await Promise.all([
|
|
80
|
+
erc20.name(),
|
|
81
|
+
erc20.symbol(),
|
|
82
|
+
erc20.totalSupply(),
|
|
83
|
+
erc20.decimals(),
|
|
84
|
+
]);
|
|
85
|
+
return { name, symbol, totalSupply, decimals };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/token/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TokenType } from './config.js';
|
|
3
|
+
export declare const TokenMetadataSchema: z.ZodObject<{
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
symbol: z.ZodString;
|
|
6
|
+
totalSupply: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
symbol: string;
|
|
9
|
+
name: string;
|
|
10
|
+
totalSupply: string | number;
|
|
11
|
+
}, {
|
|
12
|
+
symbol: string;
|
|
13
|
+
name: string;
|
|
14
|
+
totalSupply: string | number;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const TokenDecimalsSchema: z.ZodObject<{
|
|
17
|
+
decimals: z.ZodNumber;
|
|
18
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
decimals: number;
|
|
21
|
+
scale?: number | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
decimals: number;
|
|
24
|
+
scale?: number | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const ERC20MetadataSchema: z.ZodObject<{
|
|
27
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
28
|
+
name: z.ZodOptional<z.ZodString>;
|
|
29
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
30
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
symbol?: string | undefined;
|
|
34
|
+
name?: string | undefined;
|
|
35
|
+
totalSupply?: string | number | undefined;
|
|
36
|
+
decimals?: number | undefined;
|
|
37
|
+
scale?: number | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
symbol?: string | undefined;
|
|
40
|
+
name?: string | undefined;
|
|
41
|
+
totalSupply?: string | number | undefined;
|
|
42
|
+
decimals?: number | undefined;
|
|
43
|
+
scale?: number | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const ERC721MetadataSchema: z.ZodObject<{
|
|
46
|
+
isNft: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
isNft?: boolean | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
isNft?: boolean | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export declare const CollateralConfigSchema: z.ZodObject<{
|
|
53
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
54
|
+
name: z.ZodOptional<z.ZodString>;
|
|
55
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
57
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
58
|
+
isNft: z.ZodOptional<z.ZodBoolean>;
|
|
59
|
+
type: z.ZodEnum<[TokenType.collateral, TokenType.collateralUri, TokenType.fastCollateral, TokenType.collateralVault]>;
|
|
60
|
+
token: z.ZodString;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
63
|
+
token: string;
|
|
64
|
+
symbol?: string | undefined;
|
|
65
|
+
name?: string | undefined;
|
|
66
|
+
decimals?: number | undefined;
|
|
67
|
+
totalSupply?: string | number | undefined;
|
|
68
|
+
scale?: number | undefined;
|
|
69
|
+
isNft?: boolean | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
72
|
+
token: string;
|
|
73
|
+
symbol?: string | undefined;
|
|
74
|
+
name?: string | undefined;
|
|
75
|
+
decimals?: number | undefined;
|
|
76
|
+
totalSupply?: string | number | undefined;
|
|
77
|
+
scale?: number | undefined;
|
|
78
|
+
isNft?: boolean | undefined;
|
|
79
|
+
}>;
|
|
80
|
+
export declare const NativeConfigSchema: z.ZodObject<{
|
|
81
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
83
|
+
type: z.ZodEnum<[TokenType.native]>;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
type: TokenType.native;
|
|
86
|
+
decimals?: number | undefined;
|
|
87
|
+
scale?: number | undefined;
|
|
88
|
+
}, {
|
|
89
|
+
type: TokenType.native;
|
|
90
|
+
decimals?: number | undefined;
|
|
91
|
+
scale?: number | undefined;
|
|
92
|
+
}>;
|
|
93
|
+
export declare const SyntheticConfigSchema: z.ZodObject<{
|
|
94
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
95
|
+
name: z.ZodOptional<z.ZodString>;
|
|
96
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
97
|
+
type: z.ZodEnum<[TokenType.synthetic, TokenType.syntheticUri, TokenType.fastSynthetic]>;
|
|
98
|
+
}, "strip", z.ZodTypeAny, {
|
|
99
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
100
|
+
symbol?: string | undefined;
|
|
101
|
+
name?: string | undefined;
|
|
102
|
+
totalSupply?: string | number | undefined;
|
|
103
|
+
}, {
|
|
104
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
105
|
+
symbol?: string | undefined;
|
|
106
|
+
name?: string | undefined;
|
|
107
|
+
totalSupply?: string | number | undefined;
|
|
108
|
+
}>;
|
|
109
|
+
/**
|
|
110
|
+
* @remarks
|
|
111
|
+
* The discriminatedUnion is basically a switch statement for zod schemas
|
|
112
|
+
* It uses the 'type' key to pick from the array of schemas to validate
|
|
113
|
+
*/
|
|
114
|
+
export declare const TokenConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
115
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
117
|
+
type: z.ZodEnum<[TokenType.native]>;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
type: TokenType.native;
|
|
120
|
+
decimals?: number | undefined;
|
|
121
|
+
scale?: number | undefined;
|
|
122
|
+
}, {
|
|
123
|
+
type: TokenType.native;
|
|
124
|
+
decimals?: number | undefined;
|
|
125
|
+
scale?: number | undefined;
|
|
126
|
+
}>, z.ZodObject<{
|
|
127
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
128
|
+
name: z.ZodOptional<z.ZodString>;
|
|
129
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
130
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
131
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
132
|
+
isNft: z.ZodOptional<z.ZodBoolean>;
|
|
133
|
+
type: z.ZodEnum<[TokenType.collateral, TokenType.collateralUri, TokenType.fastCollateral, TokenType.collateralVault]>;
|
|
134
|
+
token: z.ZodString;
|
|
135
|
+
}, "strip", z.ZodTypeAny, {
|
|
136
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
137
|
+
token: string;
|
|
138
|
+
symbol?: string | undefined;
|
|
139
|
+
name?: string | undefined;
|
|
140
|
+
decimals?: number | undefined;
|
|
141
|
+
totalSupply?: string | number | undefined;
|
|
142
|
+
scale?: number | undefined;
|
|
143
|
+
isNft?: boolean | undefined;
|
|
144
|
+
}, {
|
|
145
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
146
|
+
token: string;
|
|
147
|
+
symbol?: string | undefined;
|
|
148
|
+
name?: string | undefined;
|
|
149
|
+
decimals?: number | undefined;
|
|
150
|
+
totalSupply?: string | number | undefined;
|
|
151
|
+
scale?: number | undefined;
|
|
152
|
+
isNft?: boolean | undefined;
|
|
153
|
+
}>, z.ZodObject<{
|
|
154
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
155
|
+
name: z.ZodOptional<z.ZodString>;
|
|
156
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
157
|
+
type: z.ZodEnum<[TokenType.synthetic, TokenType.syntheticUri, TokenType.fastSynthetic]>;
|
|
158
|
+
}, "strip", z.ZodTypeAny, {
|
|
159
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
160
|
+
symbol?: string | undefined;
|
|
161
|
+
name?: string | undefined;
|
|
162
|
+
totalSupply?: string | number | undefined;
|
|
163
|
+
}, {
|
|
164
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
165
|
+
symbol?: string | undefined;
|
|
166
|
+
name?: string | undefined;
|
|
167
|
+
totalSupply?: string | number | undefined;
|
|
168
|
+
}>]>;
|
|
169
|
+
export declare const TokenRouterConfigSchema: z.ZodIntersection<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
170
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
171
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
172
|
+
type: z.ZodEnum<[TokenType.native]>;
|
|
173
|
+
}, "strip", z.ZodTypeAny, {
|
|
174
|
+
type: TokenType.native;
|
|
175
|
+
decimals?: number | undefined;
|
|
176
|
+
scale?: number | undefined;
|
|
177
|
+
}, {
|
|
178
|
+
type: TokenType.native;
|
|
179
|
+
decimals?: number | undefined;
|
|
180
|
+
scale?: number | undefined;
|
|
181
|
+
}>, z.ZodObject<{
|
|
182
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
183
|
+
name: z.ZodOptional<z.ZodString>;
|
|
184
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
186
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
187
|
+
isNft: z.ZodOptional<z.ZodBoolean>;
|
|
188
|
+
type: z.ZodEnum<[TokenType.collateral, TokenType.collateralUri, TokenType.fastCollateral, TokenType.collateralVault]>;
|
|
189
|
+
token: z.ZodString;
|
|
190
|
+
}, "strip", z.ZodTypeAny, {
|
|
191
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
192
|
+
token: string;
|
|
193
|
+
symbol?: string | undefined;
|
|
194
|
+
name?: string | undefined;
|
|
195
|
+
decimals?: number | undefined;
|
|
196
|
+
totalSupply?: string | number | undefined;
|
|
197
|
+
scale?: number | undefined;
|
|
198
|
+
isNft?: boolean | undefined;
|
|
199
|
+
}, {
|
|
200
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
201
|
+
token: string;
|
|
202
|
+
symbol?: string | undefined;
|
|
203
|
+
name?: string | undefined;
|
|
204
|
+
decimals?: number | undefined;
|
|
205
|
+
totalSupply?: string | number | undefined;
|
|
206
|
+
scale?: number | undefined;
|
|
207
|
+
isNft?: boolean | undefined;
|
|
208
|
+
}>, z.ZodObject<{
|
|
209
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
210
|
+
name: z.ZodOptional<z.ZodString>;
|
|
211
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
212
|
+
type: z.ZodEnum<[TokenType.synthetic, TokenType.syntheticUri, TokenType.fastSynthetic]>;
|
|
213
|
+
}, "strip", z.ZodTypeAny, {
|
|
214
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
215
|
+
symbol?: string | undefined;
|
|
216
|
+
name?: string | undefined;
|
|
217
|
+
totalSupply?: string | number | undefined;
|
|
218
|
+
}, {
|
|
219
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
220
|
+
symbol?: string | undefined;
|
|
221
|
+
name?: string | undefined;
|
|
222
|
+
totalSupply?: string | number | undefined;
|
|
223
|
+
}>]>, z.ZodObject<{
|
|
224
|
+
owner: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
225
|
+
origin: z.ZodString;
|
|
226
|
+
owner: z.ZodString;
|
|
227
|
+
localRouter: z.ZodOptional<z.ZodString>;
|
|
228
|
+
routerOverride: z.ZodOptional<z.ZodString>;
|
|
229
|
+
ismOverride: z.ZodOptional<z.ZodString>;
|
|
230
|
+
}, "strip", z.ZodTypeAny, {
|
|
231
|
+
owner: string;
|
|
232
|
+
origin: string;
|
|
233
|
+
localRouter?: string | undefined;
|
|
234
|
+
routerOverride?: string | undefined;
|
|
235
|
+
ismOverride?: string | undefined;
|
|
236
|
+
}, {
|
|
237
|
+
owner: string;
|
|
238
|
+
origin: string;
|
|
239
|
+
localRouter?: string | undefined;
|
|
240
|
+
routerOverride?: string | undefined;
|
|
241
|
+
ismOverride?: string | undefined;
|
|
242
|
+
}>]>>;
|
|
243
|
+
hook: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
244
|
+
interchainSecurityModule: z.ZodOptional<z.ZodOptional<z.ZodType<import("../index.js").IsmConfig, z.ZodTypeDef, import("../index.js").IsmConfig>>>;
|
|
245
|
+
mailbox: z.ZodOptional<z.ZodString>;
|
|
246
|
+
foreignDeployment: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
owner?: string | {
|
|
249
|
+
owner: string;
|
|
250
|
+
origin: string;
|
|
251
|
+
localRouter?: string | undefined;
|
|
252
|
+
routerOverride?: string | undefined;
|
|
253
|
+
ismOverride?: string | undefined;
|
|
254
|
+
} | undefined;
|
|
255
|
+
hook?: string | undefined;
|
|
256
|
+
interchainSecurityModule?: import("../index.js").IsmConfig | undefined;
|
|
257
|
+
mailbox?: string | undefined;
|
|
258
|
+
foreignDeployment?: string | undefined;
|
|
259
|
+
}, {
|
|
260
|
+
owner?: string | {
|
|
261
|
+
owner: string;
|
|
262
|
+
origin: string;
|
|
263
|
+
localRouter?: string | undefined;
|
|
264
|
+
routerOverride?: string | undefined;
|
|
265
|
+
ismOverride?: string | undefined;
|
|
266
|
+
} | undefined;
|
|
267
|
+
hook?: string | undefined;
|
|
268
|
+
interchainSecurityModule?: import("../index.js").IsmConfig | undefined;
|
|
269
|
+
mailbox?: string | undefined;
|
|
270
|
+
foreignDeployment?: string | undefined;
|
|
271
|
+
}>>;
|
|
272
|
+
export declare const WarpRouteDeployConfigSchema: z.ZodRecord<z.ZodString, z.ZodIntersection<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
273
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
274
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
275
|
+
type: z.ZodEnum<[TokenType.native]>;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
type: TokenType.native;
|
|
278
|
+
decimals?: number | undefined;
|
|
279
|
+
scale?: number | undefined;
|
|
280
|
+
}, {
|
|
281
|
+
type: TokenType.native;
|
|
282
|
+
decimals?: number | undefined;
|
|
283
|
+
scale?: number | undefined;
|
|
284
|
+
}>, z.ZodObject<{
|
|
285
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
286
|
+
name: z.ZodOptional<z.ZodString>;
|
|
287
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
288
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
289
|
+
scale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
290
|
+
isNft: z.ZodOptional<z.ZodBoolean>;
|
|
291
|
+
type: z.ZodEnum<[TokenType.collateral, TokenType.collateralUri, TokenType.fastCollateral, TokenType.collateralVault]>;
|
|
292
|
+
token: z.ZodString;
|
|
293
|
+
}, "strip", z.ZodTypeAny, {
|
|
294
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
295
|
+
token: string;
|
|
296
|
+
symbol?: string | undefined;
|
|
297
|
+
name?: string | undefined;
|
|
298
|
+
decimals?: number | undefined;
|
|
299
|
+
totalSupply?: string | number | undefined;
|
|
300
|
+
scale?: number | undefined;
|
|
301
|
+
isNft?: boolean | undefined;
|
|
302
|
+
}, {
|
|
303
|
+
type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
|
|
304
|
+
token: string;
|
|
305
|
+
symbol?: string | undefined;
|
|
306
|
+
name?: string | undefined;
|
|
307
|
+
decimals?: number | undefined;
|
|
308
|
+
totalSupply?: string | number | undefined;
|
|
309
|
+
scale?: number | undefined;
|
|
310
|
+
isNft?: boolean | undefined;
|
|
311
|
+
}>, z.ZodObject<{
|
|
312
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
313
|
+
name: z.ZodOptional<z.ZodString>;
|
|
314
|
+
totalSupply: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
315
|
+
type: z.ZodEnum<[TokenType.synthetic, TokenType.syntheticUri, TokenType.fastSynthetic]>;
|
|
316
|
+
}, "strip", z.ZodTypeAny, {
|
|
317
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
318
|
+
symbol?: string | undefined;
|
|
319
|
+
name?: string | undefined;
|
|
320
|
+
totalSupply?: string | number | undefined;
|
|
321
|
+
}, {
|
|
322
|
+
type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
|
|
323
|
+
symbol?: string | undefined;
|
|
324
|
+
name?: string | undefined;
|
|
325
|
+
totalSupply?: string | number | undefined;
|
|
326
|
+
}>]>, z.ZodObject<{
|
|
327
|
+
owner: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
328
|
+
origin: z.ZodString;
|
|
329
|
+
owner: z.ZodString;
|
|
330
|
+
localRouter: z.ZodOptional<z.ZodString>;
|
|
331
|
+
routerOverride: z.ZodOptional<z.ZodString>;
|
|
332
|
+
ismOverride: z.ZodOptional<z.ZodString>;
|
|
333
|
+
}, "strip", z.ZodTypeAny, {
|
|
334
|
+
owner: string;
|
|
335
|
+
origin: string;
|
|
336
|
+
localRouter?: string | undefined;
|
|
337
|
+
routerOverride?: string | undefined;
|
|
338
|
+
ismOverride?: string | undefined;
|
|
339
|
+
}, {
|
|
340
|
+
owner: string;
|
|
341
|
+
origin: string;
|
|
342
|
+
localRouter?: string | undefined;
|
|
343
|
+
routerOverride?: string | undefined;
|
|
344
|
+
ismOverride?: string | undefined;
|
|
345
|
+
}>]>>;
|
|
346
|
+
hook: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
347
|
+
interchainSecurityModule: z.ZodOptional<z.ZodOptional<z.ZodType<import("../index.js").IsmConfig, z.ZodTypeDef, import("../index.js").IsmConfig>>>;
|
|
348
|
+
mailbox: z.ZodOptional<z.ZodString>;
|
|
349
|
+
foreignDeployment: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
350
|
+
}, "strip", z.ZodTypeAny, {
|
|
351
|
+
owner?: string | {
|
|
352
|
+
owner: string;
|
|
353
|
+
origin: string;
|
|
354
|
+
localRouter?: string | undefined;
|
|
355
|
+
routerOverride?: string | undefined;
|
|
356
|
+
ismOverride?: string | undefined;
|
|
357
|
+
} | undefined;
|
|
358
|
+
hook?: string | undefined;
|
|
359
|
+
interchainSecurityModule?: import("../index.js").IsmConfig | undefined;
|
|
360
|
+
mailbox?: string | undefined;
|
|
361
|
+
foreignDeployment?: string | undefined;
|
|
362
|
+
}, {
|
|
363
|
+
owner?: string | {
|
|
364
|
+
owner: string;
|
|
365
|
+
origin: string;
|
|
366
|
+
localRouter?: string | undefined;
|
|
367
|
+
routerOverride?: string | undefined;
|
|
368
|
+
ismOverride?: string | undefined;
|
|
369
|
+
} | undefined;
|
|
370
|
+
hook?: string | undefined;
|
|
371
|
+
interchainSecurityModule?: import("../index.js").IsmConfig | undefined;
|
|
372
|
+
mailbox?: string | undefined;
|
|
373
|
+
foreignDeployment?: string | undefined;
|
|
374
|
+
}>>>;
|
|
375
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/token/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAC0B,CAAC;AAE3D,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAQjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGnC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGvC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { routerConfigSchema } from '../router/schemas.js';
|
|
3
|
+
import { TokenType } from './config.js';
|
|
4
|
+
export const TokenMetadataSchema = z.object({
|
|
5
|
+
name: z.string(),
|
|
6
|
+
symbol: z.string(),
|
|
7
|
+
totalSupply: z.string().or(z.number()),
|
|
8
|
+
});
|
|
9
|
+
export const TokenDecimalsSchema = z.object({
|
|
10
|
+
decimals: z.number(),
|
|
11
|
+
scale: z.number().optional(),
|
|
12
|
+
});
|
|
13
|
+
export const ERC20MetadataSchema = TokenMetadataSchema.merge(TokenDecimalsSchema).partial();
|
|
14
|
+
export const ERC721MetadataSchema = z.object({
|
|
15
|
+
isNft: z.boolean().optional(),
|
|
16
|
+
});
|
|
17
|
+
export const CollateralConfigSchema = ERC721MetadataSchema.merge(ERC20MetadataSchema).merge(z.object({
|
|
18
|
+
type: z.enum([
|
|
19
|
+
TokenType.collateral,
|
|
20
|
+
TokenType.collateralUri,
|
|
21
|
+
TokenType.fastCollateral,
|
|
22
|
+
TokenType.collateralVault,
|
|
23
|
+
]),
|
|
24
|
+
token: z.string(),
|
|
25
|
+
}));
|
|
26
|
+
export const NativeConfigSchema = TokenDecimalsSchema.partial().merge(z.object({
|
|
27
|
+
type: z.enum([TokenType.native]),
|
|
28
|
+
}));
|
|
29
|
+
export const SyntheticConfigSchema = TokenMetadataSchema.partial().merge(z.object({
|
|
30
|
+
type: z.enum([
|
|
31
|
+
TokenType.synthetic,
|
|
32
|
+
TokenType.syntheticUri,
|
|
33
|
+
TokenType.fastSynthetic,
|
|
34
|
+
]),
|
|
35
|
+
}));
|
|
36
|
+
/**
|
|
37
|
+
* @remarks
|
|
38
|
+
* The discriminatedUnion is basically a switch statement for zod schemas
|
|
39
|
+
* It uses the 'type' key to pick from the array of schemas to validate
|
|
40
|
+
*/
|
|
41
|
+
export const TokenConfigSchema = z.discriminatedUnion('type', [
|
|
42
|
+
NativeConfigSchema,
|
|
43
|
+
CollateralConfigSchema,
|
|
44
|
+
SyntheticConfigSchema,
|
|
45
|
+
]);
|
|
46
|
+
export const TokenRouterConfigSchema = z.intersection(TokenConfigSchema, routerConfigSchema);
|
|
47
|
+
export const WarpRouteDeployConfigSchema = z.record(z.string(), TokenRouterConfigSchema);
|
|
48
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/token/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;AAE3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,KAAK,CAC9D,mBAAmB,CACpB,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,SAAS,CAAC,UAAU;QACpB,SAAS,CAAC,aAAa;QACvB,SAAS,CAAC,cAAc;QACxB,SAAS,CAAC,eAAe;KAC1B,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAK,CACnE,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAK,CACtE,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,SAAS,CAAC,SAAS;QACnB,SAAS,CAAC,YAAY;QACtB,SAAS,CAAC,aAAa;KACxB,CAAC;CACH,CAAC,CACH,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC5D,kBAAkB;IAClB,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CACnD,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,MAAM,EAAE,EACV,uBAAuB,CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../../src/token/schemas.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { constants } from 'ethers';
|
|
4
|
+
import { TokenType, WarpRouteDeployConfigSchema } from '@hyperlane-xyz/sdk';
|
|
5
|
+
const SOME_ADDRESS = ethers.Wallet.createRandom().address;
|
|
6
|
+
const COLLATERAL_TYPES = [
|
|
7
|
+
TokenType.collateral,
|
|
8
|
+
TokenType.collateralUri,
|
|
9
|
+
TokenType.fastCollateral,
|
|
10
|
+
TokenType.collateralVault,
|
|
11
|
+
];
|
|
12
|
+
const NON_COLLATERAL_TYPES = [
|
|
13
|
+
TokenType.synthetic,
|
|
14
|
+
TokenType.syntheticUri,
|
|
15
|
+
TokenType.fastSynthetic,
|
|
16
|
+
TokenType.native,
|
|
17
|
+
];
|
|
18
|
+
describe('WarpRouteDeployConfigSchema refine', () => {
|
|
19
|
+
it('should require type address', () => {
|
|
20
|
+
const config = {
|
|
21
|
+
arbitrum: {
|
|
22
|
+
type: TokenType.collateral,
|
|
23
|
+
token: SOME_ADDRESS,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
27
|
+
delete config.arbitrum.type;
|
|
28
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.false;
|
|
29
|
+
});
|
|
30
|
+
it('should require token address', () => {
|
|
31
|
+
const config = {
|
|
32
|
+
arbitrum: {
|
|
33
|
+
type: TokenType.collateral,
|
|
34
|
+
token: SOME_ADDRESS,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
38
|
+
delete config.arbitrum.token;
|
|
39
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.false;
|
|
40
|
+
});
|
|
41
|
+
it('should allow mailbox to be optional', () => {
|
|
42
|
+
const config = {
|
|
43
|
+
arbitrum: {
|
|
44
|
+
type: TokenType.collateral,
|
|
45
|
+
token: constants.AddressZero,
|
|
46
|
+
mailbox: SOME_ADDRESS,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
50
|
+
delete config.arbitrum.mailbox;
|
|
51
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
52
|
+
});
|
|
53
|
+
it('should throw if collateral type and token is empty', async () => {
|
|
54
|
+
for (const type of COLLATERAL_TYPES) {
|
|
55
|
+
const config = {
|
|
56
|
+
arbitrum: {
|
|
57
|
+
type,
|
|
58
|
+
mailbox: SOME_ADDRESS,
|
|
59
|
+
name: 'Arby Coin',
|
|
60
|
+
symbol: 'ARBY',
|
|
61
|
+
totalSupply: '10000',
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.false;
|
|
65
|
+
// Set to some address
|
|
66
|
+
config.arbitrum.token = SOME_ADDRESS;
|
|
67
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
it('should succeed if non-collateral type and token is empty', async () => {
|
|
71
|
+
for (const type of NON_COLLATERAL_TYPES) {
|
|
72
|
+
const config = {
|
|
73
|
+
arbitrum: {
|
|
74
|
+
type,
|
|
75
|
+
mailbox: SOME_ADDRESS,
|
|
76
|
+
name: 'Arby Coin',
|
|
77
|
+
symbol: 'ARBY',
|
|
78
|
+
totalSupply: '10000',
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
expect(WarpRouteDeployConfigSchema.safeParse(config).success).to.be.true;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=schemas.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../src/token/schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;AAC1D,MAAM,gBAAgB,GAAG;IACvB,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,eAAe;CAC1B,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,MAAM;CACjB,CAAC;AAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAQ;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS,CAAC,UAAU;gBAC1B,KAAK,EAAE,YAAY;aACpB;SACF,CAAC;QACF,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAQ;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS,CAAC,UAAU;gBAC1B,KAAK,EAAE,YAAY;aACpB;SACF,CAAC;QACF,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAQ;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS,CAAC,UAAU;gBAC1B,KAAK,EAAE,SAAS,CAAC,WAAW;gBAC5B,OAAO,EAAE,YAAY;aACtB;SACF,CAAC;QACF,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAQ;gBAClB,QAAQ,EAAE;oBACR,IAAI;oBACJ,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC;YACF,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAE1E,sBAAsB;YACtB,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;YACrC,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAQ;gBAClB,QAAQ,EAAE;oBACR,IAAI;oBACJ,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC;YACF,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TokenRouterConfigSchema, WarpRouteDeployConfigSchema } from './schemas.js';
|
|
3
|
+
export type TokenRouterConfig = z.infer<typeof TokenRouterConfigSchema>;
|
|
4
|
+
export type WarpRouteDeployConfig = z.infer<typeof WarpRouteDeployConfigSchema>;
|
|
5
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import type { ethers } from 'ethers';
|
|
|
2
2
|
import type { ChainId, Domain } from '@hyperlane-xyz/utils';
|
|
3
3
|
export type ChainName = string;
|
|
4
4
|
export type ChainMap<Value> = Record<string, Value>;
|
|
5
|
-
export type TestChainNames = 'test1' | 'test2' | 'test3';
|
|
6
5
|
export type ChainNameOrId = ChainName | ChainId | Domain;
|
|
7
6
|
export type Connection = ethers.providers.Provider | ethers.Signer;
|
|
8
7
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC"}
|
|
@@ -20,7 +20,7 @@ export declare class MultiGeneric<Value> {
|
|
|
20
20
|
chains(): ChainName[];
|
|
21
21
|
forEach(fn: (n: ChainName, dc: Value) => void): void;
|
|
22
22
|
map<Output>(fn: (n: ChainName, dc: Value) => Output): ChainMap<Output>;
|
|
23
|
-
remoteChains(name: ChainName): ChainName[]
|
|
23
|
+
remoteChains(name: ChainName): Promise<ChainName[]>;
|
|
24
24
|
knownChain(chain: ChainName): boolean;
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=MultiGeneric.d.ts.map
|