@hyperlane-xyz/sdk 3.6.2 → 3.8.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/consts/chainMetadata.d.ts +3 -2
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +99 -72
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -2
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +6 -4
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +141 -133
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +20 -0
- package/dist/consts/environments/testnet.json +166 -178
- package/dist/consts/igp.d.ts +2 -0
- package/dist/consts/igp.d.ts.map +1 -0
- package/dist/consts/igp.js +5 -0
- package/dist/consts/igp.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +22 -18
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +4 -2
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +10 -4
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +3 -3
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +24 -11
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestRecipientDeployer.d.ts +2 -1
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
- package/dist/core/TestRecipientDeployer.js +2 -1
- package/dist/core/TestRecipientDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +34 -13
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/types.d.ts +1 -1
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +147 -121
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +60 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js +42 -0
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +8 -29
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -2
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +47 -20
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +47 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
- package/dist/gas/oracle/types.d.ts +11 -0
- package/dist/gas/oracle/types.d.ts.map +1 -0
- package/dist/gas/oracle/types.js +30 -0
- package/dist/gas/oracle/types.js.map +1 -0
- package/dist/gas/types.d.ts +3 -4
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +1 -5
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +6 -4
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/index.d.ts +18 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -20
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +39 -287
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/utils.d.ts +11 -0
- package/dist/ism/utils.d.ts.map +1 -0
- package/dist/ism/utils.js +277 -0
- package/dist/ism/utils.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +43 -21
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +26 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +138 -46
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +1 -1
- package/dist/metadata/blockExplorer.d.ts +6 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +15 -1
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +202 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +18 -4
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/customZodTypes.d.ts +2 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -1
- package/dist/metadata/customZodTypes.js +3 -1
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/metadata/health.js +2 -2
- package/dist/metadata/health.js.map +1 -1
- package/dist/metadata/warpRouteConfig.d.ts +134 -0
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
- package/dist/metadata/warpRouteConfig.js +24 -0
- package/dist/metadata/warpRouteConfig.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +10 -12
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +2 -7
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +17 -17
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +12 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +5 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +10 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -2
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +3 -3
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +1 -0
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +2 -2
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +2 -3
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/test/metadata-check.js +7 -39
- package/dist/test/metadata-check.js.map +1 -1
- package/dist/test/testUtils.d.ts +2 -0
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +19 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/IToken.d.ts +147 -0
- package/dist/token/IToken.d.ts.map +1 -0
- package/dist/token/IToken.js +37 -0
- package/dist/token/IToken.js.map +1 -0
- package/dist/token/Token.d.ts +58 -0
- package/dist/token/Token.d.ts.map +1 -0
- package/dist/token/Token.js +260 -0
- package/dist/token/Token.js.map +1 -0
- package/dist/token/Token.test.d.ts +2 -0
- package/dist/token/Token.test.d.ts.map +1 -0
- package/dist/token/Token.test.js +155 -0
- package/dist/token/Token.test.js.map +1 -0
- package/dist/token/TokenAmount.d.ts +12 -0
- package/dist/token/TokenAmount.d.ts.map +1 -0
- package/dist/token/TokenAmount.js +24 -0
- package/dist/token/TokenAmount.js.map +1 -0
- package/dist/token/TokenAmount.test.d.ts +2 -0
- package/dist/token/TokenAmount.test.d.ts.map +1 -0
- package/dist/token/TokenAmount.test.js +41 -0
- package/dist/token/TokenAmount.test.js.map +1 -0
- package/dist/token/TokenConnection.d.ts +81 -0
- package/dist/token/TokenConnection.d.ts.map +1 -0
- package/dist/token/TokenConnection.js +36 -0
- package/dist/token/TokenConnection.js.map +1 -0
- package/dist/token/TokenStandard.d.ts +36 -0
- package/dist/token/TokenStandard.d.ts.map +1 -0
- package/dist/token/TokenStandard.js +118 -0
- package/dist/token/TokenStandard.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +69 -23
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/deploy.d.ts +3 -2
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +4 -2
- package/dist/token/deploy.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/warp/WarpCore.d.ts +76 -0
- package/dist/warp/WarpCore.d.ts.map +1 -0
- package/dist/warp/WarpCore.js +288 -0
- package/dist/warp/WarpCore.js.map +1 -0
- package/dist/warp/WarpCore.test.d.ts +2 -0
- package/dist/warp/WarpCore.test.d.ts.map +1 -0
- package/dist/warp/WarpCore.test.js +143 -0
- package/dist/warp/WarpCore.test.js.map +1 -0
- package/dist/warp/types.d.ts +274 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +38 -0
- package/dist/warp/types.js.map +1 -0
- package/logos/black/cosmwasm.svg +1 -1
- package/logos/black/inevm.svg +1 -0
- package/logos/black/injective.svg +1 -0
- package/logos/black/nautilus.svg +1 -0
- package/logos/black/plume.svg +29 -0
- package/logos/color/cosmos.svg +1 -1
- package/logos/color/cosmwasm.svg +1 -1
- package/logos/color/inevm.svg +1 -0
- package/logos/color/injective.svg +1 -0
- package/logos/color/manta.svg +1 -1
- package/logos/color/nautilus.svg +1 -0
- package/logos/color/plume.svg +24 -0
- package/package.json +5 -4
package/dist/token/deploy.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { HypERC20, HypERC20Collateral, HypERC721, HypERC721Collateral, HypNative } from '@hyperlane-xyz/core';
|
|
3
3
|
import { HyperlaneContracts } from '../contracts/types';
|
|
4
|
+
import { ContractVerifier } from '../deploy/verify/ContractVerifier';
|
|
4
5
|
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
|
|
5
6
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
6
7
|
import { GasRouterDeployer } from '../router/GasRouterDeployer';
|
|
@@ -9,7 +10,7 @@ import { ChainMap, ChainName } from '../types';
|
|
|
9
10
|
import { CollateralConfig, ERC20Metadata, ERC20RouterConfig, ERC721RouterConfig, HypERC20CollateralConfig, HypERC20Config, HypERC721CollateralConfig, HypERC721Config, HypNativeConfig, TokenConfig, TokenMetadata } from './config';
|
|
10
11
|
import { HypERC20Factories, HypERC721Factories } from './contracts';
|
|
11
12
|
export declare class HypERC20Deployer extends GasRouterDeployer<ERC20RouterConfig, HypERC20Factories> {
|
|
12
|
-
constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory);
|
|
13
|
+
constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier);
|
|
13
14
|
static fetchMetadata(provider: providers.Provider, config: CollateralConfig): Promise<ERC20Metadata>;
|
|
14
15
|
static gasOverheadDefault(config: TokenConfig): number;
|
|
15
16
|
getCollateralMetadata(chain: ChainName, config: CollateralConfig): Promise<ERC20Metadata>;
|
|
@@ -25,7 +26,7 @@ export declare class HypERC20Deployer extends GasRouterDeployer<ERC20RouterConfi
|
|
|
25
26
|
deploy(configMap: ChainMap<TokenConfig & RouterConfig>): Promise<import("../contracts/types").HyperlaneContractsMap<HypERC20Factories>>;
|
|
26
27
|
}
|
|
27
28
|
export declare class HypERC721Deployer extends GasRouterDeployer<ERC721RouterConfig, HypERC721Factories> {
|
|
28
|
-
constructor(multiProvider: MultiProvider);
|
|
29
|
+
constructor(multiProvider: MultiProvider, contractVerifier?: ContractVerifier);
|
|
29
30
|
static fetchMetadata(provider: providers.Provider, config: CollateralConfig): Promise<TokenMetadata>;
|
|
30
31
|
static gasOverheadDefault(config: TokenConfig): number;
|
|
31
32
|
protected deployCollateral(chain: ChainName, config: HypERC721CollateralConfig): Promise<HypERC721Collateral>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAKL,QAAQ,EACR,kBAAkB,EAGlB,SAAS,EACT,mBAAmB,EAKnB,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EAQd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpE,qBAAa,gBAAiB,SAAQ,iBAAiB,CACrD,iBAAiB,EACjB,iBAAiB,CAClB;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/token/deploy.js
CHANGED
|
@@ -11,10 +11,11 @@ const utils_1 = require("@hyperlane-xyz/utils");
|
|
|
11
11
|
const GasRouterDeployer_1 = require("../router/GasRouterDeployer");
|
|
12
12
|
const config_1 = require("./config");
|
|
13
13
|
class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
|
|
14
|
-
constructor(multiProvider, ismFactory) {
|
|
14
|
+
constructor(multiProvider, ismFactory, contractVerifier) {
|
|
15
15
|
super(multiProvider, {}, {
|
|
16
16
|
logger: (0, debug_1.default)('hyperlane:HypERC20Deployer'),
|
|
17
17
|
ismFactory,
|
|
18
|
+
contractVerifier,
|
|
18
19
|
}); // factories not used in deploy
|
|
19
20
|
}
|
|
20
21
|
static async fetchMetadata(provider, config) {
|
|
@@ -177,9 +178,10 @@ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
|
|
|
177
178
|
}
|
|
178
179
|
exports.HypERC20Deployer = HypERC20Deployer;
|
|
179
180
|
class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
|
|
180
|
-
constructor(multiProvider) {
|
|
181
|
+
constructor(multiProvider, contractVerifier) {
|
|
181
182
|
super(multiProvider, {}, {
|
|
182
183
|
logger: (0, debug_1.default)('hyperlane:HypERC721Deployer'),
|
|
184
|
+
contractVerifier,
|
|
183
185
|
}); // factories not used in deploy
|
|
184
186
|
}
|
|
185
187
|
static async fetchMetadata(provider, config) {
|
package/dist/token/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAsE;AACtE,kDAA0B;AAG1B,8CAkB6B;AAC7B,gDAA8C;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ethers } from 'ethers';
|
|
2
|
+
import type { ChainId, Domain } from '@hyperlane-xyz/utils';
|
|
2
3
|
export type ChainName = string;
|
|
3
4
|
export type ChainMap<Value> = Record<string, Value>;
|
|
4
5
|
export type TestChainNames = 'test1' | 'test2' | 'test3';
|
|
5
|
-
export type
|
|
6
|
+
export type ChainNameOrId = ChainName | ChainId | Domain;
|
|
6
7
|
export type Connection = ethers.providers.Provider | ethers.Signer;
|
|
7
8
|
//# 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;
|
|
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,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Debugger } from 'debug';
|
|
2
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider';
|
|
4
|
+
import { IToken } from '../token/IToken';
|
|
5
|
+
import { Token } from '../token/Token';
|
|
6
|
+
import { TokenAmount } from '../token/TokenAmount';
|
|
7
|
+
import { ChainName, ChainNameOrId } from '../types';
|
|
8
|
+
import { IgpQuoteConstants, RouteBlacklist, WarpTypedTransaction } from './types';
|
|
9
|
+
export interface WarpCoreOptions {
|
|
10
|
+
loggerName?: string;
|
|
11
|
+
igpQuoteConstants?: IgpQuoteConstants;
|
|
12
|
+
routeBlacklist?: RouteBlacklist;
|
|
13
|
+
}
|
|
14
|
+
export declare class WarpCore {
|
|
15
|
+
readonly multiProvider: MultiProtocolProvider<{
|
|
16
|
+
mailbox?: Address;
|
|
17
|
+
}>;
|
|
18
|
+
readonly tokens: Token[];
|
|
19
|
+
readonly igpQuoteConstants: IgpQuoteConstants;
|
|
20
|
+
readonly routeBlacklist: RouteBlacklist;
|
|
21
|
+
readonly logger: Debugger;
|
|
22
|
+
constructor(multiProvider: MultiProtocolProvider<{
|
|
23
|
+
mailbox?: Address;
|
|
24
|
+
}>, tokens: Token[], options?: WarpCoreOptions);
|
|
25
|
+
static FromConfig(multiProvider: MultiProtocolProvider<{
|
|
26
|
+
mailbox?: Address;
|
|
27
|
+
}>, config: unknown): WarpCore;
|
|
28
|
+
getTransferGasQuote(originToken: IToken, destination: ChainNameOrId): Promise<TokenAmount>;
|
|
29
|
+
getTransferRemoteTxs(originTokenAmount: TokenAmount, destination: ChainNameOrId, sender: Address, recipient: Address): Promise<Array<WarpTypedTransaction>>;
|
|
30
|
+
/**
|
|
31
|
+
* Checks if destination chain's collateral is sufficient to cover the transfer
|
|
32
|
+
*/
|
|
33
|
+
isDestinationCollateralSufficient(originTokenAmount: TokenAmount, destination: ChainNameOrId): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if a token transfer requires an approval tx first
|
|
36
|
+
*/
|
|
37
|
+
isApproveRequired(originTokenAmount: TokenAmount, owner: Address): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Ensure the remote token transfer would be valid for the given chains, amount, sender, and recipient
|
|
40
|
+
*/
|
|
41
|
+
validateTransfer(originTokenAmount: TokenAmount, destination: ChainNameOrId, sender: Address, recipient: Address): Promise<Record<string, string> | null>;
|
|
42
|
+
/**
|
|
43
|
+
* Ensure the origin and destination chains are valid and known by this WarpCore
|
|
44
|
+
*/
|
|
45
|
+
protected validateChains(origin: ChainNameOrId, destination: ChainNameOrId): Record<string, string> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Ensure recipient address is valid for the destination chain
|
|
48
|
+
*/
|
|
49
|
+
protected validateRecipient(recipient: Address, destination: ChainNameOrId): Record<string, string> | null;
|
|
50
|
+
/**
|
|
51
|
+
* Ensure token amount is valid
|
|
52
|
+
*/
|
|
53
|
+
protected validateAmount(originTokenAmount: TokenAmount): Record<string, string> | null;
|
|
54
|
+
/**
|
|
55
|
+
* Ensure the sender has sufficient balances for transfer and interchain gas
|
|
56
|
+
*/
|
|
57
|
+
protected validateTokenBalances(originTokenAmount: TokenAmount, destination: ChainNameOrId, sender: Address): Promise<Record<string, string> | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Search through token list to find token with matching chain and address
|
|
60
|
+
*/
|
|
61
|
+
findToken(chainName: ChainName, addressOrDenom?: Address | string): Token | null;
|
|
62
|
+
/**
|
|
63
|
+
* Get the list of chains referenced by the tokens in this WarpCore
|
|
64
|
+
*/
|
|
65
|
+
getTokenChains(): ChainName[];
|
|
66
|
+
/**
|
|
67
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
68
|
+
*/
|
|
69
|
+
getTokensForChain(chainName: ChainName): Token[];
|
|
70
|
+
/**
|
|
71
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
72
|
+
* and which are connected to a token on the given destination chain
|
|
73
|
+
*/
|
|
74
|
+
getTokensForRoute(origin: ChainName, destination: ChainName): Token[];
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=WarpCore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WarpCore = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
9
|
+
const Token_1 = require("../token/Token");
|
|
10
|
+
const TokenAmount_1 = require("../token/TokenAmount");
|
|
11
|
+
const TokenStandard_1 = require("../token/TokenStandard");
|
|
12
|
+
const types_1 = require("./types");
|
|
13
|
+
class WarpCore {
|
|
14
|
+
constructor(multiProvider, tokens, options) {
|
|
15
|
+
this.multiProvider = multiProvider;
|
|
16
|
+
this.tokens = tokens;
|
|
17
|
+
this.igpQuoteConstants = options?.igpQuoteConstants || [];
|
|
18
|
+
this.routeBlacklist = options?.routeBlacklist || [];
|
|
19
|
+
this.logger = (0, debug_1.default)(options?.loggerName || 'hyperlane:WarpCore');
|
|
20
|
+
}
|
|
21
|
+
// Takes the serialized representation of a complete warp config and returns a WarpCore instance
|
|
22
|
+
static FromConfig(multiProvider, config) {
|
|
23
|
+
// Validate and parse config data
|
|
24
|
+
const parsedConfig = types_1.WarpCoreConfigSchema.parse(config);
|
|
25
|
+
// Instantiate all tokens
|
|
26
|
+
const tokens = parsedConfig.tokens.map((t) => new Token_1.Token({
|
|
27
|
+
...t,
|
|
28
|
+
addressOrDenom: t.addressOrDenom || '',
|
|
29
|
+
connections: undefined,
|
|
30
|
+
}));
|
|
31
|
+
// Connect tokens together
|
|
32
|
+
parsedConfig.tokens.forEach((config, i) => {
|
|
33
|
+
for (const connection of config.connections || []) {
|
|
34
|
+
const token1 = tokens[i];
|
|
35
|
+
// TODO see https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3298
|
|
36
|
+
const [_protocol, chainName, addrOrDenom] = connection.token.split('|');
|
|
37
|
+
const token2 = tokens.find((t) => t.chainName === chainName && t.addressOrDenom === addrOrDenom);
|
|
38
|
+
(0, utils_1.assert)(token2, `Connected token not found: ${chainName} ${addrOrDenom}`);
|
|
39
|
+
token1.addConnection({
|
|
40
|
+
...connection,
|
|
41
|
+
token: token2,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Create new Warp
|
|
46
|
+
return new WarpCore(multiProvider, tokens, {
|
|
47
|
+
igpQuoteConstants: parsedConfig.options?.igpQuoteConstants,
|
|
48
|
+
routeBlacklist: parsedConfig.options?.routeBlacklist,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async getTransferGasQuote(originToken, destination) {
|
|
52
|
+
const { chainName: originName } = originToken;
|
|
53
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
54
|
+
let gasAmount;
|
|
55
|
+
let gasAddressOrDenom;
|
|
56
|
+
// Check constant quotes first
|
|
57
|
+
const defaultQuote = this.igpQuoteConstants.find((q) => q.origin === originName && q.destination === destinationName);
|
|
58
|
+
if (defaultQuote) {
|
|
59
|
+
gasAmount = BigInt(defaultQuote.amount.toString());
|
|
60
|
+
gasAddressOrDenom = defaultQuote.addressOrDenom;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Otherwise, compute IGP quote via the adapter
|
|
64
|
+
const hypAdapter = originToken.getHypAdapter(this.multiProvider, destinationName);
|
|
65
|
+
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
66
|
+
const quote = await hypAdapter.quoteGasPayment(destinationDomainId);
|
|
67
|
+
gasAmount = BigInt(quote.amount);
|
|
68
|
+
gasAddressOrDenom = quote.addressOrDenom;
|
|
69
|
+
}
|
|
70
|
+
let igpToken;
|
|
71
|
+
if (!gasAddressOrDenom) {
|
|
72
|
+
// An empty/undefined addressOrDenom indicates the native token
|
|
73
|
+
igpToken = Token_1.Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const searchResult = this.findToken(originName, gasAddressOrDenom);
|
|
77
|
+
(0, utils_1.assert)(searchResult, `IGP token ${gasAddressOrDenom} is unknown`);
|
|
78
|
+
igpToken = searchResult;
|
|
79
|
+
}
|
|
80
|
+
this.logger(`Quoted igp gas payment: ${gasAmount} ${igpToken.symbol}`);
|
|
81
|
+
return new TokenAmount_1.TokenAmount(gasAmount, igpToken);
|
|
82
|
+
}
|
|
83
|
+
async getTransferRemoteTxs(originTokenAmount, destination, sender, recipient) {
|
|
84
|
+
const transactions = [];
|
|
85
|
+
const { token, amount } = originTokenAmount;
|
|
86
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
87
|
+
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
88
|
+
const providerType = TokenStandard_1.TOKEN_STANDARD_TO_PROVIDER_TYPE[token.standard];
|
|
89
|
+
const hypAdapter = token.getHypAdapter(this.multiProvider, destinationName);
|
|
90
|
+
if (await this.isApproveRequired(originTokenAmount, sender)) {
|
|
91
|
+
this.logger(`Approval required for transfer of ${token.symbol}`);
|
|
92
|
+
const approveTxReq = await hypAdapter.populateApproveTx({
|
|
93
|
+
weiAmountOrId: amount.toString(),
|
|
94
|
+
recipient: token.addressOrDenom,
|
|
95
|
+
});
|
|
96
|
+
this.logger(`Approval tx for ${token.symbol} populated`);
|
|
97
|
+
const approveTx = {
|
|
98
|
+
category: types_1.WarpTxCategory.Approval,
|
|
99
|
+
type: providerType,
|
|
100
|
+
transaction: approveTxReq,
|
|
101
|
+
};
|
|
102
|
+
transactions.push(approveTx);
|
|
103
|
+
}
|
|
104
|
+
const interchainGasAmount = await this.getTransferGasQuote(token, destination);
|
|
105
|
+
const transferTxReq = await hypAdapter.populateTransferRemoteTx({
|
|
106
|
+
weiAmountOrId: amount.toString(),
|
|
107
|
+
destination: destinationDomainId,
|
|
108
|
+
fromAccountOwner: sender,
|
|
109
|
+
recipient,
|
|
110
|
+
interchainGas: {
|
|
111
|
+
amount: interchainGasAmount.amount,
|
|
112
|
+
addressOrDenom: interchainGasAmount.token.addressOrDenom,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
this.logger(`Remote transfer tx for ${token.symbol} populated`);
|
|
116
|
+
const transferTx = {
|
|
117
|
+
category: types_1.WarpTxCategory.Transfer,
|
|
118
|
+
type: providerType,
|
|
119
|
+
transaction: transferTxReq,
|
|
120
|
+
};
|
|
121
|
+
transactions.push(transferTx);
|
|
122
|
+
return transactions;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Checks if destination chain's collateral is sufficient to cover the transfer
|
|
126
|
+
*/
|
|
127
|
+
async isDestinationCollateralSufficient(originTokenAmount, destination) {
|
|
128
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
129
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
130
|
+
this.logger(`Checking collateral for ${originToken.symbol} to ${destination}`);
|
|
131
|
+
const destinationToken = originToken.getConnectionForChain(destinationName)?.token;
|
|
132
|
+
(0, utils_1.assert)(destinationToken, `No connection found for ${destinationName}`);
|
|
133
|
+
if (!TokenStandard_1.TOKEN_COLLATERALIZED_STANDARDS.includes(destinationToken.standard)) {
|
|
134
|
+
this.logger(`${destinationToken.symbol} is not collateralized, skipping`);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
const adapter = destinationToken.getAdapter(this.multiProvider);
|
|
138
|
+
const destinationBalance = await adapter.getBalance(destinationToken.addressOrDenom);
|
|
139
|
+
const destinationBalanceInOriginDecimals = (0, utils_1.convertDecimals)(destinationToken.decimals, originToken.decimals, destinationBalance.toString());
|
|
140
|
+
const isSufficient = BigInt(destinationBalanceInOriginDecimals) >= amount;
|
|
141
|
+
this.logger(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} collateral`);
|
|
142
|
+
return isSufficient;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Checks if a token transfer requires an approval tx first
|
|
146
|
+
*/
|
|
147
|
+
async isApproveRequired(originTokenAmount, owner) {
|
|
148
|
+
const { token, amount } = originTokenAmount;
|
|
149
|
+
const adapter = token.getAdapter(this.multiProvider);
|
|
150
|
+
const isRequired = await adapter.isApproveRequired(owner, token.addressOrDenom, amount);
|
|
151
|
+
this.logger(`Approval is${isRequired ? '' : ' not'} required for transfer of ${token.symbol}`);
|
|
152
|
+
return isRequired;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Ensure the remote token transfer would be valid for the given chains, amount, sender, and recipient
|
|
156
|
+
*/
|
|
157
|
+
async validateTransfer(originTokenAmount, destination, sender, recipient) {
|
|
158
|
+
const chainError = this.validateChains(originTokenAmount.token.chainName, destination);
|
|
159
|
+
if (chainError)
|
|
160
|
+
return chainError;
|
|
161
|
+
const recipientError = this.validateRecipient(recipient, destination);
|
|
162
|
+
if (recipientError)
|
|
163
|
+
return recipientError;
|
|
164
|
+
const amountError = this.validateAmount(originTokenAmount);
|
|
165
|
+
if (amountError)
|
|
166
|
+
return amountError;
|
|
167
|
+
const balancesError = await this.validateTokenBalances(originTokenAmount, destination, sender);
|
|
168
|
+
if (balancesError)
|
|
169
|
+
return balancesError;
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Ensure the origin and destination chains are valid and known by this WarpCore
|
|
174
|
+
*/
|
|
175
|
+
validateChains(origin, destination) {
|
|
176
|
+
if (!origin)
|
|
177
|
+
return { origin: 'Origin chain required' };
|
|
178
|
+
if (!destination)
|
|
179
|
+
return { destination: 'Destination chain required' };
|
|
180
|
+
const originMetadata = this.multiProvider.tryGetChainMetadata(origin);
|
|
181
|
+
const destinationMetadata = this.multiProvider.tryGetChainMetadata(destination);
|
|
182
|
+
if (!originMetadata)
|
|
183
|
+
return { origin: 'Origin chain metadata missing' };
|
|
184
|
+
if (!destinationMetadata)
|
|
185
|
+
return { destination: 'Destination chain metadata missing' };
|
|
186
|
+
if (this.routeBlacklist.some((bl) => bl.origin === originMetadata.name &&
|
|
187
|
+
bl.destination === destinationMetadata.name)) {
|
|
188
|
+
return { destination: 'Route is not currently allowed' };
|
|
189
|
+
}
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Ensure recipient address is valid for the destination chain
|
|
194
|
+
*/
|
|
195
|
+
validateRecipient(recipient, destination) {
|
|
196
|
+
const destinationMetadata = this.multiProvider.getChainMetadata(destination);
|
|
197
|
+
const { protocol, bech32Prefix } = destinationMetadata;
|
|
198
|
+
// Ensure recip address is valid for the destination chain's protocol
|
|
199
|
+
if (!(0, utils_1.isValidAddress)(recipient, protocol))
|
|
200
|
+
return { recipient: 'Invalid recipient' };
|
|
201
|
+
// Also ensure the address denom is correct if the dest protocol is Cosmos
|
|
202
|
+
if (protocol === utils_1.ProtocolType.Cosmos) {
|
|
203
|
+
if (!bech32Prefix) {
|
|
204
|
+
this.logger(`No bech32 prefix found for chain ${destination}`);
|
|
205
|
+
return { destination: 'Invalid chain data' };
|
|
206
|
+
}
|
|
207
|
+
else if (!recipient.startsWith(bech32Prefix)) {
|
|
208
|
+
this.logger(`Recipient prefix should be ${bech32Prefix}`);
|
|
209
|
+
return { recipient: `Invalid recipient prefix` };
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Ensure token amount is valid
|
|
216
|
+
*/
|
|
217
|
+
validateAmount(originTokenAmount) {
|
|
218
|
+
if (!originTokenAmount.amount || originTokenAmount.amount < 0n) {
|
|
219
|
+
const isNft = originTokenAmount.token.isNft();
|
|
220
|
+
return { amount: isNft ? 'Invalid Token Id' : 'Invalid amount' };
|
|
221
|
+
}
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Ensure the sender has sufficient balances for transfer and interchain gas
|
|
226
|
+
*/
|
|
227
|
+
async validateTokenBalances(originTokenAmount, destination, sender) {
|
|
228
|
+
const { token, amount } = originTokenAmount;
|
|
229
|
+
const { amount: senderBalance } = await token.getBalance(this.multiProvider, sender);
|
|
230
|
+
// First check basic token balance
|
|
231
|
+
if (amount > senderBalance)
|
|
232
|
+
return { amount: 'Insufficient balance' };
|
|
233
|
+
// Next, ensure balances can cover IGP fees
|
|
234
|
+
const igpQuote = await this.getTransferGasQuote(token, destination);
|
|
235
|
+
if (token.equals(igpQuote.token) || token.collateralizes(igpQuote.token)) {
|
|
236
|
+
const total = amount + igpQuote.amount;
|
|
237
|
+
if (senderBalance < total)
|
|
238
|
+
return { amount: 'Insufficient balance for gas and transfer' };
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
const igpTokenBalance = await igpQuote.token.getBalance(this.multiProvider, sender);
|
|
242
|
+
if (igpTokenBalance.amount < igpQuote.amount)
|
|
243
|
+
return { amount: `Insufficient ${igpQuote.token.symbol} for gas` };
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Search through token list to find token with matching chain and address
|
|
249
|
+
*/
|
|
250
|
+
findToken(chainName, addressOrDenom) {
|
|
251
|
+
if (!addressOrDenom)
|
|
252
|
+
return null;
|
|
253
|
+
const results = this.tokens.filter((token) => token.chainName === chainName &&
|
|
254
|
+
token.addressOrDenom.toLowerCase() === addressOrDenom.toLowerCase());
|
|
255
|
+
if (results.length === 1)
|
|
256
|
+
return results[0];
|
|
257
|
+
if (results.length > 1)
|
|
258
|
+
throw new Error(`Ambiguous token search results for ${addressOrDenom}`);
|
|
259
|
+
// If the token is not found, check to see if it matches the denom of chain's native token
|
|
260
|
+
// This is a convenience so WarpConfigs don't need to include definitions for native tokens
|
|
261
|
+
const chainMetadata = this.multiProvider.getChainMetadata(chainName);
|
|
262
|
+
if (chainMetadata.nativeToken?.denom === addressOrDenom) {
|
|
263
|
+
return Token_1.Token.FromChainMetadataNativeToken(chainMetadata);
|
|
264
|
+
}
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Get the list of chains referenced by the tokens in this WarpCore
|
|
269
|
+
*/
|
|
270
|
+
getTokenChains() {
|
|
271
|
+
return [...new Set(this.tokens.map((t) => t.chainName)).values()];
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
275
|
+
*/
|
|
276
|
+
getTokensForChain(chainName) {
|
|
277
|
+
return this.tokens.filter((t) => t.chainName === chainName);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
281
|
+
* and which are connected to a token on the given destination chain
|
|
282
|
+
*/
|
|
283
|
+
getTokensForRoute(origin, destination) {
|
|
284
|
+
return this.tokens.filter((t) => t.chainName === origin && t.getConnectionForChain(destination));
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
exports.WarpCore = WarpCore;
|
|
288
|
+
//# sourceMappingURL=WarpCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarpCore.js","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarpCore.test.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.test.ts"],"names":[],"mappings":""}
|