diff --git a/.changeset/silly-turtles-reply.md b/.changeset/silly-turtles-reply.md new file mode 100644 index 00000000..fbc79ebf --- /dev/null +++ b/.changeset/silly-turtles-reply.md @@ -0,0 +1,5 @@ +--- +'@moonbeam-network/xcm-config': patch +--- + +Adjust kbtc and ibtc fees diff --git a/packages/builder/src/contract/ContractConfig.ts b/packages/builder/src/contract/ContractConfig.ts index 73160df8..364e93a8 100644 --- a/packages/builder/src/contract/ContractConfig.ts +++ b/packages/builder/src/contract/ContractConfig.ts @@ -14,6 +14,10 @@ export class ContractConfig extends BaseConfig { readonly address?: string; + static is(obj: unknown): obj is ContractConfig { + return obj instanceof ContractConfig; + } + constructor({ args, address, ...other }: ContractConfigConstructorParams) { super({ ...other, type: CallType.Evm }); diff --git a/packages/builder/src/extrinsic/ExtrinsicConfig.ts b/packages/builder/src/extrinsic/ExtrinsicConfig.ts index 2e935357..3963179c 100644 --- a/packages/builder/src/extrinsic/ExtrinsicConfig.ts +++ b/packages/builder/src/extrinsic/ExtrinsicConfig.ts @@ -12,6 +12,10 @@ export class ExtrinsicConfig extends BaseConfig { // eslint-disable-next-line @typescript-eslint/no-explicit-any getArgs: (func?: SubmittableExtrinsicFunction<'promise'>) => any[]; + static is(obj: unknown): obj is ExtrinsicConfig { + return obj instanceof ExtrinsicConfig; + } + constructor({ getArgs, ...other }: ExtrinsicConfigConstructorParams) { super({ ...other, type: CallType.Substrate }); diff --git a/packages/config/src/ConfigService/ConfigService.test.ts b/packages/config/src/ConfigService/ConfigService.test.ts index af59ff86..a290b54b 100644 --- a/packages/config/src/ConfigService/ConfigService.test.ts +++ b/packages/config/src/ConfigService/ConfigService.test.ts @@ -25,7 +25,6 @@ import { } from '../chains'; import { ConfigService } from './ConfigService'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; import { xcmRoutesMap } from '../xcm-configs'; @@ -201,53 +200,35 @@ describe('config service', () => { }); }); - describe('updateChainConfig', () => { + describe('updateChainRoute', () => { it('should update existing chain config', () => { - const assetConfig = new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.02, - asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }); - - const chainConfig = new ChainRoutes({ - routes: [assetConfig], + const routes = new ChainRoutes({ chain: hydration, + routes: [ + { + asset: glmr, + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.02, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + ], }); - configService.updateChainConfig(chainConfig); - const updated = configService.getChainRoutes(hydration); - expect(updated.getRoutes()).toStrictEqual(chainConfig.getRoutes()); - }); - - it('should create new chain config', () => { - configService.updateChain(TEST_CHAIN); - - const assetConfig = new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.02, - asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }); - - const chainConfig = new ChainRoutes({ - routes: [assetConfig], - chain: TEST_CHAIN, - }); + configService.updateChainRoute(routes); - configService.updateChainConfig(chainConfig); - const updated = configService.getChainRoutes('test'); - expect(updated.getRoutes()).toStrictEqual(chainConfig.getRoutes()); + expect(configService.getChainRoutes(hydration).getRoutes()).toStrictEqual( + routes.getRoutes(), + ); }); }); }); diff --git a/packages/config/src/ConfigService/ConfigService.ts b/packages/config/src/ConfigService/ConfigService.ts index 522224c9..b1dc3501 100644 --- a/packages/config/src/ConfigService/ConfigService.ts +++ b/packages/config/src/ConfigService/ConfigService.ts @@ -69,13 +69,13 @@ export class ConfigService { getChainRoutes(keyOrChain: string | AnyChain): ChainRoutes { const key = getKey(keyOrChain); - const config = this.routes.get(key); + const route = this.routes.get(key); - if (!config) { - throw new Error(`Chain config for ${key} not found`); + if (!route) { + throw new Error(`ChainRoute for ${key} not found`); } - return config; + return route; } getSourceChains({ @@ -105,14 +105,16 @@ export class ConfigService { asset?: string | AnyAsset; source: string | AnyChain; }): AnyChain[] { - const config = this.getChainRoutes(source); + const chainRoutes = this.getChainRoutes(source); if (asset) { - return config.getAssetDestinations(asset); + return chainRoutes.getAssetDestinations(asset); } return Array.from( - new Set(config.getRoutes().map((routes) => routes.destination)), + new Set( + chainRoutes.getRoutes().map((routes) => routes.destination.chain), + ), ); } @@ -150,7 +152,7 @@ export class ConfigService { this.chains.set(chain.key, chain); } - updateChainConfig(chainConfig: ChainRoutes): void { - this.routes.set(chainConfig.chain.key, chainConfig); + updateChainRoute(route: ChainRoutes): void { + this.routes.set(route.chain.key, route); } } diff --git a/packages/config/src/mrl-configs/hydrationAlphanet.ts b/packages/config/src/mrl-configs/hydrationAlphanet.ts index d36479f8..04fe1d1c 100644 --- a/packages/config/src/mrl-configs/hydrationAlphanet.ts +++ b/packages/config/src/mrl-configs/hydrationAlphanet.ts @@ -5,23 +5,27 @@ import { } from '@moonbeam-network/xcm-builder'; import { ftmwh, hdx } from '../assets'; import { fantomTestnet, hydrationAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const hydrationAlphanetRoutes = new ChainRoutes({ chain: hydrationAlphanet, routes: [ - new AssetRoute({ + { asset: ftmwh, - balance: BalanceBuilder().substrate().system().account(), // TODO: - destination: fantomTestnet, - destinationFee: { - // TODO: - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().system().account(), // TODO: + }, + destination: { + chain: fantomTestnet, + balance: BalanceBuilder().substrate().system().account(), // TODO: + fee: { + // TODO: + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), // TODO: - }), + }, ], }); diff --git a/packages/config/src/types/AssetRoute.ts b/packages/config/src/types/AssetRoute.ts index 21eaffdf..b03e692d 100644 --- a/packages/config/src/types/AssetRoute.ts +++ b/packages/config/src/types/AssetRoute.ts @@ -1,68 +1,65 @@ -import { +import type { AssetMinConfigBuilder, BalanceConfigBuilder, ContractConfigBuilder, ExtrinsicConfigBuilder, FeeConfigBuilder, } from '@moonbeam-network/xcm-builder'; -import { AnyChain, Asset } from '@moonbeam-network/xcm-types'; +import type { AnyChain, Asset } from '@moonbeam-network/xcm-types'; export interface AssetRouteConstructorParams { asset: Asset; - balance: BalanceConfigBuilder; + source: SourceConfig; + destination: DestinationConfig; contract?: ContractConfigBuilder; - destination: AnyChain; - destinationFee: DestinationFeeConfig; extrinsic?: ExtrinsicConfigBuilder; - fee?: FeeAssetConfig; +} + +export interface SourceConfig { + chain: AnyChain; + balance: BalanceConfigBuilder; + fee?: FeeConfig; min?: AssetMinConfigBuilder; } -export interface DestinationFeeConfig extends FeeAssetConfig { - amount: number | FeeConfigBuilder; +export interface DestinationConfig extends Omit { + fee: DestinationFeeConfig; } -export interface FeeAssetConfig { +export interface FeeConfig { asset: Asset; balance: BalanceConfigBuilder; - // Sometimes we need to add some extra amount ("XCM Delivery Fee") to a fee that is returned by "paymentInfo" for extrinsic to not fail. + // NOTE: Sometimes we need to add some extra amount ("XCM Delivery Fee") to a fee + // that is returned by "paymentInfo" for extrinsic to not fail. extra?: number; } +export interface DestinationFeeConfig extends FeeConfig { + amount: number | FeeConfigBuilder; +} + export class AssetRoute { readonly asset: Asset; - readonly balance: BalanceConfigBuilder; + readonly source: SourceConfig; - readonly contract?: ContractConfigBuilder; + readonly destination: DestinationConfig; - readonly destination: AnyChain; - - readonly destinationFee: DestinationFeeConfig; + readonly contract?: ContractConfigBuilder; readonly extrinsic?: ExtrinsicConfigBuilder; - readonly fee?: FeeAssetConfig; - - readonly min?: AssetMinConfigBuilder; - constructor({ asset, - balance, - contract, + source, destination, - destinationFee, + contract, extrinsic, - fee, - min, }: AssetRouteConstructorParams) { this.asset = asset; - this.balance = balance; - this.contract = contract; + this.source = source; this.destination = destination; - this.destinationFee = destinationFee; + this.contract = contract; this.extrinsic = extrinsic; - this.fee = fee; - this.min = min; } } diff --git a/packages/config/src/types/ChainRoutes.ts b/packages/config/src/types/ChainRoutes.ts index fc7493a5..05ac675c 100644 --- a/packages/config/src/types/ChainRoutes.ts +++ b/packages/config/src/types/ChainRoutes.ts @@ -1,23 +1,37 @@ -import { AnyAsset, AnyChain, Asset } from '@moonbeam-network/xcm-types'; +import type { AnyAsset, AnyChain, Asset } from '@moonbeam-network/xcm-types'; import { getKey } from '../config.utils'; -import { AssetRoute } from './AssetRoute'; +import { + AssetRoute, + AssetRouteConstructorParams, + SourceConfig, +} from './AssetRoute'; export interface ChainRoutesConstructorParams { - routes: AssetRoute[]; chain: AnyChain; + routes: RoutesParam[]; } -export class ChainRoutes { - readonly #routes: Map; +interface RoutesParam extends Omit { + source: Omit; +} +export class ChainRoutes { readonly chain: AnyChain; - constructor({ routes: assets, chain }: ChainRoutesConstructorParams) { + readonly #routes: Map; + + constructor({ chain, routes }: ChainRoutesConstructorParams) { this.chain = chain; this.#routes = new Map( - assets.map((asset) => [ - `${asset.asset.key}-${asset.destination.key}`, - asset, + routes.map(({ asset, source, destination, contract, extrinsic }) => [ + `${asset.key}-${destination.chain.key}`, + new AssetRoute({ + asset, + source: { ...source, chain }, + destination, + contract, + extrinsic, + }), ]), ); } @@ -34,7 +48,7 @@ export class ChainRoutes { getAssetDestinations(keyOrAsset: string | AnyAsset): AnyChain[] { return this.getAssetRoutes(keyOrAsset).map( - (assetConfig) => assetConfig.destination, + (assetConfig) => assetConfig.destination.chain, ); } @@ -42,7 +56,7 @@ export class ChainRoutes { const key = getKey(keyOrChain); return this.getRoutes() - .filter((cfg) => cfg.destination.key === key) + .filter((cfg) => cfg.destination.chain.key === key) .map((cfg) => cfg.asset); } @@ -52,14 +66,14 @@ export class ChainRoutes { ): AssetRoute { const assetKey = getKey(asset); const destKey = getKey(destination); - const config = this.#routes.get(`${assetKey}-${destKey}`); + const route = this.#routes.get(`${assetKey}-${destKey}`); - if (!config) { + if (!route) { throw new Error( - `AssetConfig for ${assetKey} and destination ${destKey} not found`, + `AssetRoute for asset ${assetKey} and destination ${destKey} not found`, ); } - return config; + return route; } } diff --git a/packages/config/src/xcm-configs/acala.ts b/packages/config/src/xcm-configs/acala.ts index da2e1cb1..c6c4e9af 100644 --- a/packages/config/src/xcm-configs/acala.ts +++ b/packages/config/src/xcm-configs/acala.ts @@ -6,70 +6,89 @@ import { } from '@moonbeam-network/xcm-builder'; import { aca, aseed, glmr, ldot } from '../assets'; import { acala, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const acalaRoutes = new ChainRoutes({ chain: acala, routes: [ - new AssetRoute({ + { asset: aca, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: aca, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: aca, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: aseed, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: aseed, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: aca, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().assetMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: aca, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: aseed, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().assetMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: aca, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().assetMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: aca, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().assetMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + { asset: ldot, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.005, - asset: ldot, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: aca, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().assetMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: aca, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.005, + asset: ldot, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().assetMetadatas(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/alphanetAssetHub.ts b/packages/config/src/xcm-configs/alphanetAssetHub.ts index fe0ac693..4351c564 100644 --- a/packages/config/src/xcm-configs/alphanetAssetHub.ts +++ b/packages/config/src/xcm-configs/alphanetAssetHub.ts @@ -6,30 +6,34 @@ import { } from '@moonbeam-network/xcm-builder'; import { tt1, unit } from '../assets'; import { alphanetAssetHub, moonbaseAlpha } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const alphanetAssetHubRoutes = new ChainRoutes({ chain: alphanetAssetHub, routes: [ - new AssetRoute({ + { asset: tt1, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: tt1, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: unit, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: tt1, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: unit, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assets().asset(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/alphanetRelay.ts b/packages/config/src/xcm-configs/alphanetRelay.ts index 1a4d115b..fcd0c3bb 100644 --- a/packages/config/src/xcm-configs/alphanetRelay.ts +++ b/packages/config/src/xcm-configs/alphanetRelay.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { unit } from '../assets'; import { alphanetRelay, moonbaseAlpha } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const alphanetRelayRoutes = new ChainRoutes({ chain: alphanetRelay, routes: [ - new AssetRoute({ + { asset: unit, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: unit, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: unit, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xcmPallet() .limitedReserveTransferAssets(0) .here(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/astar.ts b/packages/config/src/xcm-configs/astar.ts index f6591d98..8a706d6f 100644 --- a/packages/config/src/xcm-configs/astar.ts +++ b/packages/config/src/xcm-configs/astar.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { astr, glmr } from '../assets'; import { astar, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const astarRoutes = new ChainRoutes({ chain: astar, routes: [ - new AssetRoute({ + { asset: astr, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: astr, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: astr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xTokens() .transferMultiAsset(astar.parachainId) .here(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: astr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: astr, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/bifrostKusama.ts b/packages/config/src/xcm-configs/bifrostKusama.ts index 7642ce88..bf815b28 100644 --- a/packages/config/src/xcm-configs/bifrostKusama.ts +++ b/packages/config/src/xcm-configs/bifrostKusama.ts @@ -6,86 +6,110 @@ import { } from '@moonbeam-network/xcm-builder'; import { bnc, movr, vbnc, vksm, vmovr } from '../assets'; import { bifrostKusama, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const bifrostKusamaRoutes = new ChainRoutes({ chain: bifrostKusama, routes: [ - new AssetRoute({ + { asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: bnc, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: bnc, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + { asset: vbnc, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonriver, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: vksm, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonriver, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: vmovr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonriver, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/bifrostPolkadot.ts b/packages/config/src/xcm-configs/bifrostPolkadot.ts index 375632b3..43fcce54 100644 --- a/packages/config/src/xcm-configs/bifrostPolkadot.ts +++ b/packages/config/src/xcm-configs/bifrostPolkadot.ts @@ -16,150 +16,194 @@ import { vmanta, } from '../assets'; import { bifrostPolkadot, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const bifrostPolkadotRoutes = new ChainRoutes({ chain: bifrostPolkadot, routes: [ - new AssetRoute({ + { asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: bnc, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: fil, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: vastr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: vdot, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: vdot, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.01, + asset: vdot, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: vfil, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: vglmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: vmanta, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.2, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.2, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), - new AssetRoute({ + }, + { asset: bncs, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.05, - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().currencyMetadatas(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.05, + asset: bnc, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: bnc, - balance: BalanceBuilder().substrate().system().account(), - }, - min: AssetMinBuilder().assetRegistry().currencyMetadatas(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/calamari.ts b/packages/config/src/xcm-configs/calamari.ts index febce753..079e3dd4 100644 --- a/packages/config/src/xcm-configs/calamari.ts +++ b/packages/config/src/xcm-configs/calamari.ts @@ -6,38 +6,47 @@ import { } from '@moonbeam-network/xcm-builder'; import { kma, movr } from '../assets'; import { calamari, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const calamariRoutes = new ChainRoutes({ chain: calamari, routes: [ - new AssetRoute({ + { asset: kma, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: kma, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: kma, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: kma, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: kma, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/centrifuge.ts b/packages/config/src/xcm-configs/centrifuge.ts index acb97aca..1bc4b1b3 100644 --- a/packages/config/src/xcm-configs/centrifuge.ts +++ b/packages/config/src/xcm-configs/centrifuge.ts @@ -5,22 +5,26 @@ import { } from '@moonbeam-network/xcm-builder'; import { cfg } from '../assets'; import { centrifuge, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const centrifugeRoutes = new ChainRoutes({ chain: centrifuge, routes: [ - new AssetRoute({ + { asset: cfg, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: cfg, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: cfg, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/crustShadow.ts b/packages/config/src/xcm-configs/crustShadow.ts index 7d08b1ba..b67b9465 100644 --- a/packages/config/src/xcm-configs/crustShadow.ts +++ b/packages/config/src/xcm-configs/crustShadow.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { csm, movr } from '../assets'; import { crustShadow, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const crustShadowRoutes = new ChainRoutes({ chain: crustShadow, routes: [ - new AssetRoute({ + { asset: csm, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: csm, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: csm, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .here(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: csm, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: csm, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/darwinia.ts b/packages/config/src/xcm-configs/darwinia.ts index 7340ca52..4fb6b687 100644 --- a/packages/config/src/xcm-configs/darwinia.ts +++ b/packages/config/src/xcm-configs/darwinia.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { ring } from '../assets'; import { darwinia, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const darwiniaRoutes = new ChainRoutes({ chain: darwinia, routes: [ - new AssetRoute({ + { asset: ring, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: ring, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: ring, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X1(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/darwiniaCrab.ts b/packages/config/src/xcm-configs/darwiniaCrab.ts index f3c1c00a..f939770b 100644 --- a/packages/config/src/xcm-configs/darwiniaCrab.ts +++ b/packages/config/src/xcm-configs/darwiniaCrab.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { crab } from '../assets'; import { darwiniaCrab, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const darwiniaCrabRoutes = new ChainRoutes({ chain: darwiniaCrab, routes: [ - new AssetRoute({ + { asset: crab, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: crab, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: crab, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X1(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/hydration.ts b/packages/config/src/xcm-configs/hydration.ts index 69f593f7..b701da7f 100644 --- a/packages/config/src/xcm-configs/hydration.ts +++ b/packages/config/src/xcm-configs/hydration.ts @@ -5,108 +5,142 @@ import { } from '@moonbeam-network/xcm-builder'; import { dai, glmr, hdx, usdcwh, usdtwh, wbtc, weth } from '../assets'; import { hydration, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const hydrationRoutes = new ChainRoutes({ chain: hydration, routes: [ - new AssetRoute({ + { asset: hdx, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: hdx, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: dai, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: usdcwh, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: usdtwh, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: wbtc, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: weth, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/hydrationAlphanet.ts b/packages/config/src/xcm-configs/hydrationAlphanet.ts index 74faa8b2..94a65218 100644 --- a/packages/config/src/xcm-configs/hydrationAlphanet.ts +++ b/packages/config/src/xcm-configs/hydrationAlphanet.ts @@ -5,64 +5,83 @@ import { } from '@moonbeam-network/xcm-builder'; import { dev, ftmwh, hdx, usdcwh } from '../assets'; import { hydrationAlphanet, moonbaseAlpha } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; // FIXME: has to be verified export const hydrationAlphanetRoutes = new ChainRoutes({ chain: hydrationAlphanet, routes: [ - new AssetRoute({ + { asset: hdx, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: hdx, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: dev, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.01, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: usdcwh, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.04, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: ftmwh, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.04, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/integritee.ts b/packages/config/src/xcm-configs/integritee.ts index 3f02b801..f86b8451 100644 --- a/packages/config/src/xcm-configs/integritee.ts +++ b/packages/config/src/xcm-configs/integritee.ts @@ -5,22 +5,26 @@ import { } from '@moonbeam-network/xcm-builder'; import { teer } from '../assets'; import { integritee, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const integriteeRoutes = new ChainRoutes({ chain: integritee, routes: [ - new AssetRoute({ + { asset: teer, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: teer, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: teer, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/interlay.ts b/packages/config/src/xcm-configs/interlay.ts index 769c885c..7752b9b2 100644 --- a/packages/config/src/xcm-configs/interlay.ts +++ b/packages/config/src/xcm-configs/interlay.ts @@ -5,48 +5,62 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, ibtc, intr } from '../assets'; import { interlay, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const interlayRoutes = new ChainRoutes({ chain: interlay, routes: [ - new AssetRoute({ + { asset: intr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: intr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: intr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: ibtc, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: intr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: intr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: intr, - balance: BalanceBuilder().substrate().tokens().accounts(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: intr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.001, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.001, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/karura.ts b/packages/config/src/xcm-configs/karura.ts index 397d708b..d56fe2eb 100644 --- a/packages/config/src/xcm-configs/karura.ts +++ b/packages/config/src/xcm-configs/karura.ts @@ -6,54 +6,68 @@ import { } from '@moonbeam-network/xcm-builder'; import { aseed, kar, movr } from '../assets'; import { karura, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const karuraRoutes = new ChainRoutes({ chain: karura, routes: [ - new AssetRoute({ + { asset: kar, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: kar, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: kar, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: aseed, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: aseed, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: kar, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().assetMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: kar, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: aseed, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().assetMetadatas(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + { asset: movr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: kar, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assetRegistry().assetMetadatas(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: kar, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - min: AssetMinBuilder().assetRegistry().assetMetadatas(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/khala.ts b/packages/config/src/xcm-configs/khala.ts index 9cce025f..acd3760b 100644 --- a/packages/config/src/xcm-configs/khala.ts +++ b/packages/config/src/xcm-configs/khala.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { movr, pha } from '../assets'; import { khala, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const khalaRouts = new ChainRoutes({ chain: khala, routes: [ - new AssetRoute({ + { asset: pha, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pha, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pha, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTransfer().transfer().here(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: 0.001, - asset: movr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: pha, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTransfer().transfer().X2(), - fee: { - asset: pha, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.001, + asset: movr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTransfer().transfer().X2(), + }, ], }); diff --git a/packages/config/src/xcm-configs/kintsugi.ts b/packages/config/src/xcm-configs/kintsugi.ts index 7a18a06c..5e580b10 100644 --- a/packages/config/src/xcm-configs/kintsugi.ts +++ b/packages/config/src/xcm-configs/kintsugi.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { kbtc, kint } from '../assets'; import { kintsugi, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const kintsugiRoutes = new ChainRoutes({ chain: kintsugi, routes: [ - new AssetRoute({ + { asset: kint, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: kint, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: kint, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: kbtc, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: kint, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: kint, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: kint, - balance: BalanceBuilder().substrate().tokens().accounts(), + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: kint, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/kusama.ts b/packages/config/src/xcm-configs/kusama.ts index 5f83f8b3..943fe63c 100644 --- a/packages/config/src/xcm-configs/kusama.ts +++ b/packages/config/src/xcm-configs/kusama.ts @@ -5,30 +5,34 @@ import { } from '@moonbeam-network/xcm-builder'; import { ksm } from '../assets'; import { kusama, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const kusamaRoutes = new ChainRoutes({ chain: kusama, routes: [ - new AssetRoute({ + { asset: ksm, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: ksm, + source: { balance: BalanceBuilder().substrate().system().account(), + fee: { + asset: ksm, + balance: BalanceBuilder().substrate().system().account(), + extra: 0.002, + }, + }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: ksm, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder() .xcmPallet() .limitedReserveTransferAssets(0) .here(), - fee: { - asset: ksm, - balance: BalanceBuilder().substrate().system().account(), - extra: 0.002, - }, - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/kusamaAssetHub.ts b/packages/config/src/xcm-configs/kusamaAssetHub.ts index b8f7e49e..c278283f 100644 --- a/packages/config/src/xcm-configs/kusamaAssetHub.ts +++ b/packages/config/src/xcm-configs/kusamaAssetHub.ts @@ -6,7 +6,6 @@ import { } from '@moonbeam-network/xcm-builder'; import { ksm, rmrk, usdt } from '../assets'; import { kusamaAssetHub, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; const extra = 0.0015; @@ -14,45 +13,55 @@ const extra = 0.0015; export const kusamaAssetHubRoutes = new ChainRoutes({ chain: kusamaAssetHub, routes: [ - new AssetRoute({ + { asset: rmrk, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: rmrk, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: ksm, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: rmrk, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: ksm, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: usdt, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: ksm, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: ksm, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/litmus.ts b/packages/config/src/xcm-configs/litmus.ts index 3f51fd2f..b6d68c50 100644 --- a/packages/config/src/xcm-configs/litmus.ts +++ b/packages/config/src/xcm-configs/litmus.ts @@ -5,22 +5,26 @@ import { } from '@moonbeam-network/xcm-builder'; import { lit } from '../assets'; import { litmus, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const litmusRoutes = new ChainRoutes({ chain: litmus, routes: [ - new AssetRoute({ + { asset: lit, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: lit, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: lit, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/mangataKusama.ts b/packages/config/src/xcm-configs/mangataKusama.ts index 4b8401d5..152fb996 100644 --- a/packages/config/src/xcm-configs/mangataKusama.ts +++ b/packages/config/src/xcm-configs/mangataKusama.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { mgx, movr } from '../assets'; import { mangataKusama, moonriver } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const mangataKusamaRoutes = new ChainRoutes({ chain: mangataKusama, routes: [ - new AssetRoute({ + { asset: mgx, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: mgx, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: mgx, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.000008, - asset: movr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: mgx, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: mgx, - balance: BalanceBuilder().substrate().tokens().accounts(), + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.000008, + asset: movr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/mantaParachain.ts b/packages/config/src/xcm-configs/mantaParachain.ts index aeae1dcf..362ea278 100644 --- a/packages/config/src/xcm-configs/mantaParachain.ts +++ b/packages/config/src/xcm-configs/mantaParachain.ts @@ -6,38 +6,47 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, manta } from '../assets'; import { mantaParachain, moonbeam } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const mantaParachainRoutes = new ChainRoutes({ chain: mantaParachain, routes: [ - new AssetRoute({ + { asset: manta, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: manta, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: manta, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: manta, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: manta, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/moonbaseAlpha.ts b/packages/config/src/xcm-configs/moonbaseAlpha.ts index 3c54d102..02b49d91 100644 --- a/packages/config/src/xcm-configs/moonbaseAlpha.ts +++ b/packages/config/src/xcm-configs/moonbaseAlpha.ts @@ -27,328 +27,439 @@ import { picassoAlphanet, turingAlphanet, } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const moonbaseAlphaRoutes = new ChainRoutes({ chain: moonbaseAlpha, routes: [ - new AssetRoute({ + { asset: dev, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: turingAlphanet, - destinationFee: { - amount: 0.00001, - asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: turingAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00001, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: moonbaseBeta, - destinationFee: { - amount: 0.0002, - asset: dev, + }, + { + asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseBeta, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: pendulumAlphanet, - destinationFee: { - amount: 0.0000001, - asset: dev, + }, + { + asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: pendulumAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0000001, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: picassoAlphanet, - destinationFee: { - amount: 0.00000001, - asset: dev, + }, + { + asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ + destination: { + chain: picassoAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: alan, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbaseBeta, - destinationFee: { - amount: 0.0002, - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseBeta, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + }, // NOTE: Disabling because ws endpoint is not working // new AssetConfig({ // asset: auq, // balance: BalanceBuilder().substrate().assets().account(), // contract: ContractBuilder().Xtokens().transfer(), - // destination: uniqueAlpha, - // destinationFee: { + // destination: { + // chain: uniqueAlpha, + // fee:{ // amount: 0, // asset: auq, + // } // }, // fee: { // asset: dev, // balance: BalanceBuilder().substrate().system().account(), // }, // }), - new AssetRoute({ + { asset: ampe, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: pendulumAlphanet, - destinationFee: { - amount: 0.001, - asset: ampe, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: pendulumAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.001, + asset: ampe, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: otp, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: originTrailAlphanet, - destinationFee: { - amount: 0.004, - asset: otp, + }, + { + asset: otp, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: originTrailAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.004, + asset: otp, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: atom, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: picassoAlphanet, - destinationFee: { - amount: 0.0001, - asset: atom, + }, + { + asset: atom, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: picassoAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0001, + asset: atom, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: pica, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: picassoAlphanet, - destinationFee: { - amount: 0.01, - asset: pica, + }, + { + asset: pica, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: picassoAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: pica, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: tt1, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: alphanetAssetHub, - destinationFee: { - amount: 5, - asset: tt1, + }, + { + asset: tt1, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: alphanetAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 5, + asset: tt1, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: tur, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: turingAlphanet, - destinationFee: { - amount: 0.2, - asset: tur, + }, + { + asset: tur, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: turingAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.2, + asset: tur, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: unit, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: alphanetRelay, - destinationFee: { - amount: 0.0506, - asset: unit, + }, + { + asset: unit, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: alphanetRelay, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0506, + asset: unit, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydrationAlphanet, - destinationFee: { - amount: 0.1, - asset: usdcwh, + }, + { + asset: usdcwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydrationAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.1, + asset: usdcwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: ftmwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydrationAlphanet, - destinationFee: { - amount: 0.01, - asset: ftmwh, + }, + { + asset: ftmwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydrationAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.01, + asset: ftmwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: ftmwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqAlphanet, - destinationFee: { - amount: 0.01, - asset: ftmwh, + }, + { + asset: ftmwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqAlphanet, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.01, + asset: ftmwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: dev, - balance: BalanceBuilder().substrate().system().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydrationAlphanet, - destinationFee: { - amount: 0.0002, - asset: dev, + }, + { + asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: hdx, - balance: BalanceBuilder().substrate().assets().account(), + destination: { + chain: hydrationAlphanet, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: hydrationAlphanet, - destinationFee: { - amount: 0.5, - asset: hdx, - balance: BalanceBuilder().substrate().system().account(), + }, + { + asset: hdx, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: hydrationAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.5, + asset: hdx, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ - asset: dev, - balance: BalanceBuilder().substrate().system().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqAlphanet, - destinationFee: { - amount: 0.00000001, - asset: dev, + }, + { + asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: ftmwh, - balance: BalanceBuilder().evm().erc20(), + destination: { + chain: peaqAlphanet, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00000001, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: peaqAlphanet, - destinationFee: { - amount: 0.01, - asset: ftmwh, + }, + { + asset: ftmwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqAlphanet, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.01, + asset: ftmwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: agng, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqAlphanet, - destinationFee: { - amount: 0.01, - asset: agng, - balance: BalanceBuilder().substrate().system().account(), + }, + { + asset: agng, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, + destination: { + chain: peaqAlphanet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: agng, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: dev, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvmAlphanet, - destinationFee: { - amount: 0.00000001, - asset: dev, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: ftmwh, - balance: BalanceBuilder().evm().erc20(), + destination: { + chain: peaqEvmAlphanet, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.00000001, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvmAlphanet, - destinationFee: { - amount: 0.01, - asset: ftmwh, + }, + { + asset: ftmwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvmAlphanet, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.01, + asset: ftmwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), + contract: ContractBuilder().Xtokens().transferWithEvmTo32(), + }, ], }); diff --git a/packages/config/src/xcm-configs/moonbaseBeta.ts b/packages/config/src/xcm-configs/moonbaseBeta.ts index 65100f90..3ebd7a31 100644 --- a/packages/config/src/xcm-configs/moonbaseBeta.ts +++ b/packages/config/src/xcm-configs/moonbaseBeta.ts @@ -4,71 +4,90 @@ import { } from '@moonbeam-network/xcm-builder'; import { alan, betaDEV, dev, ftmwh, usdcwh } from '../assets'; import { moonbaseAlpha, moonbaseBeta } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const moonbaseBetaRoutes = new ChainRoutes({ chain: moonbaseBeta, routes: [ - new AssetRoute({ + { asset: dev, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.0002, - asset: dev, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: betaDEV, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: betaDEV, + destination: { + chain: moonbaseAlpha, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0002, + asset: dev, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, + { asset: alan, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.002, - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: betaDEV, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: betaDEV, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: usdcwh, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.002, - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: betaDEV, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: betaDEV, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: ftmwh, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.002, - asset: dev, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: betaDEV, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: betaDEV, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.002, + asset: dev, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/moonbeam.ts b/packages/config/src/xcm-configs/moonbeam.ts index 2c66555f..3665617b 100644 --- a/packages/config/src/xcm-configs/moonbeam.ts +++ b/packages/config/src/xcm-configs/moonbeam.ts @@ -63,893 +63,1202 @@ import { subsocial, zeitgeist, } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const moonbeamRoutes = new ChainRoutes({ chain: moonbeam, routes: [ - new AssetRoute({ + { asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: acala, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: acala, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: astar, - destinationFee: { - amount: 0.0002, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: astar, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.000001, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.000001, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.05, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.05, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: interlay, - destinationFee: { - amount: 0.05, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: interlay, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.05, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: mantaParachain, - destinationFee: { - amount: 0.1, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: mantaParachain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.1, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: parallel, - destinationFee: { - amount: 0.000000032, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: parallel, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.000000032, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: phala, - destinationFee: { - amount: 0.0002, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: phala, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: pendulum, - destinationFee: { - amount: 0.2, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: pendulum, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.2, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: zeitgeist, - destinationFee: { - amount: 0.3, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: aca, - balance: BalanceBuilder().substrate().assets().account(), + destination: { + chain: zeitgeist, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.3, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: acala, - destinationFee: { - amount: 0.032, - asset: aca, + }, + { + asset: aca, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: acala, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.032, + asset: aca, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: astr, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: astar, - destinationFee: { - amount: 0.032, - asset: astr, + }, + { + asset: astr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: astar, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.032, + asset: astr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: aseed, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: acala, - destinationFee: { - amount: 0.256, - asset: aseed, + }, + { + asset: aseed, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: acala, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.256, + asset: aseed, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: bnc, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.256, - asset: bnc, + }, + { + asset: bnc, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: bifrostPolkadot, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.256, + asset: bnc, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: cfg, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: centrifuge, - destinationFee: { - amount: 0.01, - asset: cfg, + }, + { + asset: cfg, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: centrifuge, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: cfg, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: dot, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: polkadot, - destinationFee: { - amount: 0.052, - asset: dot, + }, + { + asset: dot, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: polkadot, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.052, + asset: dot, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: ibtc, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: interlay, - destinationFee: { - amount: 0.0002476, - asset: ibtc, + }, + { + asset: ibtc, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: interlay, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000064, + asset: ibtc, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: intr, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: interlay, - destinationFee: { - amount: 0.748, - asset: intr, + }, + { + asset: intr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: interlay, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.748, + asset: intr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: ldot, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: acala, - destinationFee: { - amount: 0.001, - asset: ldot, + }, + { + asset: ldot, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: acala, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.001, + asset: ldot, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: manta, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: mantaParachain, - destinationFee: { - amount: 0.000001, - asset: manta, + }, + { + asset: manta, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: mantaParachain, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.000001, + asset: manta, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: nodl, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: nodle, - destinationFee: { - amount: 0.02, - asset: nodl, + }, + { + asset: nodl, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { balance: BalanceBuilder().substrate().system().account(), + chain: nodle, + fee: { + amount: 0.02, + asset: nodl, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: neuro, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: neuroweb, - destinationFee: { - amount: 0.004, - asset: neuro, + }, + { + asset: neuro, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: neuroweb, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.004, + asset: neuro, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: para, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: parallel, - destinationFee: { - amount: 0.064, - asset: para, + }, + { + asset: para, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: parallel, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.064, + asset: para, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: pen, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: pendulum, - destinationFee: { - amount: 1.01, - asset: pen, + }, + { + asset: pen, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: pendulum, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 1.01, + asset: pen, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: pha, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: phala, - destinationFee: { - amount: 0.32, - asset: pha, + }, + { + asset: pha, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: phala, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.32, + asset: pha, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: ring, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: darwinia, - destinationFee: { - amount: 4, - asset: ring, + }, + { + asset: ring, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: darwinia, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 4, + asset: ring, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: usdt, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + }, + { + asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: usdc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdc, - balance: BalanceBuilder().substrate().assets().account(), + }, + { + asset: usdc, + source: { + balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdc, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: pink, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: ded, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + }, + { + asset: ded, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: stink, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + }, + { + asset: stink, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: apillon, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + }, + { + asset: apillon, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + }, + { asset: hdx, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.6, - asset: hdx, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: hydration, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.6, + asset: hdx, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: dai, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.004, - asset: dai, + }, + { + asset: dai, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.004, + asset: dai, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.004, - asset: usdcwh, + }, + { + asset: usdcwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.004, + asset: usdcwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: zeitgeist, - destinationFee: { - amount: 0.101, - asset: usdcwh, + }, + { + asset: usdcwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: zeitgeist, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.101, + asset: usdcwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: usdtwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.004, - asset: usdtwh, + }, + { + asset: usdtwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.004, + asset: usdtwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: vastr, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.00001, - asset: vastr, + }, + { + asset: vastr, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00001, + asset: vastr, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: vdot, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.0000001, - asset: vdot, + }, + { + asset: vdot, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + balance: BalanceBuilder().substrate().tokens().accounts(), + chain: bifrostPolkadot, + fee: { + amount: 0.0000001, + asset: vdot, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: vfil, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.00000001, - asset: vfil, + }, + { + asset: vfil, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: vfil, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: vglmr, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.00000001, - asset: vglmr, + }, + { + asset: vglmr, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: vglmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: vmanta, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.00000001, - asset: vmanta, + }, + { + asset: vmanta, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: vmanta, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: wbtc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.0000001, - asset: wbtc, + }, + { + asset: wbtc, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0000001, + asset: wbtc, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: weth, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: hydration, - destinationFee: { - amount: 0.000002, - asset: weth, + }, + { + asset: weth, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: hydration, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.000002, + asset: weth, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: fil, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.00000001, - asset: fil, + }, + { + asset: fil, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: fil, + balance: BalanceBuilder().evm().erc20(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: ztg, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: zeitgeist, - destinationFee: { - amount: 0.01, - asset: ztg, + }, + { + asset: ztg, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: zeitgeist, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: ztg, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: sub, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: subsocial, - destinationFee: { - amount: 0.1, - asset: sub, + }, + { + asset: sub, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: subsocial, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.1, + asset: sub, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: bncs, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostPolkadot, - destinationFee: { - amount: 0.0001, - asset: bncs, + }, + { + asset: bncs, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostPolkadot, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0001, + asset: bncs, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.00000001, - asset: glmr, + }, + { + asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00000001, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.00001, - asset: usdcwh, + }, + { + asset: usdcwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00001, + asset: usdcwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: usdtwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.00001, - asset: usdtwh, + }, + { + asset: usdtwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00001, + asset: usdtwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: dai, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.00001, - asset: dai, + }, + { + asset: dai, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00001, + asset: dai, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: weth, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.000001, - asset: weth, + }, + { + asset: weth, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.000001, + asset: weth, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: wbtc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.000001, - asset: wbtc, + }, + { + asset: wbtc, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqChain, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.000001, + asset: wbtc, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: peaq, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: peaqChain, - destinationFee: { - amount: 0.1, - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + }, + { + asset: peaq, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, + destination: { + chain: peaqChain, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.1, + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: glmr, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.00000001, - asset: glmr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.00000001, + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.00001, - asset: usdcwh, + }, + { + asset: usdcwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.00001, + asset: usdcwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: usdtwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.00001, - asset: usdtwh, + }, + { + asset: usdtwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.00001, + asset: usdtwh, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: dai, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.00001, - asset: dai, + }, + { + asset: dai, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.00001, + asset: dai, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: weth, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.000001, - asset: weth, + }, + { + asset: weth, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.000001, + asset: weth, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ - asset: wbtc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferWithEvmTo32(), - destination: peaqEvm, - destinationFee: { - amount: 0.000001, - asset: wbtc, + }, + { + asset: wbtc, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: peaqEvm, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.000001, + asset: wbtc, + balance: BalanceBuilder().evm().erc20(), + }, }, - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transferWithEvmTo32(), + }, + { asset: wifd, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: polkadotAssetHub, - destinationFee: { - amount: 0.2, - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: glmr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: polkadotAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/moonriver.ts b/packages/config/src/xcm-configs/moonriver.ts index afbbeb0a..4ec1614d 100644 --- a/packages/config/src/xcm-configs/moonriver.ts +++ b/packages/config/src/xcm-configs/moonriver.ts @@ -45,455 +45,614 @@ import { tinkernet, turing, } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const moonriverRoutes = new ChainRoutes({ chain: moonriver, routes: [ - new AssetRoute({ + { asset: movr, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostKusama, - destinationFee: { - amount: 0.0008544, - asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: calamari, - destinationFee: { - amount: 0.001, - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: bifrostKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0008544, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: crustShadow, - destinationFee: { - amount: 0.0002, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: karura, - destinationFee: { - amount: 0.001, - asset: movr, + destination: { + chain: calamari, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.001, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: khala, - destinationFee: { - amount: 0.0002, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: crustShadow, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: mangataKusama, - destinationFee: { - amount: 0.002, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: karura, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.001, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: shiden, - destinationFee: { - amount: 0.0002, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: khala, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: turing, - destinationFee: { - amount: 0.004, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: mangataKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.002, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: picasso, - destinationFee: { - amount: 0.001, - asset: movr, + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: aseed, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: karura, - destinationFee: { - amount: 0.256, - asset: aseed, + destination: { + chain: shiden, balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0002, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + contract: ContractBuilder().Xtokens().transfer(), + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: bnc, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostKusama, - destinationFee: { - amount: 0.0256, - asset: bnc, - balance: BalanceBuilder().substrate().assets().account(), + destination: { + chain: turing, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.004, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + contract: ContractBuilder().Xtokens().transfer(), + }, + { + asset: movr, + source: { balance: BalanceBuilder().substrate().system().account(), }, - }), - new AssetRoute({ - asset: crab, - balance: BalanceBuilder().substrate().assets().account(), + destination: { + chain: picasso, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.001, + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, contract: ContractBuilder().Xtokens().transfer(), - destination: darwiniaCrab, - destinationFee: { - amount: 4, - asset: crab, + }, + { + asset: aseed, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: karura, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.256, + asset: aseed, + balance: BalanceBuilder().substrate().assets().account(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { + asset: bnc, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: bifrostKusama, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0256, + asset: bnc, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: csm, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: crustShadow, - destinationFee: { - amount: 0.004, - asset: csm, + }, + { + asset: crab, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: darwiniaCrab, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 4, + asset: crab, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: kar, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: karura, - destinationFee: { - amount: 0.032, - asset: kar, + }, + { + asset: csm, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: crustShadow, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.004, + asset: csm, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: kbtc, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: kintsugi, - destinationFee: { - amount: 0.00000428, - asset: kbtc, + }, + { + asset: kar, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: karura, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.032, + asset: kar, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: kint, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: kintsugi, - destinationFee: { - amount: 0.00084, - asset: kint, + }, + { + asset: kbtc, + source: { balance: BalanceBuilder().substrate().assets().account(), - }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: kintsugi, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0000011, + asset: kbtc, + balance: BalanceBuilder().substrate().assets().account(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { + asset: kint, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: kintsugi, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00084, + asset: kint, + balance: BalanceBuilder().substrate().assets().account(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: kma, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: calamari, - destinationFee: { - amount: 0.000004, - asset: kma, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: calamari, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.000004, + asset: kma, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: ksm, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: kusama, - destinationFee: { - amount: 0.00168, - asset: ksm, + }, + { + asset: ksm, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: kusama, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.00168, + asset: ksm, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: lit, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: litmus, - destinationFee: { - amount: 0.0032, - asset: lit, + }, + { + asset: lit, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: litmus, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0032, + asset: lit, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: mgx, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: mangataKusama, - destinationFee: { - amount: 5.5, - asset: mgx, + }, + { + asset: mgx, + source: { balance: BalanceBuilder().substrate().assets().account(), - }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: mangataKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 5.5, + asset: mgx, + balance: BalanceBuilder().substrate().assets().account(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: pha, - balance: BalanceBuilder().substrate().assets().account(), - contract: ContractBuilder().Xtokens().transfer(), - destination: khala, - destinationFee: { - amount: 0.32, - asset: pha, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: khala, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.32, + asset: pha, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: pica, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: picasso, - destinationFee: { - amount: 0.001, - asset: pica, + }, + { + asset: pica, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: picasso, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.001, + asset: pica, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: rmrk, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: kusamaAssetHub, - destinationFee: { - amount: 0.0000504, - asset: rmrk, + }, + { + asset: rmrk, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: kusamaAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.0000504, + asset: rmrk, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: sdn, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: shiden, - destinationFee: { - amount: 0.032, - asset: sdn, + }, + { + asset: sdn, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: shiden, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.032, + asset: sdn, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: teer, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: integritee, - destinationFee: { - amount: 0.004, - asset: teer, + }, + { + asset: teer, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: integritee, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.004, + asset: teer, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: tnkr, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: tinkernet, - destinationFee: { - amount: 0.4, - asset: tnkr, + }, + { + asset: tnkr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: tinkernet, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.4, + asset: tnkr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: tur, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: turing, - destinationFee: { - amount: 0.2, - asset: tur, + }, + { + asset: tur, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: turing, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.2, + asset: tur, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: usdt, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: kusamaAssetHub, - destinationFee: { - amount: 0.00504, - asset: usdt, + }, + { + asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: kusamaAssetHub, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.00504, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: xrt, - balance: BalanceBuilder().substrate().assets().account(), contract: ContractBuilder().Xtokens().transfer(), - destination: robonomics, - destinationFee: { - amount: 0.000032, - asset: xrt, + }, + { + asset: xrt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, }, - fee: { - asset: movr, + destination: { + chain: robonomics, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.000032, + asset: xrt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), - new AssetRoute({ - asset: vbnc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostKusama, - destinationFee: { - amount: 0.0001, - asset: vbnc, + }, + { + asset: vbnc, + source: { balance: BalanceBuilder().evm().erc20(), - }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0001, + asset: vbnc, + balance: BalanceBuilder().evm().erc20(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: vksm, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostKusama, - destinationFee: { - amount: 0.0001, - asset: vksm, + source: { balance: BalanceBuilder().evm().erc20(), - }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), - new AssetRoute({ + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.0001, + asset: vksm, + balance: BalanceBuilder().evm().erc20(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: vmovr, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transfer(), - destination: bifrostKusama, - destinationFee: { - amount: 0.00000001, - asset: vmovr, + source: { balance: BalanceBuilder().evm().erc20(), - }, - fee: { - asset: movr, - balance: BalanceBuilder().substrate().system().account(), - }, - }), + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, + destination: { + chain: bifrostKusama, + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + amount: 0.00000001, + asset: vmovr, + balance: BalanceBuilder().evm().erc20(), + }, + }, + contract: ContractBuilder().Xtokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/neuroweb.ts b/packages/config/src/xcm-configs/neuroweb.ts index e2d4c2da..345eba45 100644 --- a/packages/config/src/xcm-configs/neuroweb.ts +++ b/packages/config/src/xcm-configs/neuroweb.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { neuro } from '../assets'; import { moonbeam, neuroweb } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const neurowebRoutes = new ChainRoutes({ chain: neuroweb, routes: [ - new AssetRoute({ + { asset: neuro, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: neuro, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: neuro, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X1(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/nodle.ts b/packages/config/src/xcm-configs/nodle.ts index efb259d8..5c552240 100644 --- a/packages/config/src/xcm-configs/nodle.ts +++ b/packages/config/src/xcm-configs/nodle.ts @@ -5,22 +5,26 @@ import { } from '@moonbeam-network/xcm-builder'; import { nodl } from '../assets'; import { moonbeam, nodle } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const nodleRoutes = new ChainRoutes({ chain: nodle, routes: [ - new AssetRoute({ + { asset: nodl, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: nodl, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: nodl, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/originTrailAlphanet.ts b/packages/config/src/xcm-configs/originTrailAlphanet.ts index 42267cad..7f317fdd 100644 --- a/packages/config/src/xcm-configs/originTrailAlphanet.ts +++ b/packages/config/src/xcm-configs/originTrailAlphanet.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { otp } from '../assets'; import { moonbaseAlpha, originTrailAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const originTrailAlphanetRoutes = new ChainRoutes({ chain: originTrailAlphanet, routes: [ - new AssetRoute({ + { asset: otp, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: otp, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: otp, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X1(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/parallel.ts b/packages/config/src/xcm-configs/parallel.ts index eebf55c8..3c97289d 100644 --- a/packages/config/src/xcm-configs/parallel.ts +++ b/packages/config/src/xcm-configs/parallel.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, para } from '../assets'; import { moonbeam, parallel } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const parallelRoutes = new ChainRoutes({ chain: parallel, routes: [ - new AssetRoute({ + { asset: para, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: para, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: para, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xTokens() .transferMultiAsset(parallel.parachainId) .X2(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: para, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: para, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/peaq.ts b/packages/config/src/xcm-configs/peaq.ts index b5c29c28..04bfa39b 100644 --- a/packages/config/src/xcm-configs/peaq.ts +++ b/packages/config/src/xcm-configs/peaq.ts @@ -6,114 +6,148 @@ import { } from '@moonbeam-network/xcm-builder'; import { dai, glmr, peaq, usdcwh, usdtwh, wbtc, weth } from '../assets'; import { moonbeam, peaqChain } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const peaqRoutes = new ChainRoutes({ chain: peaqChain, routes: [ - new AssetRoute({ + { asset: peaq, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: peaq, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: usdcwh, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: dai, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: wbtc, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: weth, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: usdtwh, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/peaqAlphanet.ts b/packages/config/src/xcm-configs/peaqAlphanet.ts index 53a92272..cd36584c 100644 --- a/packages/config/src/xcm-configs/peaqAlphanet.ts +++ b/packages/config/src/xcm-configs/peaqAlphanet.ts @@ -6,50 +6,64 @@ import { } from '@moonbeam-network/xcm-builder'; import { agng, dev, ftmwh } from '../assets'; import { moonbaseAlpha, peaqAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const peaqAlphanetRoutes = new ChainRoutes({ chain: peaqAlphanet, routes: [ - new AssetRoute({ + { asset: agng, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: agng, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: agng, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: dev, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.01, - asset: dev, + source: { balance: BalanceBuilder().substrate().assets().account(), + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: dev, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: ftmwh, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.04, - asset: dev, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: agng, + balance: BalanceBuilder().substrate().system().account(), + }, + min: AssetMinBuilder().assets().asset(), }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: agng, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: dev, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/peaqEvm.ts b/packages/config/src/xcm-configs/peaqEvm.ts index 6d2037a4..fab28b3e 100644 --- a/packages/config/src/xcm-configs/peaqEvm.ts +++ b/packages/config/src/xcm-configs/peaqEvm.ts @@ -5,107 +5,136 @@ import { } from '@moonbeam-network/xcm-builder'; import { dai, glmr, peaq, usdcwh, usdtwh, wbtc, weth } from '../assets'; import { moonbeam, peaqEvm } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const peaqEvmRoutes = new ChainRoutes({ chain: peaqEvm, routes: [ - new AssetRoute({ + { asset: glmr, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transfer(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transfer(), + }, + { asset: usdcwh, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ - asset: dai, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + }, + { + asset: dai, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ - asset: wbtc, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + }, + { + asset: wbtc, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ - asset: weth, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + }, + { + asset: weth, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ - asset: usdtwh, - balance: BalanceBuilder().evm().erc20(), contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + }, + { + asset: usdtwh, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: peaq, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: peaq, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + }, ], }); diff --git a/packages/config/src/xcm-configs/peaqEvmAlphanet.ts b/packages/config/src/xcm-configs/peaqEvmAlphanet.ts index d0481a47..da0e4244 100644 --- a/packages/config/src/xcm-configs/peaqEvmAlphanet.ts +++ b/packages/config/src/xcm-configs/peaqEvmAlphanet.ts @@ -5,43 +5,52 @@ import { } from '@moonbeam-network/xcm-builder'; import { agng, dev, ftmwh } from '../assets'; import { moonbaseAlpha, peaqEvmAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const peaqEvmAlphanetRoutes = new ChainRoutes({ chain: peaqEvmAlphanet, routes: [ - new AssetRoute({ + { asset: ftmwh, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transferMultiCurrencies(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.01, - asset: dev, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: agng, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: agng, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.01, + asset: dev, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + }, + { asset: dev, - balance: BalanceBuilder().evm().erc20(), - contract: ContractBuilder().Xtokens().transfer(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.01, - asset: dev, + source: { balance: BalanceBuilder().evm().erc20(), + fee: { + asset: agng, + balance: BalanceBuilder().substrate().system().accountEvmTo32(), + }, + min: AssetMinBuilder().assets().asset(), }, - fee: { - asset: agng, - balance: BalanceBuilder().substrate().system().accountEvmTo32(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: dev, + balance: BalanceBuilder().evm().erc20(), + }, }, - min: AssetMinBuilder().assets().asset(), - }), + contract: ContractBuilder().Xtokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/pendulum.ts b/packages/config/src/xcm-configs/pendulum.ts index 2f174654..a4c887f6 100644 --- a/packages/config/src/xcm-configs/pendulum.ts +++ b/packages/config/src/xcm-configs/pendulum.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, pen } from '../assets'; import { moonbeam, pendulum } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const pendulumRoutes = new ChainRoutes({ chain: pendulum, routes: [ - new AssetRoute({ + { asset: pen, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pen, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pen, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: pen, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: pen, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/pendulumAlphanet.ts b/packages/config/src/xcm-configs/pendulumAlphanet.ts index 1cb7ce04..ddd5fbd0 100644 --- a/packages/config/src/xcm-configs/pendulumAlphanet.ts +++ b/packages/config/src/xcm-configs/pendulumAlphanet.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { ampe, dev } from '../assets'; import { moonbaseAlpha, pendulumAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const pendulumAlphanetRoutes = new ChainRoutes({ chain: pendulumAlphanet, routes: [ - new AssetRoute({ + { asset: ampe, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: ampe, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: ampe, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: dev, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.01, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: ampe, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: ampe, + destination: { + chain: moonbaseAlpha, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/phala.ts b/packages/config/src/xcm-configs/phala.ts index 4cf501c4..468cd5cb 100644 --- a/packages/config/src/xcm-configs/phala.ts +++ b/packages/config/src/xcm-configs/phala.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, pha } from '../assets'; import { moonbeam, phala } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const phalaRoutes = new ChainRoutes({ chain: phala, routes: [ - new AssetRoute({ + { asset: pha, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pha, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pha, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTransfer().transfer().here(), - }), - new AssetRoute({ + }, + { asset: glmr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: pha, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTransfer().transfer().X2(), - fee: { - asset: pha, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTransfer().transfer().X2(), + }, ], }); diff --git a/packages/config/src/xcm-configs/picasso.ts b/packages/config/src/xcm-configs/picasso.ts index e154783a..642e10f8 100644 --- a/packages/config/src/xcm-configs/picasso.ts +++ b/packages/config/src/xcm-configs/picasso.ts @@ -5,37 +5,46 @@ import { } from '@moonbeam-network/xcm-builder'; import { movr, pica } from '../assets'; import { moonriver, picasso } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const picassoRoutes = new ChainRoutes({ chain: picasso, routes: [ - new AssetRoute({ + { asset: pica, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pica, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: pica, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/picassoAlphanet.ts b/packages/config/src/xcm-configs/picassoAlphanet.ts index 47e772bf..5f3ee7f6 100644 --- a/packages/config/src/xcm-configs/picassoAlphanet.ts +++ b/packages/config/src/xcm-configs/picassoAlphanet.ts @@ -5,52 +5,66 @@ import { } from '@moonbeam-network/xcm-builder'; import { atom, dev, pica } from '../assets'; import { moonbaseAlpha, picassoAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const picassoAlphanetRoutes = new ChainRoutes({ chain: picassoAlphanet, routes: [ - new AssetRoute({ + { asset: pica, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pica, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: atom, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: pica, - balance: BalanceBuilder().substrate().system().account(), + source: { + balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: pica, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: dev, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.0001, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: pica, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: pica, + destination: { + chain: moonbaseAlpha, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/polkadot.ts b/packages/config/src/xcm-configs/polkadot.ts index 622ae1de..877d8c50 100644 --- a/packages/config/src/xcm-configs/polkadot.ts +++ b/packages/config/src/xcm-configs/polkadot.ts @@ -5,30 +5,34 @@ import { } from '@moonbeam-network/xcm-builder'; import { dot } from '../assets'; import { moonbeam, polkadot } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const polkadotRoutes = new ChainRoutes({ chain: polkadot, routes: [ - new AssetRoute({ + { asset: dot, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: dot, + source: { balance: BalanceBuilder().substrate().system().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra: 0.047, + }, + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + }, }, extrinsic: ExtrinsicBuilder() .xcmPallet() .limitedReserveTransferAssets(0) .here(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra: 0.047, - }, - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/polkadotAssetHub.ts b/packages/config/src/xcm-configs/polkadotAssetHub.ts index 084906d2..da00c959 100644 --- a/packages/config/src/xcm-configs/polkadotAssetHub.ts +++ b/packages/config/src/xcm-configs/polkadotAssetHub.ts @@ -6,7 +6,6 @@ import { } from '@moonbeam-network/xcm-builder'; import { apillon, ded, dot, pink, stink, usdc, usdt, wifd } from '../assets'; import { moonbeam, polkadotAssetHub } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; const extra = 0.036; @@ -14,145 +13,180 @@ const extra = 0.036; export const polkadotAssetHubRoutes = new ChainRoutes({ chain: polkadotAssetHub, routes: [ - new AssetRoute({ + { asset: usdt, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: usdc, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdc, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.03, + asset: usdc, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: pink, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: ded, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdt, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: stink, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdt, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: apillon, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdt, + source: { + balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), - new AssetRoute({ + }, + { asset: wifd, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonbeam, - destinationFee: { - amount: 0.03, - asset: usdt, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + extra, + }, + min: AssetMinBuilder().assets().asset(), + }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .X2(), - fee: { - asset: dot, - balance: BalanceBuilder().substrate().system().account(), - extra, - }, - min: AssetMinBuilder().assets().asset(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/robonomics.ts b/packages/config/src/xcm-configs/robonomics.ts index 353a34aa..c04b28a8 100644 --- a/packages/config/src/xcm-configs/robonomics.ts +++ b/packages/config/src/xcm-configs/robonomics.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { xrt } from '../assets'; import { moonriver, robonomics } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const robonomicsRoutes = new ChainRoutes({ chain: robonomics, routes: [ - new AssetRoute({ + { asset: xrt, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: xrt, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: xrt, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .here(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/shiden.ts b/packages/config/src/xcm-configs/shiden.ts index ffe5250d..8e054629 100644 --- a/packages/config/src/xcm-configs/shiden.ts +++ b/packages/config/src/xcm-configs/shiden.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { movr, sdn } from '../assets'; import { moonriver, shiden } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const shidenRoutes = new ChainRoutes({ chain: shiden, routes: [ - new AssetRoute({ + { asset: sdn, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: sdn, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: sdn, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xTokens() .transferMultiAsset(shiden.parachainId) .here(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().assets().account(), - destination: moonriver, - destinationFee: { - amount: 0.0001, - asset: movr, + source: { balance: BalanceBuilder().substrate().assets().account(), + fee: { + asset: sdn, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: sdn, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.0001, + asset: movr, + balance: BalanceBuilder().substrate().assets().account(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/subsocial.ts b/packages/config/src/xcm-configs/subsocial.ts index b8f4b595..691bc50d 100644 --- a/packages/config/src/xcm-configs/subsocial.ts +++ b/packages/config/src/xcm-configs/subsocial.ts @@ -5,25 +5,29 @@ import { } from '@moonbeam-network/xcm-builder'; import { sub } from '../assets'; import { moonbeam, subsocial } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const subsocialRoutes = new ChainRoutes({ chain: subsocial, routes: [ - new AssetRoute({ + { asset: sub, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: sub, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: sub, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .polkadotXcm() .limitedReserveTransferAssets() .here(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/tinkernet.ts b/packages/config/src/xcm-configs/tinkernet.ts index 80d7cd8a..0e04b1db 100644 --- a/packages/config/src/xcm-configs/tinkernet.ts +++ b/packages/config/src/xcm-configs/tinkernet.ts @@ -5,22 +5,26 @@ import { } from '@moonbeam-network/xcm-builder'; import { tnkr } from '../assets'; import { moonriver, tinkernet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const tinkernetRoutes = new ChainRoutes({ chain: tinkernet, routes: [ - new AssetRoute({ + { asset: tnkr, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: tnkr, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: tnkr, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/config/src/xcm-configs/turing.ts b/packages/config/src/xcm-configs/turing.ts index 2b629aea..2bffd4ca 100644 --- a/packages/config/src/xcm-configs/turing.ts +++ b/packages/config/src/xcm-configs/turing.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { movr, tur } from '../assets'; import { moonriver, turing } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const turingRoutes = new ChainRoutes({ chain: turing, routes: [ - new AssetRoute({ + { asset: tur, - balance: BalanceBuilder().substrate().system().account(), - destination: moonriver, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: tur, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonriver, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: tur, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xTokens() .transferMultiAsset(turing.parachainId) .X1(), - }), - new AssetRoute({ + }, + { asset: movr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonriver, - destinationFee: { - amount: 0.00001, - asset: movr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: tur, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: tur, + destination: { + chain: moonriver, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.00001, + asset: movr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/turingAlphanet.ts b/packages/config/src/xcm-configs/turingAlphanet.ts index 807a8ca8..2b2f596e 100644 --- a/packages/config/src/xcm-configs/turingAlphanet.ts +++ b/packages/config/src/xcm-configs/turingAlphanet.ts @@ -5,40 +5,49 @@ import { } from '@moonbeam-network/xcm-builder'; import { dev, tur } from '../assets'; import { moonbaseAlpha, turingAlphanet } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const turingAlphanetRoutes = new ChainRoutes({ chain: turingAlphanet, routes: [ - new AssetRoute({ + { asset: tur, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbaseAlpha, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: tur, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbaseAlpha, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: tur, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder() .xTokens() .transferMultiAsset(turingAlphanet.parachainId) .X1(), - }), - new AssetRoute({ + }, + { asset: dev, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbaseAlpha, - destinationFee: { - amount: 0.04, - asset: dev, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: tur, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transfer(), - fee: { - asset: tur, + destination: { + chain: moonbaseAlpha, balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.04, + asset: dev, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }, ], }); diff --git a/packages/config/src/xcm-configs/uniqueAlpha.ts b/packages/config/src/xcm-configs/uniqueAlpha.ts index 9b6585a5..497f59b2 100644 --- a/packages/config/src/xcm-configs/uniqueAlpha.ts +++ b/packages/config/src/xcm-configs/uniqueAlpha.ts @@ -2,17 +2,20 @@ import { uniqueAlpha } from '../chains'; import { ChainRoutes } from '../types/ChainRoutes'; // NOTE: Disabling because ws endpoint is not working +// The config might be invalid export const uniqueAlphaRoutes = new ChainRoutes({ chain: uniqueAlpha, routes: [ // new AssetConfig({ // asset: auq, // balance: BalanceBuilder().substrate().assets().account(), - // destination: moonbaseAlpha, - // destinationFee: { + // destination: { + // chain: moonbaseAlpha, + // fee:{ // amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), // asset: auq, // balance: BalanceBuilder().substrate().assets().account(), + // } // }, // extrinsic: ExtrinsicBuilder().xTokens().transfer(), // }), diff --git a/packages/config/src/xcm-configs/zeitgeist.ts b/packages/config/src/xcm-configs/zeitgeist.ts index 53314ffc..421606dc 100644 --- a/packages/config/src/xcm-configs/zeitgeist.ts +++ b/packages/config/src/xcm-configs/zeitgeist.ts @@ -5,48 +5,62 @@ import { } from '@moonbeam-network/xcm-builder'; import { glmr, usdcwh, ztg } from '../assets'; import { moonbeam, zeitgeist } from '../chains'; -import { AssetRoute } from '../types/AssetRoute'; import { ChainRoutes } from '../types/ChainRoutes'; export const zeitgeistRoutes = new ChainRoutes({ chain: zeitgeist, routes: [ - new AssetRoute({ + { asset: ztg, - balance: BalanceBuilder().substrate().system().account(), - destination: moonbeam, - destinationFee: { - amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), - asset: ztg, + source: { balance: BalanceBuilder().substrate().system().account(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().assets().account(), + fee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: ztg, + balance: BalanceBuilder().substrate().system().account(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), - new AssetRoute({ + }, + { asset: usdcwh, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.04, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), + fee: { + asset: ztg, + balance: BalanceBuilder().substrate().system().account(), + }, }, - extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), - fee: { - asset: ztg, - balance: BalanceBuilder().substrate().system().account(), + destination: { + chain: moonbeam, + balance: BalanceBuilder().evm().erc20(), + fee: { + amount: 0.04, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, }, - }), - new AssetRoute({ + extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(), + }, + { asset: glmr, - balance: BalanceBuilder().substrate().tokens().accounts(), - destination: moonbeam, - destinationFee: { - amount: 0.01, - asset: glmr, + source: { balance: BalanceBuilder().substrate().tokens().accounts(), }, + destination: { + chain: moonbeam, + balance: BalanceBuilder().substrate().system().account(), + fee: { + amount: 0.01, + asset: glmr, + balance: BalanceBuilder().substrate().tokens().accounts(), + }, + }, extrinsic: ExtrinsicBuilder().xTokens().transfer(), - }), + }, ], }); diff --git a/packages/sdk/src/getTransferData/getDestinationData.ts b/packages/sdk/src/getTransferData/getDestinationData.ts index cea3508b..2e4ba5a3 100644 --- a/packages/sdk/src/getTransferData/getDestinationData.ts +++ b/packages/sdk/src/getTransferData/getDestinationData.ts @@ -15,15 +15,14 @@ export async function getDestinationData({ route, destinationAddress, }: GetDestinationDataParams): Promise { - const polkadot = await PolkadotService.create( - route.destination as AnyParachain, - ); - const asset = route.destination.getChainAsset(route.asset); + const destination = route.destination.chain as AnyParachain; + const polkadot = await PolkadotService.create(destination); + const asset = route.destination.chain.getChainAsset(route.asset); const balance = await getBalance({ address: destinationAddress, asset, - builder: route.balance, - chain: route.destination as AnyParachain, + builder: route.destination.balance, + chain: destination, polkadot, }); const min = await getMin(route, polkadot); @@ -50,10 +49,12 @@ export async function getFee({ polkadot, }: GetFeeParams): Promise { // TODO: we have to consider correctly here when an asset is ERC20 to get it from contract - const { amount, asset: feeAsset } = route.destinationFee; + const { amount, asset: feeAsset } = route.destination.fee; const asset = AssetAmount.fromChainAsset( - route.destination.getChainAsset(feeAsset), - { amount: 0n }, + route.destination.chain.getChainAsset(feeAsset), + { + amount: 0n, + }, ); if (Number.isFinite(amount)) { diff --git a/packages/sdk/src/getTransferData/getSourceData.ts b/packages/sdk/src/getTransferData/getSourceData.ts index 378bf804..e5db0132 100644 --- a/packages/sdk/src/getTransferData/getSourceData.ts +++ b/packages/sdk/src/getTransferData/getSourceData.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-use-before-define */ import { ContractConfig, ExtrinsicConfig } from '@moonbeam-network/xcm-builder'; -import { AssetRoute, FeeAssetConfig } from '@moonbeam-network/xcm-config'; +import { AssetRoute, FeeConfig } from '@moonbeam-network/xcm-config'; import { AnyParachain, AssetAmount } from '@moonbeam-network/xcm-types'; import { convertDecimals, toBigInt } from '@moonbeam-network/xcm-utils'; import Big from 'big.js'; @@ -13,7 +13,6 @@ export interface GetSourceDataParams { route: AssetRoute; destinationAddress: string; destinationFee: AssetAmount; - source: AnyParachain; sourceAddress: string; } @@ -21,42 +20,42 @@ export async function getSourceData({ route, destinationAddress, destinationFee, - source, sourceAddress, }: GetSourceDataParams): Promise { + const source = route.source.chain as AnyParachain; + const destination = route.destination.chain as AnyParachain; const [sourcePolkadot, destinationPolkadot] = - await PolkadotService.createMulti([ - source, - route.destination as AnyParachain, - ]); + await PolkadotService.createMulti([source, destination]); const asset = source.getChainAsset(route.asset); - const feeAsset = route.fee ? source.getChainAsset(route.fee.asset) : asset; + const feeAsset = route.source.fee + ? source.getChainAsset(route.source.fee.asset) + : asset; const balance = await getBalance({ address: sourceAddress, asset, - builder: route.balance, + builder: route.source.balance, chain: source, polkadot: sourcePolkadot, }); - const feeBalance = route.fee + const feeBalance = route.source.fee ? await getBalance({ address: sourceAddress, asset: feeAsset, - builder: route.fee.balance, + builder: route.source.fee.balance, chain: source, polkadot: sourcePolkadot, }) : balance; // eslint-disable-next-line no-nested-ternary - const destinationFeeBalance = route.destinationFee.asset.isEqual(asset) + const destinationFeeBalance = route.destination.fee.asset.isEqual(asset) ? balance - : route.destinationFee.asset.isEqual(feeAsset) + : route.destination.fee.asset.isEqual(feeAsset) ? feeBalance : await getBalance({ address: sourceAddress, - asset: source.getChainAsset(route.destinationFee.asset), - builder: route.destinationFee.balance, + asset: source.getChainAsset(route.destination.fee.asset), + builder: route.destination.fee.balance, chain: source, polkadot: sourcePolkadot, }); @@ -66,7 +65,7 @@ export async function getSourceData({ const extrinsic = route.extrinsic?.build({ asset: balance, - destination: route.destination as AnyParachain, + destination: route.destination.chain as AnyParachain, destinationAddress, destinationApi: destinationPolkadot.api, fee: destinationFee, @@ -79,7 +78,7 @@ export async function getSourceData({ address: destinationAddress, amount: balance.amount, asset: asset.address || asset.getAssetId(), - destination: route.destination as AnyParachain, + destination: route.destination.chain as AnyParachain, fee: destinationFee.amount, feeAsset: destinationFee.address || destinationFee.getAssetId(), }); @@ -91,7 +90,7 @@ export async function getSourceData({ destinationFee, extrinsic, feeBalance, - feeConfig: route.fee, + feeConfig: route.source.fee, polkadot: sourcePolkadot, sourceAddress, }); @@ -121,7 +120,7 @@ export interface GetFeeParams { chain: AnyParachain; destinationFee: AssetAmount; extrinsic?: ExtrinsicConfig; - feeConfig?: FeeAssetConfig; + feeConfig?: FeeConfig; polkadot: PolkadotService; sourceAddress: string; } @@ -257,7 +256,7 @@ export async function getAssetsBalances({ getBalance({ address, asset: chain.getChainAsset(route.asset), - builder: route.balance, + builder: route.source.balance, chain, polkadot, }), diff --git a/packages/sdk/src/getTransferData/getTransferData.ts b/packages/sdk/src/getTransferData/getTransferData.ts index bfd7732f..c4f1361f 100644 --- a/packages/sdk/src/getTransferData/getTransferData.ts +++ b/packages/sdk/src/getTransferData/getTransferData.ts @@ -15,14 +15,12 @@ import { PolkadotService } from '../polkadot'; export interface GetTransferDataParams { route: AssetRoute; - source: AnyParachain; sourceAddress: string; destinationAddress: string; } export async function getTransferData({ route, - source, sourceAddress, destinationAddress, }: GetTransferDataParams): Promise { @@ -32,7 +30,9 @@ export async function getTransferData({ }); // Here we need to convert the fee on the destination chain to an asset on source chain. - const destinationFeeAsset = source.getChainAsset(destinationData.fee); + const destinationFeeAsset = route.source.chain.getChainAsset( + destinationData.fee, + ); const destinationFee = AssetAmount.fromChainAsset(destinationFeeAsset, { amount: destinationData.fee.convertDecimals(destinationFeeAsset.decimals) .amount, @@ -42,7 +42,6 @@ export async function getTransferData({ route, destinationAddress, destinationFee, - source, sourceAddress, }); @@ -75,28 +74,27 @@ export async function getTransferData({ amount, { evmSigner, polkadotSigner }: Partial, ): Promise { + const source = route.source.chain as AnyParachain; + const destination = route.destination.chain as AnyParachain; const bigintAmount = toBigInt(amount, sourceData.balance.decimals); const asset = AssetAmount.fromChainAsset( - source.getChainAsset(route.asset), + route.source.chain.getChainAsset(route.asset), { amount: bigintAmount }, ); const [sourcePolkadot, destinationPolkadot] = - await PolkadotService.createMulti([ - source, - route.destination as AnyParachain, - ]); + await PolkadotService.createMulti([source, destination]); const contract = route.contract?.build({ address: destinationAddress, amount: bigintAmount, asset: asset.address || asset.getAssetId(), - destination: route.destination as AnyParachain, + destination, fee: destinationFee.amount, feeAsset: destinationFee.address || destinationFee.getAssetId(), }); const extrinsic = route.extrinsic?.build({ asset, - destination: route.destination as AnyParachain, + destination, destinationAddress, destinationApi: destinationPolkadot.api, fee: destinationFee, diff --git a/packages/sdk/src/getTransferData/getTransferData.utils.ts b/packages/sdk/src/getTransferData/getTransferData.utils.ts index 8c18f649..551180e6 100644 --- a/packages/sdk/src/getTransferData/getTransferData.utils.ts +++ b/packages/sdk/src/getTransferData/getTransferData.utils.ts @@ -59,9 +59,9 @@ export async function getMin( { amount: 0n }, ); - if (route.min) { + if (route.source.min) { const min = await polkadot.query( - route.min.build({ asset: asset.getMinAssetId() }), + route.source.min.build({ asset: asset.getMinAssetId() }), ); return asset.copyWith({ amount: min }); diff --git a/packages/sdk/src/sdk.ts b/packages/sdk/src/sdk.ts index 73ae14ea..ec81b783 100644 --- a/packages/sdk/src/sdk.ts +++ b/packages/sdk/src/sdk.ts @@ -72,7 +72,6 @@ export function Sdk({ configService, ecosystem }: SdkOptions = {}) { return getTransferData({ route, - source: sourceChain, sourceAddress, destinationAddress, }); diff --git a/packages/types/src/chain/Chain.ts b/packages/types/src/chain/Chain.ts index cf4f20fb..2b4e7304 100644 --- a/packages/types/src/chain/Chain.ts +++ b/packages/types/src/chain/Chain.ts @@ -1,6 +1,6 @@ import type { Chain as WhChain } from '@wormhole-foundation/sdk-connect'; -import { Asset, AssetAmount, ChainAsset } from '../asset'; -import { Ecosystem, WormholeConfig } from './Chain.interfaces'; +import type { Asset, AssetAmount, ChainAsset } from '../asset'; +import type { Ecosystem, WormholeConfig } from './Chain.interfaces'; export interface ChainConstructorParams { assets: Map | ChainAsset[]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e91f7e8a..d439b987 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1077,6 +1077,9 @@ packages: '@polkadot-api/json-rpc-provider-proxy@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': resolution: {integrity: sha512-0hZ8vtjcsyCX8AyqP2sqUHa1TFFfxGWmlXJkit0Nqp9b32MwZqn5eaUAiV2rNuEpoglKOdKnkGtUF8t5MoodKw==} + '@polkadot-api/json-rpc-provider-proxy@0.1.0': + resolution: {integrity: sha512-8GSFE5+EF73MCuLQm8tjrbCqlgclcHBSRaswvXziJ0ZW7iw3UEMsKkkKvELayWyBuOPa2T5i1nj6gFOeIsqvrg==} + '@polkadot-api/json-rpc-provider@0.0.1': resolution: {integrity: sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==} @@ -1089,29 +1092,47 @@ packages: '@polkadot-api/metadata-builders@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': resolution: {integrity: sha512-BD7rruxChL1VXt0icC2gD45OtT9ofJlql0qIllHSRYgama1CR2Owt+ApInQxB+lWqM+xNOznZRpj8CXNDvKIMg==} + '@polkadot-api/metadata-builders@0.3.2': + resolution: {integrity: sha512-TKpfoT6vTb+513KDzMBTfCb/ORdgRnsS3TDFpOhAhZ08ikvK+hjHMt5plPiAX/OWkm1Wc9I3+K6W0hX5Ab7MVg==} + '@polkadot-api/observable-client@0.1.0': resolution: {integrity: sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==} peerDependencies: rxjs: '>=7.8.0' + '@polkadot-api/observable-client@0.3.2': + resolution: {integrity: sha512-HGgqWgEutVyOBXoGOPp4+IAq6CNdK/3MfQJmhCJb8YaJiaK4W6aRGrdQuQSTPHfERHCARt9BrOmEvTXAT257Ug==} + peerDependencies: + '@polkadot-api/substrate-client': 0.1.4 + rxjs: '>=7.8.0' + '@polkadot-api/substrate-bindings@0.0.1': resolution: {integrity: sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==} '@polkadot-api/substrate-bindings@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': resolution: {integrity: sha512-N4vdrZopbsw8k57uG58ofO7nLXM4Ai7835XqakN27MkjXMp5H830A1KJE0L9sGQR7ukOCDEIHHcwXVrzmJ/PBg==} + '@polkadot-api/substrate-bindings@0.6.0': + resolution: {integrity: sha512-lGuhE74NA1/PqdN7fKFdE5C1gNYX357j1tWzdlPXI0kQ7h3kN0zfxNOpPUN7dIrPcOFZ6C0tRRVrBylXkI6xPw==} + '@polkadot-api/substrate-client@0.0.1': resolution: {integrity: sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==} '@polkadot-api/substrate-client@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': resolution: {integrity: sha512-lcdvd2ssUmB1CPzF8s2dnNOqbrDa+nxaaGbuts+Vo8yjgSKwds2Lo7Oq+imZN4VKW7t9+uaVcKFLMF7PdH0RWw==} + '@polkadot-api/substrate-client@0.1.4': + resolution: {integrity: sha512-MljrPobN0ZWTpn++da9vOvt+Ex+NlqTlr/XT7zi9sqPtDJiQcYl+d29hFAgpaeTqbeQKZwz3WDE9xcEfLE8c5A==} + '@polkadot-api/utils@0.0.1': resolution: {integrity: sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==} '@polkadot-api/utils@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': resolution: {integrity: sha512-0CYaCjfLQJTCRCiYvZ81OncHXEKPzAexCMoVloR+v2nl/O2JRya/361MtPkeNLC6XBoaEgLAG9pWQpH3WePzsw==} + '@polkadot-api/utils@0.1.0': + resolution: {integrity: sha512-MXzWZeuGxKizPx2Xf/47wx9sr/uxKw39bVJUptTJdsaQn/TGq+z310mHzf1RCGvC1diHM8f593KrnDgc9oNbJA==} + '@polkadot/api-augment@10.13.1': resolution: {integrity: sha512-IAKaCp19QxgOG4HKk9RAgUgC/VNVqymZ2GXfMNOZWImZhxRIbrK+raH5vN2MbWwtVHpjxyXvGsd1RRhnohI33A==} engines: {node: '>=18'} @@ -1124,8 +1145,8 @@ packages: resolution: {integrity: sha512-w3FYQAzVzZuD1xAUGwEeEftJr5N5oYigItrWkEc3nk+I3wUjNuHNlab3hCJZslRlHrE2zYVK5mGDDZYVPyn86Q==} engines: {node: '>=18'} - '@polkadot/api-augment@12.3.1': - resolution: {integrity: sha512-KfofZVEUeTgLzcexdxKBT2vihazDheUoTLxbsa2ztmmw4UB/IjOL911y04pjg2obZQAI9B+oCyxJXyCfzauWEg==} + '@polkadot/api-augment@12.4.2': + resolution: {integrity: sha512-BkG2tQpUUO0iUm65nSqP8hwHkNfN8jQw8apqflJNt9H8EkEL6v7sqwbLvGqtlxM9wzdxbg7lrWp3oHg4rOP31g==} engines: {node: '>=18'} '@polkadot/api-augment@7.15.1': @@ -1148,8 +1169,8 @@ packages: resolution: {integrity: sha512-fUJt3+uvBViwjz5tiiEE1VQkcDiXLzAPdex2OeECXopNnHt9gq8n6dS2arBzfG2eEDv/viCyjggj0wcSaV2yUg==} engines: {node: '>=18'} - '@polkadot/api-base@12.3.1': - resolution: {integrity: sha512-vNbxXNjn4APfXg+ui99gurX2Jzns+eezmWranxoGXT7q0mme1zAtWus5t4e+qe1qRjDNZZYPruF7YJA8dL5k8A==} + '@polkadot/api-base@12.4.2': + resolution: {integrity: sha512-XYI7Po8i6C4lYZah7Xo0v7zOAawBUfkmtx0YxsLY/665Sup8oqzEj666xtV9qjBzR9coNhQonIFOn+9fh27Ncw==} engines: {node: '>=18'} '@polkadot/api-base@7.15.1': @@ -1172,8 +1193,8 @@ packages: resolution: {integrity: sha512-zcQOuLoBeYXTMr2r9oPQiIJ7t4997eoQ1yM76KK2/2KTESKfJHus6nA0IK9fDk+c5vIdFKd/BJ0UukQ1AJiLLA==} engines: {node: '>=18'} - '@polkadot/api-derive@12.3.1': - resolution: {integrity: sha512-2MbK1h4GcKEdSgDKKYI28iZESw0VOm0kekV6YGQflZNWe84jJOn2rohP8pACseUjQjwWDgbPPBvTlRZTk7zdAw==} + '@polkadot/api-derive@12.4.2': + resolution: {integrity: sha512-R0AMANEnqs5AiTaiQX2FXCxUlOibeDSgqlkyG1/0KDsdr6PO/l3dJOgEO+grgAwh4hdqzk4I9uQpdKxG83f2Gw==} engines: {node: '>=18'} '@polkadot/api-derive@7.15.1': @@ -1196,8 +1217,8 @@ packages: resolution: {integrity: sha512-qpC29Uq0JZh/7Spcvmw+jUREG/ZYeb7miGUKomqHqU1hwBvyk9bqy7Vr10g3Hh0bkl5nP29YmnrLrG0NG+EtPg==} engines: {node: '>=18'} - '@polkadot/api@12.3.1': - resolution: {integrity: sha512-VCrtadJRJttya5NhZ8slkD/UQyOZv4qABjagQMaG1eTZpn5k1wskmDUGdHrZZpYO5jBPewnCgaN8+LPKO2qiOw==} + '@polkadot/api@12.4.2': + resolution: {integrity: sha512-e1KS048471iBWZU10TJNEYOZqLO+8h8ajmVqpaIBOVkamN7tmacBxmHgq0+IA8VrGxjxtYNa1xF5Sqrg76uBEg==} engines: {node: '>=18'} '@polkadot/api@7.15.1': @@ -1301,8 +1322,8 @@ packages: resolution: {integrity: sha512-3V+Xp5cGb8hA0YZ4V4jXdC0POZGirQ63DkUnypmq86Fa1A7NCuVgD+s9ayOc8kNUMuKJIRKr3cLTj97S6f15lw==} engines: {node: '>=18'} - '@polkadot/rpc-augment@12.3.1': - resolution: {integrity: sha512-/tZLl5IuQ4vdGlUAbd8x3ShZ35XDSeyknKHCC+9kIrM/+KIyoCYBob2RXP9uqX8m516AWkXUrjsSO6DFPBpRGg==} + '@polkadot/rpc-augment@12.4.2': + resolution: {integrity: sha512-IEco5pnso+fYkZNMlMAN5i4XAxdXPv0PZ0HNuWlCwF/MmRvWl8pq5JFtY1FiByHEbeuHwMIUhHM5SDKQ85q9Hg==} engines: {node: '>=18'} '@polkadot/rpc-augment@7.15.1': @@ -1325,8 +1346,8 @@ packages: resolution: {integrity: sha512-XJyPpwYBe+ijlivEKcRYRlQ5vx/CUXG0PZ23/TLKMRNlh5BVAC4HK/4dzBmOc3FT0ulOMbu7/TH+mk7ppQHrKg==} engines: {node: '>=18'} - '@polkadot/rpc-core@12.3.1': - resolution: {integrity: sha512-bNo26P20nRpLfANTK4sWEakxvqBJpKwAp/Gt7KlxoGgoTUbWFapyGKScFxp/pblycEziEbC+ZjkLMkaWaqi69g==} + '@polkadot/rpc-core@12.4.2': + resolution: {integrity: sha512-yaveqxNcmyluyNgsBT5tpnCa/md0CGbOtRK7K82LWsz7gsbh0x80GBbJrQGxsUybg1gPeZbO1q9IigwA6fY8ag==} engines: {node: '>=18'} '@polkadot/rpc-core@7.15.1': @@ -1349,8 +1370,8 @@ packages: resolution: {integrity: sha512-hzw6YGV+3daU49rsEPmdl/UDupAmc3lqBYN2gj7lxQCMSqYjBr0Pj1ScGJJXzlR8ZyiY97e/TGIW13W6ivmIGQ==} engines: {node: '>=18'} - '@polkadot/rpc-provider@12.3.1': - resolution: {integrity: sha512-Tg1Oj/1ldivqwnnOWepcNHEHYgpOBffxlrZMEXH1XX6D3AZaUhAWbatizyisydpuMbknTQ9FGYSnb9rOc2QBJw==} + '@polkadot/rpc-provider@12.4.2': + resolution: {integrity: sha512-cAhfN937INyxwW1AdjABySdCKhC7QCIONRDHDea1aLpiuxq/w+QwjxauR9fCNGh3lTaAwwnmZ5WfFU2PtkDMGQ==} engines: {node: '>=18'} '@polkadot/rpc-provider@7.15.1': @@ -1373,8 +1394,8 @@ packages: resolution: {integrity: sha512-RLHWl4TIgJqWFuGDgstKTYqB7EWGx4oJ5nzIdKCQgYAeOi+LFYXyZjE2ffhmX258VPsSXu4syeQpcBIEWns8kA==} engines: {node: '>=18'} - '@polkadot/types-augment@12.3.1': - resolution: {integrity: sha512-I3ggJt7W3UOScP6WA6PNmNsmpCfZtXkRJvSJkX7bi2LsSm/iF0xo0KdpQK02dHu7nGRFD9O5cSoVawzZJifGLA==} + '@polkadot/types-augment@12.4.2': + resolution: {integrity: sha512-3fDCOy2BEMuAtMYl4crKg76bv/0pDNEuzpAzV4EBUMIlJwypmjy5sg3gUPCMcA+ckX3xb8DhkWU4ceUdS7T2KQ==} engines: {node: '>=18'} '@polkadot/types-augment@7.15.1': @@ -1397,8 +1418,8 @@ packages: resolution: {integrity: sha512-oBHAEXyAMZ6ghEEgKW95cc4OFdkxiRKazx18Dk433sWk2HGkwGoKd9uK6xdelMgO1EnbBzZwc2epOhKH7rTEmQ==} engines: {node: '>=18'} - '@polkadot/types-codec@12.3.1': - resolution: {integrity: sha512-yZ4exsQI+eVkE/fZNuJBOajAgOH/YncKWOOf0N4lc6iq28oYp22DCAXc50Ym372l4HO+uhC9QdMPH9EiWwT2pQ==} + '@polkadot/types-codec@12.4.2': + resolution: {integrity: sha512-DiPGRFWtVMepD9i05eC3orSbGtpN7un/pXOrXu0oriU+oxLkpvZH68ZsPNtJhKdQy03cAYtvB8elJOFJZYqoqQ==} engines: {node: '>=18'} '@polkadot/types-codec@7.15.1': @@ -1421,8 +1442,8 @@ packages: resolution: {integrity: sha512-4XR04QFgKeHZEj7NyBK3A55EgzmGZtC175Hbq5y3+j8XV84amOOhVqj7gDQqnSyRMAtl7+HSsfpx3+Loh+4l+g==} engines: {node: '>=18'} - '@polkadot/types-create@12.3.1': - resolution: {integrity: sha512-Jf9BByWB64FPW3lM5/Mcc/foyPJ3L9t0QwHVHaYWaonZt6l7SPX71rQmD7twJiTj9q1d1WidDKg/TtRDNbm1yA==} + '@polkadot/types-create@12.4.2': + resolution: {integrity: sha512-nOpeAKZLdSqNMfzS3waQXgyPPaNt8rUHEmR5+WNv6c/Ke/vyf710wjxiTewfp0wpBgtdrimlgG4DLX1J9Ms1LA==} engines: {node: '>=18'} '@polkadot/types-create@7.15.1': @@ -1445,8 +1466,8 @@ packages: resolution: {integrity: sha512-hB3fBlZ51dBaGRJf6ParvoqCSig9ovqjDgpFwysewXsc74GRoPPR7RQFw/hITxwdKL5ldyTZnBIGBxROiF86Tg==} engines: {node: '>=18'} - '@polkadot/types-known@12.3.1': - resolution: {integrity: sha512-G8t0uiIW1iu3KwylHDPnqdHxg5qwBxzPZQJvsjnGx2qBUk2VqXditKWcNFLEwCTnJPL95t2AzEO711lS99WRbg==} + '@polkadot/types-known@12.4.2': + resolution: {integrity: sha512-bvhO4KQu/dgPmdwQXsweSMRiRisJ7Bp38lZVEIFykfd2qYyRW3OQEbIPKYpx9raD+fDATU0bTiKQnELrSGhYXw==} engines: {node: '>=18'} '@polkadot/types-known@4.17.1': @@ -1477,8 +1498,8 @@ packages: resolution: {integrity: sha512-/YVZ0j126el/5e/BTrhw1SuDmlyV394zKak7LkYcAJ8IyDmT53cajMK2TQe03uVsE/vveligkYmJ24IEjZ+DRg==} engines: {node: '>=18'} - '@polkadot/types-support@12.3.1': - resolution: {integrity: sha512-TwL5M5HkZ4jQGKekD+qJFLba7UXWASfwlPy2OpKj0LOnnmq4tudXgN13UFdQ7HoOmisPhr+vYo9vteYeBZ0jTA==} + '@polkadot/types-support@12.4.2': + resolution: {integrity: sha512-bz6JSt23UEZ2eXgN4ust6z5QF9pO5uNH7UzCP+8I/Nm85ZipeBYj2Wu6pLlE3Hw30hWZpuPxMDOKoEhN5bhLgw==} engines: {node: '>=18'} '@polkadot/types-support@7.15.1': @@ -1501,8 +1522,8 @@ packages: resolution: {integrity: sha512-p6y3WdZBvdgT5+m+gvPaHXUaei1DQjMI9BxhzHS5FfOvDMSDf0uBacamtRmkdII5bJuUgGBYG9BjHic8yWu0/g==} engines: {node: '>=18'} - '@polkadot/types@12.3.1': - resolution: {integrity: sha512-4MkTF1znpgp9mZc/ZZPdFe7/5it9v+EJmzXc/DEOX9kVWs2BuKOWopzOFyO3reVUUB+v7dxfSOArSsxkMUcuoA==} + '@polkadot/types@12.4.2': + resolution: {integrity: sha512-ivYtt7hYcRvo69ULb1BJA9BE1uefijXcaR089Dzosr9+sMzvsB1yslNQReOq+Wzq6h6AQj4qex6qVqjWZE6Z4A==} engines: {node: '>=18'} '@polkadot/types@4.17.1': @@ -1975,6 +1996,10 @@ packages: resolution: {integrity: sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==} deprecated: versions below 1.x are no longer maintained + '@substrate/connect@0.8.11': + resolution: {integrity: sha512-ofLs1PAO9AtDdPbdyTYj217Pe+lBfTLltdHDs3ds8no0BseoLeAGxpz1mHfi7zB4IxI3YyAiLjH6U8cw4pj4Nw==} + deprecated: versions below 1.x are no longer maintained + '@substrate/connect@0.8.8': resolution: {integrity: sha512-zwaxuNEVI9bGt0rT8PEJiXOyebLIo6QN1SyiAHRPBOl6g3Sy0KKdSN8Jmyn++oXhVRD8aIe75/V8ZkS81T+BPQ==} deprecated: versions below 1.x are no longer maintained @@ -1989,6 +2014,11 @@ packages: peerDependencies: smoldot: 2.x + '@substrate/light-client-extension-helpers@1.0.0': + resolution: {integrity: sha512-TdKlni1mBBZptOaeVrKnusMg/UBpWUORNDv5fdCaJklP4RJiFOzBCrzC+CyVI5kQzsXBisZ+2pXm+rIjS38kHg==} + peerDependencies: + smoldot: 2.x + '@substrate/smoldot-light@0.6.8': resolution: {integrity: sha512-9lVwbG6wrtss0sd6013BJGe4WN4taujsGG49pwyt1Lj36USeL2Sb164TTUxmZF/g2NQEqDPwPROBdekQ2gFmgg==} @@ -2347,6 +2377,7 @@ packages: bun@1.1.21: resolution: {integrity: sha512-mvqYEvafGskIVTjlftbKvsXtyR6z/SQnhJsVw0xCU46pc56oX1sAGvaemWKOy/sy/gGMHcgLE0KUidDQQzqXWQ==} + cpu: [arm64, x64] os: [darwin, linux, win32] hasBin: true @@ -3953,6 +3984,9 @@ packages: smoldot@2.0.22: resolution: {integrity: sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==} + smoldot@2.0.26: + resolution: {integrity: sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==} + source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -5218,6 +5252,9 @@ snapshots: '@polkadot-api/json-rpc-provider-proxy@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': optional: true + '@polkadot-api/json-rpc-provider-proxy@0.1.0': + optional: true + '@polkadot-api/json-rpc-provider@0.0.1': optional: true @@ -5236,6 +5273,12 @@ snapshots: '@polkadot-api/utils': 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 optional: true + '@polkadot-api/metadata-builders@0.3.2': + dependencies: + '@polkadot-api/substrate-bindings': 0.6.0 + '@polkadot-api/utils': 0.1.0 + optional: true + '@polkadot-api/observable-client@0.1.0(rxjs@7.8.1)': dependencies: '@polkadot-api/metadata-builders': 0.0.1 @@ -5245,6 +5288,15 @@ snapshots: rxjs: 7.8.1 optional: true + '@polkadot-api/observable-client@0.3.2(@polkadot-api/substrate-client@0.1.4)(rxjs@7.8.1)': + dependencies: + '@polkadot-api/metadata-builders': 0.3.2 + '@polkadot-api/substrate-bindings': 0.6.0 + '@polkadot-api/substrate-client': 0.1.4 + '@polkadot-api/utils': 0.1.0 + rxjs: 7.8.1 + optional: true + '@polkadot-api/substrate-bindings@0.0.1': dependencies: '@noble/hashes': 1.4.0 @@ -5261,18 +5313,35 @@ snapshots: scale-ts: 1.6.0 optional: true + '@polkadot-api/substrate-bindings@0.6.0': + dependencies: + '@noble/hashes': 1.4.0 + '@polkadot-api/utils': 0.1.0 + '@scure/base': 1.1.7 + scale-ts: 1.6.0 + optional: true + '@polkadot-api/substrate-client@0.0.1': optional: true '@polkadot-api/substrate-client@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': optional: true + '@polkadot-api/substrate-client@0.1.4': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.1 + '@polkadot-api/utils': 0.1.0 + optional: true + '@polkadot-api/utils@0.0.1': optional: true '@polkadot-api/utils@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0': optional: true + '@polkadot-api/utils@0.1.0': + optional: true + '@polkadot/api-augment@10.13.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@polkadot/api-base': 10.13.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5315,13 +5384,13 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/api-augment@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/api-augment@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/api-base': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/rpc-augment': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 - '@polkadot/types-augment': 12.3.1 - '@polkadot/types-codec': 12.3.1 + '@polkadot/api-base': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/rpc-augment': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 + '@polkadot/types-augment': 12.4.2 + '@polkadot/types-codec': 12.4.2 '@polkadot/util': 13.0.2 tslib: 2.6.3 transitivePeerDependencies: @@ -5392,10 +5461,10 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/api-base@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/api-base@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/rpc-core': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 + '@polkadot/rpc-core': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 '@polkadot/util': 13.0.2 rxjs: 7.8.1 tslib: 2.6.3 @@ -5478,14 +5547,14 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/api-derive@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/api-derive@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/api': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/api-augment': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/api-base': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/rpc-core': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 - '@polkadot/types-codec': 12.3.1 + '@polkadot/api': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api-augment': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api-base': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/rpc-core': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 + '@polkadot/types-codec': 12.4.2 '@polkadot/util': 13.0.2 '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2) rxjs: 7.8.1 @@ -5600,20 +5669,20 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/api@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/api@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/api-augment': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/api-base': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/api-derive': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api-augment': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api-base': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api-derive': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2) - '@polkadot/rpc-augment': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/rpc-core': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/rpc-provider': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 - '@polkadot/types-augment': 12.3.1 - '@polkadot/types-codec': 12.3.1 - '@polkadot/types-create': 12.3.1 - '@polkadot/types-known': 12.3.1 + '@polkadot/rpc-augment': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/rpc-core': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/rpc-provider': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 + '@polkadot/types-augment': 12.4.2 + '@polkadot/types-codec': 12.4.2 + '@polkadot/types-create': 12.4.2 + '@polkadot/types-known': 12.4.2 '@polkadot/util': 13.0.2 '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2) eventemitter3: 5.0.1 @@ -5861,11 +5930,11 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/rpc-augment@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/rpc-augment@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/rpc-core': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 - '@polkadot/types-codec': 12.3.1 + '@polkadot/rpc-core': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 + '@polkadot/types-codec': 12.4.2 '@polkadot/util': 13.0.2 tslib: 2.6.3 transitivePeerDependencies: @@ -5935,11 +6004,11 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/rpc-core@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/rpc-core@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/rpc-augment': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/rpc-provider': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@polkadot/types': 12.3.1 + '@polkadot/rpc-augment': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/rpc-provider': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/types': 12.4.2 '@polkadot/util': 13.0.2 rxjs: 7.8.1 tslib: 2.6.3 @@ -6036,11 +6105,11 @@ snapshots: - supports-color - utf-8-validate - '@polkadot/rpc-provider@12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@polkadot/rpc-provider@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2) - '@polkadot/types': 12.3.1 - '@polkadot/types-support': 12.3.1 + '@polkadot/types': 12.4.2 + '@polkadot/types-support': 12.4.2 '@polkadot/util': 13.0.2 '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2) '@polkadot/x-fetch': 13.0.2 @@ -6051,7 +6120,7 @@ snapshots: nock: 13.5.4 tslib: 2.6.3 optionalDependencies: - '@substrate/connect': 0.8.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@substrate/connect': 0.8.11(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color @@ -6118,10 +6187,10 @@ snapshots: '@polkadot/util': 13.0.2 tslib: 2.6.3 - '@polkadot/types-augment@12.3.1': + '@polkadot/types-augment@12.4.2': dependencies: - '@polkadot/types': 12.3.1 - '@polkadot/types-codec': 12.3.1 + '@polkadot/types': 12.4.2 + '@polkadot/types-codec': 12.4.2 '@polkadot/util': 13.0.2 tslib: 2.6.3 @@ -6157,7 +6226,7 @@ snapshots: '@polkadot/x-bigint': 13.0.2 tslib: 2.6.3 - '@polkadot/types-codec@12.3.1': + '@polkadot/types-codec@12.4.2': dependencies: '@polkadot/util': 13.0.2 '@polkadot/x-bigint': 13.0.2 @@ -6192,9 +6261,9 @@ snapshots: '@polkadot/util': 13.0.2 tslib: 2.6.3 - '@polkadot/types-create@12.3.1': + '@polkadot/types-create@12.4.2': dependencies: - '@polkadot/types-codec': 12.3.1 + '@polkadot/types-codec': 12.4.2 '@polkadot/util': 13.0.2 tslib: 2.6.3 @@ -6237,12 +6306,12 @@ snapshots: '@polkadot/util': 13.0.2 tslib: 2.6.3 - '@polkadot/types-known@12.3.1': + '@polkadot/types-known@12.4.2': dependencies: '@polkadot/networks': 13.0.2 - '@polkadot/types': 12.3.1 - '@polkadot/types-codec': 12.3.1 - '@polkadot/types-create': 12.3.1 + '@polkadot/types': 12.4.2 + '@polkadot/types-codec': 12.4.2 + '@polkadot/types-create': 12.4.2 '@polkadot/util': 13.0.2 tslib: 2.6.3 @@ -6293,7 +6362,7 @@ snapshots: '@polkadot/util': 13.0.2 tslib: 2.6.3 - '@polkadot/types-support@12.3.1': + '@polkadot/types-support@12.4.2': dependencies: '@polkadot/util': 13.0.2 tslib: 2.6.3 @@ -6341,12 +6410,12 @@ snapshots: rxjs: 7.8.1 tslib: 2.6.3 - '@polkadot/types@12.3.1': + '@polkadot/types@12.4.2': dependencies: '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2) - '@polkadot/types-augment': 12.3.1 - '@polkadot/types-codec': 12.3.1 - '@polkadot/types-create': 12.3.1 + '@polkadot/types-augment': 12.4.2 + '@polkadot/types-codec': 12.4.2 + '@polkadot/types-create': 12.4.2 '@polkadot/util': 13.0.2 '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2) rxjs: 7.8.1 @@ -6977,7 +7046,7 @@ snapshots: '@subsocial/definitions@0.8.14(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@polkadot/api': 12.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@polkadot/api': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) lodash.camelcase: 4.3.0 transitivePeerDependencies: - bufferutil @@ -7021,6 +7090,17 @@ snapshots: - utf-8-validate optional: true + '@substrate/connect@0.8.11(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@substrate/connect-extension-protocol': 2.0.0 + '@substrate/connect-known-chains': 1.2.0 + '@substrate/light-client-extension-helpers': 1.0.0(smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + smoldot: 2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + optional: true + '@substrate/connect@0.8.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@substrate/connect-extension-protocol': 2.0.0 @@ -7056,6 +7136,18 @@ snapshots: smoldot: 2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10) optional: true + '@substrate/light-client-extension-helpers@1.0.0(smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.1 + '@polkadot-api/json-rpc-provider-proxy': 0.1.0 + '@polkadot-api/observable-client': 0.3.2(@polkadot-api/substrate-client@0.1.4)(rxjs@7.8.1) + '@polkadot-api/substrate-client': 0.1.4 + '@substrate/connect-extension-protocol': 2.0.0 + '@substrate/connect-known-chains': 1.2.0 + rxjs: 7.8.1 + smoldot: 2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optional: true + '@substrate/smoldot-light@0.6.8': dependencies: buffer: 6.0.3 @@ -9268,6 +9360,14 @@ snapshots: - utf-8-validate optional: true + smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + optional: true + source-map-js@1.2.0: {} source-map@0.8.0-beta.0: