{"version":3,"sources":["../src/assets.ts","../src/chains.ts","../src/config.utils.ts","../src/ConfigService/ConfigService.ts","../src/cross-ecosystem-configs/moonbaseBeta.ts","../src/types/AssetRoute.ts","../src/types/ChainRoutes.ts","../src/cross-ecosystem-configs/moonbaseStage.ts","../src/cross-ecosystem-configs/moonbeam.ts","../src/cross-ecosystem-configs/moonlama.ts","../src/cross-ecosystem-configs/moonriver.ts","../src/cross-ecosystem-configs/moonsama.ts","../src/cross-ecosystem-configs/index.ts","../src/mrl-configs/ethereum.ts","../src/types/MrlAssetRoute.ts","../src/types/MrlChainRoutes.ts","../src/mrl-configs/hydration.ts","../src/mrl-configs/moonbaseAlpha.ts","../src/mrl-configs/moonbaseBeta.ts","../src/mrl-configs/moonbeam.ts","../src/mrl-configs/moonriver.ts","../src/mrl-configs/peaqAlphanet.ts","../src/mrl-configs/peaqEvmAlphanet.ts","../src/mrl-configs/index.ts","../src/xcm-configs/acala.ts","../src/xcm-configs/alphanetAssetHub.ts","../src/xcm-configs/alphanetRelay.ts","../src/xcm-configs/astar.ts","../src/xcm-configs/bifrostKusama.ts","../src/xcm-configs/bifrostPolkadot.ts","../src/xcm-configs/centrifuge.ts","../src/xcm-configs/crustShadow.ts","../src/xcm-configs/darwinia.ts","../src/xcm-configs/hydration.ts","../src/xcm-configs/hydrationAlphanet.ts","../src/xcm-configs/interlay.ts","../src/xcm-configs/karura.ts","../src/xcm-configs/kintsugi.ts","../src/xcm-configs/kusamaAssetHub.ts","../src/xcm-configs/laosAlphanet.ts","../src/xcm-configs/mantaParachain.ts","../src/xcm-configs/moonbaseAlpha.ts","../src/xcm-configs/moonbaseBeta.ts","../src/xcm-configs/moonbeam.ts","../src/xcm-configs/moonriver.ts","../src/xcm-configs/neuroweb.ts","../src/xcm-configs/originTrailAlphanet.ts","../src/xcm-configs/peaq.ts","../src/xcm-configs/peaqAlphanet.ts","../src/xcm-configs/peaqEvm.ts","../src/xcm-configs/peaqEvmAlphanet.ts","../src/xcm-configs/pendulum.ts","../src/xcm-configs/polkadotAssetHub.ts","../src/xcm-configs/robonomics.ts","../src/xcm-configs/shiden.ts","../src/xcm-configs/turingAlphanet.ts","../src/xcm-configs/index.ts"],"sourcesContent":["import { Asset } from '@moonbeam-network/xcm-types';\n\nexport const aca = new Asset({\n  key: 'aca',\n  originSymbol: 'ACA',\n});\n\nexport const agng = new Asset({\n  key: 'agng',\n  originSymbol: 'AGNG',\n});\n\nexport const alan = new Asset({\n  key: 'alan',\n  originSymbol: 'ALAN',\n});\n\nexport const ampe = new Asset({\n  key: 'ampe',\n  originSymbol: 'AMPE',\n});\n\nexport const apillon = new Asset({\n  key: 'apillon',\n  originSymbol: 'NCTR',\n});\n\nexport const aseed = new Asset({\n  key: 'aseed',\n  originSymbol: 'aSEED',\n});\n\nexport const astr = new Asset({\n  key: 'astr',\n  originSymbol: 'ASTR',\n});\n\nexport const auq = new Asset({\n  key: 'auq',\n  originSymbol: 'AUQ',\n});\n\nexport const axlusdc = new Asset({\n  key: 'axlusdc',\n  originSymbol: 'axlUSDC',\n});\n\nexport const bnc = new Asset({\n  key: 'bnc',\n  originSymbol: 'BNC',\n});\n\nexport const cfg = new Asset({\n  key: 'cfg',\n  originSymbol: 'CFG',\n});\n\nexport const csm = new Asset({\n  key: 'csm',\n  originSymbol: 'CSM',\n});\n\nexport const dai = new Asset({\n  key: 'dai',\n  originSymbol: 'DAI',\n});\n\nexport const ded = new Asset({\n  key: 'ded',\n  originSymbol: 'DED',\n});\n\nexport const dev = new Asset({\n  key: 'dev',\n  originSymbol: 'DEV',\n});\n\nexport const devBeta = new Asset({\n  key: 'dev-beta',\n  originSymbol: 'DEVbeta',\n});\n\nexport const devStage = new Asset({\n  key: 'dev-stage',\n  originSymbol: 'DEVstage',\n});\n\nexport const dot = new Asset({\n  key: 'dot',\n  originSymbol: 'DOT',\n});\n\nexport const eq = new Asset({\n  key: 'eq',\n  originSymbol: 'EQ',\n});\n\nexport const eqd = new Asset({\n  key: 'eqd',\n  originSymbol: 'EQD',\n});\n\nexport const eth = new Asset({\n  key: 'eth',\n  originSymbol: 'ETH',\n});\n\nexport const eurc = new Asset({\n  key: 'eurc',\n  originSymbol: 'EURC',\n});\n\nexport const fil = new Asset({\n  key: 'fil',\n  originSymbol: 'FIL',\n});\n\nexport const ftm = new Asset({\n  key: 'ftm',\n  originSymbol: 'FTM',\n});\n\nexport const ftmwh = new Asset({\n  key: 'ftmwh',\n  originSymbol: 'FTM.wh',\n});\n\nexport const glmr = new Asset({\n  key: 'glmr',\n  originSymbol: 'GLMR',\n});\n\nexport const hdx = new Asset({\n  key: 'hdx',\n  originSymbol: 'HDX',\n});\n\nexport const ibtc = new Asset({\n  key: 'ibtc',\n  originSymbol: 'IBTC',\n});\n\nexport const intr = new Asset({\n  key: 'intr',\n  originSymbol: 'INTR',\n});\n\nexport const kar = new Asset({\n  key: 'kar',\n  originSymbol: 'KAR',\n});\n\nexport const kbtc = new Asset({\n  key: 'kbtc',\n  originSymbol: 'KBTC',\n});\n\nexport const kint = new Asset({\n  key: 'kint',\n  originSymbol: 'KINT',\n});\n\nexport const ksm = new Asset({\n  key: 'ksm',\n  originSymbol: 'KSM',\n});\n\nexport const lamaGLMR = new Asset({\n  key: 'lama-glmr',\n  originSymbol: 'lamaGLMR',\n});\n\nexport const laos = new Asset({\n  key: 'laos',\n  originSymbol: 'LAOS',\n});\n\nexport const ldot = new Asset({\n  key: 'ldot',\n  originSymbol: 'LDOT',\n});\n\nexport const lit = new Asset({\n  key: 'lit',\n  originSymbol: 'LIT',\n});\n\nexport const manta = new Asset({\n  key: 'manta',\n  originSymbol: 'MANTA',\n});\n\nexport const maos = new Asset({\n  key: 'maos',\n  originSymbol: 'MAOS',\n});\n\nexport const movr = new Asset({\n  key: 'movr',\n  originSymbol: 'MOVR',\n});\n\nexport const samaMOVR = new Asset({\n  key: 'sama-movr',\n  originSymbol: 'samaMOVR',\n});\n\nexport const neuro = new Asset({\n  key: 'neuro',\n  originSymbol: 'NEURO',\n});\n\nexport const nodl = new Asset({\n  key: 'nodl',\n  originSymbol: 'NODL',\n});\n\nexport const otp = new Asset({\n  key: 'otp',\n  originSymbol: 'OTP',\n});\n\nexport const para = new Asset({\n  key: 'para',\n  originSymbol: 'PARA',\n});\n\nexport const paring = new Asset({\n  key: 'paring',\n  originSymbol: 'PARING',\n});\n\nexport const peaq = new Asset({\n  key: 'peaq',\n  originSymbol: 'PEAQ',\n});\n\nexport const pen = new Asset({\n  key: 'pen',\n  originSymbol: 'PEN',\n});\n\nexport const pha = new Asset({\n  key: 'pha',\n  originSymbol: 'PHA',\n});\n\nexport const pica = new Asset({\n  key: 'pica',\n  originSymbol: 'PICA',\n});\n\nexport const pink = new Asset({\n  key: 'pink',\n  originSymbol: 'PINK',\n});\n\nexport const pizza = new Asset({\n  key: 'pizza',\n  originSymbol: 'PIZZA',\n});\n\nexport const pizzaUSDC = new Asset({\n  key: 'pizza-usdc',\n  originSymbol: 'pizzaUSDC',\n});\n\nexport const ring = new Asset({\n  key: 'ring',\n  originSymbol: 'RING',\n});\n\nexport const rmrk = new Asset({\n  key: 'rmrk',\n  originSymbol: 'RMRK',\n});\n\nexport const sdn = new Asset({\n  key: 'sdn',\n  originSymbol: 'SDN',\n});\n\nexport const soon = new Asset({\n  key: 'soon',\n  originSymbol: 'SOON',\n});\n\nexport const stink = new Asset({\n  key: 'stink',\n  originSymbol: 'STINK',\n});\n\nexport const sub = new Asset({\n  key: 'sub',\n  originSymbol: 'SUB',\n});\n\nexport const teer = new Asset({\n  key: 'teer',\n  originSymbol: 'TEER',\n});\n\nexport const tnkr = new Asset({\n  key: 'tnkr',\n  originSymbol: 'TNKR',\n});\n\nexport const tt1 = new Asset({\n  key: 'tt1',\n  originSymbol: 'TT1',\n});\n\nexport const tur = new Asset({\n  key: 'tur',\n  originSymbol: 'TUR',\n});\n\nexport const unit = new Asset({\n  key: 'unit',\n  originSymbol: 'Unit',\n});\n\nexport const usdc = new Asset({\n  key: 'usdc',\n  originSymbol: 'USDC',\n});\n\nexport const usdcwh = new Asset({\n  key: 'usdcwh',\n  originSymbol: 'USDC.Wh',\n});\n\nexport const usdt = new Asset({\n  key: 'usdt',\n  originSymbol: 'USDT',\n});\n\n// From the Kusama Ecosystem\nexport const usdtksm = new Asset({\n  key: 'usdtksm',\n  originSymbol: 'USDT',\n});\n\nexport const usdtwh = new Asset({\n  key: 'usdtwh',\n  originSymbol: 'USDT.Wh',\n});\n\nexport const vastr = new Asset({\n  key: 'vastr',\n  originSymbol: 'vASTR',\n});\n\nexport const vbnc = new Asset({\n  key: 'vbnc',\n  originSymbol: 'vBNC',\n});\n\nexport const vdot = new Asset({\n  key: 'vdot',\n  originSymbol: 'vDOT',\n});\n\nexport const vfil = new Asset({\n  key: 'vfil',\n  originSymbol: 'vFIL',\n});\n\nexport const vglmr = new Asset({\n  key: 'vglmr',\n  originSymbol: 'vGLMR',\n});\n\nexport const vksm = new Asset({\n  key: 'vksm',\n  originSymbol: 'vKSM',\n});\n\nexport const vmanta = new Asset({\n  key: 'vmanta',\n  originSymbol: 'vMANTA',\n});\n\nexport const vmovr = new Asset({\n  key: 'vmovr',\n  originSymbol: 'vMOVR',\n});\n\nexport const wbtc = new Asset({\n  key: 'wbtc',\n  originSymbol: 'WBTC',\n});\n\nexport const weth = new Asset({\n  key: 'weth',\n  originSymbol: 'WETH',\n});\n\nexport const wftm = new Asset({\n  key: 'wftm',\n  originSymbol: 'wFTM',\n});\n\nexport const wifd = new Asset({\n  key: 'wifd',\n  originSymbol: 'WIFD',\n});\n\nexport const xrt = new Asset({\n  key: 'xrt',\n  originSymbol: 'XRT',\n});\n\nexport const ztg = new Asset({\n  key: 'ztg',\n  originSymbol: 'ZTG',\n});\n\nexport const wbtce = new Asset({\n  key: 'wbtce',\n  originSymbol: 'WBTC.e',\n});\n\nexport const wstethe = new Asset({\n  key: 'wstethe',\n  originSymbol: 'wstETH.e',\n});\n\nexport const wethe = new Asset({\n  key: 'wethe',\n  originSymbol: 'WETH.e',\n});\n\nexport const assetsList: Asset[] = [\n  aca,\n  agng,\n  alan,\n  ampe,\n  apillon,\n  aseed,\n  astr,\n  auq,\n  axlusdc,\n  bnc,\n  cfg,\n  csm,\n  dai,\n  ded,\n  dev,\n  devBeta,\n  devStage,\n  dot,\n  eq,\n  eqd,\n  eth,\n  eurc,\n  fil,\n  ftm,\n  ftmwh,\n  glmr,\n  hdx,\n  ibtc,\n  intr,\n  kar,\n  kbtc,\n  kint,\n  ksm,\n  lamaGLMR,\n  laos,\n  ldot,\n  lit,\n  manta,\n  maos,\n  movr,\n  samaMOVR,\n  neuro,\n  nodl,\n  otp,\n  para,\n  paring,\n  peaq,\n  pen,\n  pha,\n  pica,\n  pink,\n  pizza,\n  pizzaUSDC,\n  ring,\n  rmrk,\n  sdn,\n  soon,\n  stink,\n  sub,\n  teer,\n  tnkr,\n  tt1,\n  tur,\n  unit,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtksm,\n  usdtwh,\n  vastr,\n  vbnc,\n  vdot,\n  vfil,\n  vglmr,\n  vksm,\n  vmanta,\n  vmovr,\n  wbtc,\n  wbtce,\n  weth,\n  wethe,\n  wftm,\n  wifd,\n  wstethe,\n  xrt,\n  ztg,\n];\n\nexport const assetsMap = new Map<string, Asset>(\n  assetsList.map((asset) => [asset.key, asset]),\n);\n","import {\n  type AnyChain,\n  ChainAsset,\n  Ecosystem,\n  EvmChain,\n  EvmParachain,\n  Parachain,\n} from '@moonbeam-network/xcm-types';\nimport { getPolkadotAppsUrl } from '@moonbeam-network/xcm-utils';\nimport { getAddress } from 'viem';\nimport {\n  aca,\n  agng,\n  alan,\n  ampe,\n  apillon,\n  aseed,\n  astr,\n  auq,\n  axlusdc,\n  bnc,\n  cfg,\n  csm,\n  dai,\n  ded,\n  dev,\n  devBeta,\n  devStage,\n  dot,\n  eq,\n  eqd,\n  eth,\n  eurc,\n  fil,\n  ftmwh,\n  glmr,\n  hdx,\n  ibtc,\n  intr,\n  kar,\n  kbtc,\n  kint,\n  ksm,\n  lamaGLMR,\n  laos,\n  ldot,\n  lit,\n  manta,\n  maos,\n  movr,\n  neuro,\n  nodl,\n  otp,\n  paring,\n  peaq,\n  pen,\n  pha,\n  pica,\n  pink,\n  pizza,\n  pizzaUSDC,\n  ring,\n  rmrk,\n  samaMOVR,\n  sdn,\n  stink,\n  sub,\n  teer,\n  tnkr,\n  tt1,\n  tur,\n  unit,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtksm,\n  usdtwh,\n  vastr,\n  vbnc,\n  vdot,\n  vfil,\n  vglmr,\n  vksm,\n  vmanta,\n  vmovr,\n  wbtc,\n  wbtce,\n  weth,\n  wethe,\n  wifd,\n  wstethe,\n  xrt,\n  ztg,\n} from './assets';\n\nexport const acala = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(aca, {\n      decimals: 12,\n      ids: {\n        id: { Token: aca.originSymbol },\n      },\n    }),\n    ChainAsset.fromAsset(aseed, {\n      decimals: 12,\n      ids: {\n        id: { Token: 'AUSD' },\n        minId: { NativeAssetId: { Token: 'AUSD' } },\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { ForeignAsset: 0 },\n        minId: { ForeignAssetId: 0 },\n      },\n    }),\n    ChainAsset.fromAsset(ldot, {\n      decimals: 10,\n      ids: {\n        id: { Token: ldot.originSymbol },\n        minId: { NativeAssetId: { Token: ldot.originSymbol } },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xfc41b9bd8ef8fe53d58c7ea67c794c7ec9a73daf05e6d54b14ff6342c99ba64c',\n  key: 'acala',\n  name: 'Acala',\n  nativeAsset: aca,\n  parachainId: 2000,\n  ss58Format: 10,\n  ws: ['wss://acala-rpc.aca-api.network'],\n});\n\nexport const alphanetAssetHub = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(tt1, {\n      decimals: 18,\n      ids: {\n        id: 2,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(unit, {\n      decimals: 12,\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0x2c63baa36880c9cf820d5ccfc4e49841bfd714e93ede2bebc4abc4531dd4e8a0',\n  isTestChain: true,\n  key: 'alphanet-asset-hub',\n  name: 'Alphanet Asset Hub',\n  nativeAsset: unit,\n  parachainId: 1001,\n  ss58Format: 42,\n  ws: [\n    'wss://services.api.moonbase.moonbeam.network/moonbase/statemint',\n    'wss://frag-moonbase-sm-rpc-ws.g.moonbase.moonbeam.network',\n  ],\n});\n\nexport const alphanetRelay = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(unit, {\n      decimals: 12,\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0xe1ea3ab1d46ba8f4898b6b4b9c54ffc05282d299f89e84bd0fd08067758c9443',\n  isRelay: true,\n  isTestChain: true,\n  key: 'alphanet-relay',\n  name: 'Alphanet Relay',\n  nativeAsset: unit,\n  parachainId: 0,\n  ss58Format: 42,\n  ws: [\n    'wss://services.api.moonbase.moonbeam.network/moonbase/relay',\n    'wss://fro-moon-rpc-1-moonbase-relay-rpc-1.moonbase.ol-infra.network',\n  ],\n});\n\nexport const astar = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: 18446744073709551619n,\n      },\n    }),\n    ChainAsset.fromAsset(astr, {\n      decimals: 18,\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6',\n  key: 'astar',\n  name: 'Astar',\n  nativeAsset: astr,\n  parachainId: 2006,\n  ss58Format: 5,\n  ws: ['wss://rpc.astar.network', 'wss://astar.api.onfinality.io/public-ws'],\n});\n\nexport const bifrostKusama = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(movr, {\n      decimals: 18,\n      ids: {\n        id: { Token: movr.originSymbol },\n      },\n    }),\n    ChainAsset.fromAsset(bnc, {\n      decimals: 12,\n      ids: {\n        id: { Native: bnc.originSymbol },\n        generalKey: {\n          length: 2,\n          data: '0x0001000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vbnc, {\n      decimals: 12,\n      ids: {\n        id: { VToken: bnc.originSymbol },\n        generalKey: {\n          length: 2,\n          data: '0x0101000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vksm, {\n      decimals: 12,\n      ids: {\n        id: { VToken: ksm.originSymbol },\n        generalKey: {\n          length: 2,\n          data: '0x0104000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vmovr, {\n      decimals: 18,\n      ids: {\n        id: { VToken: movr.originSymbol },\n        generalKey: {\n          length: 2,\n          data: '0x010a000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0x9f28c6a68e0fc9646eff64935684f6eeeece527e37bbe1f213d22caa1d9d6bed',\n  key: 'bifrost-kusama',\n  name: 'Bifrost',\n  nativeAsset: bnc,\n  parachainId: 2001,\n  ss58Format: 6,\n  ws: ['wss://us.bifrost-rpc.liebi.com/ws', 'wss://bifrost-rpc.liebi.com/ws'],\n});\n\nexport const bifrostPolkadot = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { Token2: 1 },\n      },\n    }),\n    ChainAsset.fromAsset(bnc, {\n      decimals: 12,\n      ids: {\n        id: { Native: bnc.originSymbol },\n        generalKey: {\n          length: 2,\n          data: '0x0001000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(fil, {\n      decimals: 18,\n      ids: {\n        id: { Token2: 4 },\n        generalKey: {\n          length: 2,\n          data: '0x0804000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vastr, {\n      decimals: 18,\n      ids: {\n        id: { VToken2: 3 },\n        generalKey: {\n          length: 2,\n          data: '0x0903000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vdot, {\n      decimals: 10,\n      ids: {\n        id: { VToken2: 0 },\n        generalKey: {\n          length: 2,\n          data: '0x0900000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vfil, {\n      decimals: 18,\n      ids: {\n        id: { VToken2: 4 },\n        generalKey: {\n          length: 2,\n          data: '0x0904000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vglmr, {\n      decimals: 18,\n      ids: {\n        id: { VToken2: 1 },\n        generalKey: {\n          length: 2,\n          data: '0x0901000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n    ChainAsset.fromAsset(vmanta, {\n      decimals: 18,\n      ids: {\n        id: { VToken2: 8 },\n        generalKey: {\n          length: 2,\n          data: '0x0908000000000000000000000000000000000000000000000000000000000000',\n        },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b',\n  key: 'bifrost-polkadot',\n  name: 'Bifrost',\n  nativeAsset: bnc,\n  parachainId: 2030,\n  ss58Format: 6,\n  ws: [\n    'wss://eu.bifrost-polkadot-rpc.liebi.com/ws',\n    'wss://hk.p.bifrost-rpc.liebi.com/ws',\n  ],\n});\n\nexport const centrifuge = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(cfg, {\n      decimals: 18,\n      ids: {\n        id: 'Native',\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82',\n  key: 'centrifuge',\n  name: 'Centrifuge',\n  nativeAsset: cfg,\n  parachainId: 2031,\n  ss58Format: 36,\n  ws: [\n    'wss://fullnode.centrifuge.io',\n    'wss://rpc-centrifuge.luckyfriday.io',\n    'wss://centrifuge-parachain.api.onfinality.io/public-ws',\n  ],\n});\n\nexport const crustShadow = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(movr, {\n      decimals: 18,\n      ids: {\n        balanceId: 232263652204149413431520870009560565298n,\n        id: { OtherReserve: 232263652204149413431520870009560565298n },\n      },\n    }),\n    ChainAsset.fromAsset(csm, {\n      decimals: 12,\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0xd4c0c08ca49dc7c680c3dac71a7c0703e5b222f4b6c03fe4c5219bb8f22c18dc',\n  key: 'crust-shadow',\n  name: 'Crust Shadow',\n  nativeAsset: csm,\n  parachainId: 2012,\n  ss58Format: 66,\n  ws: [\n    'wss://rpc2-shadow.crust.network',\n    'wss://rpc-shadow.crust.network/',\n    'wss://rpc-shadow.crustnetwork.app',\n  ],\n});\n\nexport const darwinia = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(ring, {\n      decimals: 18,\n      ids: {\n        palletInstance: 5,\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xf0b8924b12e8108550d28870bc03f7b45a947e1b2b9abf81bfb0b89ecb60570e',\n  id: 46,\n  key: 'darwinia',\n  name: 'Darwinia',\n  nativeAsset: ring,\n  parachainId: 2046,\n  rpc: 'https://rpc.darwinia.network',\n  ss58Format: 18,\n  ws: ['wss://rpc.darwinia.network', 'wss://darwinia-rpc.dwellir.com'],\n});\n\nexport const ethereum = new EvmChain({\n  assets: [\n    ChainAsset.fromAsset(eth, {\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(usdc, {\n      address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n      decimals: 6,\n    }),\n    ChainAsset.fromAsset(usdt, {\n      address: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n      decimals: 6,\n    }),\n    ChainAsset.fromAsset(dai, {\n      address: '0x6b175474e89094c44da98b954eedeac495271d0f',\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(wbtc, {\n      address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n      decimals: 8,\n    }),\n    ChainAsset.fromAsset(glmr, {\n      address: '0x93d3696A9F879b331f40CB5059e37015423A3Bd0',\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(peaq, {\n      address: '0x6e642b4dfe787b8f101d1fb66c2ef56e2b4c6c52',\n      decimals: 18,\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  explorer: {\n    base: 'https://etherscan.io',\n    txPath: '/tx',\n  },\n  id: 1,\n  key: 'ethereum',\n  name: 'Ethereum',\n  nativeAsset: eth,\n  rpc: 'https://ethereum-rpc.publicnode.com',\n  wh: {\n    name: 'Ethereum',\n  },\n});\n\nexport const hydration = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(hdx, {\n      decimals: 12,\n      ids: {\n        id: 0,\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: 16,\n      },\n    }),\n    ChainAsset.fromAsset(dai, {\n      decimals: 18,\n      ids: {\n        id: 18,\n      },\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      decimals: 6,\n      ids: {\n        id: 21,\n      },\n    }),\n    ChainAsset.fromAsset(usdtwh, {\n      decimals: 6,\n      ids: {\n        id: 23,\n      },\n    }),\n    ChainAsset.fromAsset(wbtc, {\n      decimals: 8,\n      ids: {\n        id: 19,\n      },\n    }),\n    ChainAsset.fromAsset(weth, {\n      decimals: 18,\n      ids: {\n        id: 20,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  explorer: {\n    base: 'https://hydration.subscan.io',\n  },\n  genesisHash:\n    '0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d',\n  key: 'hydration',\n  name: 'Hydration',\n  nativeAsset: hdx,\n  parachainId: 2034,\n  ss58Format: 63,\n  ws: [\n    'wss://hydration-rpc.n.dwellir.com',\n    'wss://rpc.hydradx.cloud',\n    'wss://rpc.helikon.io/hydradx',\n    'wss://hydration.ibp.network',\n    'wss://hydration.dotters.network',\n  ],\n});\n\nexport const hydrationAlphanet = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(hdx, {\n      decimals: 12,\n      ids: {\n        id: 0,\n      },\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      decimals: 6,\n      ids: {\n        id: 1000001,\n      },\n    }),\n    ChainAsset.fromAsset(ftmwh, {\n      decimals: 18,\n      ids: {\n        id: 1000002,\n      },\n    }),\n    ChainAsset.fromAsset(usdtwh, {\n      decimals: 6,\n      ids: {\n        id: 2,\n      },\n    }),\n    ChainAsset.fromAsset(dev, {\n      decimals: 18,\n      ids: {\n        id: 1,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  explorer: {\n    base: getPolkadotAppsUrl('wss://hydradx-moonbase-rpc.play.hydration.cloud'),\n  },\n  genesisHash:\n    '0x025980095be141a99f983631c49271af15cab61c4ce0d73db73192443932669a',\n  isTestChain: true,\n  key: 'hydration-Alphanet',\n  name: 'Hydration Alphanet',\n  nativeAsset: hdx,\n  parachainId: 2034,\n  ss58Format: 63,\n  ws: ['wss://hydradx-moonbase-rpc.play.hydration.cloud'],\n});\n\nexport const interlay = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { ForeignAsset: 10 },\n      },\n    }),\n    ChainAsset.fromAsset(intr, {\n      decimals: 10,\n      ids: {\n        id: { Token: intr.originSymbol },\n      },\n    }),\n    ChainAsset.fromAsset(ibtc, {\n      decimals: 8,\n      ids: {\n        id: { Token: ibtc.originSymbol },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72',\n  key: 'interlay',\n  name: 'Interlay',\n  nativeAsset: intr,\n  parachainId: 2032,\n  ss58Format: 2032,\n  ws: ['wss://api.interlay.io/parachain'],\n});\n\nexport const karura = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(movr, {\n      decimals: 18,\n      ids: {\n        id: { ForeignAsset: 3 },\n        minId: { ForeignAssetId: 3 },\n      },\n    }),\n    ChainAsset.fromAsset(kar, {\n      decimals: 12,\n      ids: {\n        id: { Token: kar.originSymbol },\n      },\n    }),\n    ChainAsset.fromAsset(aseed, {\n      decimals: 12,\n      ids: {\n        id: { Token: 'KUSD' },\n        minId: { NativeAssetId: { Token: 'KUSD' } },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b',\n  key: 'karura',\n  name: 'Karura',\n  nativeAsset: kar,\n  parachainId: 2000,\n  ss58Format: 8,\n  ws: ['wss://karura-rpc-0.aca-api.network'],\n});\n\nexport const kintsugi = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(kint, {\n      decimals: 12,\n      ids: {\n        id: { Token: kint.originSymbol },\n      },\n    }),\n    ChainAsset.fromAsset(kbtc, {\n      decimals: 8,\n      ids: {\n        id: { Token: kbtc.originSymbol },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0x9af9a64e6e4da8e3073901c3ff0cc4c3aad9563786d89daf6ad820b6e14a0b8b',\n  key: 'kintsugi',\n  name: 'Kintsugi',\n  nativeAsset: kint,\n  parachainId: 2092,\n  ss58Format: 2092,\n  ws: [\n    'wss://api-kusama.interlay.io/parachain',\n    'wss://kintsugi.api.onfinality.io/public-ws',\n  ],\n});\n\nexport const kusama = new Parachain({\n  assets: [ChainAsset.fromAsset(ksm, { decimals: 12 })],\n  checkSovereignAccountBalances: true,\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe',\n  isRelay: true,\n  key: 'kusama',\n  name: 'Kusama',\n  nativeAsset: ksm,\n  parachainId: 0,\n  ss58Format: 2,\n  ws: [\n    'wss://kusama.api.onfinality.io/public-ws',\n    'wss://kusama-rpc.polkadot.io',\n  ],\n});\n\nexport const kusamaAssetHub = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(usdtksm, {\n      decimals: 6,\n      ids: {\n        id: 1984,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(rmrk, {\n      decimals: 10,\n      ids: {\n        id: 8,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(ksm, {\n      decimals: 12,\n    }),\n  ],\n  checkSovereignAccountBalances: true,\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a',\n  key: 'kusama-asset-hub',\n  name: 'Kusama Asset Hub',\n  nativeAsset: ksm,\n  parachainId: 1000,\n  ss58Format: 2,\n  ws: ['wss://kusama-asset-hub-rpc.polkadot.io'],\n});\n\nexport const mantaParachain = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(manta, {\n      decimals: 18,\n      ids: {\n        id: { MantaCurrency: 1 },\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { MantaCurrency: 10 },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xf3c7ad88f6a80f366c4be216691411ef0622e8b809b1046ea297ef106058d4eb',\n  key: 'manta',\n  name: 'Manta',\n  nativeAsset: manta,\n  parachainId: 2104,\n  ss58Format: 77,\n  ws: ['wss://ws.manta.systems'],\n});\n\nexport const laosAlphanet = new EvmParachain({\n  assets: [ChainAsset.fromAsset(maos, { decimals: 18 })],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0x324e69fa1a64c0b3badec0016aca64878bc2f4b6146e6da26c7aaddee21947f7',\n  key: 'laos-alphanet',\n  name: 'Laos Alphanet',\n  isTestChain: true,\n  nativeAsset: maos,\n  parachainId: 4001,\n  ss58Format: 42,\n  ws: ['wss://rpc.laosalphanet.gorengine.com'],\n});\n\nexport const laosMainnet = new EvmParachain({\n  assets: [ChainAsset.fromAsset(laos, { decimals: 18 })],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b',\n  key: 'laos-mainnet',\n  name: 'Laos',\n  isTestChain: false,\n  nativeAsset: laos,\n  parachainId: 3370,\n  ss58Format: 42,\n  ws: ['wss://rpc.laos.laosfoundation.io'],\n});\n\nexport const moonbaseAlpha = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(alan, {\n      address: getAddress('0x9133c5a22024118804089f1fB752b7B2ce2a6351'),\n      decimals: 18,\n      ids: {\n        palletInstance: 48,\n      },\n    }),\n    ChainAsset.fromAsset(ampe, {\n      address: '0xfFfFfffF7fee8415e1c2AC3A15C48D3546B95e16',\n      decimals: 12,\n      ids: {\n        id: '170050401128744171791743427490841452054',\n      },\n      symbol: 'xcAMPE',\n    }),\n    ChainAsset.fromAsset(dev, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      min: 0.01,\n      ids: {\n        palletInstance: 3,\n      },\n    }),\n    ChainAsset.fromAsset(lit, {\n      address: getAddress('0xfffFFfFF31103d490325BB0a8E40eF62e2F614C0'),\n      decimals: 12,\n      ids: {\n        id: '65216491554813189869575508812319036608',\n      },\n      symbol: 'xcLIT',\n    }),\n    ChainAsset.fromAsset(maos, {\n      address: getAddress('0xffffffff06a14960bddc8610d0e694d39a3c682e'),\n      decimals: 18,\n      ids: {\n        id: '8812816049497534070792537960559175726',\n        palletInstance: 48,\n      },\n      symbol: 'xcMAOS',\n    }),\n    ChainAsset.fromAsset(otp, {\n      address: getAddress('0xFfffffFfB3229c8E7657eABEA704d5e75246e544'),\n      decimals: 12,\n      ids: {\n        id: '238111524681612888331172110363070489924',\n      },\n      symbol: 'xcOTP',\n    }),\n    ChainAsset.fromAsset(paring, {\n      address: getAddress('0xFFFffFfF8283448b3cB519Ca4732F2ddDC6A6165'),\n      decimals: 18,\n      ids: {\n        id: '173481220575862801646329923366065693029',\n      },\n      symbol: 'xcPARING',\n    }),\n    ChainAsset.fromAsset(pica, {\n      address: getAddress('0xFFFfFFFF10DD5Fd142163a40Ce0dae8c56e2801f'),\n      decimals: 6,\n      ids: {\n        id: '22417088946346045371238623691600461855',\n      },\n      symbol: 'xcPICA',\n    }),\n    ChainAsset.fromAsset(tt1, {\n      address: getAddress('0xfFffFfFf75976211C786fe4d73d2477e222786Ac'),\n      decimals: 18,\n      ids: {\n        id: '156305701417244550631956600137082963628',\n      },\n      symbol: 'xcTT1',\n    }),\n    ChainAsset.fromAsset(tur, {\n      address: getAddress('0xfFffffFf6448d0746f2a66342B67ef9CAf89478E'),\n      decimals: 10,\n      ids: {\n        id: '133300872918374599700079037156071917454',\n      },\n      symbol: 'xcTUR',\n    }),\n    ChainAsset.fromAsset(unit, {\n      address: getAddress('0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080'),\n      decimals: 12,\n      ids: {\n        id: '42259045809535163221576417993425387648',\n        palletInstance: 48,\n      },\n      symbol: 'xcUNIT',\n    }),\n    ChainAsset.fromAsset(ftmwh, {\n      address: getAddress('0x566c1cebc6A4AFa1C122E039C4BEBe77043148Ee'),\n      decimals: 18,\n      ids: {\n        palletInstance: 48,\n      },\n      symbol: 'WFTM',\n    }),\n    ChainAsset.fromAsset(hdx, {\n      address: getAddress('0xFFFfFfff345Dc44DDAE98Df024Eb494321E73FcC'),\n      decimals: 12,\n      ids: {\n        id: '69606720909260275826784788104880799692',\n      },\n      symbol: 'xcHDX',\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      address: getAddress('0xE5dE10C4b744bac6b783fAF8d9B9fDFF14Acc3c9'),\n      decimals: 6,\n      ids: {\n        palletInstance: 48,\n      },\n      symbol: 'USDC',\n    }),\n    ChainAsset.fromAsset(agng, {\n      address: getAddress('0xFFfFFFFF38794F8c53fC7325ea07463dc6965e20'),\n      decimals: 18,\n      ids: {\n        id: '75066649112131892397889252914026143264',\n      },\n      symbol: 'xcAGNG',\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  explorer: {\n    base: 'https://moonbase.moonscan.io',\n    txPath: '/tx',\n  },\n  genesisHash:\n    '0x91bc6e169807aaa54802737e1c504b2577d4fafedd5a02c10293b1cd60e39527',\n  id: 1287,\n  isEvmSigner: true,\n  isTestChain: true,\n  key: 'moonbase-alpha',\n  name: 'Moonbase Alpha',\n  nativeAsset: dev,\n  parachainId: 1000,\n  rpc: 'https://rpc.api.moonbase.moonbeam.network',\n  ss58Format: 1287,\n  ws: ['wss://wss.api.moonbase.moonbeam.network'],\n  wh: {\n    name: 'Moonbeam',\n  },\n});\n\nexport const moonbaseBeta = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(devBeta, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      ids: {\n        palletInstance: 3,\n      },\n    }),\n    ChainAsset.fromAsset(dev, {\n      address: getAddress('0xffffffffA7B17E706A2391F346D8C82B6788DB41'),\n      decimals: 18,\n      ids: {\n        balanceId: '222902676330054289648817870329963141953',\n        id: { ForeignAsset: '222902676330054289648817870329963141953' },\n      },\n    }),\n    ChainAsset.fromAsset(alan, {\n      address: getAddress('0xffffffff405953B645C61B0F5FFB28DF2B39B78D'),\n      decimals: 18,\n      ids: {\n        // balanceId: '85534404031760856987006367174489651085',\n        id: { ForeignAsset: '85534404031760856987006367174489651085' },\n      },\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      address: getAddress('0xffffffffF0963FD9B1D84D5740E911AA5D99A08D'),\n      decimals: 6,\n      ids: {\n        balanceId: '319794858556516669238969276945382613133',\n        id: { ForeignAsset: '319794858556516669238969276945382613133' },\n      },\n    }),\n    ChainAsset.fromAsset(ftmwh, {\n      address: getAddress('0xffffffff958FAF8E6B11DA766006DF735C4A8DA0'),\n      decimals: 18,\n      ids: {\n        balanceId: '198801030527939140930753142903035039136',\n        id: { ForeignAsset: '198801030527939140930753142903035039136' },\n      },\n    }),\n    ChainAsset.fromAsset(devStage, {\n      address: getAddress('0xfFFFFFfF0000000000000000000000000000000A'),\n      decimals: 18,\n      ids: {\n        id: 10,\n      },\n    }),\n    ChainAsset.fromAsset(pizza, {\n      address: getAddress('0x7a218FFD31C1dF5edf62d3aAd0a398062AC16DCd'),\n      decimals: 18,\n      ids: {\n        palletInstance: 48,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  explorer: {\n    base: getPolkadotAppsUrl(\n      'wss://services.api.moondev.network/moonbase/beta',\n    ),\n  },\n  genesisHash:\n    '0xeebb5d05763801e54d6a7a60a4b7998ac125c4d050dcec418dd07ea959a54464',\n  id: 1288,\n  isTestChain: true,\n  key: 'moonbase-beta',\n  name: 'Moonbase Beta',\n  nativeAsset: devBeta,\n  parachainId: 888,\n  relayGenesisHash:\n    '0xe1ea3ab1d46ba8f4898b6b4b9c54ffc05282d299f89e84bd0fd08067758c9443',\n  rpc: 'https://services.api.moondev.network/moonbase/beta',\n  ss58Format: 1287,\n  ws: [\n    'wss://services.api.moondev.network/moonbase/beta',\n    'wss://deo-moon-rpc-1-moonbase-beta-rpc-1.moonbase.ol-infra.network',\n  ],\n});\n\nexport const moonbaseStage = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(devStage, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      ids: {\n        palletInstance: 3,\n      },\n    }),\n    ChainAsset.fromAsset(devBeta, {\n      address: getAddress('0xfFFFFFfF0000000000000000000000000000000A'),\n      decimals: 18,\n      ids: {\n        id: 10,\n      },\n    }),\n    ChainAsset.fromAsset(pizza, {\n      address: getAddress('0xffffffffedca8a390b82ebf296523132eb5105e6'),\n      decimals: 18,\n      ids: {\n        id: 316078682458542273998403192999193413094n,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.StagenetRelay,\n  genesisHash:\n    '0xd97c0d8c02a2878f817b688d3397efa2584977f0332d0ba82303498110a0836f',\n  id: 1282,\n  isTestChain: true,\n  key: 'moonbase-stage',\n  name: 'Moonbase Stage',\n  nativeAsset: devStage,\n  parachainId: 1000,\n  relayGenesisHash:\n    '0x64d25a5d58d8d330b8804103e6452be6258ebfd7c4f4c1294835130e75628401',\n  rpc: 'https://rpc.api.moondev.network',\n  ss58Format: 1287,\n  ws: ['wss://wss.api.moondev.network'],\n});\n\nexport const moonlama = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(lamaGLMR, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n    ChainAsset.fromAsset(samaMOVR, {\n      address: getAddress('0xffffffff54c47f43713fd9211724362697f1a302'),\n      decimals: 18,\n      ids: {\n        id: 112675423039561305557350799263187182338n,\n      },\n    }),\n    ChainAsset.fromAsset(pizza, {\n      address: getAddress('0xbdd558f3be2807fce11b5fb2b2fa86f310f67855'),\n      decimals: 18,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(pizzaUSDC, {\n      address: getAddress('0x385c00353cff4c3129306e0a6dcd1947e8354133'),\n      decimals: 6,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.MoonlamaRelay,\n  genesisHash:\n    '0xb7e61bf426fa70533e2cc8d17bc00f1d373f3f45a01eac924da95214930a0d0e',\n  id: 1283,\n  isEvmSigner: true,\n  isTestChain: true,\n  key: 'moonlama',\n  name: 'Moonlama',\n  nativeAsset: lamaGLMR,\n  parachainId: 2004,\n  relayGenesisHash:\n    '0xd0a2c75ad080394edaaa9cd1c766b543478efb415db1b6cd7772536c9a413167',\n  rpc: 'https://services.api.moondev.network/moonlama',\n  ss58Format: 1284,\n  ws: ['wss://services.api.moondev.network/moonlama'],\n});\n\nexport const moonsama = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(samaMOVR, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n    ChainAsset.fromAsset(lamaGLMR, {\n      address: getAddress('0xffffffff1a49463978f19dfd6983f2fa1885c254'),\n      decimals: 18,\n      ids: {\n        id: 34940389883188672429634411751708934740n,\n      },\n    }),\n    ChainAsset.fromAsset(pizza, {\n      address: getAddress('0xffffffff57029d0ec61f38481147f4e1a0d5e3ed'),\n      decimals: 18,\n      ids: {\n        id: 115656405735822573536813785456152273901n,\n      },\n    }),\n    ChainAsset.fromAsset(pizzaUSDC, {\n      address: getAddress('0xffffffffa993c0ca4b46667277c3caaa5a4da783'),\n      decimals: 6,\n      ids: {\n        id: 225406709175884615521168913363167455107n,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.MoonsamaRelay,\n  genesisHash:\n    '0x13df313fb1b9b0c99dd215ff130c6437464706eabf0f63123d4da26019e1a0cc',\n  id: 1285,\n  isEvmSigner: false,\n  isTestChain: true,\n  key: 'moonsama',\n  name: 'Moonsama',\n  nativeAsset: samaMOVR,\n  parachainId: 2023,\n  relayGenesisHash:\n    '0xe553c7f33ab7dbbd8770a82169ac9ad7f49f53204e6d72d3a75f9df5d22e1183',\n  rpc: 'https://services.api.moondev.network/moonsama',\n  ss58Format: 1285,\n  ws: ['wss://services.api.moondev.network/moonsama'],\n});\n\nexport const moonbeam = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(aca, {\n      address: getAddress('0xffffFFffa922Fef94566104a6e5A35a4fCDDAA9f'),\n      decimals: 12,\n      ids: {\n        id: '224821240862170613278369189818311486111',\n      },\n      symbol: 'xcACA',\n    }),\n    ChainAsset.fromAsset(astr, {\n      address: getAddress('0xFfFFFfffA893AD19e540E172C10d78D4d479B5Cf'),\n      decimals: 18,\n      ids: {\n        id: '224077081838586484055667086558292981199',\n      },\n      symbol: 'xcASTR',\n    }),\n    ChainAsset.fromAsset(aseed, {\n      address: getAddress('0xfFfFFFFF52C56A9257bB97f4B2b6F7B2D624ecda'),\n      decimals: 12,\n      ids: {\n        id: '110021739665376159354538090254163045594',\n      },\n    }),\n    ChainAsset.fromAsset(axlusdc, {\n      address: getAddress('0xCa01a1D0993565291051daFF390892518ACfAD3A'),\n      decimals: 6,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(bnc, {\n      address: getAddress('0xFFffffFf7cC06abdF7201b350A1265c62C8601d2'),\n      decimals: 12,\n      ids: {\n        id: '165823357460190568952172802245839421906',\n      },\n      symbol: 'xcBNC',\n    }),\n    ChainAsset.fromAsset(cfg, {\n      address: getAddress('0xFFfFfFff44bD9D2FFEE20B25D1Cf9E78Edb6Eae3'),\n      decimals: 18,\n      ids: {\n        id: '91372035960551235635465443179559840483',\n      },\n      symbol: 'xcCFG',\n    }),\n    ChainAsset.fromAsset(dai, {\n      address: getAddress('0x06e605775296e851FF43b4dAa541Bb0984E9D6fD'),\n      decimals: 18,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(ded, {\n      address: getAddress('0xfFffFFFf5da2d7214D268375cf8fb1715705FdC6'),\n      decimals: 10,\n      ids: {\n        id: '124463719055550872076363892993240202694',\n      },\n      symbol: 'xcDED',\n    }),\n    ChainAsset.fromAsset(dot, {\n      address: getAddress('0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080'),\n      decimals: 10,\n      ids: {\n        id: '42259045809535163221576417993425387648',\n      },\n      symbol: 'xcDOT',\n    }),\n    ChainAsset.fromAsset(eq, {\n      address: getAddress('0xFffFFfFf8f6267e040D8a0638C576dfBa4F0F6D6'),\n      decimals: 9,\n      ids: {\n        id: '190590555344745888270686124937537713878',\n      },\n      symbol: 'xcEQ',\n    }),\n    ChainAsset.fromAsset(eqd, {\n      address: getAddress('0xFFffFfFF8cdA1707bAF23834d211B08726B1E499'),\n      decimals: 9,\n      ids: {\n        id: '187224307232923873519830480073807488153',\n      },\n      symbol: 'xcEQD',\n    }),\n    ChainAsset.fromAsset(fil, {\n      address: getAddress('0xfFFfFFFF6C57e17D210DF507c82807149fFd70B2'),\n      decimals: 18,\n      ids: {\n        id: '144012926827374458669278577633504620722',\n      },\n      symbol: 'xcFIL',\n    }),\n    ChainAsset.fromAsset(glmr, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      min: 0.1,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n    ChainAsset.fromAsset(hdx, {\n      address: getAddress('0xFFFfFfff345Dc44DDAE98Df024Eb494321E73FcC'),\n      decimals: 12,\n      ids: {\n        id: '69606720909260275826784788104880799692',\n      },\n      symbol: 'xcHDX',\n    }),\n    ChainAsset.fromAsset(ibtc, {\n      address: getAddress('0xFFFFFfFf5AC1f9A51A93F5C527385edF7Fe98A52'),\n      decimals: 8,\n      ids: {\n        id: '120637696315203257380661607956669368914',\n      },\n      symbol: 'xcIBTC',\n    }),\n    ChainAsset.fromAsset(intr, {\n      address: getAddress('0xFffFFFFF4C1cbCd97597339702436d4F18a375Ab'),\n      decimals: 10,\n      ids: {\n        id: '101170542313601871197860408087030232491',\n      },\n      symbol: 'xcINTR',\n    }),\n    ChainAsset.fromAsset(ldot, {\n      address: getAddress('0xFFfFfFffA9cfFfa9834235Fe53f4733F1b8B28d4'),\n      decimals: 10,\n      ids: {\n        id: '225719522181998468294117309041779353812',\n      },\n      symbol: 'xcLDOT',\n    }),\n    ChainAsset.fromAsset(manta, {\n      address: getAddress('0xfFFffFFf7D3875460d4509eb8d0362c611B4E841'),\n      decimals: 18,\n      ids: {\n        id: '166446646689194205559791995948102903873',\n      },\n      symbol: 'xcMANTA',\n    }),\n    ChainAsset.fromAsset(nodl, {\n      address: getAddress('0xfffffffFe896ba7Cb118b9Fa571c6dC0a99dEfF1'),\n      decimals: 11,\n      ids: {\n        id: '309163521958167876851250718453738106865',\n      },\n      symbol: 'xcNODL',\n    }),\n    ChainAsset.fromAsset(neuro, {\n      address: getAddress('0xFfffffFfB3229c8E7657eABEA704d5e75246e544'),\n      decimals: 12,\n      ids: {\n        id: '238111524681612888331172110363070489924',\n      },\n      symbol: 'xcNEURO',\n    }),\n    ChainAsset.fromAsset(peaq, {\n      address: getAddress('0xFffFFFFFEC4908b74688a01374f789B48E9a3eab'),\n      decimals: 18,\n      ids: {\n        id: '314077021455772878282433861213184736939',\n      },\n      symbol: 'xcPEAQ',\n    }),\n    ChainAsset.fromAsset(pha, {\n      address: getAddress('0xFFFfFfFf63d24eCc8eB8a7b5D0803e900F7b6cED'),\n      decimals: 12,\n      ids: {\n        id: '132685552157663328694213725410064821485',\n      },\n      symbol: 'xcPHA',\n    }),\n    ChainAsset.fromAsset(pen, {\n      address: getAddress('0xffFFfFFf2257622F345E1ACDe0D4f46D7d1D77D0'),\n      decimals: 12,\n      ids: {\n        id: '45647473099451451833602657905356404688',\n      },\n      symbol: 'xcPEN',\n    }),\n    ChainAsset.fromAsset(ring, {\n      address: getAddress('0xFfffFfff5e90e365eDcA87fB4c8306Df1E91464f'),\n      decimals: 18,\n      ids: {\n        id: '125699734534028342599692732320197985871',\n      },\n      symbol: 'xcRING',\n    }),\n    ChainAsset.fromAsset(sub, {\n      address: getAddress('0xfFfFffFf43B4560Bc0C451a3386E082bff50aC90'),\n      decimals: 10,\n      ids: {\n        id: '89994634370519791027168048838578580624',\n      },\n    }),\n    ChainAsset.fromAsset(usdc, {\n      address: getAddress('0xFFfffffF7D2B0B761Af01Ca8e25242976ac0aD7D'),\n      decimals: 6,\n      ids: {\n        id: '166377000701797186346254371275954761085', // registered XC20 id for ERC20 tokens\n        palletInstance: 110,\n      },\n      symbol: 'xcUSDC',\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      address: getAddress('0x931715FEE2d06333043d11F658C8CE934aC61D0c'),\n      decimals: 6,\n      ids: {\n        palletInstance: 110,\n      },\n      symbol: 'USDC',\n    }),\n    ChainAsset.fromAsset(usdtwh, {\n      address: getAddress('0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f'),\n      decimals: 6,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(usdt, {\n      address: getAddress('0xFFFFFFfFea09FB06d082fd1275CD48b191cbCD1d'),\n      decimals: 6,\n      ids: {\n        id: '311091173110107856861649819128533077277',\n        palletInstance: 110,\n      },\n      symbol: 'xcUSDT',\n    }),\n    ChainAsset.fromAsset(vastr, {\n      address: getAddress('0xFffFffff55C732C47639231a4C4373245763d26E'),\n      decimals: 18,\n      ids: {\n        id: '114018676402354620972806895487280206446', // registered XC20 id for ERC20 tokens\n      },\n      symbol: 'xcvASTR',\n    }),\n    ChainAsset.fromAsset(vdot, {\n      address: getAddress('0xFFFfffFf15e1b7E3dF971DD813Bc394deB899aBf'),\n      decimals: 10,\n      ids: {\n        id: '29085784439601774464560083082574142143', // registered XC20 id for ERC20 tokens\n      },\n      symbol: 'xcvDOT',\n    }),\n    ChainAsset.fromAsset(vfil, {\n      address: getAddress('0xFffffFffCd0aD0EA6576B7b285295c85E94cf4c1'),\n      decimals: 18,\n      ids: {\n        id: '272547899416482196831721420898811311297', // registered XC20 id for ERC20 tokens\n      },\n      symbol: 'xcvFIL',\n    }),\n    ChainAsset.fromAsset(vglmr, {\n      address: getAddress('0xFfFfFFff99dABE1a8De0EA22bAa6FD48fdE96F6c'),\n      decimals: 18,\n      ids: {\n        id: '204507659831918931608354793288110796652', // registered XC20 id for ERC20 tokens\n      },\n      symbol: 'xcvGLMR',\n    }),\n    ChainAsset.fromAsset(vmanta, {\n      address: getAddress('0xFFfFFfFfdA2a05FB50e7ae99275F4341AEd43379'),\n      decimals: 18,\n      ids: {\n        id: '289989900872525819559124583375550296953', // registered XC20 id for ERC20 tokens\n      },\n      symbol: 'xcvMANTA',\n    }),\n    ChainAsset.fromAsset(wbtc, {\n      address: getAddress('0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D'),\n      decimals: 8,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(weth, {\n      address: getAddress('0xab3f0245B83feB11d15AAffeFD7AD465a59817eD'),\n      decimals: 18,\n      ids: {\n        palletInstance: 110,\n      },\n    }),\n    ChainAsset.fromAsset(ztg, {\n      address: getAddress('0xFFFFfffF71815ab6142E0E20c7259126C6B40612'),\n      decimals: 10,\n      ids: {\n        id: '150874409661081770150564009349448205842',\n      },\n      symbol: 'xcZTG',\n    }),\n    ChainAsset.fromAsset(pink, {\n      address: getAddress('0xfFfFFfFf30478fAFBE935e466da114E14fB3563d'),\n      decimals: 10,\n      ids: {\n        id: '64174511183114006009298114091987195453',\n      },\n      symbol: 'xcPINK',\n    }),\n    ChainAsset.fromAsset(stink, {\n      address: getAddress('0xffffffff54c556bd1d0f64ec6c78f1b477525e56'),\n      decimals: 10,\n      ids: {\n        id: '112679793397406599376365943185137098326',\n      },\n      symbol: 'xcSTINK',\n    }),\n    ChainAsset.fromAsset(apillon, {\n      address: getAddress('0xffffffff8a9736b44ebf188972725bed67bf694e'),\n      decimals: 18,\n      ids: {\n        id: '184218609779515850660274730699350567246',\n      },\n      symbol: 'xcNCTR',\n    }),\n    ChainAsset.fromAsset(wifd, {\n      address: getAddress('0xffffffff2e1d1ac9ea1686255befe995b31abc96'),\n      decimals: 10,\n      ids: {\n        id: '61295607754960722617854661686514597014',\n      },\n      symbol: 'xcWIFD',\n    }),\n    ChainAsset.fromAsset(wbtce, {\n      address: getAddress('0xffffffff1b4bb1ac5749f73d866ffc91a3432c47'),\n      decimals: 8,\n      ids: {\n        id: '36282181791341254438422467838694599751',\n      },\n    }),\n    ChainAsset.fromAsset(wethe, {\n      address: getAddress('0xffffffff86829afe1521ad2296719df3ace8ded7'),\n      decimals: 18,\n      ids: {\n        id: '178794693648360392906933130845919698647',\n      },\n    }),\n    ChainAsset.fromAsset(wstethe, {\n      address: getAddress('0xffffffff5d5deb44bf7278dee5381beb24cb6573'),\n      decimals: 18,\n      ids: {\n        id: '124105859028862849477017063633156007283',\n      },\n    }),\n    ChainAsset.fromAsset(laos, {\n      address: getAddress('0xffffffffdd704e8e824a5eec47de88f5b9e13588'),\n      decimals: 18,\n      ids: {\n        id: '294342517635293430510451841925413680520',\n      },\n      symbol: 'xcLAOS',\n    }),\n    ChainAsset.fromAsset(eurc, {\n      address: getAddress('0xffffffffa608ec1332131289cbd8a97a0bb3d90f'),\n      decimals: 12,\n      ids: {\n        id: '220698173844663170714431919474506717455',\n      },\n      symbol: 'xcEURC.s',\n    }),\n    ChainAsset.fromAsset(movr, {\n      address: getAddress('0xffffffff54c47f43713fd9211724362697f1a302'),\n      decimals: 18,\n      ids: {\n        id: 112675423039561305557350799263187182338n,\n      },\n      symbol: 'MOVR.mr',\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  explorer: {\n    base: 'https://moonbeam.moonscan.io',\n    txPath: '/tx',\n  },\n  genesisHash:\n    '0xfe58ea77779b7abda7da4ec526d14db9b1e9cd40a217c34892af80a9b332b76d',\n  id: 1284,\n  isEvmSigner: true,\n  key: 'moonbeam',\n  name: 'Moonbeam',\n  nativeAsset: glmr,\n  parachainId: 2004,\n  rpc: 'https://rpc.api.moonbeam.network',\n  ss58Format: 1284,\n  ws: ['wss://wss.api.moonbeam.network'],\n  wh: {\n    name: 'Moonbeam',\n  },\n});\n\nexport const moonriver = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(aseed, {\n      address: getAddress('0xFfFffFFfa1B026a00FbAA67c86D5d1d5BF8D8228'),\n      decimals: 12,\n      ids: {\n        id: '214920334981412447805621250067209749032',\n      },\n    }),\n    ChainAsset.fromAsset(bnc, {\n      address: getAddress('0xFFfFFfFFF075423be54811EcB478e911F22dDe7D'),\n      decimals: 12,\n      ids: {\n        id: '319623561105283008236062145480775032445',\n      },\n      symbol: 'xcBNC',\n    }),\n    ChainAsset.fromAsset(csm, {\n      address: getAddress('0xffFfFFFf519811215E05eFA24830Eebe9c43aCD7'),\n      decimals: 12,\n      ids: {\n        id: '108457044225666871745333730479173774551',\n      },\n      symbol: 'xcCSM',\n    }),\n    ChainAsset.fromAsset(kar, {\n      address: getAddress('0xFfFFFFfF08220AD2E6e157f26eD8bD22A336A0A5'),\n      decimals: 12,\n      ids: {\n        id: '10810581592933651521121702237638664357',\n      },\n      symbol: 'xcKAR',\n    }),\n    ChainAsset.fromAsset(kbtc, {\n      address: getAddress('0xFFFfFfFfF6E528AD57184579beeE00c5d5e646F0'),\n      decimals: 8,\n      ids: {\n        id: '328179947973504579459046439826496046832',\n      },\n      symbol: 'xcKBTC',\n    }),\n    ChainAsset.fromAsset(kint, {\n      address: getAddress('0xfffFFFFF83F4f317d3cbF6EC6250AeC3697b3fF2'),\n      decimals: 12,\n      ids: {\n        id: '175400718394635817552109270754364440562',\n      },\n      symbol: 'xcKINT',\n    }),\n    ChainAsset.fromAsset(ksm, {\n      address: getAddress('0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080'),\n      decimals: 12,\n      ids: {\n        id: '42259045809535163221576417993425387648',\n      },\n      symbol: 'xcKSM',\n    }),\n    ChainAsset.fromAsset(lit, {\n      address: getAddress('0xfffFFfFF31103d490325BB0a8E40eF62e2F614C0'),\n      decimals: 12,\n      ids: {\n        id: '65216491554813189869575508812319036608',\n      },\n      symbol: 'xcLIT',\n    }),\n    ChainAsset.fromAsset(movr, {\n      address: '0x0000000000000000000000000000000000000802',\n      decimals: 18,\n      min: 0.01,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n    ChainAsset.fromAsset(pha, {\n      address: getAddress('0xffFfFFff8E6b63d9e447B6d4C45BDA8AF9dc9603'),\n      decimals: 12,\n      ids: {\n        id: '189307976387032586987344677431204943363',\n      },\n      symbol: 'xcPHA',\n    }),\n    ChainAsset.fromAsset(pica, {\n      address: getAddress('0xFffFfFFf7dD9B9C60ac83e49D7E3E1f7A1370aD2'),\n      decimals: 12,\n      ids: {\n        id: '167283995827706324502761431814209211090',\n      },\n      symbol: 'xcPICA',\n    }),\n    ChainAsset.fromAsset(rmrk, {\n      address: getAddress('0xffffffFF893264794d9d57E1E0E21E0042aF5A0A'),\n      decimals: 10,\n      ids: {\n        id: '182365888117048807484804376330534607370',\n      },\n      symbol: 'xcRMRK',\n    }),\n    ChainAsset.fromAsset(sdn, {\n      address: getAddress('0xFFFfffFF0Ca324C842330521525E7De111F38972'),\n      decimals: 18,\n      ids: {\n        id: '16797826370226091782818345603793389938',\n      },\n      symbol: 'xcSDN',\n    }),\n    ChainAsset.fromAsset(teer, {\n      address: getAddress('0xFfFfffFf4F0CD46769550E5938F6beE2F5d4ef1e'),\n      decimals: 12,\n      ids: {\n        id: '105075627293246237499203909093923548958',\n      },\n      symbol: 'xcTEER',\n    }),\n    ChainAsset.fromAsset(tnkr, {\n      address: getAddress('0xfFFfFffF683474B842852111cc31d470bD8f5081'),\n      decimals: 12,\n      ids: {\n        id: '138512078356357941985706694377215053953',\n      },\n      symbol: 'xcTNKR',\n    }),\n    ChainAsset.fromAsset(tur, {\n      address: getAddress('0xfFffffFf6448d0746f2a66342B67ef9CAf89478E'),\n      decimals: 10,\n      ids: {\n        id: '133300872918374599700079037156071917454',\n      },\n      symbol: 'xcTUR',\n    }),\n    //  USDT from Kusama Ecosystem\n    ChainAsset.fromAsset(usdtksm, {\n      address: getAddress('0xFFFFFFfFea09FB06d082fd1275CD48b191cbCD1d'),\n      decimals: 6,\n      ids: {\n        id: '311091173110107856861649819128533077277',\n      },\n      symbol: 'xcUSDT',\n    }),\n    ChainAsset.fromAsset(xrt, {\n      address: getAddress('0xFffFFffF51470Dca3dbe535bD2880a9CcDBc6Bd9'),\n      decimals: 9,\n      ids: {\n        id: '108036400430056508975016746969135344601',\n      },\n      symbol: 'xcXRT',\n    }),\n    ChainAsset.fromAsset(vbnc, {\n      address: getAddress('0xFFffffff3646A00f78caDf8883c5A2791BfCDdc4'),\n      decimals: 12,\n      ids: {\n        id: '72145018963825376852137222787619937732',\n      },\n      symbol: 'xcvBNC',\n    }),\n    ChainAsset.fromAsset(vksm, {\n      address: getAddress('0xFFffffFFC6DEec7Fc8B11A2C8ddE9a59F8c62EFe'),\n      decimals: 12,\n      ids: {\n        id: '264344629840762281112027368930249420542',\n      },\n      symbol: 'xcvKSM',\n    }),\n    ChainAsset.fromAsset(vmovr, {\n      address: getAddress('0xfFfffFfF98e37bF6a393504b5aDC5B53B4D0ba11'),\n      decimals: 18,\n      ids: {\n        id: '203223821023327994093278529517083736593',\n      },\n      symbol: 'xcvMOVR',\n    }),\n    ChainAsset.fromAsset(glmr, {\n      address: getAddress('0xffffffff1a49463978f19dfd6983f2fa1885c254'),\n      decimals: 18,\n      ids: {\n        id: 34940389883188672429634411751708934740n,\n      },\n      symbol: 'GLMR.mb',\n    }),\n    ChainAsset.fromAsset(usdc, {\n      address: getAddress('0xffffffff2215880e56fe63a96e54e073757c3092'),\n      decimals: 6,\n      ids: {\n        id: 45305549634539991528356533909445161106n,\n      },\n      symbol: 'xcUSDC.mb',\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      address: getAddress('0xffffffff9e27ab60fadfd33abf71b39a7445f7ed'),\n      decimals: 6,\n      ids: {\n        id: 210223998887087232417477484708341610477n,\n      },\n      symbol: 'whUSDC.mb',\n    }),\n    // Bridged USDT from Moonbeam Ecosystem\n    ChainAsset.fromAsset(usdt, {\n      address: getAddress('0xffffffffc70260a3bf46a91cf87b6f5e6abba712'),\n      decimals: 6,\n      ids: {\n        id: 264528715839624829046161791069655377682n,\n      },\n      symbol: 'xcUSDT.mb',\n    }),\n  ],\n  contracts: {\n    Batch: '0x0000000000000000000000000000000000000808',\n    XcmUtils: '0x000000000000000000000000000000000000080C',\n    XcmPrecompile: '0x000000000000000000000000000000000000081A',\n  },\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0x401a1f9dca3da46f5c4091016c8a2f26dcea05865116b286f60f668207d1474b',\n  id: 1285,\n  isEvmSigner: true,\n  key: 'moonriver',\n  name: 'Moonriver',\n  nativeAsset: movr,\n  parachainId: 2023,\n  rpc: 'https://rpc.api.moonriver.moonbeam.network',\n  ss58Format: 1285,\n  ws: ['wss://wss.api.moonriver.moonbeam.network'],\n});\n\nexport const neuroweb = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(neuro, {\n      decimals: 12,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174',\n  key: 'neuroweb',\n  name: 'NeuroWeb',\n  nativeAsset: neuro,\n  parachainId: 2043,\n  ss58Format: 101,\n  ws: ['wss://parachain-rpc.origin-trail.network'],\n});\n\nexport const originTrailAlphanet = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(otp, {\n      decimals: 12,\n      ids: {\n        palletInstance: 10,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0xe23ee00b26d1cdc7939d83dfe829c4f970cd26071f90d237cb2aded2b23214bf',\n  isTestChain: true,\n  key: 'origin-trail-alphanet',\n  name: 'OriginTrail Alphanet',\n  nativeAsset: otp,\n  parachainId: 2043,\n  ss58Format: 101,\n  /* cspell:disable-next-line */\n  ws: ['wss://otp-lunaris-alpha-node-02.origin-trail.network'],\n});\n\nexport const peaqAlphanet = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(agng, {\n      decimals: 18,\n      ids: {\n        id: 0,\n      },\n    }),\n    ChainAsset.fromAsset(dev, {\n      decimals: 18,\n      ids: {\n        id: 1000,\n      },\n    }),\n    ChainAsset.fromAsset(ftmwh, {\n      decimals: 18,\n      ids: {\n        id: 1001,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  explorer: {\n    base: getPolkadotAppsUrl('wss://moonbeam.peaq.network'),\n  },\n  genesisHash:\n    '0x2dfcd5c560f6db1667cbc2bc3791dfd337f88f400af6de39b1b8638ee7af6ed4',\n  isTestChain: true,\n  key: 'peaq-Alphanet',\n  name: 'peaq Alphanet',\n  nativeAsset: agng,\n  parachainId: 3013,\n  ss58Format: 42,\n  ws: ['wss://moonbeam.peaq.network'],\n});\n\nexport const peaqChain = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(peaq, {\n      decimals: 18,\n      ids: {\n        id: 0,\n      },\n    }),\n    ChainAsset.fromAsset(dot, {\n      decimals: 10,\n      ids: {\n        id: 10,\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: 1000,\n      },\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      decimals: 6,\n      ids: {\n        id: 1001,\n      },\n    }),\n    ChainAsset.fromAsset(weth, {\n      decimals: 18,\n      ids: {\n        id: 1002,\n      },\n    }),\n    ChainAsset.fromAsset(wbtc, {\n      decimals: 8,\n      ids: {\n        id: 1003,\n      },\n    }),\n    ChainAsset.fromAsset(dai, {\n      decimals: 18,\n      ids: {\n        id: 1004,\n      },\n    }),\n    ChainAsset.fromAsset(usdtwh, {\n      decimals: 6,\n      ids: {\n        id: 1005,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  explorer: {\n    base: getPolkadotAppsUrl('wss://peaq.api.onfinality.io/public-ws'),\n  },\n  genesisHash:\n    '0xd2a5d385932d1f650dae03ef8e2748983779ee342c614f80854d32b8cd8fa48c',\n  isTestChain: false,\n  key: 'peaq',\n  name: 'peaq',\n  nativeAsset: peaq,\n  parachainId: 3338,\n  ss58Format: 42,\n  ws: ['wss://peaq.api.onfinality.io/public-ws'],\n});\n\nexport const peaqEvm = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(peaq, {\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(glmr, {\n      address: getAddress('0xFfFfFffF000000000000000000000000000003e8'),\n      decimals: 18,\n      ids: {\n        id: '0xFfFfFffF000000000000000000000000000003e8',\n        minId: 1000,\n      },\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      address: getAddress('0xFffFffFF000000000000000000000000000003E9'),\n      decimals: 6,\n      ids: {\n        id: '0xFffFffFF000000000000000000000000000003E9',\n        minId: 1001,\n      },\n    }),\n    ChainAsset.fromAsset(weth, {\n      address: getAddress('0xFFFfFfFf000000000000000000000000000003ea'),\n      decimals: 18,\n      ids: {\n        id: '0xFFFfFfFf000000000000000000000000000003ea',\n        minId: 1002,\n      },\n    }),\n    ChainAsset.fromAsset(wbtc, {\n      address: getAddress('0xfffFFFFF000000000000000000000000000003eb'),\n      decimals: 8,\n      ids: {\n        id: '0xfffFFFFF000000000000000000000000000003eb',\n        minId: 1003,\n      },\n    }),\n    ChainAsset.fromAsset(dai, {\n      address: getAddress('0xfFffFFFF000000000000000000000000000003Ec'),\n      decimals: 18,\n      ids: {\n        id: '0xfFffFFFF000000000000000000000000000003Ec',\n        minId: 1004,\n      },\n    }),\n    ChainAsset.fromAsset(usdtwh, {\n      address: getAddress('0xfFffffFF000000000000000000000000000003Ed'),\n      decimals: 6,\n      ids: {\n        id: '0xfFffffFF000000000000000000000000000003Ed',\n        minId: 1005,\n      },\n    }),\n  ],\n  contracts: {\n    Xtokens: '0x0000000000000000000000000000000000000803',\n  },\n  ecosystem: Ecosystem.Polkadot,\n  explorer: {\n    base: 'https://peaq.subscan.io',\n  },\n  genesisHash:\n    '0xd2a5d385932d1f650dae03ef8e2748983779ee342c614f80854d32b8cd8fa48c',\n  id: 3338,\n  isEvmSigner: true,\n  isTestChain: false,\n  key: 'peaq-evm',\n  name: 'peaq EVM',\n  nativeAsset: peaq,\n  parachainId: 3338,\n  rpc: 'https://peaq.api.onfinality.io/public',\n  ss58Format: 42,\n  ws: ['wss://peaq.api.onfinality.io/public-ws'],\n});\n\nexport const peaqEvmAlphanet = new EvmParachain({\n  assets: [\n    ChainAsset.fromAsset(agng, {\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(dev, {\n      address: getAddress('0xFfFfFffF000000000000000000000000000003e8'),\n      decimals: 18,\n      ids: {\n        id: '0xFfFfFffF000000000000000000000000000003e8',\n        minId: 1000,\n      },\n    }),\n    ChainAsset.fromAsset(ftmwh, {\n      address: getAddress('0xFffFffFF000000000000000000000000000003E9'),\n      decimals: 18,\n      ids: {\n        id: '0xFffFffFF000000000000000000000000000003E9',\n        minId: 1001,\n      },\n    }),\n  ],\n  contracts: {\n    Batch: '0x0000000000000000000000000000000000000805',\n    XcmUtils: '0x0000000000000000000000000000000000000804',\n    Xtokens: '0x0000000000000000000000000000000000000803',\n  },\n  ecosystem: Ecosystem.AlphanetRelay,\n  explorer: {\n    base: getPolkadotAppsUrl('wss://moonbeam.peaq.network'),\n  },\n  genesisHash:\n    '0x2dfcd5c560f6db1667cbc2bc3791dfd337f88f400af6de39b1b8638ee7af6ed4',\n  id: 9990,\n  isEvmSigner: true,\n  isTestChain: true,\n  key: 'peaq-evm-Alphanet',\n  name: 'peaq EVM Alphanet',\n  nativeAsset: agng,\n  parachainId: 3013,\n  rpc: 'https://moonbeam.PEAQ.network',\n  ss58Format: 42,\n  ws: ['wss://moonbeam.peaq.network'],\n});\n\nexport const pendulum = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(axlusdc, {\n      decimals: 6,\n      ids: {\n        id: { XCM: 12 },\n      },\n    }),\n    ChainAsset.fromAsset(eurc, {\n      decimals: 12,\n      ids: {\n        id: {\n          Stellar: {\n            AlphaNum4: {\n              code: eurc.originSymbol,\n              issuer:\n                '0xcf4f5a26e2090bb3adcf02c7a9d73dbfe6659cc690461475b86437fa49c71136',\n            },\n          },\n        },\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { XCM: 6 },\n      },\n    }),\n    ChainAsset.fromAsset(pen, {\n      decimals: 12,\n      ids: {\n        id: 'Native',\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86',\n  key: 'pendulum',\n  name: 'Pendulum',\n  nativeAsset: pen,\n  parachainId: 2094,\n  ss58Format: 56,\n  ws: ['wss://rpc-pendulum.prd.pendulumchain.tech'],\n});\n\nexport const polkadot = new Parachain({\n  assets: [ChainAsset.fromAsset(dot, { decimals: 10 })],\n  checkSovereignAccountBalances: true,\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3',\n  isRelay: true,\n  key: 'polkadot',\n  name: 'Polkadot',\n  nativeAsset: dot,\n  parachainId: 0,\n  ss58Format: 0,\n  ws: [\n    'wss://polkadot-rpc.dwellir.com',\n    'wss://polkadot.api.onfinality.io/public-ws',\n    'wss://rpc.polkadot.io/',\n  ],\n});\n\nexport const polkadotAssetHub = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(usdt, {\n      decimals: 6,\n      ids: {\n        id: 1984,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(ded, {\n      decimals: 10,\n      ids: {\n        id: 30,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(dot, {\n      decimals: 10,\n    }),\n    ChainAsset.fromAsset(usdc, {\n      decimals: 6,\n      ids: {\n        id: 1337,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(pink, {\n      decimals: 10,\n      ids: {\n        id: 23,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(stink, {\n      decimals: 10,\n      ids: {\n        id: 42069,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(apillon, {\n      decimals: 18,\n      ids: {\n        id: 1024,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(wifd, {\n      decimals: 10,\n      ids: {\n        id: 17,\n        palletInstance: 50,\n      },\n    }),\n    ChainAsset.fromAsset(wbtce, {\n      address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n      decimals: 8,\n    }),\n    ChainAsset.fromAsset(wethe, {\n      address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n      decimals: 18,\n    }),\n    ChainAsset.fromAsset(wstethe, {\n      address: '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',\n      decimals: 18,\n    }),\n  ],\n  checkSovereignAccountBalances: true,\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f',\n  key: 'polkadot-asset-hub',\n  name: 'Polkadot Asset Hub',\n  nativeAsset: dot,\n  parachainId: 1000,\n  ss58Format: 42,\n  ws: [\n    'wss://polkadot-asset-hub-rpc.polkadot.io',\n    'wss://statemint.api.onfinality.io/public-ws',\n  ],\n});\n\nexport const robonomics = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(xrt, {\n      decimals: 9,\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0x631ccc82a078481584041656af292834e1ae6daab61d2875b4dd0c14bb9b17bc',\n  key: 'robonomics',\n  name: 'Robonomics',\n  nativeAsset: xrt,\n  parachainId: 2048,\n  ss58Format: 32,\n  ws: [\n    'wss://kusama.rpc.robonomics.network/',\n    'wss://robonomics-rpc.dwellir.com',\n  ],\n});\n\nexport const shiden = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(movr, {\n      decimals: 18,\n      ids: {\n        id: 18446744073709551620n,\n      },\n    }),\n    ChainAsset.fromAsset(sdn, {\n      decimals: 18,\n    }),\n  ],\n  ecosystem: Ecosystem.Kusama,\n  genesisHash:\n    '0xf1cf9022c7ebb34b162d5b5e34e705a5a740b2d0ecc1009fb89023e62a488108',\n  key: 'shiden',\n  name: 'Shiden',\n  nativeAsset: sdn,\n  parachainId: 2007,\n  ss58Format: 5,\n  ws: [\n    'wss://rpc.shiden.astar.network',\n    'wss://shiden.api.onfinality.io/public-ws',\n  ],\n});\n\nexport const turingAlphanet = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(tur, {\n      decimals: 10,\n    }),\n    ChainAsset.fromAsset(dev, {\n      decimals: 18,\n      ids: {\n        id: 1,\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0x8288e57b61337833eb48e731c498e3c14652d15ead2abe5b86ba8b0fb51e917d',\n  isTestChain: true,\n  key: 'turing-alphanet',\n  name: 'Turing Alphanet',\n  nativeAsset: tur,\n  parachainId: 2114,\n  ss58Format: 51,\n  ws: ['wss://turing-moonbase.rpc.oak.tech/'],\n});\n\nexport const uniqueAlpha = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(auq, {\n      decimals: 0, // TODO: unknown for now\n      ids: {\n        id: { NativeAssetId: 'Here' },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.AlphanetRelay,\n  genesisHash:\n    '0xbdf55f33d9f0b390f56413ec803c693af348edae64a659760248974b48b9a99e',\n  isTestChain: true,\n  key: 'unique-alphanet',\n  name: 'Unique Alphanet',\n  nativeAsset: auq,\n  parachainId: 2095,\n  ss58Format: 255,\n  ws: ['wss://unique-alpha.unique.network'],\n});\n\nexport const zeitgeist = new Parachain({\n  assets: [\n    ChainAsset.fromAsset(ztg, {\n      decimals: 10,\n    }),\n    ChainAsset.fromAsset(usdcwh, {\n      decimals: 6,\n      ids: {\n        id: { ForeignAsset: 1 },\n      },\n    }),\n    ChainAsset.fromAsset(glmr, {\n      decimals: 18,\n      ids: {\n        id: { ForeignAsset: 3 },\n      },\n    }),\n  ],\n  ecosystem: Ecosystem.Polkadot,\n  genesisHash:\n    '0x1bf2a2ecb4a868de66ea8610f2ce7c8c43706561b6476031315f6640fe38e060',\n  key: 'zeitgeist',\n  name: 'Zeitgeist',\n  nativeAsset: ztg,\n  parachainId: 2092,\n  ss58Format: 73,\n  usesChainDecimals: true,\n  ws: ['wss://zeitgeist.api.onfinality.io/public-ws'],\n});\n\nexport const chainsList: AnyChain[] = [\n  acala,\n  alphanetAssetHub,\n  alphanetRelay,\n  astar,\n  bifrostKusama,\n  bifrostPolkadot,\n  centrifuge,\n  crustShadow,\n  darwinia,\n  ethereum,\n  hydration,\n  hydrationAlphanet,\n  interlay,\n  karura,\n  kintsugi,\n  kusama,\n  kusamaAssetHub,\n  laosAlphanet,\n  laosMainnet,\n  mantaParachain,\n  moonbaseAlpha,\n  moonbaseBeta,\n  moonbaseStage,\n  moonbeam,\n  moonriver,\n  moonlama,\n  moonsama,\n  neuroweb,\n  originTrailAlphanet,\n  peaqAlphanet,\n  peaqChain,\n  peaqEvm,\n  peaqEvmAlphanet,\n  pendulum,\n  polkadot,\n  polkadotAssetHub,\n  robonomics,\n  shiden,\n  turingAlphanet,\n  uniqueAlpha,\n  zeitgeist,\n];\n\nexport const chainsMap = new Map<string, AnyChain>(\n  chainsList.map((chain) => [chain.key, chain]),\n);\n","import type { AnyAsset, AnyChain } from '@moonbeam-network/xcm-types';\n\nexport function getKey(keyOrModel: string | AnyAsset | AnyChain): string {\n  if (typeof keyOrModel === 'string') {\n    return keyOrModel;\n  }\n\n  return keyOrModel.key;\n}\n","import type {\n  AnyAsset,\n  AnyChain,\n  Asset,\n  Ecosystem,\n} from '@moonbeam-network/xcm-types';\nimport { assetsMap } from '../assets';\nimport { chainsMap } from '../chains';\nimport { getKey } from '../config.utils';\nimport type { AssetRoute } from '../types/AssetRoute';\nimport type { ChainRoutes } from '../types/ChainRoutes';\nimport type { MrlAssetRoute } from '../types/MrlAssetRoute';\nimport type { MrlChainRoutes } from '../types/MrlChainRoutes';\n\n/**\n * Configuration options for initializing the ConfigService.\n * This interface defines the structure for configuring assets, chains, routes, and endpoints.\n */\nexport interface ConfigServiceOptions {\n  /**\n   * Optional map of assets where the key is the asset identifier and the value is the Asset object.\n   * If not provided, defaults to the predefined assetsMap.\n   */\n  assets?: Map<string, Asset>;\n\n  /**\n   * Optional map of chains where the key is the chain identifier and the value is the Chain object.\n   * If not provided, defaults to the predefined chainsMap.\n   */\n  chains?: Map<string, AnyChain>;\n\n  /**\n   * Routes configuration.\n   */\n  routes: Map<string, ChainRoutes | MrlChainRoutes>;\n}\nexport class ConfigService {\n  protected assets: Map<string, Asset>;\n\n  protected chains: Map<string, AnyChain>;\n\n  protected routes: Map<string, ChainRoutes | MrlChainRoutes>;\n\n  constructor(options: ConfigServiceOptions) {\n    this.assets = options.assets ?? assetsMap;\n    this.chains = options.chains ?? chainsMap;\n    this.routes = options.routes;\n  }\n\n  getAsset(keyOrAsset: string | Asset): Asset {\n    const key = getKey(keyOrAsset);\n    const asset = this.assets.get(key);\n\n    if (!asset) {\n      throw new Error(`Asset ${key} not found`);\n    }\n\n    return asset;\n  }\n\n  getEcosystemAssets(ecosystem?: Ecosystem): Asset[] {\n    if (!ecosystem) {\n      return Array.from(this.assets.values());\n    }\n\n    return Array.from(\n      new Set(\n        Array.from(this.routes.values())\n          .filter((routes) => routes.chain.ecosystem === ecosystem)\n          .map((routes) => routes.getRoutes())\n          .flat(2)\n          .map((route) => route.source.asset),\n      ),\n    ).sort((a, b) => a.key.localeCompare(b.key));\n  }\n\n  getChain(keyOrChain: string | AnyChain): AnyChain {\n    const key = getKey(keyOrChain);\n    const chain = this.chains.get(key);\n\n    if (!chain) {\n      throw new Error(`Chain ${key} not found`);\n    }\n\n    return chain;\n  }\n\n  getChainRoutes(keyOrChain: string | AnyChain): ChainRoutes | MrlChainRoutes {\n    const key = getKey(keyOrChain);\n    const route = this.routes.get(key);\n\n    if (!route) {\n      throw new Error(`ChainRoute for ${key} not found`);\n    }\n\n    return route;\n  }\n\n  getSourceChains({\n    asset,\n    ecosystem,\n  }: {\n    asset?: string | Asset;\n    ecosystem?: Ecosystem;\n  }): AnyChain[] {\n    const routes = Array.from(this.routes.values()).filter((chainRoutes) => {\n      if (!ecosystem) return true;\n\n      // Check if the chain's ecosystem matches\n      if (chainRoutes.chain.ecosystem === ecosystem) return true;\n\n      // Check if any route has a bridgeChain with matching ecosystem\n      const routesList = chainRoutes.getRoutes();\n      return routesList.some((route) => {\n        const mrlRoute = route as MrlAssetRoute;\n        return mrlRoute.mrl?.bridgeChain?.chain?.ecosystem === ecosystem;\n      });\n    });\n\n    if (!asset) {\n      return routes.map((route) => route.chain);\n    }\n\n    return routes\n      .filter((route) => route.getAssetRoutes(asset).length)\n      .map((route) => route.chain);\n  }\n\n  getDestinationChains({\n    asset,\n    source,\n  }: {\n    asset?: string | AnyAsset;\n    source: string | AnyChain;\n  }): AnyChain[] {\n    const chainRoutes = this.getChainRoutes(source);\n\n    if (asset) {\n      return chainRoutes.getAssetDestinations(asset);\n    }\n\n    return Array.from(\n      new Set(\n        chainRoutes.getRoutes().map((routes) => routes.destination.chain),\n      ),\n    );\n  }\n\n  getAssetRoute({\n    asset,\n    source,\n    destination,\n  }: {\n    asset: string | AnyAsset;\n    source: string | AnyChain;\n    destination: string | AnyChain;\n  }): AssetRoute | MrlAssetRoute {\n    const routes = this.getChainRoutes(source);\n\n    return routes.getAssetRoute(asset, destination);\n  }\n\n  getRouteAssets({\n    source,\n    destination,\n  }: {\n    source: string | AnyChain;\n    destination: string | AnyChain;\n  }): Asset[] {\n    const routes = this.getChainRoutes(source);\n\n    return routes.getDestinationAssets(destination);\n  }\n\n  updateAsset(asset: Asset): void {\n    this.assets.set(asset.key, asset);\n  }\n\n  updateChain(chain: AnyChain): void {\n    this.chains.set(chain.key, chain);\n  }\n\n  updateChainRoute(route: ChainRoutes): void {\n    this.routes.set(route.chain.key, route);\n  }\n\n  updateEndpoints(endpoints: {\n    [key: string]: {\n      rpc: string;\n      ws: string[];\n    };\n  }): void {\n    for (const [chainKey, endpoint] of Object.entries(endpoints)) {\n      let chain = this.chains.get(chainKey);\n      if (!chain) continue;\n\n      if ('ws' in chain && endpoint.ws.length && endpoint.ws.at(0)) {\n        chain = chain.copyWith({\n          ws: endpoint.ws,\n        });\n      }\n\n      if ('rpc' in chain && endpoint.rpc) {\n        chain = chain.copyWith({\n          rpc: endpoint.rpc,\n        });\n      }\n\n      this.chains.set(chainKey, chain);\n    }\n  }\n}\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { devBeta, devStage, pizza } from '../assets';\nimport { moonbaseBeta, moonbaseStage } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbaseBetaRoutes = new ChainRoutes({\n  chain: moonbaseBeta,\n  routes: [\n    {\n      source: {\n        asset: devBeta,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: devBeta,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: devBeta,\n        chain: moonbaseStage,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X1(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: devStage,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: devStage,\n        chain: moonbaseStage,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: devStage,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X3(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pizza,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: pizza,\n        chain: moonbaseStage,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: pizza,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X2(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import type {\n  AssetMinConfigBuilder,\n  BalanceConfigBuilder,\n  ContractConfigBuilder,\n  EventMonitoringConfig,\n  ExtrinsicConfigBuilder,\n  FeeConfigBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport type {\n  AnyChain,\n  Asset,\n  ChainAsset,\n  SetOptional,\n} from '@moonbeam-network/xcm-types';\n\nexport interface AssetRouteConstructorParams {\n  source: SourceConfig;\n  destination: DestinationConfig;\n  contract?: ContractConfigBuilder;\n  extrinsic?: ExtrinsicConfigBuilder;\n  monitoring?: EventMonitoringConfig;\n}\n\nexport interface SourceConfig {\n  asset: Asset;\n  chain: AnyChain;\n  balance: BalanceConfigBuilder;\n  fee: FeeConfig;\n  destinationFee?: {\n    asset?: Asset;\n    balance: BalanceConfigBuilder;\n  };\n  min?: AssetMinConfigBuilder;\n}\n\nexport interface DestinationConfig extends Omit<SourceConfig, 'fee'> {\n  fee: FeeAmountConfig;\n}\n\nexport interface FeeConfig {\n  asset: Asset;\n  balance: BalanceConfigBuilder;\n  // NOTE: Sometimes we need to add some extra amount (\"XCM Delivery Fee\") to a fee\n  // that is returned by \"paymentInfo\" for extrinsic to not fail.\n  extra?: number;\n}\n\nexport interface FeeAmountConfig extends SetOptional<FeeConfig, 'balance'> {\n  amount: number | FeeConfigBuilder;\n}\n\nexport class AssetRoute {\n  readonly source: SourceConfig;\n\n  readonly destination: DestinationConfig;\n\n  readonly contract?: ContractConfigBuilder;\n\n  readonly extrinsic?: ExtrinsicConfigBuilder;\n\n  readonly monitoring?: EventMonitoringConfig;\n\n  constructor({\n    source,\n    destination,\n    contract,\n    extrinsic,\n    monitoring,\n  }: AssetRouteConstructorParams) {\n    this.source = source;\n    this.destination = destination;\n    this.contract = contract;\n    this.extrinsic = extrinsic;\n    this.monitoring = monitoring;\n  }\n\n  getDestinationFeeAssetOnSource(): ChainAsset {\n    return this.source.chain.getChainAsset(\n      this.source.destinationFee?.asset || this.destination.fee.asset,\n    );\n  }\n}\n","import type { AnyAsset, AnyChain, Asset } from '@moonbeam-network/xcm-types';\nimport { getKey } from '../config.utils';\nimport {\n  AssetRoute,\n  type AssetRouteConstructorParams,\n  type SourceConfig,\n} from './AssetRoute';\n\nexport interface ChainRoutesConstructorParams {\n  chain: AnyChain;\n  routes: RoutesParam[];\n}\n\ninterface RoutesParam extends Omit<AssetRouteConstructorParams, 'source'> {\n  source: Omit<SourceConfig, 'chain'>;\n}\n\nexport class ChainRoutes {\n  readonly chain: AnyChain;\n\n  protected routes: Map<string, AssetRoute>;\n\n  constructor({ chain, routes }: ChainRoutesConstructorParams) {\n    this.chain = chain;\n    this.routes = new Map(\n      routes.map(({ source, destination, contract, extrinsic, monitoring }) => [\n        `${source.asset.key}-${destination.chain.key}`,\n        new AssetRoute({\n          source: { ...source, chain },\n          destination,\n          contract,\n          extrinsic,\n          monitoring,\n        }),\n      ]),\n    );\n  }\n\n  getRoutes(): AssetRoute[] {\n    return Array.from(this.routes.values());\n  }\n\n  getAssetRoutes(keyOrAsset: string | AnyAsset): AssetRoute[] {\n    const key = getKey(keyOrAsset);\n\n    return this.getRoutes().filter((route) => route.source.asset.key === key);\n  }\n\n  getAssetDestinations(keyOrAsset: string | AnyAsset): AnyChain[] {\n    return this.getAssetRoutes(keyOrAsset).map(\n      (assetConfig) => assetConfig.destination.chain,\n    );\n  }\n\n  getDestinationAssets(keyOrChain: string | AnyChain): Asset[] {\n    const key = getKey(keyOrChain);\n\n    return this.getRoutes()\n      .filter((route) => route.destination.chain.key === key)\n      .map((route) => route.source.asset);\n  }\n\n  getAssetRoute(\n    asset: string | AnyAsset,\n    destination: string | AnyChain,\n  ): AssetRoute {\n    const assetKey = getKey(asset);\n    const destKey = getKey(destination);\n    const route = this.routes.get(`${assetKey}-${destKey}`);\n\n    if (!route) {\n      throw new Error(\n        `AssetRoute for asset ${assetKey} and destination ${destKey} not found`,\n      );\n    }\n\n    return route;\n  }\n}\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { devBeta, devStage, pizza } from '../assets';\nimport { moonbaseBeta, moonbaseStage } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbaseStageRoutes = new ChainRoutes({\n  chain: moonbaseStage,\n  routes: [\n    {\n      source: {\n        asset: devStage,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: devStage,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: devStage,\n        chain: moonbaseBeta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          asset: devStage,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X1(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .bridgeMessages()\n        .bridgeMessages(),\n    },\n    {\n      source: {\n        asset: devBeta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devStage,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: devBeta,\n        chain: moonbaseBeta,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: devBeta,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X3(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .bridgeMessages()\n        .bridgeMessages(),\n    },\n    {\n      source: {\n        asset: pizza,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devStage,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: devBeta,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: pizza,\n        chain: moonbaseBeta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X4(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { glmr, movr, usdc, usdcwh, usdt } from '../assets';\nimport { moonbeam, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbeamRoutes = new ChainRoutes({\n  chain: moonbeam,\n  routes: [\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .nativeAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: movr,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdc,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .localErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdcwh,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .localErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdt,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .localErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { lamaGLMR, pizza, pizzaUSDC, samaMOVR } from '../assets';\nimport { moonlama, moonsama } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonlamaRoutes = new ChainRoutes({\n  chain: moonlama,\n  routes: [\n    {\n      source: {\n        asset: lamaGLMR,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: lamaGLMR,\n        chain: moonsama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .nativeAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: samaMOVR,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: samaMOVR,\n        chain: moonsama,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: samaMOVR,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pizza,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: pizza,\n        chain: moonsama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: pizza,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .localErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pizzaUSDC,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: pizzaUSDC,\n        chain: moonsama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: pizzaUSDC,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .localErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { glmr, movr, usdc, usdcwh, usdt } from '../assets';\nimport { moonbeam, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonriverRoutes = new ChainRoutes({\n  chain: moonriver,\n  routes: [\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .nativeAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignAsset(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsLocation()\n        .foreignErc20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { lamaGLMR, pizza, pizzaUSDC, samaMOVR } from '../assets';\nimport { moonlama, moonsama } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonsamaRoutes = new ChainRoutes({\n  chain: moonsama,\n  routes: [\n    {\n      source: {\n        asset: samaMOVR,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: samaMOVR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: samaMOVR,\n        chain: moonlama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: samaMOVR,\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X1(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: lamaGLMR,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: samaMOVR,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: lamaGLMR,\n        chain: moonlama,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: lamaGLMR,\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n            isEcosystemBridge: true,\n          }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X3(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pizza,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: samaMOVR,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: pizza,\n        chain: moonlama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X4(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pizzaUSDC,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: samaMOVR,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        destinationFee: {\n          asset: lamaGLMR,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: pizzaUSDC,\n        chain: moonlama,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: lamaGLMR,\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n              isEcosystemBridge: true,\n            }),\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsToEcosystem()\n        .X4(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import type { ChainRoutes } from '../types/ChainRoutes';\nimport { moonbaseBetaRoutes } from './moonbaseBeta';\nimport { moonbaseStageRoutes } from './moonbaseStage';\nimport { moonbeamRoutes } from './moonbeam';\nimport { moonlamaRoutes } from './moonlama';\nimport { moonriverRoutes } from './moonriver';\nimport { moonsamaRoutes } from './moonsama';\n\nexport const crossEcosystemsRoutesList: ChainRoutes[] = [\n  moonbaseBetaRoutes,\n  moonbaseStageRoutes,\n  moonlamaRoutes,\n  moonsamaRoutes,\n  moonriverRoutes,\n  moonbeamRoutes,\n];\n\nexport const crossEcosystemsRoutesMap = new Map<string, ChainRoutes>(\n  crossEcosystemsRoutesList.map((config) => [config.chain.key, config]),\n);\n","import { BalanceBuilder, MrlBuilder } from '@moonbeam-network/xcm-builder';\nimport {\n  dai,\n  eth,\n  glmr,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtwh,\n  wbtc,\n  weth,\n} from '../assets';\nimport { ethereum, hydration, moonbeam, moonriver } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const ethereumRoutes = new MrlChainRoutes({\n  chain: ethereum,\n  routes: [\n    /**\n     * Destination Hydration\n     */\n    {\n      source: {\n        asset: eth,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: weth,\n          amount: 0.000002,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: weth,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: usdc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: usdcwh,\n          amount: 0.004,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: usdt,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: usdtwh,\n          amount: 0.004,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdtwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: dai,\n          amount: 0.004,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: wbtc,\n          amount: 0.0000001,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    /**\n     * Destination Moonbeam\n     */\n    {\n      source: {\n        asset: eth,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: weth,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: weth,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: usdc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdcwh,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: usdt,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdtwh,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdtwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dai,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: wbtc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 1,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: eth,\n          balance: BalanceBuilder().evm().native(),\n        },\n        destinationFee: {\n          asset: usdc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdcwh,\n          amount: 0.03, // TODO calculate\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.15,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n  ],\n});\n","import type {\n  BalanceConfigBuilder,\n  FeeConfigBuilder,\n  MrlConfigBuilder,\n  ProtocolFeeConfigBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport type { AnyParachain, Asset } from '@moonbeam-network/xcm-types';\nimport {\n  AssetRoute,\n  type AssetRouteConstructorParams,\n  type FeeConfig,\n  type SourceConfig,\n} from './AssetRoute';\n\nexport interface MrlAssetRouteConstructorParams\n  extends AssetRouteConstructorParams {\n  source: MrlSourceConfig;\n  mrl: MrlConfig;\n}\n\nexport interface MrlConfig {\n  isAutomaticPossible?: boolean;\n  transfer: MrlConfigBuilder;\n  bridgeChain: BridgeChainConfig;\n}\n\nexport interface ProtocolFeeConfig {\n  amount: number | ProtocolFeeConfigBuilder;\n  asset: Asset;\n  balance: BalanceConfigBuilder;\n}\n\nexport interface MrlSourceConfig extends SourceConfig {\n  /** Protocol bridge fee (e.g., Snowbridge fee) */\n  protocolFee?: ProtocolFeeConfig;\n  bridgeChainFee?: {\n    asset: Asset;\n    balance: BalanceConfigBuilder;\n  };\n}\n\nexport interface BridgeChainConfig {\n  asset: Asset;\n  balance: BalanceConfigBuilder;\n  chain: AnyParachain;\n  fee: BridgeChainFeeConfig;\n}\n\nexport interface BridgeChainFeeConfig extends FeeConfig {\n  amount: number | FeeConfigBuilder;\n}\n\nexport class MrlAssetRoute extends AssetRoute {\n  readonly mrl: MrlConfig & { isAutomaticPossible: boolean };\n  readonly source: MrlSourceConfig;\n\n  constructor({\n    source,\n    destination,\n    contract,\n    extrinsic,\n    mrl,\n  }: MrlAssetRouteConstructorParams & { source: MrlSourceConfig }) {\n    super({ source, destination, contract, extrinsic });\n    // Set the default value for isAutomaticPossible as true when not defined\n    this.mrl = {\n      ...mrl,\n      isAutomaticPossible: mrl.isAutomaticPossible ?? true,\n    };\n    this.source = source;\n  }\n}\n","import type { AnyAsset, AnyChain } from '@moonbeam-network/xcm-types';\nimport { ChainRoutes, type ChainRoutesConstructorParams } from './ChainRoutes';\nimport {\n  MrlAssetRoute,\n  type MrlAssetRouteConstructorParams,\n  type MrlSourceConfig,\n} from './MrlAssetRoute';\n\nexport interface MrlChainRoutesConstructorParams\n  extends ChainRoutesConstructorParams {\n  routes: MrlRoutesParam[];\n}\n\ninterface MrlRoutesParam\n  extends Omit<MrlAssetRouteConstructorParams, 'source'> {\n  source: Omit<MrlSourceConfig, 'chain'>;\n}\n\nexport class MrlChainRoutes extends ChainRoutes {\n  protected routes: Map<string, MrlAssetRoute>;\n\n  constructor({ chain, routes }: MrlChainRoutesConstructorParams) {\n    super({ chain, routes });\n    this.routes = new Map(\n      routes.map(({ source, destination, contract, extrinsic, mrl }) => [\n        `${source.asset.key}-${destination.chain.key}`,\n        new MrlAssetRoute({\n          source: { ...source, chain },\n          destination,\n          contract,\n          extrinsic,\n          mrl,\n        }),\n      ]),\n    );\n  }\n\n  getRoutes(): MrlAssetRoute[] {\n    return Array.from(this.routes.values());\n  }\n\n  getAssetRoute(\n    asset: string | AnyAsset,\n    destination: string | AnyChain,\n  ): MrlAssetRoute {\n    const route = super.getAssetRoute(asset, destination);\n    // Since we know this class only stores MrlAssetRoute instances,\n    // we can safely cast the parent's return value\n    return route as MrlAssetRoute;\n  }\n}\n","import { BalanceBuilder, MrlBuilder } from '@moonbeam-network/xcm-builder';\nimport {\n  dai,\n  eth,\n  glmr,\n  hdx,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtwh,\n  wbtc,\n  weth,\n} from '../assets';\nimport { ethereum, hydration, moonbeam } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const hydrationRoutes = new MrlChainRoutes({\n  chain: hydration,\n  routes: [\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        destinationFee: {\n          asset: weth,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: eth,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: eth,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().extrinsic().polkadotXcm().send(),\n        bridgeChain: {\n          asset: weth,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.1,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        destinationFee: {\n          asset: usdcwh,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().extrinsic().polkadotXcm().send(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.1, // TODO use xcmPaymentApi\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        destinationFee: {\n          asset: usdtwh,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdt,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().extrinsic().polkadotXcm().send(),\n        bridgeChain: {\n          asset: usdtwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.1,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        destinationFee: {\n          asset: dai,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dai,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().extrinsic().polkadotXcm().send(),\n        bridgeChain: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.1,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        destinationFee: {\n          asset: wbtc,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: wbtc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().extrinsic().polkadotXcm().send(),\n        bridgeChain: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0.1,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n  ],\n});\n","import { moonbaseAlpha } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const moonbaseAlphaRoutes = new MrlChainRoutes({\n  chain: moonbaseAlpha,\n  routes: [],\n});\n","import { moonbaseBeta } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const moonbaseBetaRoutes = new MrlChainRoutes({\n  chain: moonbaseBeta,\n  routes: [],\n});\n","import { BalanceBuilder, MrlBuilder } from '@moonbeam-network/xcm-builder';\nimport {\n  dai,\n  eth,\n  glmr,\n  peaq,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtwh,\n  wbtc,\n  weth,\n} from '../assets';\nimport { ethereum, moonbeam } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const moonbeamRoutes = new MrlChainRoutes({\n  chain: moonbeam,\n  routes: [\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: weth,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: eth,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().native(),\n        fee: {\n          asset: eth,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: weth,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: peaq,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: peaq,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: peaq,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: false,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: peaq,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: usdtwh,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdt,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: usdtwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dai,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: dai,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: wbtc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder().wormhole().wormhole().tokenTransfer(),\n        bridgeChain: {\n          asset: wbtc,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 0,\n            balance: BalanceBuilder().substrate().system().account(),\n          },\n        },\n      },\n    },\n  ],\n});\n","import { BalanceBuilder, MrlBuilder } from '@moonbeam-network/xcm-builder';\nimport { glmr, movr, usdc, usdcwh } from '../assets';\nimport { ethereum, moonbeam, moonriver } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const moonriverRoutes = new MrlChainRoutes({\n  chain: moonriver,\n  routes: [\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        destinationFee: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        bridgeChainFee: {\n          asset: glmr,\n          balance: BalanceBuilder().evm().erc20(),\n        },\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().evm().native(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: ethereum,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: usdc,\n          amount: 0,\n        },\n      },\n      mrl: {\n        isAutomaticPossible: true,\n        transfer: MrlBuilder()\n          .wormhole()\n          .contract()\n          .Batch()\n          .transferAssetsAndMessageViaXcmPrecompile(),\n        bridgeChain: {\n          asset: usdcwh,\n          balance: BalanceBuilder().evm().erc20(),\n          chain: moonbeam,\n          fee: {\n            asset: glmr,\n            amount: 1, // TODO: needs calculation\n            balance: BalanceBuilder().evm().native(),\n          },\n        },\n      },\n    },\n  ],\n});\n","import { peaqAlphanet } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const peaqAlphanetRoutes = new MrlChainRoutes({\n  chain: peaqAlphanet,\n  routes: [],\n});\n","import { peaqEvmAlphanet } from '../chains';\nimport { MrlChainRoutes } from '../types/MrlChainRoutes';\n\nexport const peaqEvmAlphanetRoutes = new MrlChainRoutes({\n  chain: peaqEvmAlphanet,\n  routes: [],\n});\n","import type { MrlChainRoutes } from '../types/MrlChainRoutes';\nimport { ethereumRoutes } from './ethereum';\nimport { hydrationRoutes } from './hydration';\nimport { moonbaseAlphaRoutes } from './moonbaseAlpha';\nimport { moonbaseBetaRoutes } from './moonbaseBeta';\nimport { moonbeamRoutes } from './moonbeam';\nimport { moonriverRoutes } from './moonriver';\nimport { peaqAlphanetRoutes } from './peaqAlphanet';\nimport { peaqEvmAlphanetRoutes } from './peaqEvmAlphanet';\n\nexport const mrlRoutesList: MrlChainRoutes[] = [\n  ethereumRoutes,\n  hydrationRoutes,\n  moonbaseAlphaRoutes,\n  moonbaseBetaRoutes,\n  moonbeamRoutes,\n  moonriverRoutes,\n  peaqAlphanetRoutes,\n  peaqEvmAlphanetRoutes,\n];\n\nexport const mrlRoutesMap = new Map<string, MrlChainRoutes>(\n  mrlRoutesList.map((config) => [config.chain.key, config]),\n);\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { aca, aseed, glmr, ldot } from '../assets';\nimport { acala, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonbeam = MonitoringBuilder()\n  .monitorEvent()\n  .xTokens()\n  .messageQueue();\n\nexport const acalaRoutes = new ChainRoutes({\n  chain: acala,\n  routes: [\n    {\n      source: {\n        asset: aca,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: aca,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: aca,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: aca,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: aseed,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: aca,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: aseed,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: aseed,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: aca,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: ldot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: aca,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: ldot,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: ldot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { tt1, unit } from '../assets';\nimport { alphanetAssetHub, moonbaseAlpha } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst extra = 0.036;\n\nexport const alphanetAssetHubRoutes = new ChainRoutes({\n  chain: alphanetAssetHub,\n  routes: [\n    {\n      source: {\n        asset: unit,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: unit,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: unit,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: false }),\n          asset: unit,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .here(1),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: tt1,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: unit,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: tt1,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: unit,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { unit } from '../assets';\nimport { alphanetRelay, moonbaseAlpha } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const alphanetRelayRoutes = new ChainRoutes({\n  chain: alphanetRelay,\n  routes: [\n    {\n      source: {\n        asset: unit,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: unit,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: unit,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: unit,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .xcmPallet()\n        .transferAssetsUsingTypeAndThen()\n        .here(),\n      monitoring: MonitoringBuilder().monitorEvent().xcmPallet().messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { astr, glmr } from '../assets';\nimport { astar, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const astarRoutes = new ChainRoutes({\n  chain: astar,\n  routes: [\n    {\n      source: {\n        asset: astr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: astr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: astr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: astr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .here(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: astr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .X2PalletInstance(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { bnc, movr, vbnc, vksm, vmovr } from '../assets';\nimport { bifrostKusama, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonriver = MonitoringBuilder()\n  .monitorEvent()\n  .polkadotXcm()\n  .messageQueue();\n\nexport const bifrostKusamaRoutes = new ChainRoutes({\n  chain: bifrostKusama,\n  routes: [\n    {\n      source: {\n        asset: bnc,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: bnc,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonriver,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: movr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X2(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: vbnc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vbnc,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: vksm,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vksm,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: vmovr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vmovr,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonriver,\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { bnc, fil, glmr, vastr, vdot, vfil, vglmr, vmanta } from '../assets';\nimport { bifrostPolkadot, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonbeam = MonitoringBuilder()\n  .monitorEvent()\n  .polkadotXcm()\n  .messageQueue();\n\nexport const bifrostPolkadotRoutes = new ChainRoutes({\n  chain: bifrostPolkadot,\n  routes: [\n    {\n      source: {\n        asset: bnc,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: bnc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: fil,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: fil,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X2(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: vastr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vastr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: vdot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: vdot,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: vdot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: vfil,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vfil,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: vglmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vglmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: vmanta,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: bnc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: vmanta,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: bnc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssets()\n        .X1GeneralKey(),\n      monitoring: monitoringToMoonbeam,\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { cfg } from '../assets';\nimport { centrifuge, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const centrifugeRoutes = new ChainRoutes({\n  chain: centrifuge,\n  routes: [\n    {\n      source: {\n        asset: cfg,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: cfg,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: cfg,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: cfg,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { csm, movr } from '../assets';\nimport { crustShadow, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const crustShadowRoutes = new ChainRoutes({\n  chain: crustShadow,\n  routes: [\n    {\n      source: {\n        asset: csm,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: csm,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: csm,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: csm,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .here(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: csm,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonriver,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: movr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { ring } from '../assets';\nimport { darwinia, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const darwiniaRoutes = new ChainRoutes({\n  chain: darwinia,\n  routes: [\n    {\n      source: {\n        asset: ring,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: ring,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: ring,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: ring,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .X1(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { dai, glmr, hdx, usdcwh, usdtwh, wbtc, weth } from '../assets';\nimport { hydration, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonbeam = MonitoringBuilder()\n  .monitorEvent()\n  .polkadotXcm()\n  .messageQueue();\n\nexport const hydrationRoutes = new ChainRoutes({\n  chain: hydration,\n  routes: [\n    {\n      source: {\n        asset: hdx,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: hdx,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: hdx,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X1(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X2(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({\n              isAssetReserveChain: true,\n            }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: monitoringToMoonbeam,\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { dev, ftmwh, hdx, usdcwh } from '../assets';\nimport { hydrationAlphanet, moonbaseAlpha } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\n// FIXME: has to be verified\nexport const hydrationAlphanetRoutes = new ChainRoutes({\n  chain: hydrationAlphanet,\n  routes: [\n    {\n      source: {\n        asset: hdx,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: hdx,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: hdx,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: hdx,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { glmr, ibtc, intr } from '../assets';\nimport { interlay, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const interlayRoutes = new ChainRoutes({\n  chain: interlay,\n  routes: [\n    {\n      source: {\n        asset: intr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: intr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: intr,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: intr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().ethereumXcm(),\n    },\n    {\n      source: {\n        asset: ibtc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: intr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: ibtc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: intr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: intr,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { aseed, kar, movr } from '../assets';\nimport { karura, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonriver = MonitoringBuilder()\n  .monitorEvent()\n  .xTokens()\n  .messageQueue();\n\nexport const karuraRoutes = new ChainRoutes({\n  chain: karura,\n  routes: [\n    {\n      source: {\n        asset: kar,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: kar,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: kar,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: kar,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: aseed,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: kar,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: aseed,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: aseed,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: kar,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonriver,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: movr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonriver,\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { kbtc, kint } from '../assets';\nimport { kintsugi, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const kintsugiRoutes = new ChainRoutes({\n  chain: kintsugi,\n  routes: [\n    {\n      source: {\n        asset: kint,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: kint,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: kint,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: kint,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n    {\n      source: {\n        asset: kbtc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: kint,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: kbtc,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: kint,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { ksm, rmrk, usdtksm } from '../assets';\nimport { kusamaAssetHub, moonriver } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst extra = 0.0015;\n\nconst monitoringToMoonriver = MonitoringBuilder()\n  .monitorEvent()\n  .polkadotXcm()\n  .messageQueue();\n\nexport const kusamaAssetHubRoutes = new ChainRoutes({\n  chain: kusamaAssetHub,\n  routes: [\n    {\n      source: {\n        asset: ksm,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: ksm,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: ksm,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: false }),\n          asset: ksm,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .here(1),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: rmrk,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: ksm,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: rmrk,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: rmrk,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonriver,\n    },\n    {\n      source: {\n        asset: usdtksm,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: ksm,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: usdtksm,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: usdtksm,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonriver,\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { maos } from '../assets';\nimport { laosAlphanet, moonbaseAlpha } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const laosAlphanetRoutes = new ChainRoutes({\n  chain: laosAlphanet,\n  routes: [\n    {\n      source: {\n        asset: maos,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: maos,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: maos,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: maos,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .here(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { glmr, manta } from '../assets';\nimport { mantaParachain, moonbeam } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const mantaParachainRoutes = new ChainRoutes({\n  chain: mantaParachain,\n  routes: [\n    {\n      source: {\n        asset: manta,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: manta,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: manta,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: manta,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: manta,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport {\n  agng,\n  alan,\n  dev,\n  ftmwh,\n  hdx,\n  maos,\n  otp,\n  tt1,\n  tur,\n  unit,\n  usdcwh,\n} from '../assets';\nimport {\n  alphanetAssetHub,\n  alphanetRelay,\n  hydrationAlphanet,\n  laosAlphanet,\n  moonbaseAlpha,\n  moonbaseBeta,\n  originTrailAlphanet,\n  peaqAlphanet,\n  peaqEvmAlphanet,\n  turingAlphanet,\n} from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbaseAlphaRoutes = new ChainRoutes({\n  chain: moonbaseAlpha,\n  routes: [\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: turingAlphanet,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.00001,\n          asset: dev,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: moonbaseBeta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.0002,\n          asset: dev,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: alan,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: alan,\n        chain: moonbaseBeta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.0002,\n          asset: dev,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: otp,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: otp,\n        chain: originTrailAlphanet,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.004,\n          asset: otp,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: tt1,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: tt1,\n        chain: alphanetAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 8,\n          asset: tt1,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: tur,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: tur,\n        chain: turingAlphanet,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.2,\n          asset: tur,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: unit,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: unit,\n        chain: alphanetRelay,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHere({\n            isAssetReserveChain: true,\n            parents: 0,\n          }),\n          asset: unit,\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: unit,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: unit,\n        chain: alphanetAssetHub,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHere({\n            isAssetReserveChain: true,\n            parents: 1,\n          }),\n          asset: unit,\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: hydrationAlphanet,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.1,\n          asset: usdcwh,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: hydrationAlphanet,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.01,\n          asset: ftmwh,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: peaqAlphanet,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.01,\n          asset: ftmwh,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: hdx,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: hdx,\n        chain: hydrationAlphanet,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.5,\n          asset: hdx,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: peaqAlphanet,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.00000001,\n          asset: dev,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: peaqAlphanet,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.01,\n          asset: ftmwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: agng,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: agng,\n        chain: peaqAlphanet,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.01,\n          asset: agng,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: peaqEvmAlphanet,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.00000001,\n          asset: dev,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: peaqEvmAlphanet,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.01,\n          asset: ftmwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: maos,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: dev,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: maos,\n        chain: laosAlphanet,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.1,\n          asset: maos,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { alan, dev, devBeta } from '../assets';\nimport { moonbaseAlpha, moonbaseBeta } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbaseBetaRoutes = new ChainRoutes({\n  chain: moonbaseBeta,\n  routes: [\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X2(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: alan,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: devBeta,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: alan,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().polkadotXcm().transferAssets().X3(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport {\n  aca,\n  apillon,\n  aseed,\n  astr,\n  axlusdc,\n  bnc,\n  cfg,\n  dai,\n  ded,\n  dot,\n  eurc,\n  fil,\n  glmr,\n  hdx,\n  ibtc,\n  intr,\n  ldot,\n  manta,\n  neuro,\n  peaq,\n  pen,\n  pink,\n  ring,\n  stink,\n  usdc,\n  usdcwh,\n  usdt,\n  usdtwh,\n  vastr,\n  vdot,\n  vfil,\n  vglmr,\n  vmanta,\n  wbtc,\n  wbtce,\n  weth,\n  wethe,\n  wifd,\n  wstethe,\n} from '../assets';\nimport {\n  acala,\n  astar,\n  bifrostPolkadot,\n  centrifuge,\n  darwinia,\n  hydration,\n  interlay,\n  mantaParachain,\n  moonbeam,\n  neuroweb,\n  peaqChain,\n  peaqEvm,\n  pendulum,\n  polkadotAssetHub,\n} from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonbeamRoutes = new ChainRoutes({\n  chain: moonbeam,\n  routes: [\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: acala,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.01,\n          asset: glmr,\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: astar,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromSourcePalletInstance({ isAssetReserveChain: false }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourcePalletInstance({\n            isAssetReserveChain: false,\n          }),\n          asset: glmr,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromSourcePalletInstance({ isAssetReserveChain: false }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: interlay,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.05,\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: mantaParachain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.1,\n          asset: glmr,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: pendulum,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.2,\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: aca,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: aca,\n        chain: acala,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.032,\n          asset: aca,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: astr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: astr,\n        chain: astar,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: true, parents: 0 }),\n          asset: astr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: aseed,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: aseed,\n        chain: acala,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.256,\n          asset: aseed,\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: bnc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: bnc,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: bnc,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: cfg,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: cfg,\n        chain: centrifuge,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.01,\n          asset: cfg,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: dot,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dot,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: true }),\n          asset: dot,\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: ibtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ibtc,\n        chain: interlay,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.000001,\n          asset: ibtc,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: intr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: intr,\n        chain: interlay,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.748,\n          asset: intr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: ldot,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ldot,\n        chain: acala,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.001,\n          asset: ldot,\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: manta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: manta,\n        chain: mantaParachain,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.000001,\n          asset: manta,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: neuro,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: neuro,\n        chain: neuroweb,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.004,\n          asset: neuro,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: pen,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: pen,\n        chain: pendulum,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 1.01,\n          asset: pen,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: ring,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ring,\n        chain: darwinia,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromPalletInstance({\n            isAssetReserveChain: true,\n          }),\n          asset: ring,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndGeneralIndex({\n              isAssetReserveChain: true,\n            }),\n          asset: usdt,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndGeneralIndex({\n              isAssetReserveChain: true,\n            }),\n          asset: usdc,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: pink,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: pink,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: ded,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ded,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: stink,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: stink,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: apillon,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: apillon,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: hdx,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: hdx,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromGeneralIndex({ isAssetReserveChain: true }),\n          asset: hdx,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourceAccountKey20({\n            isAssetReserveChain: false,\n          }),\n          asset: dai,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourceAccountKey20({\n            isAssetReserveChain: false,\n          }),\n          asset: usdcwh,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourceAccountKey20({\n            isAssetReserveChain: false,\n          }),\n          asset: usdtwh,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vastr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vastr,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vastr,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vdot,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vdot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        chain: bifrostPolkadot,\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vdot,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vfil,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vfil,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vfil,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vglmr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vglmr,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vglmr,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: vmanta,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vmanta,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vmanta,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourceAccountKey20({\n            isAssetReserveChain: false,\n          }),\n          asset: wbtc,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: hydration,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourceAccountKey20({\n            isAssetReserveChain: false,\n          }),\n          asset: weth,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: fil,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: fil,\n        chain: bifrostPolkadot,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: fil,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.00000001,\n          asset: glmr,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.00001,\n          asset: usdcwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.00001,\n          asset: usdtwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.00001,\n          asset: dai,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.000001,\n          asset: weth,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.000001,\n          asset: wbtc,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: peaq,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: peaq,\n        chain: peaqChain,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.1,\n          asset: peaq,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.00000001,\n          asset: glmr,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.00001,\n          asset: usdcwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.00001,\n          asset: usdtwh,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.00001,\n          asset: dai,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.000001,\n          asset: weth,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: peaqEvm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: 0.000001,\n          asset: wbtc,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara20(),\n    },\n    {\n      source: {\n        asset: wifd,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wifd,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: axlusdc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: axlusdc,\n        chain: pendulum,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.02,\n          asset: axlusdc,\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: wbtce,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtce,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromGlobalConsensus({\n            isAssetReserveChain: true,\n          }),\n          asset: wbtce,\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: wethe,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wethe,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromGlobalConsensus({\n            isAssetReserveChain: true,\n          }),\n          asset: wethe,\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: wstethe,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wstethe,\n        chain: polkadotAssetHub,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromGlobalConsensus({\n            isAssetReserveChain: true,\n          }),\n          asset: wstethe,\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: eurc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: glmr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: eurc,\n        chain: pendulum,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.1,\n          asset: eurc,\n        },\n        min: AssetMinBuilder().assetRegistry().metadata(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport {\n  aseed,\n  bnc,\n  csm,\n  kar,\n  kbtc,\n  kint,\n  ksm,\n  movr,\n  rmrk,\n  sdn,\n  usdtksm,\n  vbnc,\n  vksm,\n  vmovr,\n  xrt,\n} from '../assets';\nimport {\n  bifrostKusama,\n  crustShadow,\n  karura,\n  kintsugi,\n  kusamaAssetHub,\n  moonriver,\n  robonomics,\n  shiden,\n} from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const moonriverRoutes = new ChainRoutes({\n  chain: moonriver,\n  routes: [\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: bifrostKusama,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourcePalletInstance({\n            isAssetReserveChain: false,\n          }),\n          asset: movr,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: crustShadow,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: 0.0002,\n          asset: movr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: karura,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.001,\n          asset: movr,\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: shiden,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromSourcePalletInstance({\n            isAssetReserveChain: false,\n          }),\n          asset: movr,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: bnc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: bnc,\n        chain: bifrostKusama,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: bnc,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: csm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: csm,\n        chain: crustShadow,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.004,\n          asset: csm,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: kar,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: kar,\n        chain: karura,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.032,\n          asset: kar,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: aseed,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: aseed,\n        chain: karura,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.256,\n          asset: aseed,\n        },\n        min: AssetMinBuilder().assetRegistry().assetMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: kbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: kbtc,\n        chain: kintsugi,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.000002,\n          asset: kbtc,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: kint,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: kint,\n        chain: kintsugi,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: 0.00084,\n          asset: kint,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().xcmpQueue(),\n    },\n    {\n      source: {\n        asset: ksm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ksm,\n        chain: kusamaAssetHub,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: true }),\n          asset: ksm,\n        },\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: rmrk,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: rmrk,\n        chain: kusamaAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndGeneralIndex({\n            isAssetReserveChain: true,\n            shouldTransferAssetPrecedeFeeAsset: true,\n          }),\n          asset: ksm,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: sdn,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: sdn,\n        chain: shiden,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHere({\n            isAssetReserveChain: true,\n            parents: 0,\n          }),\n          asset: sdn,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder().monitorEvent().polkadotXcm().mixedQueue(),\n    },\n    {\n      source: {\n        asset: usdtksm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtksm,\n        chain: kusamaAssetHub,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndGeneralIndex({\n              isAssetReserveChain: true,\n            }),\n          asset: usdtksm,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      contract: ContractBuilder()\n        .XcmPrecompile()\n        .transferAssetsUsingTypeAndThenAddress(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: xrt,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: xrt,\n        chain: robonomics,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: 0.000032,\n          asset: xrt,\n        },\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n    },\n    {\n      source: {\n        asset: vbnc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vbnc,\n        chain: bifrostKusama,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vbnc,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vksm,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vksm,\n        chain: bifrostKusama,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vksm,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: vmovr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: movr,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: vmovr,\n        chain: bifrostKusama,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromCurrencyIdToLocations({\n            isAssetReserveChain: true,\n          }),\n          asset: vmovr,\n        },\n        min: AssetMinBuilder().assetRegistry().currencyMetadatas(),\n      },\n      contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { neuro } from '../assets';\nimport { moonbeam, neuroweb } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const neurowebRoutes = new ChainRoutes({\n  chain: neuroweb,\n  routes: [\n    {\n      source: {\n        asset: neuro,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: neuro,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: neuro,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: neuro,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .X1(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { otp } from '../assets';\nimport { moonbaseAlpha, originTrailAlphanet } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const originTrailAlphanetRoutes = new ChainRoutes({\n  chain: originTrailAlphanet,\n  routes: [\n    {\n      source: {\n        asset: otp,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: otp,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: otp,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: otp,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .X1(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { dai, glmr, peaq, usdcwh, usdtwh, wbtc, weth } from '../assets';\nimport { moonbeam, peaqChain } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const peaqRoutes = new ChainRoutes({\n  chain: peaqChain,\n  routes: [\n    {\n      source: {\n        asset: peaq,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: peaq,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: peaq,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { agng, dev, ftmwh } from '../assets';\nimport { moonbaseAlpha, peaqAlphanet } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const peaqAlphanetRoutes = new ChainRoutes({\n  chain: peaqAlphanet,\n  routes: [\n    {\n      source: {\n        asset: agng,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: agng,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: agng,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: agng,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: MonitoringBuilder().monitorEvent().xTokens().messageQueue(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: agng,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: agng,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { dai, glmr, peaq, usdcwh, usdtwh, wbtc, weth } from '../assets';\nimport { moonbeam, peaqEvm } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const peaqEvmRoutes = new ChainRoutes({\n  chain: peaqEvm,\n  routes: [\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transfer(),\n    },\n    {\n      source: {\n        asset: usdcwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdcwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: dai,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dai,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: wbtc,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: wbtc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: weth,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: weth,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: usdtwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: peaq,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: usdtwh,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ContractBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { agng, dev, ftmwh } from '../assets';\nimport { moonbaseAlpha, peaqEvmAlphanet } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const peaqEvmAlphanetRoutes = new ChainRoutes({\n  chain: peaqEvmAlphanet,\n  routes: [\n    {\n      source: {\n        asset: ftmwh,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: agng,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: ftmwh,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transferMultiCurrencies(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          asset: agng,\n          balance: BalanceBuilder().substrate().system().accountEvmTo32(),\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().evm().erc20(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      contract: ContractBuilder().Xtokens().transfer(),\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { axlusdc, eurc, glmr, pen } from '../assets';\nimport { moonbeam, pendulum } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst monitoringToMoonbeam = MonitoringBuilder()\n  .monitorEvent()\n  .xTokens()\n  .messageQueue();\n\nexport const pendulumRoutes = new ChainRoutes({\n  chain: pendulum,\n  routes: [\n    {\n      source: {\n        asset: pen,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: pen,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: pen,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: pen,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: glmr,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: pen,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: glmr,\n        chain: moonbeam,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: axlusdc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: pen,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: axlusdc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstanceAndAccountKey20({ isAssetReserveChain: true }),\n          asset: glmr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transferMultiCurrencies(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: eurc,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: eurc,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n        min: AssetMinBuilder().assetRegistry().metadata(),\n      },\n      destination: {\n        asset: eurc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: eurc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n      monitoring: monitoringToMoonbeam,\n    },\n  ],\n});\n","import {\n  AssetMinBuilder,\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport {\n  apillon,\n  ded,\n  dot,\n  pink,\n  stink,\n  usdc,\n  usdt,\n  wbtce,\n  wethe,\n  wifd,\n  wstethe,\n} from '../assets';\nimport { moonbeam, polkadotAssetHub } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nconst extra = 0.036;\n\nconst monitoringToMoonbeam = MonitoringBuilder()\n  .monitorEvent()\n  .polkadotXcm()\n  .messageQueue();\n\nexport const polkadotAssetHubRoutes = new ChainRoutes({\n  chain: polkadotAssetHub,\n  routes: [\n    {\n      source: {\n        asset: dot,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: dot,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHere({ isAssetReserveChain: false }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .here(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: usdt,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: usdt,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: usdt,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: usdc,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: usdc,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: usdc,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: pink,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      destination: {\n        asset: pink,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndSourceGeneralIndex({\n            isAssetReserveChain: false,\n          }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: ded,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n      },\n      destination: {\n        asset: ded,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndSourceGeneralIndex({\n            isAssetReserveChain: false,\n          }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: stink,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: stink,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromHereAndSourceGeneralIndex({ isAssetReserveChain: false }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: apillon,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: apillon,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndSourceGeneralIndex({\n            isAssetReserveChain: false,\n          }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: wifd,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().assets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: wifd,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromHereAndSourceGeneralIndex({\n            isAssetReserveChain: false,\n          }),\n          asset: dot,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .X2(1),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: wbtce,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n      },\n      destination: {\n        asset: wbtce,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n          }),\n          asset: wbtce,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .globalConsensusEthereum(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: wethe,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n      },\n      destination: {\n        asset: wethe,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n          }),\n          asset: wethe,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .globalConsensusEthereum(),\n      monitoring: monitoringToMoonbeam,\n    },\n    {\n      source: {\n        asset: wstethe,\n        balance: BalanceBuilder()\n          .substrate()\n          .foreignAssets()\n          .account()\n          .globalConsensus(),\n        fee: {\n          asset: dot,\n          balance: BalanceBuilder().substrate().system().account(),\n          extra,\n        },\n        min: AssetMinBuilder().foreignAssets().asset(),\n        destinationFee: {\n          balance: BalanceBuilder()\n            .substrate()\n            .foreignAssets()\n            .account()\n            .globalConsensus(),\n        },\n      },\n      destination: {\n        asset: wstethe,\n        chain: moonbeam,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder().xcmPaymentApi().fromAssetIdQuery({\n            isAssetReserveChain: false,\n          }),\n          asset: wstethe,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .transferAssetsUsingTypeAndThen()\n        .globalConsensusEthereum(),\n      monitoring: monitoringToMoonbeam,\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { xrt } from '../assets';\nimport { moonriver, robonomics } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const robonomicsRoutes = new ChainRoutes({\n  chain: robonomics,\n  routes: [\n    {\n      source: {\n        asset: xrt,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: xrt,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: xrt,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: xrt,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .here(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n  MonitoringBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { movr, sdn } from '../assets';\nimport { moonriver, shiden } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const shidenRoutes = new ChainRoutes({\n  chain: shiden,\n  routes: [\n    {\n      source: {\n        asset: sdn,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: sdn,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: sdn,\n        chain: moonriver,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: sdn,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .here(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n    {\n      source: {\n        asset: movr,\n        balance: BalanceBuilder().substrate().assets().account(),\n        fee: {\n          asset: sdn,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().assets().account(),\n        },\n      },\n      destination: {\n        asset: movr,\n        chain: moonriver,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: movr,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .polkadotXcm()\n        .limitedReserveTransferAssets()\n        .X2PalletInstance(),\n      monitoring: MonitoringBuilder()\n        .monitorEvent()\n        .polkadotXcm()\n        .messageQueue(),\n    },\n  ],\n});\n","import {\n  BalanceBuilder,\n  ExtrinsicBuilder,\n  FeeBuilder,\n} from '@moonbeam-network/xcm-builder';\nimport { dev, tur } from '../assets';\nimport { moonbaseAlpha, turingAlphanet } from '../chains';\nimport { ChainRoutes } from '../types/ChainRoutes';\n\nexport const turingAlphanetRoutes = new ChainRoutes({\n  chain: turingAlphanet,\n  routes: [\n    {\n      source: {\n        asset: tur,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          asset: tur,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n      },\n      destination: {\n        asset: tur,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().evm().erc20(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromAssetIdQuery({ isAssetReserveChain: false }),\n          asset: tur,\n        },\n      },\n      extrinsic: ExtrinsicBuilder()\n        .xTokens()\n        .transferMultiAsset(turingAlphanet.parachainId)\n        .X1(),\n    },\n    {\n      source: {\n        asset: dev,\n        balance: BalanceBuilder().substrate().tokens().accounts(),\n        fee: {\n          asset: tur,\n          balance: BalanceBuilder().substrate().system().account(),\n        },\n        destinationFee: {\n          balance: BalanceBuilder().substrate().tokens().accounts(),\n        },\n      },\n      destination: {\n        asset: dev,\n        chain: moonbaseAlpha,\n        balance: BalanceBuilder().substrate().system().account(),\n        fee: {\n          amount: FeeBuilder()\n            .xcmPaymentApi()\n            .fromPalletInstance({ isAssetReserveChain: true }),\n          asset: dev,\n        },\n      },\n      extrinsic: ExtrinsicBuilder().xTokens().transfer(),\n    },\n  ],\n});\n","import type { ChainRoutes } from '../types/ChainRoutes';\n\nimport { acalaRoutes } from './acala';\nimport { alphanetAssetHubRoutes } from './alphanetAssetHub';\nimport { alphanetRelayRoutes } from './alphanetRelay';\nimport { astarRoutes } from './astar';\nimport { bifrostKusamaRoutes } from './bifrostKusama';\nimport { bifrostPolkadotRoutes } from './bifrostPolkadot';\nimport { centrifugeRoutes } from './centrifuge';\nimport { crustShadowRoutes } from './crustShadow';\nimport { darwiniaRoutes } from './darwinia';\nimport { hydrationRoutes } from './hydration';\nimport { hydrationAlphanetRoutes } from './hydrationAlphanet';\nimport { interlayRoutes } from './interlay';\nimport { karuraRoutes } from './karura';\nimport { kintsugiRoutes } from './kintsugi';\nimport { kusamaAssetHubRoutes } from './kusamaAssetHub';\nimport { laosAlphanetRoutes } from './laosAlphanet';\nimport { mantaParachainRoutes } from './mantaParachain';\nimport { moonbaseAlphaRoutes } from './moonbaseAlpha';\nimport { moonbaseBetaRoutes } from './moonbaseBeta';\nimport { moonbeamRoutes } from './moonbeam';\nimport { moonriverRoutes } from './moonriver';\nimport { neurowebRoutes } from './neuroweb';\nimport { originTrailAlphanetRoutes } from './originTrailAlphanet';\nimport { peaqRoutes } from './peaq';\nimport { peaqAlphanetRoutes } from './peaqAlphanet';\nimport { peaqEvmRoutes } from './peaqEvm';\nimport { peaqEvmAlphanetRoutes } from './peaqEvmAlphanet';\nimport { pendulumRoutes } from './pendulum';\nimport { polkadotAssetHubRoutes } from './polkadotAssetHub';\nimport { robonomicsRoutes } from './robonomics';\nimport { shidenRoutes } from './shiden';\nimport { turingAlphanetRoutes } from './turingAlphanet';\n\nexport const xcmRoutesList: ChainRoutes[] = [\n  acalaRoutes,\n  alphanetRelayRoutes,\n  astarRoutes,\n  bifrostKusamaRoutes,\n  bifrostPolkadotRoutes,\n  centrifugeRoutes,\n  crustShadowRoutes,\n  darwiniaRoutes,\n  laosAlphanetRoutes,\n  hydrationRoutes,\n  hydrationAlphanetRoutes,\n  interlayRoutes,\n  karuraRoutes,\n  kintsugiRoutes,\n  mantaParachainRoutes,\n  moonbaseAlphaRoutes,\n  moonbaseBetaRoutes,\n  moonbeamRoutes,\n  moonriverRoutes,\n  neurowebRoutes,\n  originTrailAlphanetRoutes,\n  peaqRoutes,\n  peaqEvmRoutes,\n  peaqAlphanetRoutes,\n  peaqEvmAlphanetRoutes,\n  pendulumRoutes,\n  robonomicsRoutes,\n  shidenRoutes,\n  alphanetAssetHubRoutes,\n  kusamaAssetHubRoutes,\n  polkadotAssetHubRoutes,\n  turingAlphanetRoutes,\n];\n\nexport const xcmRoutesMap = new Map<string, ChainRoutes>(\n  xcmRoutesList.map((config) => [config.chain.key, config]),\n);\n"],"mappings":"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","names":["BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ContractBuilder","MonitoringBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ContractBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","BalanceBuilder","BalanceBuilder","MrlBuilder","BalanceBuilder","MrlBuilder","moonbaseBetaRoutes","BalanceBuilder","MrlBuilder","moonbeamRoutes","BalanceBuilder","MrlBuilder","BalanceBuilder","MrlBuilder","moonriverRoutes","BalanceBuilder","MrlBuilder","moonbaseBetaRoutes","moonbeamRoutes","moonriverRoutes","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","monitoringToMoonbeam","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","monitoringToMoonbeam","MonitoringBuilder","hydrationRoutes","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","monitoringToMoonriver","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","extra","monitoringToMoonriver","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","AssetMinBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","MonitoringBuilder","moonbaseAlphaRoutes","BalanceBuilder","ContractBuilder","MonitoringBuilder","AssetMinBuilder","FeeBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","moonbaseBetaRoutes","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","MonitoringBuilder","moonbeamRoutes","BalanceBuilder","AssetMinBuilder","ContractBuilder","MonitoringBuilder","FeeBuilder","AssetMinBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","MonitoringBuilder","moonriverRoutes","BalanceBuilder","FeeBuilder","AssetMinBuilder","ContractBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","peaqAlphanetRoutes","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","AssetMinBuilder","AssetMinBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","BalanceBuilder","AssetMinBuilder","FeeBuilder","ContractBuilder","AssetMinBuilder","BalanceBuilder","ContractBuilder","FeeBuilder","peaqEvmAlphanetRoutes","BalanceBuilder","AssetMinBuilder","FeeBuilder","ContractBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","monitoringToMoonbeam","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","extra","monitoringToMoonbeam","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","AssetMinBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","MonitoringBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","MonitoringBuilder","BalanceBuilder","ExtrinsicBuilder","FeeBuilder","BalanceBuilder","FeeBuilder","ExtrinsicBuilder","hydrationRoutes","moonbaseAlphaRoutes","moonbaseBetaRoutes","moonbeamRoutes","moonriverRoutes","peaqAlphanetRoutes","peaqEvmAlphanetRoutes"]}