@galacticcouncil/xc-cfg 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +1 -1
- package/build/index.mjs +1 -1
- package/build/types/builders/extrinsics/xcm/builder/buildERC20TransferFromPara.d.ts +2 -131
- package/build/types/builders/extrinsics/xcm/builder/buildParaERC20Received.d.ts +2 -76
- package/build/types/builders/extrinsics/xcm/builder/const.d.ts +6 -1
- package/build/types/builders/extrinsics/xcm/polkadotXcm.utils.d.ts +174 -228
- package/build/types/builders/extrinsics/xcm/types.d.ts +0 -4
- package/build/types/builders/extrinsics/xcm/utils/account.d.ts +16 -10
- package/build/types/builders/extrinsics/xcm/utils/guard.d.ts +1 -3
- package/build/types/builders/extrinsics/xcm/utils/instructions.d.ts +22 -36
- package/build/types/builders/extrinsics/xcm/utils/location.d.ts +5 -7
- package/build/types/builders/extrinsics/xcm/xTokens.utils.d.ts +17 -5
- package/build/types/builders/extrinsics/xcm/xTransfer.utils.d.ts +9 -2
- package/build/types/builders/extrinsics/xcm/xcmPallet.utils.d.ts +17 -5
- package/build/types/clients/base.d.ts +9 -4
- package/build/types/clients/chain/assethub.d.ts +3 -3
- package/build/types/clients/chain/hydration.d.ts +4 -1
- package/package.json +3 -3
- package/build/types/utils/xcm-encoder.d.ts +0 -86
package/build/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var gr=Object.defineProperty;var Ar=(s,e)=>()=>(s&&(e=s(s=0)),e);var Qt=(s,e)=>{for(var t in e)gr(s,t,{get:e[t],enumerable:!0})};var Oa={};Qt(Oa,{getTypedApi:()=>At});import{hydration as X0}from"@galacticcouncil/descriptors";function At(s){return s.getTypedApi(X0)}var Ts=Ar(()=>{"use strict"});import{Asset as h}from"@galacticcouncil/xc-core";var Te=new h({key:"aave",originSymbol:"AAVE"}),G=new h({key:"aca",originSymbol:"ACA"}),Be=new h({key:"ajun",originSymbol:"AJUN"}),X=new h({key:"astr",originSymbol:"ASTR"}),I=new h({key:"bnc",originSymbol:"BNC"}),Ee=new h({key:"bsx",originSymbol:"BSX"}),xe=new h({key:"cfg",originSymbol:"CFG"}),Pe=new h({key:"cfg_new",originSymbol:"CFG"}),Ie=new h({key:"cru",originSymbol:"CRU"}),ue=new h({key:"dai",originSymbol:"DAI"}),ve=new h({...ue,key:"dai_awh"}),ee=new h({...ue,key:"dai_mwh"}),ft=new h({key:"ded",originSymbol:"DED"}),g=new h({key:"dot",originSymbol:"DOT"}),pt=new h({key:"dota",originSymbol:"DOTA"}),S=new h({key:"eth",originSymbol:"ETH"}),Fe=new h({key:"ena",originSymbol:"ENA"}),y=new h({key:"glmr",originSymbol:"GLMR"}),j=new h({key:"hdx",originSymbol:"HDX"}),H=new h({key:"ibtc",originSymbol:"IBTC"}),L=new h({key:"intr",originSymbol:"INTR"}),ne=new h({key:"jitoSol",originSymbol:"jitoSOL"}),St=new h({key:"kar",originSymbol:"KAR"}),Re=new h({key:"kilt",originSymbol:"KILT"}),C=new h({key:"ksm",originSymbol:"KSM"}),Xe=new h({key:"ldo",originSymbol:"LDO"}),_e=new h({key:"laos",originSymbol:"LAOS"}),Se=new h({key:"lbtc",originSymbol:"LBTC"}),Le=new h({key:"ewt",originSymbol:"EWT"}),fe=new h({key:"ldot",originSymbol:"LDOT"}),De=new h({key:"link",originSymbol:"LINK"}),U=new h({key:"myth",originSymbol:"MYTH"}),He=new h({key:"nodl",originSymbol:"NODL"}),We=new h({key:"neuro",originSymbol:"NEURO"}),Me=new h({key:"pen",originSymbol:"PEN"}),q=new h({key:"pha",originSymbol:"PHA"}),Ke=new h({key:"paxg",originSymbol:"PAXG"}),Y=new h({key:"pink",originSymbol:"PINK"}),Ue=new h({key:"ring",originSymbol:"RING"}),Oe=new h({key:"sky",originSymbol:"SKY"}),N=new h({key:"sol",originSymbol:"SOL"}),ae=new h({key:"sui",originSymbol:"SUI"}),dn=new h({key:"sub",originSymbol:"SUB"}),Ve=new h({key:"susde",originSymbol:"sUSDe"}),rt=new h({key:"susds",originSymbol:"sUSDS"}),ge=new h({...rt,key:"susds_mwh"}),Ge=new h({key:"tbtc",originSymbol:"tBTC"}),Ne=new h({key:"teer",originSymbol:"TEER"}),je=new h({key:"tnkr",originSymbol:"TNKR"}),qe=new h({key:"trac",originSymbol:"TRAC"}),ze=new h({key:"unq",originSymbol:"UNQ"}),p=new h({key:"usdt",originSymbol:"USDT"}),Ae=new h({...p,key:"usdt_mwh"}),Lt=new h({...p,key:"usdt_eth"}),x=new h({key:"usdc",originSymbol:"USDC"}),z=new h({...x,key:"usdc_mwh"}),Dt=new h({...x,key:"usdc_eth"}),$=new h({key:"vastr",originSymbol:"vASTR"}),D=new h({key:"vdot",originSymbol:"vDOT"}),Ht=new h({key:"weth",originSymbol:"WETH"}),$e=new h({...Ht,key:"weth_awh"}),Z=new h({...Ht,key:"weth_mwh"}),Je=new h({key:"wbtc",originSymbol:"WBTC"}),Qe=new h({...Je,key:"wbtc_awh"}),we=new h({...Je,key:"wbtc_mwh"}),Ye=new h({key:"wsteth",originSymbol:"wstETH"}),ht=new h({key:"wud",originSymbol:"WUD"}),Ze=new h({key:"xrt",originSymbol:"XRT"}),pe=new h({key:"ztg",originSymbol:"ZTG"}),wr=[Te,G,Be,X,Ee,xe,Pe,Ie,I,ue,ve,ee,ft,g,pt,Fe,S,y,j,H,L,St,Re,C,Xe,_e,Se,Le,ne,fe,De,U,We,He,Ke,q,Me,Y,Ue,Oe,N,ae,dn,Ve,rt,ge,Ne,je,qe,Ge,ze,x,z,Dt,p,Ae,Lt,$,D,Je,Qe,we,Ht,$e,Z,Ye,ht,Ze,pe],kr=new Map(wr.map(s=>[s.key,s]));import{ChainEcosystem as Cr,EvmChain as Tr}from"@galacticcouncil/xc-core";import{mainnet as Br}from"viem/chains";var v=new Tr({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:S,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:Te,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Pe,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Ht,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:ue,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Fe,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:Ve,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:rt,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Ge,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Je,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:Se,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:x,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:p,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Xe,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:De,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Ke,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Oe,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:qe,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:Ye,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:Cr.Ethereum,evmChain:Br,explorer:"https://etherscan.io/",rpcs:["https://ethereum-rpc.publicnode.com","https://cosmopolitan-dimensional-diagram.quiknode.pro"],snowbridge:{id:1,gateway:"0x27ca963c279c93801941e1eb8799c23f407d68e7"},wormhole:{id:2,coreBridge:"0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",tokenBridge:"0x3ee18B2214AFF97000D974cf647E7C347E8fa585",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"}});var Wn=[v];import{ChainEcosystem as Rr,EvmParachain as Xr}from"@galacticcouncil/xc-core";import{defineChain as _r}from"viem";import{Blake2256 as Er,getSs58AddressInfo as Pr}from"@polkadot-api/substrate-bindings";import{toHex as Mn}from"@polkadot-api/utils";var Ir="evm:",Fs=new TextEncoder().encode(Ir),Rs=class{async toH160(e,t){if(!t)return this.toDefaultH160(e);try{let a=await t.getChainSpecData(),r=await t.getTypedApi(a.genesisHash).query.EvmAccounts.evm_addresses(e);if(r)return r}catch{}return this.toDefaultH160(e)}toDefaultH160(e){let t=Pr(e);if(!t.isValid)throw new Error("Invalid SS58 address");let a=t.publicKey;if(a.length>=24&&a.slice(0,4).every((m,c)=>m===Fs[c]))return Mn(a.slice(4,24));let r=new Uint8Array(Fs.length+a.length);r.set(Fs),r.set(a,Fs.length);let i=Er(r);return Mn(i.slice(0,20))}};import{getSs58AddressInfo as vr}from"@polkadot-api/substrate-bindings";var Fr="ETH\0",Xs=class{async toH160(e){let t=vr(e);if(!t.isValid)throw new Error(`Invalid SS58 address: ${e}`);let a=t.publicKey,n=Buffer.from(Fr),r=a.slice(n.length,-8);return"0x"+Buffer.from(r).toString("hex")}};var Sr=new Rs,Lr=_r({id:787,name:"Acala",network:"acala",nativeCurrency:{decimals:18,name:"ACA",symbol:"ACA"},rpcUrls:{public:{http:["https://eth-rpc-acala.aca-api.network"],webSocket:["wss://eth-rpc-acala.aca-api.network"]},default:{http:["https://eth-rpc-acala.aca-api.network"],webSocket:["wss://eth-rpc-acala.aca-api.network"]}},blockExplorers:{default:{name:"Acala Blockscout",url:"https://blockscout.acala.network"}},testnet:!1}),it=new Xr({assetsData:[{asset:G,id:{Token:G.originSymbol},metadataId:{NativeAssetId:{Token:G.originSymbol}}},{asset:fe,decimals:10,id:{Token:fe.originSymbol},metadataId:{NativeAssetId:{Token:fe.originSymbol}},min:.05},{asset:ve,decimals:18,id:{Erc20:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae"},balanceId:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae",min:.01},{asset:Qe,decimals:8,id:{Erc20:"0xc80084af223c8b598536178d9361dc55bfda6818"},balanceId:"0xc80084af223c8b598536178d9361dc55bfda6818",min:35e-8},{asset:$e,decimals:18,id:{Erc20:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578"},balanceId:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578",min:5555555555555e-18},{asset:y,decimals:18,id:{ForeignAsset:0},min:.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Rr.Polkadot,evmChain:Lr,evmResolver:Sr,explorer:"https://acala.subscan.io",genesisHash:"0xfc41b9bd8ef8fe53d58c7ea67c794c7ec9a73daf05e6d54b14ff6342c99ba64c",key:"acala",name:"Acala",parachainId:2e3,ss58Format:10,wormhole:{id:12,coreBridge:"0xa321448d90d4e5b0A732867c18eA198e75CAC48E",tokenBridge:"0xae9d7fe007b3327AA64A32824Aaac52C42a6E624"},ws:"wss://acala-rpc.aca-api.network"});import{ChainEcosystem as Dr,Parachain as Hr}from"@galacticcouncil/xc-core";var Yt=new Hr({assetsData:[{asset:Be,id:"AJUN"}],ecosystem:Dr.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});import{ChainEcosystem as Wr,Parachain as Kn}from"@galacticcouncil/xc-core";var Un={assetsData:[{asset:g,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Y,decimals:10,id:23,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:23}]}}},{asset:ft,decimals:10,id:30,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:30}]}}},{asset:pt,decimals:4,id:18,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:18}]}}},{asset:ht,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:U,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:C,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Wr.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://polkadot-asset-hub-rpc.polkadot.io","wss://asset-hub-polkadot-rpc.dwellir.com"]},_=new Kn({...Un,key:"assethub",name:"AssetHub Polkadot"}),Zt=new Kn({...Un,key:"assethub_cex",name:"AssetHub (CEX)",usesCexForwarding:!0,usesSignerFee:!0,isTestChain:!0});import{ChainEcosystem as Mr,Parachain as Kr}from"@galacticcouncil/xc-core";var oe=new Kr({assetsData:[{asset:X,xcmLocation:{parents:0,interior:"Here"}},{asset:g,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:I,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:y,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:q,id:"18446744073709551622",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:D,id:"18446744073709551624",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:$,id:"18446744073709551632",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Mr.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});import{ChainEcosystem as Ur,Parachain as Or}from"@galacticcouncil/xc-core";var Vr=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://hk.p.bifrost-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],J=new Or({assetsData:[{asset:I,id:{Native:I.originSymbol}},{asset:D,id:{VToken2:0},decimals:10,min:1e-4},{asset:$,id:{VToken2:3},decimals:18,min:.01},{asset:g,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Y,id:{Token2:10},decimals:10,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:X,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:y,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Ur.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:Vr});import{ChainEcosystem as Gr,Parachain as Nr}from"@galacticcouncil/xc-core";var jr=["wss://rpc-centrifuge.luckyfriday.io","wss://fullnode.centrifuge.io"],Wt=new Nr({assetsData:[{asset:xe,id:"Native"},{asset:g,id:{ForeignAsset:5},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:y,id:{ForeignAsset:4},decimals:18,min:.001,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Gr.Polkadot,explorer:"https://centrifuge.subscan.io",genesisHash:"0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82",key:"centrifuge",name:"Centrifuge",parachainId:2031,ss58Format:36,ws:jr});import{ChainEcosystem as qr,Parachain as zr}from"@galacticcouncil/xc-core";var es=new zr({assetsData:[{asset:Ie,id:0}],ecosystem:qr.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"]});import{ChainEcosystem as $r,EvmParachain as Jr}from"@galacticcouncil/xc-core";import{darwinia as Qr}from"viem/chains";var ts=new Jr({assetsData:[{asset:Ue,id:"SelfReserve",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:$r.Polkadot,evmChain:Qr,explorer:"https://darwinia.subscan.io",genesisHash:"0xf0b8924b12e8108550d28870bc03f7b45a947e1b2b9abf81bfb0b89ecb60570e",key:"darwinia",name:"Darwinia",parachainId:2046,ss58Format:18,usesH160Acc:!0,ws:"wss://darwinia-rpc.dwellir.com"});import{ChainEcosystem as Yr,EvmParachain as Zr}from"@galacticcouncil/xc-core";import{defineChain as ei}from"viem";var ti=new Xs,ln=["https://hydration-rpc.n.dwellir.com","https://hydration.dotters.network","https://rpc.helikon.io/hydradx","https://hydration.ibp.network","https://rpc.cay.hydration.cloud","https://rpc.parm.hydration.cloud","https://rpc.roach.hydration.cloud","https://rpc.zipp.hydration.cloud","https://rpc.sin.hydration.cloud","https://rpc.coke.hydration.cloud"],fn=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network","wss://rpc.cay.hydration.cloud","wss://rpc.parm.hydration.cloud","wss://rpc.roach.hydration.cloud","wss://rpc.zipp.hydration.cloud","wss://rpc.sin.hydration.cloud","wss://rpc.coke.hydration.cloud"],si=ei({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:ln,webSocket:fn},default:{http:ln,webSocket:fn}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),l=new Zr({assetsData:[{asset:j,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:Te,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:G,decimals:12,id:1000099,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0000000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Be,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:X,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:I,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:xe,decimals:18,id:13,min:.033,xcmLocation:{parents:1,interior:{X2:[{Parachain:2031},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Pe,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:Ie,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:ft,decimals:10,id:1000019,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:30}]}}},{asset:g,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:pt,decimals:4,id:1000038,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:18}]}}},{asset:ve,decimals:18,id:2,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x0254a37a01cd75b616d63e0ab665bffdb0143c52ae0000000000000000000000"}}]}}},{asset:ee,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:S,decimals:18,id:34,min:55e-7,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:{Ethereum:{chain_id:1}}}}}},{asset:Fe,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:y,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:ne,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Re,decimals:15,id:28,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:2086}}}},{asset:Le,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Xe,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:C,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:_e,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:Se,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:fe,decimals:10,id:1000100,min:.011,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0003000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:De,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Ke,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:U,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:We,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:He,decimals:11,id:26,min:1.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2026},{PalletInstance:2}]}}},{asset:Me,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Y,decimals:10,id:1000021,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:q,decimals:12,id:8,min:.055,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:Ue,decimals:18,id:31,min:1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Oe,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:dn,decimals:10,id:24,min:.02,xcmLocation:{parents:1,interior:{X1:{Parachain:2101}}}},{asset:N,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:ae,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ve,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:rt,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:ge,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Ge,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:qe,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:ze,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:x,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:z,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:Dt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:p,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:Ae,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:Lt,decimals:6,id:1000767,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xdac17f958d2ee523a2206206994597c13d831ec7"}}]}}},{asset:$,decimals:18,id:33,min:.14,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:D,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Je,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:Qe,decimals:8,id:3,min:44e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x02c80084af223c8b598536178d9361dc55bfda68180000000000000000000000"}}]}}},{asset:we,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Ht,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:$e,decimals:18,id:4,min:5e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x025a4d6acdc4e3e5ab15717f407afe957f7a2425780000000000000000000000"}}]}}},{asset:Z,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:Ye,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:ht,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:pe,decimals:10,id:12,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2092},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Yr.Polkadot,evmChain:si,evmResolver:ti,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:fn,rpcs:ln});import{ChainEcosystem as ni,Parachain as ai}from"@galacticcouncil/xc-core";var ke=new ai({assetsData:[{asset:L,decimals:10,id:{Token:L.originSymbol}},{asset:H,decimals:8,id:{Token:H.originSymbol}},{asset:g,decimals:10,id:{Token:g.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:j,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:D,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:ni.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain"});import{ChainEcosystem as oi,Parachain as ri}from"@galacticcouncil/xc-core";var ss=new ri({assetsData:[{asset:Re,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:oi.Polkadot,explorer:"https://spiritnet.subscan.io",genesisHash:"0x411f057b9107718c9624d6aa4a3f23c1653898297f3d4d529d9bb6511a39dd21",key:"kilt",name:"Kilt",parachainId:2086,ss58Format:38,ws:"wss://spiritnet.kilt.io"});import{ChainEcosystem as ii,Parachain as ci}from"@galacticcouncil/xc-core";var ns=new ci({assetsData:[{asset:_e,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:ii.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});import{ChainEcosystem as mi,EvmParachain as ui}from"@galacticcouncil/xc-core";import{defineChain as di}from"viem";var li=di({id:1284,name:"Moonbeam",network:"moonbeam",nativeCurrency:{decimals:18,name:"GLMR",symbol:"GLMR"},rpcUrls:{public:{http:["https://rpc.api.moonbeam.network"],webSocket:["wss://wss.api.moonbeam.network"]},default:{http:["https://rpc.api.moonbeam.network"],webSocket:["wss://wss.api.moonbeam.network"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonscan.io"}},testnet:!1}),R=new ui({assetsData:[{asset:y,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ee,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:N,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:ne,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:ge,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:ae,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:z,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:Ae,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:we,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:Z,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:G,decimals:12,id:"0xffffffffa922fef94566104a6e5a35a4fcddaa9f",xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0000000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:g,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:j,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:Y,decimals:10,id:"0xffffffff30478fafbe935e466da114e14fb3563d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:x,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:p,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:mi.Polkadot,evmChain:li,explorer:"https://moonbeam.subscan.io",genesisHash:"0xfe58ea77779b7abda7da4ec526d14db9b1e9cd40a217c34892af80a9b332b76d",key:"moonbeam",name:"Moonbeam",parachainId:2004,ss58Format:1284,usesH160Acc:!0,wormhole:{id:16,coreBridge:"0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",tokenBridge:"0xb1731c586ca89a23809861c6103f0b96b3f57d92",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"},ws:"wss://wss.api.moonbeam.network"});import{ChainEcosystem as fi,Parachain as pi}from"@galacticcouncil/xc-core";var Bt=new pi({assetsData:[{asset:U,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:fi.Polkadot,explorer:"https://mythos.subscan.io",genesisHash:"0xf6ee56e9c5277df5b4ce6ae9983ee88f3cbed27d31beeb98f9f84f997a1ab0b9",key:"mythos",name:"Mythos",parachainId:3369,ss58Format:29972,usesH160Acc:!0,ws:"wss://polkadot-mythos-rpc.polkadot.io"});import{ChainEcosystem as hi,Parachain as bi}from"@galacticcouncil/xc-core";var as=new bi({assetsData:[{asset:We,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:hi.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});import{ChainEcosystem as yi,Parachain as xi}from"@galacticcouncil/xc-core";var os=new xi({assetsData:[{asset:He,id:"NodleNative"}],ecosystem:yi.Polkadot,explorer:"https://nodle.subscan.io",genesisHash:"0x97da7ede98d7bad4e36b4d734b6055425a3be036da2a332ea5a7037656427a21",key:"nodle",name:"Nodle",parachainId:2026,ss58Format:37,ws:"wss://nodle-rpc.dwellir.com"});import{ChainEcosystem as gi,Parachain as Ai}from"@galacticcouncil/xc-core";var rs=new Ai({assetsData:[{asset:Me,id:"Native"}],ecosystem:gi.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,ws:"wss://rpc-pendulum.prd.pendulumchain.tech"});import{ChainEcosystem as wi,Parachain as ki}from"@galacticcouncil/xc-core";var is=new ki({assetsData:[{asset:q,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:wi.Polkadot,explorer:"https://phala.subscan.io",genesisHash:"0x1bb969d85965e4bb5a651abbedf21a54b6b31a21f66b5401cc3f1e286268d736",key:"phala",name:"Phala",parachainId:2035,ss58Format:30,ws:["wss://api.phala.network/ws","wss://phala-rpc.dwellir.com","wss://rpc.helikon.io/phala"]});import{ChainEcosystem as Ci,Parachain as On}from"@galacticcouncil/xc-core";var Vn={assetsData:[{asset:g,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ci.Polkadot,explorer:"https://polkadot.subscan.io",genesisHash:"0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",name:"Polkadot",parachainId:0,ss58Format:0,treasury:"13UVJyLnbVp9RBZYFwFGyDvVd1y27Tt8tkntv6Q7JVPhFsTB",usesDeliveryFee:!0,ws:"wss://polkadot-rpc.n.dwellir.com"},Gn=new On({...Vn,key:"polkadot"}),Nn=new On({...Vn,key:"polkadot_cex",name:"Polkadot (CEX)",usesCexForwarding:!0,isTestChain:!0});import{ChainEcosystem as Ti,Parachain as Bi}from"@galacticcouncil/xc-core";var cs=new Bi({assetsData:[{asset:ze,id:0}],ecosystem:Ti.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});import{ChainEcosystem as Ei,Parachain as Pi}from"@galacticcouncil/xc-core";var bt=new Pi({assetsData:[{asset:pe,id:"Ztg"},{asset:z,decimals:6,id:{ForeignAsset:1},xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:y,decimals:18,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Ei.Polkadot,explorer:"https://zeitgeist.subscan.io",genesisHash:"0x1bf2a2ecb4a868de66ea8610f2ce7c8c43706561b6476031315f6640fe38e060",key:"zeitgeist",name:"Zeitgeist",parachainId:2092,ss58Format:73,usesChainDecimals:!0,ws:"wss://zeitgeist.api.onfinality.io/public-ws"});import{ChainEcosystem as Ii,Parachain as vi}from"@galacticcouncil/xc-core";var ms=new vi({assetsData:[{asset:Le,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ii.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,ws:"wss://wnp-rpc.mainnet.energywebx.com"});var jn=[it,Yt,_,Zt,oe,J,Wt,es,ts,l,ss,ns,as,ke,R,Bt,os,rs,is,Gn,Nn,cs,bt,ms];import{ChainEcosystem as Fi,SolanaChain as Ri}from"@galacticcouncil/xc-core";var Mt=new Ri({id:101,key:"solana",name:"Solana",assetsData:[{asset:N,decimals:9},{asset:ne,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Fi.Solana,explorer:"https://explorer.solana.com/",rpcUrls:{http:["https://wispy-palpable-market.solana-mainnet.quiknode.pro"],webSocket:["wss://wispy-palpable-market.solana-mainnet.quiknode.pro"]},wormhole:{id:1,coreBridge:"worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",tokenBridge:"wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb",platformAddressFormat:"base58"}});var qn=[Mt];import{ChainEcosystem as Xi,SuiChain as _i}from"@galacticcouncil/xc-core";var us=new _i({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:ae,decimals:9}],ecosystem:Xi.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var zn=[us];import{ChainEcosystem as Si,Parachain as Li}from"@galacticcouncil/xc-core";var et=new Li({assetsData:[{asset:C,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Si.Kusama,explorer:"https://assethub-kusama.subscan.io",genesisHash:"0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a",key:"assethub_kusama",name:"AssetHub Kusama",parachainId:1e3,ss58Format:2,treasury:"HWZmQq6zMMk7TxixHfseFT2ewicT6UofPa68VCn3gkXrdJF",usesDeliveryFee:!0,ws:"wss://asset-hub-kusama-rpc.n.dwellir.com"});import{ChainEcosystem as Di,Parachain as Hi}from"@galacticcouncil/xc-core";var de=new Hi({assetsData:[{asset:Ee,id:0},{asset:C,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:Ne,decimals:12,id:17,xcmLocation:{parents:1,interior:{X2:[{Parachain:2015},{GeneralKey:{length:4,data:"0x5445455200000000000000000000000000000000000000000000000000000000"}}]}}},{asset:je,decimals:12,id:6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2125},{GeneralIndex:0}]}}},{asset:Ze,decimals:9,id:16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2119},{GeneralKey:{length:4,data:"0x42414a5500000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Di.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});import{ChainEcosystem as Wi,Parachain as Mi}from"@galacticcouncil/xc-core";var ds=new Mi({assetsData:[{asset:Ne,id:0}],ecosystem:Wi.Kusama,explorer:"https://integritee.subscan.io",genesisHash:"0xcdedc8eadbfa209d3f207bba541e57c3c58a667b05a2e1d1e86353c9000758da",key:"integritee",name:"Integritee",parachainId:2015,ss58Format:13,ws:"wss://kusama.api.integritee.network"});import{ChainEcosystem as Ki,Parachain as Ui}from"@galacticcouncil/xc-core";var ls=new Ui({assetsData:[{asset:St,id:{Token:St.originSymbol}},{asset:C,decimals:12,id:{Token:C.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:Ee,decimals:12,id:{ForeignAsset:11},xcmLocation:{parents:1,interior:{X2:[{Parachain:2090},{GeneralIndex:0}]}}},{asset:p,decimals:6,id:{ForeignAsset:7},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Ki.Kusama,explorer:"https://karura.subscan.io",genesisHash:"0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b",key:"karura",name:"Karura",parachainId:2e3,ss58Format:8,ws:"wss://karura-rpc-0.aca-api.network"});import{ChainEcosystem as Oi,Parachain as Vi}from"@galacticcouncil/xc-core";var $n=new Vi({assetsData:[{asset:C,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Oi.Kusama,explorer:"https://kusama.subscan.io",genesisHash:"0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",key:"kusama",name:"Kusama",parachainId:0,ss58Format:2,treasury:"F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29",usesDeliveryFee:!0,ws:"wss://kusama-rpc.dwellir.com"});import{ChainEcosystem as Gi,Parachain as Ni}from"@galacticcouncil/xc-core";var fs=new Ni({assetsData:[{asset:Ze,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Gi.Kusama,explorer:"https://robonomics.subscan.io",genesisHash:"0x631ccc82a078481584041656af292834e1ae6daab61d2875b4dd0c14bb9b17bc",key:"robonomics",name:"Robonomics",parachainId:2048,ss58Format:32,ws:"wss://kusama.rpc.robonomics.network"});import{ChainEcosystem as ji,Parachain as qi}from"@galacticcouncil/xc-core";var ps=new qi({assetsData:[{asset:je,id:0}],ecosystem:ji.Kusama,genesisHash:"0xd42e9606a995dfe433dc7955dc2a70f495f350f373daa200098ae84437816ad2",key:"tinkernet",name:"Tinkernet",parachainId:2125,ss58Format:117,ws:"wss://tinkernet-rpc.dwellir.com"});var Jn=[$n,et,de,ds,ls,fs,ps];var zi=[...Wn,...jn,...qn,...zn,...Jn],$i=new Map(zi.map(s=>[s.key,s]));import{AssetRoute as zs,ChainRoutes as dm}from"@galacticcouncil/xc-core";var io={};Qt(io,{AssetMinBuilder:()=>Et,BalanceBuilder:()=>o,ContractBuilder:()=>E,ExtrinsicBuilder:()=>u,ExtrinsicDecorator:()=>gt,FeeAmountBuilder:()=>tt,FeeAssetBuilder:()=>Es,MoveBuilder:()=>vn,ProgramBuilder:()=>qs,XcmTransferType:()=>re,XcmVersion:()=>xt});import{SubstrateQueryConfig as pn}from"@galacticcouncil/xc-core";function Et(){return{assetRegistry:Ji,assets:Qi}}function Ji(){let s="assetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new pn({module:s,func:"assetMetadatas",args:[e],transform:async t=>BigInt(t?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new pn({module:s,func:"currencyMetadatas",args:[e],transform:async t=>BigInt(t?.minimalBalance?.toString()??"0")})})}}function Qi(){return{asset:()=>({build:({asset:s})=>new pn({module:"assets",func:"asset",args:[s],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}import{Abi as Yi,ContractConfig as Qn}from"@galacticcouncil/xc-core";function Yn(){return{erc20:ec,native:Zi}}function Zi(){return{build:({address:s})=>new Qn({abi:[],address:s,args:[],func:"eth_getBalance",module:"Native"})}}function ec(){return{build:({address:s,asset:e,chain:t})=>{let a=t.getBalanceAssetId(e);if(!a||typeof a!="string")throw new Error(`Invalid contract address: ${e}`);return new Qn({abi:Yi.Erc20,address:a,args:[s],func:"balanceOf",module:"Erc20"})}}}import{SubstrateQueryConfig as ks}from"@galacticcouncil/xc-core";function Zn(){return{assets:tc,system:nc,tokens:ac,ormlTokens:oc,foreignAssets:sc}}function tc(){return{account:()=>({build:({address:s,asset:e,chain:t})=>{let a=t.getBalanceAssetId(e);return new ks({module:"assets",func:"account",args:[a,s],transform:async n=>BigInt(n?.balance?.toString()??"0")})}})}}function sc(){return{account:()=>({build:({address:s,asset:e,chain:t})=>{let n=t.getAssetXcmLocation(e);if(!n)throw new Error("Missing asset xcm location for "+e.key);return new ks({module:"foreignAssets",func:"account",args:[n,s],transform:async r=>BigInt(r?.balance?.toString()??"0")})}})}}function nc(){return{account:()=>({build:({address:s})=>new ks({module:"system",func:"account",args:[s],transform:async e=>{let t=e?.data,a=BigInt(t?.free?.toString()??"0"),n=BigInt((t?.miscFrozen??t?.frozen)?.toString()??"0");return a>=n?a-n:0n}})})}}function ac(){return{accounts:()=>({build:({address:s,asset:e,chain:t})=>{let a=t.getBalanceAssetId(e);return new ks({module:"tokens",func:"accounts",args:[s,a],transform:async n=>{let r=BigInt(n?.free?.toString()??"0"),i=BigInt(n?.frozen?.toString()??"0");return r>=i?r-i:0n}})}})}}function oc(){return{accounts:()=>({build:({address:s,asset:e,chain:t})=>{let a=t.getBalanceAssetId(e);return new ks({module:"ormlTokens",func:"accounts",args:[s,a],transform:async n=>{let r=BigInt(n?.free?.toString()??"0"),i=BigInt(n?.frozen?.toString()??"0");return r>=i?r-i:0n}})}})}}import{SolanaQueryConfig as ea}from"@galacticcouncil/xc-core";function ta(){return{native:rc,token:ic}}function rc(){return{build:({address:s})=>new ea({address:s,func:"rpc_getBalance",module:"Native"})}}function ic(){return{build:({address:s,asset:e,chain:t})=>{let a=t.getBalanceAssetId(e);if(!a)throw new Error(`Invalid token address: ${e}`);return new ea({address:s,token:a.toString(),func:"getBalance",module:"Token"})}}}import{SuiQueryConfig as cc}from"@galacticcouncil/xc-core";function sa(){return{native:mc}}function mc(){return{build:({address:s})=>new cc({address:s,func:"sui_getBalance",module:"Native"})}}function o(){return{evm:Yn,substrate:Zn,solana:ta,sui:sa}}import{Abi as na,ContractConfig as uc,Precompile as dc}from"@galacticcouncil/xc-core";import{encodeFunctionData as lc}from"viem";var fc=s=>({build:async e=>{let t=await Promise.all(s.map(i=>i.build(e))),a=t.map(i=>i.address),n=[0,0],r=t.map(i=>lc({abi:na[i.module],functionName:i.func,args:i.args}));return new uc({abi:na.Batch,address:dc.Batch,args:[a,n,r,[]],func:"batchAll",module:"Batch"})}}),aa=()=>({batchAll:fc});import{Abi as pc,ContractConfig as hc,Wormhole as bc}from"@galacticcouncil/xc-core";function _s(s,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return s+s*e/100n}function yt(s){return typeof s=="object"?Object.values(s)[0]:s}function oa(){return{approve:s=>({build:async e=>{let{amount:t,asset:a,source:n,transact:r}=e,i=r?r.chain:n.chain,m=bc.fromChain(i),c=i.getAssetId(a);return new hc({abi:pc.Erc20,address:yt(c).toString(),args:[s(m),t],func:"approve",module:"Erc20"})}})}}import{addr as yc,Abi as xc,ContractConfig as gc,Snowbridge as Ac}from"@galacticcouncil/xc-core";var{Ss58Addr:wc}=yc,kc=()=>({build:async s=>{let{address:e,amount:t,asset:a,source:n,destination:r}=s,i=n.chain,m=r.chain,c=Ac.fromChain(i),d=i.getAssetId(a),f=yt(d),b=a.originSymbol==="ETH",A=r.feeBreakdown.bridgeFeeInDot,B=r.fee.amount;return new gc({abi:xc.Snowbridge,address:c.getGateway(),args:[f,m.parachainId,[1,wc.getPubKey(e)],A,t],value:b?B+t:B,func:"sendToken",module:"Snowbridge"})}}),ra=()=>({sendToken:kc});import{mrl as ca,Abi as Ss,ContractConfig as Ls,Precompile as ma,Wormhole as Pt}from"@galacticcouncil/xc-core";import{PublicKey as ia}from"@solana/web3.js";import{getAssociatedTokenAddress as Cc}from"@solana/spl-token";var Tc=()=>({viaMrl:s=>({build:async e=>{let{address:t,amount:a,asset:n,source:r,destination:i}=e,m=Pt.fromChain(r.chain),c=Pt.fromChain(s.moonchain),d=ma.Bridge,f=r.chain.getAssetId(n),b=0,A=await ca.createPayload(i.chain,t);return new Ls({abi:Ss.TokenBridge,address:m.getTokenBridge(),args:[yt(f),a,c.getWormholeId(),c.normalizeAddress(d),b,A.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),Bc=()=>({viaMrl:s=>({build:async e=>{let{address:t,amount:a,source:n,destination:r}=e,i=Pt.fromChain(n.chain),m=Pt.fromChain(s.moonchain),c=ma.Bridge,d=0,f=await ca.createPayload(r.chain,t);return new Ls({abi:Ss.TokenBridge,address:i.getTokenBridge(),args:[m.getWormholeId(),m.normalizeAddress(c),d,f.toHex()],value:a,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),Ec=()=>({build:async s=>{let{address:e,amount:t,asset:a,source:n,destination:r,transact:i}=s,m=i?i.chain:n.chain,c=r.chain,d=Pt.fromChain(m),f=Pt.fromChain(c),b=e;if(c.isSolana()){let V=c.getAssetId(a);b=(await Cc(new ia(V),new ia(e))).toBase58()}let A=m.getAssetId(a),B=0,O=0;return new Ls({abi:Ss.TokenBridge,address:d.getTokenBridge(),args:[yt(A),t,f.getWormholeId(),f.normalizeAddress(b),B,O],func:"transferTokens",module:"TokenBridge"})}}),Pc=()=>({build:async s=>{let{address:e,amount:t,source:a,destination:n}=s,r=Pt.fromChain(a.chain),i=Pt.fromChain(n.chain),m=0,c=0;return new Ls({abi:Ss.TokenBridge,address:r.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),m,c],value:t,func:"wrapAndTransferETH",module:"TokenBridge"})}}),ua=()=>({transferTokens:Ec,transferTokensWithPayload:Tc,wrapAndTransferETH:Pc,wrapAndTransferETHWithPayload:Bc});import{Abi as Ic,ContractConfig as vc,Wormhole as da}from"@galacticcouncil/xc-core";var Fc=()=>({build:async s=>{let{address:e,amount:t,asset:a,source:n,destination:r,transact:i}=s,m=i?i.chain:n.chain,c=r.chain,d=da.fromChain(m),f=da.fromChain(c),b=0,A=0,B=m.getAssetId(a);return new vc({abi:Ic.TokenRelayer,address:d.getTokenRelayer(),args:[yt(B),t,b,f.getWormholeId(),f.normalizeAddress(e),A],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),la=()=>({transferTokensWithRelay:Fc});function fa(){return{TokenBridge:ua,TokenRelayer:la}}import{Abi as pa,ContractConfig as ha,Precompile as ba}from"@galacticcouncil/xc-core";import{big as Lc}from"@galacticcouncil/common";import{addr as Rc}from"@galacticcouncil/xc-core";import{getSs58AddressInfo as Xc}from"@polkadot-api/substrate-bindings";import{toHex as _c}from"@polkadot-api/utils";var{EvmAddr:Sc}=Rc;function hn(s,e){let t=Sc.isValid(s)?"03":"01",a=Xc(s);if(!a.isValid)throw new Error(`Invalid SS58 address: ${s}`);let n=`0x${t}${_c(a.publicKey).slice(2)}00`;return[1,e.parachainId?[`0x0000000${e.parachainId.toString(16)}`,n]:[n]]}function Ds(s){if(s.startsWith("0x"))return s;if(!/^\d{38,39}$/.test(s))throw new Error(`Asset id: ${s} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(s).toString(16).padStart(32,"0")}`}var ya=18446744073709551615n;function xa(){return{transfer:(s=ya)=>({build:async({address:e,amount:t,asset:a,destination:n,source:r})=>{let i=r.chain.getAssetId(a);return new ha({abi:pa.Xtokens,address:ba.Xtokens,args:[typeof i=="string"?Ds(i):a,t,hn(e,n.chain),s],func:"transfer",module:"Xtokens"})}}),transferMultiCurrencies:(s=ya)=>({build:async({address:e,amount:t,asset:a,destination:n,source:r})=>{let i=r.chain.getAssetId(a),m=r.chain.getAssetId(r.destinationFeeBalance),c=Lc.toBigInt(n.fee.amount,n.fee.decimals);return new ha({abi:pa.Xtokens,address:ba.Xtokens,args:[[[typeof i=="string"?Ds(i):i,t],[typeof m=="string"?Ds(m):m,c]],1,hn(e,n.chain),s],func:"transferMultiCurrencies",module:"Xtokens"})}})}}function E(){return{Batch:aa,Erc20:oa,Snowbridge:ra,Wormhole:fa,Xtokens:xa}}import{ExtrinsicConfig as Dc}from"@galacticcouncil/xc-core";var Hc="assetConversion",Wc=s=>{let e="swapTokensForExactTokens";return{build:({address:t,source:a})=>new Dc({module:Hc,func:e,getArgs:async()=>{let{chain:n}=a,r=a.destinationFeeSwap||a.feeSwap;if(!r)throw new Error("Swap context not found.");let{aIn:i,aOut:m}=r,c=n,d=c.getAssetXcmLocation(i),f=c.getAssetXcmLocation(m),b=i.amount+i.amount*BigInt(s.slippage)/100n,A=m.amount;return{path:[d,f],amount_out:A,amount_in_max:b,send_to:t,keep_alive:!0}}})}},ga=()=>({swapTokensForExactTokens:Wc});import{ExtrinsicConfig as Mc}from"@galacticcouncil/xc-core";var Kc="assets",Uc=()=>{let s="transfer";return{build:({asset:e,amount:t,address:a,destination:n})=>new Mc({module:Kc,func:s,getArgs:async()=>{let r=n.chain,{fee:i}=n,m=t>i.amount?t-i.amount:t;return[r.getMetadataAssetId(e),a,m]}})}},Aa=()=>({transfer:Uc});import{ExtrinsicConfig as Oc}from"@galacticcouncil/xc-core";var Vc="balances",Gc=(s=!1)=>{let e="transferAll";return{build:({address:t})=>new Oc({module:Vc,func:e,getArgs:()=>({dest:t,keep_alive:s})})}},wa=()=>({transferAll:Gc});import{ExtrinsicConfig as Nc}from"@galacticcouncil/xc-core";var jc="router",qc=s=>({build:({source:t})=>new Nc({module:jc,func:"buy",getArgs:async()=>{let{chain:a,destinationFeeSwap:n}=t;if(!n)throw new Error("Swap context not found.");let{aIn:r,aOut:i,route:m}=n,c=a,d=c.getMetadataAssetId(r),f=c.getMetadataAssetId(i),b=i.amount,A=r.amount+r.amount*BigInt(s.slippage)/100n;return[d,f,b,A,m]}})}),ka=()=>({buy:qc});import{ExtrinsicConfig as zc}from"@galacticcouncil/xc-core";var $c="utility",Jc=s=>{let e="batchAll";return{build:t=>new zc({module:$c,func:e,getArgs:async()=>s.map(a=>a.build(t))})}},Ca=()=>({batchAll:Jc});import{Abi as Qc,ExtrinsicConfig as Yc}from"@galacticcouncil/xc-core";import{encodeFunctionData as Zc}from"viem";var xt=(r=>(r.v1="V1",r.v2="V2",r.v3="V3",r.v4="V4",r.v5="V5",r))(xt||{}),re=(n=>(n.Teleport="Teleport",n.LocalReserve="LocalReserve",n.DestinationReserve="DestinationReserve",n.RemoteReserve="RemoteReserve",n))(re||{});var e0="ethereumXcm",t0=s=>{let e="transact";return{build:t=>new Yc({module:e0,func:e,getArgs:async()=>{let a=await s.build(t),n="V1",r=Zc({abi:Qc[a.module],functionName:a.func,args:a.args});return[{[n]:{gasLimit:5000000n,feePayment:"Auto",action:{Call:a.address},value:0n,input:r}}]}})}},bn=()=>({transact:t0});import{ExtrinsicConfig as Ut}from"@galacticcouncil/xc-core";import{big as Ma}from"@galacticcouncil/common";import{multiloc as u0,ChainEcosystem as La}from"@galacticcouncil/xc-core";var It=340282366920938463463374607431768211455n,Hs="0x0000000000000000000000000000000000000000000000000000000000000000",hs={parents:1,interior:"Here"},Ta=0,Ba=1e3,Ea=1002,Pa=1,Ia="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",va="0x0000000000000000000000000000000000000000000000000000000000000000",Fa="0x0000000000000000000000000000000000000000";import{acc as s0}from"@galacticcouncil/xc-core";import{getSs58AddressInfo as n0}from"@polkadot-api/substrate-bindings";import{toHex as a0}from"@polkadot-api/utils";function W(s){if(s.length===42&&s.startsWith("0x"))return{AccountKey20:{key:s}};let t=n0(s);if(!t.isValid)throw new Error(`Invalid SS58 address: ${s}`);return{AccountId32:{id:a0(t.publicKey),network:null}}}function ct(s,e,t){return s0.getMultilocationDerivatedAccount(s.parachainId,e,t.parachainId===0?0:1,t.usesH160Acc)}import{multiloc as Ra}from"@galacticcouncil/xc-core";function Ws(s,e){let t=Ra.findNestedKey(s,"GeneralIndex"),a=Ra.findNestedKey(e,"GeneralIndex"),n=t&&t.GeneralIndex,r=a&&a.GeneralIndex;return Number.isNaN(n)||Number.isNaN(r)?!1:Number(n)>Number(r)}function M(s,e){let t=s.getAssetXcmLocation(e);if(!t)throw new Error(e.originSymbol+" location config is missing.");return t}var Ms={};Qt(Ms,{ETHER_TOKEN_ADDRESS:()=>yn,bridgeLocation:()=>_a,erc20Location:()=>r0,erc20LocationReanchored:()=>i0,parachainLocation:()=>o0});var yn="0x0000000000000000000000000000000000000000",Xa=s=>({GlobalConsensus:{Ethereum:{chain_id:s}}});function _a(s){return{parents:2,interior:{X1:[Xa(s)]}}}function o0(s){return{parents:1,interior:{X1:[{Parachain:s}]}}}function r0(s,e){return e===yn?_a(s):{parents:2,interior:{X2:[Xa(s),{AccountKey20:{key:e}}]}}}function i0(s){return s===yn?{parents:0,interior:{here:null}}:{parents:0,interior:{X1:[{AccountKey20:{key:s}}]}}}function K(s,e){let t=c0(s,e);return xn(e)>=4?t:m0(t)}function ie(s,e){return xn(s)>=4?[e]:e}function xn(s){let e=s.toString().replace("V","").replace("v","");return Number(e)}function c0(s,e){if(xn(e)<4)return s;let{parents:t,interior:a}=s;return a&&typeof a=="object"&&"X1"in a?{parents:t,interior:{X1:Array.isArray(a.X1)?a.X1:[a.X1]}}:s}function m0(s){return{Concrete:{...s}}}async function gn(s,e){let t="V4",a=K(M(e,s),t);return{[t]:[{ReserveAssetDeposited:[{id:hs,fun:{Fungible:It}},{id:a,fun:{Fungible:It}}]},{ClearOrigin:null},{BuyExecution:{fees:{id:hs,fun:{Fungible:It}},weightLimit:"Unlimited"}},{DepositAsset:{assets:{Wild:{AllCounted:2}},beneficiary:{parents:0,interior:{X1:[{AccountId32:{id:va,network:null}}]}}}},{SetTopic:Hs}]}}async function Sa(s,e){let t="V4",a=K(M(e,s),t),n=bs("V4",W(Fa),W(Ia),a,Hs);return{[t]:[{WithdrawAsset:[{id:hs,fun:{Fungible:It}},{id:a,fun:{Fungible:It}}]},{ClearOrigin:null},{BuyExecution:{fees:{id:hs,fun:{Fungible:It}},weightLimit:"Unlimited"}},...n[t]]}}var Da=[La.Polkadot,La.Kusama],d0={parents:1,interior:{X1:[{Parachain:1e3}]}},l0=s=>s.parents===1&&s.interior==="Here",f0=(s,e)=>!s.ecosystem||!e.ecosystem?!1:Da.includes(s.ecosystem)&&Da.includes(e.ecosystem)&&s.ecosystem!==e.ecosystem,mt=(s,e,t)=>{if(f0(e,t))return{[s]:{parents:2,interior:{X2:[{GlobalConsensus:t.ecosystem},{Parachain:t.parachainId}]}}};if(t.parachainId===Ta)return{[s]:{parents:1,interior:"Here"}};let a=t.key==="ethereum"?Ba:t.parachainId;return{[s]:{parents:1,interior:{X1:ie(s,{Parachain:a})}}}},Kt=(s,e)=>({[s]:{parents:0,interior:{X1:ie(s,e)}}}),ys=(s,e,t)=>e==="RemoteReserve"?{RemoteReserve:{[s]:l0(t)?d0:t}}:e,he=(s,e)=>({id:s,fun:{Fungible:e}}),Ks=(s,e)=>({[s]:[{DepositAsset:{assets:{Wild:{AllCounted:1}},beneficiary:{parents:0,interior:{X1:ie(s,e)}}}}]});var bs=(s,e,t,a,n)=>({[s]:[{SetAppendix:[{DepositAsset:{assets:{Wild:"All"},beneficiary:{parents:0,interior:{X1:ie(s,t)}}}}]},{InitiateReserveWithdraw:{assets:{Wild:{AllOf:{id:a,fun:"Fungible"}}},reserve:Ms.bridgeLocation(Pa),xcm:[{BuyExecution:{fees:{id:p0(s,a),fun:{Fungible:1}},weightLimit:"Unlimited"}},{DepositAsset:{assets:{Wild:{AllCounted:1}},beneficiary:{parents:0,interior:{X1:ie(s,e)}}}},{SetTopic:n}]}},{SetTopic:n}]}),p0=(s,e)=>{let t=u0.findNestedKey(e,"key");return t?{parents:0,interior:{X1:ie(s,{AccountKey20:t})}}:{parents:0,interior:{Here:null}}},Ha=(s,e,t,a,n,r)=>({[s]:[{WithdrawAsset:[he(t,a)]},{BuyExecution:{fees:he(t,a),weightLimit:"Unlimited"}},{Transact:{originKind:"SovereignAccount",requireWeightAtMost:r,call:{encoded:n}}},{RefundSurplus:{}},{DepositAsset:{assets:{Wild:{AllCounted:1}},beneficiary:{parents:0,interior:{X1:ie(s,e)}}}}]}),Wa=(s,e,t,a,n,r)=>({[s]:[{WithdrawAsset:[he(t,n)]},{BuyExecution:{fees:he(t,n),weightLimit:"Unlimited"}},{TransferAsset:{assets:[he(t,a)],beneficiary:{parents:0,interior:{X1:ie(s,r)}}}},{RefundSurplus:{}},{DepositAsset:{assets:{Wild:{AllCounted:1}},beneficiary:{parents:0,interior:{X1:ie(s,e)}}}}]});var Ot="polkadotXcm",h0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new Ut({module:Ot,func:"limitedReserveTransferAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=K(M(i,a.fee),c),b=he(d,e),A=he(f,a.fee.amount);return t.key===a.fee.key?{dest:mt(c,i,m),beneficiary:Kt(c,r),assets:{[c]:[b]},fee_asset_item:0,weight_limit:"Unlimited"}:Ws(d,f)?{dest:mt(c,i,m),beneficiary:Kt(c,r),assets:{[c]:[A,b]},fee_asset_item:0,weight_limit:"Unlimited"}:{dest:mt(c,i,m),beneficiary:Kt(c,r),assets:{[c]:[b,A]},fee_asset_item:1,weight_limit:"Unlimited"}}})}),b0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new Ut({module:Ot,func:"limitedTeleportAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=he(d,e),b=mt(c,i,m),A=Kt(c,r),B={[c]:[f]};return{dest:b,beneficiary:A,assets:B,fee_asset_item:0,weight_limit:"Unlimited"}}})}),y0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new Ut({module:Ot,func:"reserveTransferAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=he(d,e),b=mt(c,i,m),A=Kt(c,r),B={[c]:[f]};return{dest:b,beneficiary:A,assets:B,fee_asset_item:0}}})}),x0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new Ut({module:Ot,func:"transferAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=he(d,e),b=mt(c,i,m),A=Kt(c,r),B={[c]:[f]};return{dest:b,beneficiary:A,assets:B,fee_asset_item:0,weight_limit:"Unlimited"}}})}),g0=s=>({build:({address:e,asset:t,amount:a,destination:n,messageId:r,sender:i,source:m})=>new Ut({module:Ot,func:"transferAssetsUsingTypeAndThen",getArgs:async()=>{let c="V4",d=m.chain,f=n.chain,b=W(i),A=f.usesCexForwarding?ct(d,i,f):e,B=W(A),{transferType:O}=s,V=K(M(d,t),c),F=K(M(d,n.fee),c),Q=he(V,a),se=he(F,n.fee.amount),k=t.isEqual(n.fee),Tt=mt(c,d,f),lt={[c]:t.isEqual(n.fee)?[Q]:[se,Q]},nt=ys(c,O,V),at={[c]:k?V:F},ot=ys(c,O,F),ye;return n.chain.key==="ethereum"?ye=bs(c,B,b,V,r):ye=Ks(c,B),{dest:Tt,assets:lt,assets_transfer_type:nt,remote_fees_id:at,fees_transfer_type:ot,custom_xcm_on_dest:ye,weight_limit:"Unlimited"}}})}),A0=()=>{let s="send";return{transact:e=>({build:t=>{let{sender:a,source:n,transact:r}=t;return new Ut({module:Ot,func:s,getArgs:async()=>{let i="V4";if(!r)throw new Error("Transact ctx configuration is missing.");let m=n.chain,c=r.chain,d=ct(m,a,c),f=W(d),{fee:b}=r,A=K(M(c,b),i),B=Ma.toBigInt(e.fee,b.decimals);return{dest:mt(i,m,c),message:Ha(i,f,A,B,r.call,r.weight)}}})}}),transferAsset:e=>({build:t=>{let{amount:a,address:n,asset:r,sender:i,source:m,destination:c}=t;return new Ut({module:Ot,func:s,getArgs:async()=>{let d="V4",f=m.chain,b=c.chain,A=ct(f,i,b),B=W(A),O=W(n),V=K(M(b,r),d),{fee:F}=c,Q=Ma.toBigInt(e.fee,F.decimals),se=a>F.amount?a-(F.amount+Q):a;return{dest:mt(d,f,b),message:Wa(d,B,V,se,Q,O)}}})}})}},An=()=>({limitedReserveTransferAssets:h0,limitedTeleportAssets:b0,reserveTransferAssets:y0,transferAssets:x0,transferAssetsUsingTypeAndThen:g0,send:A0});import{ExtrinsicConfig as kn}from"@galacticcouncil/xc-core";var Us=(s,e)=>{let t={Parachain:e.parachainId};return{[s]:{parents:0,interior:{X1:ie(s,t)}}}},Cs=(s,e)=>({id:s,fun:{Fungible:e}}),wn=(s,e)=>({[s]:{parents:0,interior:{X1:ie(s,e)}}});var Cn="xcmPallet",w0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new kn({module:Cn,func:"limitedReserveTransferAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=Cs(d,e);return{dest:Us(c,m),beneficiary:wn(c,r),assets:{[c]:[f]},fee_asset_item:0,weight_limit:"Unlimited"}}})}),k0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new kn({module:Cn,func:"limitedTeleportAssets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=Cs(d,e);return{dest:Us(c,m),beneficiary:wn(c,r),assets:{[c]:[f]},fee_asset_item:0,weight_limit:"Unlimited"}}})}),C0=s=>({build:({address:e,asset:t,amount:a,destination:n,messageId:r,sender:i,source:m})=>new kn({module:Cn,func:"transferAssetsUsingTypeAndThen",getArgs:async()=>{let c="V4",d=m.chain,f=n.chain,b=W(i),A=f.usesCexForwarding?ct(d,i,f):e,B=W(A),{transferType:O}=s,V=K(M(d,t),c),F=K(M(d,n.fee),c),Q=Cs(V,a),se=Cs(F,n.fee.amount),k=t.isEqual(n.fee),Tt=Us(c,f),lt={[c]:t.isEqual(n.fee)?[Q]:[se,Q]},nt=ys(c,O,V),at={[c]:k?V:F},ot=ys(c,O,F),ye=n.chain.key==="ethereum"?bs(c,B,b,V,r):Ks(c,B);return{dest:Tt,assets:lt,assets_transfer_type:nt,remote_fees_id:at,fees_transfer_type:ot,custom_xcm_on_dest:ye,weight_limit:"Unlimited"}}})}),Tn=()=>({limitedReserveTransferAssets:w0,limitedTeleportAssets:k0,transferAssetsUsingTypeAndThen:C0});import{ExtrinsicConfig as Vs}from"@galacticcouncil/xc-core";import{big as T0}from"@galacticcouncil/common";var Vt=(s,e,t)=>e.parachainId===0?{[s]:{parents:1,interior:{X1:ie(s,t)}}}:{[s]:{parents:1,interior:{X2:[{Parachain:e.parachainId},t]}}},Os=(s,e)=>({id:s,fun:{Fungible:e}});var Gs="xTokens",B0=()=>({build:({address:s,amount:e,asset:t,destination:a,sender:n,source:r})=>new Vs({module:Gs,func:"transfer",getArgs:()=>{let i=r.chain,m=a.chain,c=m.xcmVersion,d=m.usesCexForwarding?ct(i,n,m):s,f=W(d);return{currency_id:i.getAssetId(t),amount:e,dest:Vt(c,m,f),dest_weight_limit:"Unlimited"}}})}),E0=()=>({build:({address:s,amount:e,asset:t,destination:a,sender:n,source:r})=>new Vs({module:Gs,func:"transferMultiasset",getArgs:()=>{let i=r.chain,m=a.chain,c=m.xcmVersion,d=m.usesCexForwarding?ct(i,n,m):s,f=W(d),b=K(M(i,t),c),A=Os(b,e);return{asset:{[c]:A},dest:Vt(c,m,f),dest_weight_limit:"Unlimited"}}})}),P0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new Vs({module:Gs,func:"transferMultiassets",getArgs:()=>{let r=W(s),i=n.chain,m=a.chain,c=m.xcmVersion,d=K(M(i,t),c),f=K(M(i,a.fee),c),b=Os(d,e),A=Os(f,a.fee.amount);return t.key===a.fee.key?{assets:{[c]:[b]},fee_item:0,dest:Vt(c,m,r),dest_weight_limit:"Unlimited"}:Ws(d,f)?{assets:{[c]:[A,b]},fee_item:0,dest:Vt(c,m,r),dest_weight_limit:"Unlimited"}:{assets:{[c]:[b,A]},fee_item:1,dest:Vt(c,m,r),dest_weight_limit:"Unlimited"}}})}),I0=()=>({build:({address:s,amount:e,asset:t,destination:a,sender:n,source:r,transact:i})=>new Vs({module:Gs,func:"transferMulticurrencies",getArgs:()=>{let m=r.chain,c=a.chain,d=a.fee.amount,f=m.getAssetId(a.fee),b=s;i&&(c=i.chain,d=T0.toBigInt(i.fee.amount,i.fee.decimals),f=m.getAssetId(i.fee),b=ct(m,n,c));let A=c.xcmVersion,B=W(b);return{currencies:[[m.getAssetId(t),e],[f,d]],fee_item:1,dest:Vt(A,c,B),dest_weight_limit:"Unlimited"}}})}),Bn=()=>({transfer:B0,transferMultiasset:E0,transferMultiassets:P0,transferMultiCurrencies:I0});import{ExtrinsicConfig as v0}from"@galacticcouncil/xc-core";var Ka=(s,e)=>({parents:1,interior:{X2:[{Parachain:s.parachainId},e]}}),Ua=(s,e)=>({id:s,fun:{Fungible:e}});var F0="xTransfer",R0=()=>({build:({address:s,amount:e,asset:t,destination:a,source:n})=>new v0({module:F0,func:"transfer",getArgs:async()=>{let r="V3",i=W(s),m=n.chain,c=a.chain,d=K(M(m,t),r),f=Ua(d,e),b=Ka(c,i);return[f,b,{refTime:5e9,proofSize:0}]}})}),En=()=>({transfer:R0});function u(){return{assetConversion:ga,assets:Aa,balances:wa,ethereumXcm:bn,polkadotXcm:An,router:ka,utility:Ca,xTokens:Bn,xTransfer:En,xcmPallet:Tn}}function gt(s,e){return{prior:function(t){return{build:a=>s(a)?u().utility().batchAll([e,t]).build(a):t.build(a)}},priorMulti:function(t){return{build:a=>s(a)?u().utility().batchAll([e,...t]).build(a):u().utility().batchAll([...t]).build(a)}}}}import{Abi as ja,Snowbridge as K0,Wormhole as Na}from"@galacticcouncil/xc-core";var Ga={};Qt(Ga,{AssethubClient:()=>le,BaseClient:()=>wt,HydrationClient:()=>kt});Ts();import{Binary as vt}from"polkadot-api";import{XcmVersionedXcm as _0,XcmVersionedAssetId as S0,XcmVersionedLocation as L0,XcmV4Instruction as D0,XcmV3MultiassetFungibility as H0,XcmV3Junctions as xs,XcmV3Junction as Gt,XcmV3JunctionNetworkId as ut,XcmV3WeightLimit as Va,XcmV4AssetAssetFilter as Bs,XcmV4AssetWildAsset as Ns}from"@galacticcouncil/descriptors";var T=(s,e)=>({type:s,value:e}),be=class{static encodeXcm(e){let t=e.V4||e.v4;if(!t)throw new Error("XCM must have V4 or v4 key with instructions array");return _0.V4(this.encodeInstructionsCore(t,"typed"))}static encodeAssetId(e){return S0.V4(this.encodeLocationCore(e,"typed"))}static encodeVersionedLocation(e){let t=e.V4||e;return L0.V4(this.encodeLocationCore(t,"typed"))}static encodeLocation(e){return this.encodeLocationCore(e,"typed")}static encodeXcmForUnsafeApi(e){let t=e.V4||e.v4;if(!t)throw new Error("XCM must have V4 or v4 key with instructions array");return T("V4",this.encodeInstructionsCore(t,"unsafe"))}static encodeAssetIdForUnsafeApi(e){return T("V4",this.encodeLocationCore(e,"unsafe"))}static encodeVersionedLocationForUnsafeApi(e){let t=e.V4||e;return T("V4",this.encodeLocationCore(t,"unsafe"))}static encodeLocationForUnsafeApi(e){return this.encodeLocationCore(e,"unsafe")}static encodeInstructionsCore(e,t){return e.map(a=>this.encodeInstructionCore(a,t))}static encodeLocationCore(e,t){let a=e.parents||0,n=e.interior;if(!n||n==="Here"||n.Here!==void 0)return{parents:a,interior:t==="typed"?xs.Here():T("Here")};let[r,i]=Object.entries(n)[0];if(r==="Here")return{parents:a,interior:t==="typed"?xs.Here():T("Here")};let m=(Array.isArray(i)?i:[i]).map(d=>this.encodeJunctionCore(d,t)),c;if(t==="typed"){let d={X1:()=>xs.X1(m[0]),X2:()=>xs.X2(m),X3:()=>xs.X3(m),X4:()=>xs.X4(m)};if(!d[r])throw new Error(`Unknown junction type: ${r}`);c=d[r]()}else if(r==="X1")c=T("X1",m[0]);else if(["X2","X3","X4"].includes(r))c=T(r,m);else throw new Error(`Unknown junction type: ${r}`);return{parents:a,interior:c}}static encodeJunctionCore(e,t){let[a,n]=Object.entries(e)[0];switch(a){case"Parachain":return t==="typed"?Gt.Parachain(n):T("Parachain",n);case"PalletInstance":return t==="typed"?Gt.PalletInstance(n):T("PalletInstance",n);case"GeneralIndex":return t==="typed"?Gt.GeneralIndex(BigInt(n)):T("GeneralIndex",BigInt(n));case"GlobalConsensus":return t==="typed"?Gt.GlobalConsensus(this.encodeNetworkIdCore(n,t)):T("GlobalConsensus",this.encodeNetworkIdCore(n,t));case"AccountId32":return t==="typed"?Gt.AccountId32({network:n.network?this.encodeNetworkIdCore(n.network,t):void 0,id:typeof n.id=="string"?vt.fromHex(n.id):n.id}):T("AccountId32",{network:n.network?this.encodeNetworkIdCore(n.network,t):void 0,id:typeof n.id=="string"?vt.fromHex(n.id):n.id});case"AccountKey20":return t==="typed"?Gt.AccountKey20({network:n.network?this.encodeNetworkIdCore(n.network,t):void 0,key:typeof n.key=="string"?vt.fromHex(n.key):n.key}):T("AccountKey20",{network:n.network?this.encodeNetworkIdCore(n.network,t):void 0,key:typeof n.key=="string"?vt.fromHex(n.key):n.key});case"GeneralKey":return t==="typed"?Gt.GeneralKey({length:n.length,data:typeof n.data=="string"?vt.fromHex(n.data):n.data}):T("GeneralKey",{length:n.length,data:typeof n.data=="string"?vt.fromHex(n.data):n.data});default:throw new Error(`Unknown junction type: ${a}`)}}static encodeNetworkIdCore(e,t){if(typeof e=="string")return["Polkadot","Kusama","Westend","Rococo"].includes(e)?t==="typed"?{Polkadot:ut.Polkadot,Kusama:ut.Kusama,Westend:ut.Westend,Rococo:ut.Rococo}[e]():T(e):e;if(e.Ethereum)return t==="typed"?ut.Ethereum({chain_id:BigInt(e.Ethereum.chain_id)}):T("Ethereum",{chain_id:BigInt(e.Ethereum.chain_id)});if(e.Polkadot!==void 0)return t==="typed"?ut.Polkadot():T("Polkadot");if(e.Kusama!==void 0)return t==="typed"?ut.Kusama():T("Kusama");if(e.Westend!==void 0)return t==="typed"?ut.Westend():T("Westend");if(e.Rococo!==void 0)return t==="typed"?ut.Rococo():T("Rococo");if(e.ByGenesis){let a=typeof e.ByGenesis=="string"?vt.fromHex(e.ByGenesis):e.ByGenesis;return t==="typed"?ut.ByGenesis(a):T("ByGenesis",a)}return e}static encodeAssetCore(e,t){return{id:this.encodeLocationCore(e.id,t),fun:t==="typed"?H0.Fungible(BigInt(e.fun.Fungible)):T("Fungible",BigInt(e.fun.Fungible))}}static encodeAssetFilterCore(e,t){if(e.Wild){if(e.Wild.AllCounted!==void 0)return t==="typed"?Bs.Wild(Ns.AllCounted(e.Wild.AllCounted)):T("Wild",T("AllCounted",e.Wild.AllCounted));if(e.Wild.All!==void 0||e.Wild==="All")return t==="typed"?Bs.Wild(Ns.All()):T("Wild",T("All"));if(e.Wild.AllOf)return t==="typed"?Bs.Wild(Ns.AllOf({id:this.encodeLocationCore(e.Wild.AllOf.id,t),fun:e.Wild.AllOf.fun})):T("Wild",T("AllOf",{id:this.encodeLocationCore(e.Wild.AllOf.id,t),fun:e.Wild.AllOf.fun}));if(e.Wild.AllOfCounted)return t==="typed"?Bs.Wild(Ns.AllOfCounted({id:this.encodeLocationCore(e.Wild.AllOfCounted.id,t),fun:e.Wild.AllOfCounted.fun,count:e.Wild.AllOfCounted.count})):T("Wild",T("AllOfCounted",{id:this.encodeLocationCore(e.Wild.AllOfCounted.id,t),fun:e.Wild.AllOfCounted.fun,count:e.Wild.AllOfCounted.count}))}return e.Definite?t==="typed"?Bs.Definite(e.Definite.map(a=>this.encodeAssetCore(a,t))):T("Definite",e.Definite.map(a=>this.encodeAssetCore(a,t))):e}static encodeWeightLimitCore(e,t){if(e==="Unlimited")return t==="typed"?Va.Unlimited():T("Unlimited");if(typeof e=="object"&&e.Limited){let a={ref_time:BigInt(e.Limited.ref_time),proof_size:BigInt(e.Limited.proof_size)};return t==="typed"?Va.Limited(a):T("Limited",a)}return e}static encodeInstructionCore(e,t){let[a,n]=Object.entries(e)[0],r=(i,m)=>{if(t==="typed"){let c=D0[i];return m===void 0?c():c(m)}return m===void 0?T(i):T(i,m)};switch(a){case"ReserveAssetDeposited":case"ReceiveTeleportedAsset":case"WithdrawAsset":return r(a,n.map(i=>this.encodeAssetCore(i,t)));case"ClearOrigin":case"ClearTopic":case"RefundSurplus":case"ClearError":return r(a);case"BuyExecution":return r("BuyExecution",{fees:this.encodeAssetCore(n.fees,t),weight_limit:this.encodeWeightLimitCore(n.weightLimit,t)});case"DepositAsset":return r("DepositAsset",{assets:this.encodeAssetFilterCore(n.assets,t),beneficiary:this.encodeLocationCore(n.beneficiary,t)});case"DepositReserveAsset":return r("DepositReserveAsset",{assets:this.encodeAssetFilterCore(n.assets,t),dest:this.encodeLocationCore(n.dest,t),xcm:this.encodeInstructionsCore(n.xcm,t)});case"InitiateReserveWithdraw":return r("InitiateReserveWithdraw",{assets:this.encodeAssetFilterCore(n.assets,t),reserve:this.encodeLocationCore(n.reserve,t),xcm:this.encodeInstructionsCore(n.xcm,t)});case"TransferAsset":return r("TransferAsset",{assets:n.assets.map(i=>this.encodeAssetCore(i,t)),beneficiary:this.encodeLocationCore(n.beneficiary,t)});case"TransferReserveAsset":return r("TransferReserveAsset",{assets:n.assets.map(i=>this.encodeAssetCore(i,t)),dest:this.encodeLocationCore(n.dest,t),xcm:this.encodeInstructionsCore(n.xcm,t)});case"SetTopic":return r("SetTopic",vt.fromHex(n));case"SetErrorHandler":case"SetAppendix":return r(a,this.encodeInstructionsCore(n,t));case"UnpaidExecution":return r("UnpaidExecution",{weight_limit:this.encodeWeightLimitCore(n.weightLimit,t),check_origin:n.checkOrigin?this.encodeLocationCore(n.checkOrigin,t):void 0});case"Transact":return r("Transact",{origin_kind:n.originKind,require_weight_at_most:{ref_time:BigInt(n.requireWeightAtMost.refTime),proof_size:BigInt(n.requireWeightAtMost.proofSize)},call:n.call});case"InitiateTeleport":return r("InitiateTeleport",{assets:this.encodeAssetFilterCore(n.assets,t),dest:this.encodeLocationCore(n.dest,t),xcm:this.encodeInstructionsCore(n.xcm,t)});default:throw new Error(`Unknown XCM instruction type: '${a}'`)}}};var wt=class{chain;constructor(e){this.chain=e}async getSystemAccountBalance(e){let t=this.chain.api,r=(await At(t).query.System.Account.getValue(e)).data,{free:i,frozen:m}=r;return BigInt(i)-BigInt(m)}async getTokensAccountsBalance(e,t){let a=this.chain.api,n=At(a),r=Number(t),i=await n.query.Tokens.Accounts.getValue(e,r),{free:m,frozen:c}=i;return BigInt(m)-BigInt(c)}async calculateDestinationFee(e,t){try{let n=this.chain.api.getUnsafeApi(),r=be.encodeXcm(e),i=await n.apis.XcmPaymentApi.query_xcm_weight(r);if(!i.success)throw Error("Can't query XCM weight.");let m=this.chain.getAssetXcmLocation(t);if(!m)throw Error(`Can't get XCM location for asset ${t.originSymbol}`);let c=be.encodeAssetId(m),d=await n.apis.XcmPaymentApi.query_weight_to_asset_fee(i.value,c);if(!d.success)throw Error(`Can't convert weight to fee in ${t.originSymbol}`);return BigInt(d.value)}catch(a){throw console.error("Error in calculateDestinationFee:",a),a}}};import{Twox128 as W0}from"@polkadot-api/substrate-bindings";import{toHex as M0}from"@polkadot-api/utils";var le=class extends wt{constructor(e){super(e)}async checkIfSufficient(e){let a=this.chain.api.getUnsafeApi(),n=this.chain.getAssetId(e),r=this.chain.getAssetXcmLocation(e);if(n===0)return!0;let i=n===e.originSymbol?await a.query.ForeignAssets.Asset.getValue(r):await a.query.Assets.Asset.getValue(Number(n));return i&&i.is_sufficient||!1}async checkIfFrozen(e,t){let n=this.chain.api.getUnsafeApi(),r=this.chain.getAssetId(t);if(r===t.originSymbol)return!1;let i=await n.query.Assets.Account.getValue(r,e);return i&&i.status?.Frozen||!1}async getAssetMin(e){let a=this.chain.api.getUnsafeApi(),n=this.chain.getAssetId(e),r=await a.query.Assets.Asset.getValue(n);return BigInt(r.min_balance)}async getBridgeDeliveryFee(e={defaultFee:2750872500000n}){let t=this.chain.api,a=new TextEncoder().encode(":BridgeHubEthereumBaseFee:"),n=M0(W0(a)),r=await t._request("state_getStorage",[n]);if(!r)return e.defaultFee;let i=r.replace("0x",""),m=new Uint8Array(i.match(/.{1,2}/g).map(d=>parseInt(d,16))),c=0n;for(let d=0;d<m.length;d++)c|=BigInt(m[d])<<BigInt(d*8);return c===0n?e.defaultFee:c}async calculateDeliveryFee(e,t){let n=this.chain.api.getUnsafeApi(),r=be.encodeVersionedLocationForUnsafeApi({parents:1,interior:{X1:[{Parachain:t}]}}),i=be.encodeXcmForUnsafeApi(e),m=await n.apis.XcmPaymentApi.query_delivery_fees(r,i);if(!m.success)throw Error("Can't query XCM delivery fee.");let c=m.value.value||m.value.V4||m.value;for(let d of c){let f=d.id.interior,b=f?.type==="Here"||f==="Here"||f===void 0;if(d.id.parents===1&&b)return BigInt(d.fun.value??d.fun.Fungible)}throw Error("Can't find XCM delivery fee in DOT.")}async calculateDestinationFee(e,t){try{let n=this.chain.api.getUnsafeApi(),r=be.encodeXcmForUnsafeApi(e),i=await n.apis.XcmPaymentApi.query_xcm_weight(r);if(!i.success)throw Error("Can't query XCM weight.");let m=this.chain.getAssetXcmLocation(t);if(!m)throw Error(`Can't get XCM location for asset ${t.originSymbol}`);let c=be.encodeAssetIdForUnsafeApi(m),d=await n.apis.XcmPaymentApi.query_weight_to_asset_fee(i.value,c);if(!d.success)throw Error(`Can't convert weight to fee in ${t.originSymbol}`);return BigInt(d.value)}catch(a){throw console.error("Error in calculateDestinationFee:",a),a}}};Ts();var kt=class extends wt{constructor(e){super(e)}async checkIfSufficient(e){let t=this.chain.api,a=At(t),n=this.chain.getAssetId(e),r=Number(n),i=await a.query.AssetRegistry.Assets.getValue(r);return i?i.is_sufficient||!1:!0}async getFeeAsset(e){let t=this.chain.api,n=await At(t).query.MultiTransactionPayment.AccountCurrencyMap.getValue(e);return n?n.toString():"0"}async getAssetBalance(e,t){return t==="0"?this.getSystemAccountBalance(e):this.getTokensAccountsBalance(e,t)}};function U0(){return{calculateRelayerFee:()=>({build:async({feeAsset:s,destination:e,source:t})=>{let a=t,n=e,r=Na.fromChain(a),i=Na.fromChain(n),m=a.getAssetId(s),c=a.getAssetDecimals(s);return{amount:await a.client.getProvider().readContract({abi:ja.TokenRelayer,address:r.getTokenRelayer(),args:[i.getWormholeId(),m,c],functionName:"calculateRelayerFee"})}}})}}function O0(){return{TokenRelayer:U0}}function V0(){return{calculateInboundFee:s=>({build:async({feeAsset:e,destination:t,source:a})=>{let n=a,r=t,i=K0.fromChain(n),m=new wt(r),c=new le(s.hub),d=await gn(e,r),[f,b]=await Promise.all([m.calculateDestinationFee(d,g),c.calculateDeliveryFee(d,r.parachainId)]),A=b+_s(f,25n),B=n.getAssetId(e);return{amount:await n.client.getProvider().readContract({abi:ja.Snowbridge,address:i.getGateway(),args:[B,r.parachainId,A],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:A}}}}),calculateOutboundFee:s=>({build:async({transferAsset:e,feeAsset:t,source:a})=>{let n=a,r=new le(s.hub),i=await Sa(e,n),m=await gn(e,n),[c,d,f,b,A]=await Promise.all([r.getBridgeDeliveryFee(),r.calculateDeliveryFee(i,Ea),r.calculateDestinationFee(i,t),r.calculateDeliveryFee(m,n.parachainId),r.calculateDestinationFee(m,t)]);return{amount:c+d+_s(f,25n)+b+_s(A,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:d,assetHubDestinationFee:f,returnToSenderDeliveryFee:b,returnToSenderDestinationFee:A}}}})}}function tt(){return{Snowbridge:V0,Wormhole:O0}}Ts();var G0="0";function N0(){return{build:async({address:s,chain:e})=>{let t=e.api,n=await At(t).query.MultiTransactionPayment.AccountCurrencyMap.getValue(s),r=n?n.toString():G0,i=e.findAssetById(r);return i?i.asset:j}}}var j0=()=>({accountCurrencyMap:N0});function Es(){return{multiTransactionPayment:j0}}import{mrl as $a,Precompile as Ja,ProgramConfig as Qa,Wormhole as js}from"@galacticcouncil/xc-core";import{ACCOUNT_SIZE as q0,NATIVE_MINT as qa,TOKEN_PROGRAM_ID as z0,createCloseAccountInstruction as $0,createInitializeAccountInstruction as J0,getMinimumBalanceForRentExemptAccount as Q0,getAssociatedTokenAddress as Y0}from"@solana/spl-token";import{Keypair as Pn,PublicKey as In,SystemProgram as za}from"@solana/web3.js";import{UniversalAddress as Ya}from"@wormhole-foundation/sdk-connect";import{createApproveAuthoritySignerInstruction as Za,createTransferNativeWithPayloadInstruction as eo,getWrappedMeta as Z0}from"@wormhole-foundation/sdk-solana-tokenbridge";var em=()=>({viaMrl:s=>({build:async e=>{let{address:t,amount:a,source:n,sender:r,destination:i}=e,m=n.chain,c=m,d=js.fromChain(m),f=js.fromChain(s.moonchain),b=Ja.Bridge,A=await $a.createPayload(i.chain,t),B=new In(r),O=new Ya(b),V=f.getWormholeId(),F=B,Q=0,se=Pn.generate(),k=Pn.generate(),Tt=await Q0(c.connection),lt=za.createAccount({fromPubkey:F,newAccountPubkey:k.publicKey,lamports:Tt,space:q0,programId:z0}),nt=za.transfer({fromPubkey:F,lamports:a,toPubkey:k.publicKey}),at=J0(k.publicKey,qa,F),ot=Za(d.getTokenBridge(),k.publicKey,F,a),ye=eo(c.connection,d.getTokenBridge(),d.getCoreBridge(),r,se.publicKey,k.publicKey,qa,Q,a,O.toUint8Array(),V,A.toU8a()),un=$0(k.publicKey,F,F);return new Qa({instructions:[lt,nt,at,ot,ye,un],signers:[se,k],func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),tm=()=>({viaMrl:s=>({build:async e=>{let{address:t,amount:a,asset:n,source:r,sender:i,destination:m}=e,c=r.chain,d=c,f=js.fromChain(c),b=js.fromChain(s.moonchain),A=Ja.Bridge,B=await $a.createPayload(m.chain,t),O=new In(i),V=r.chain.getAssetId(n),F=new In(V),Q=await Y0(F,O),se=new Ya(A),k=b.getWormholeId();if(await Z0(d.connection,f.getTokenBridge(),F).catch(ye=>null).then(ye=>ye!=null))throw new Error("Wrapped assets not supported yet");let lt=0,nt=Pn.generate(),at=Za(f.getTokenBridge(),Q,O,a),ot=eo(d.connection,f.getTokenBridge(),f.getCoreBridge(),i,nt.publicKey,Q,F,lt,a,se.toUint8Array(),k,B.toU8a());return new Qa({instructions:[at,ot],signers:[nt],func:"TransferWithPayload",module:"TokenBridge"})}})}),to=()=>({transferNativeWithPayload:em,transferTokenWithPayload:tm});function so(){return{TokenBridge:to}}function qs(){return{Wormhole:so}}import{mrl as sm,MoveConfig as nm,Precompile as am,Wormhole as no}from"@galacticcouncil/xc-core";import{Transaction as om}from"@mysten/sui/transactions";import{SUI_CLOCK_OBJECT_ID as rm,SUI_TYPE_ARG as im}from"@mysten/sui/utils";import{UniversalAddress as cm}from"@wormhole-foundation/sdk-connect";import{getOldestEmitterCapObjectId as mm,getPackageId as ao}from"@wormhole-foundation/sdk-sui";var um=()=>({viaMrl:s=>({build:async e=>{let{address:t,amount:a,source:n,sender:r,destination:i}=e,m=n.chain,c=m,d=no.fromChain(m),f=no.fromChain(s.moonchain),b=0,A=am.Bridge,B=await sm.createPayload(i.chain,t),O=new cm(A),V=f.getWormholeId(),F=im,[Q,se]=await Promise.all([ao(c.client,d.coreBridge),ao(c.client,d.tokenBridge)]),k=new om,[Tt]=k.splitCoins(k.gas,[k.pure.u64(a)]),[lt]=k.splitCoins(k.gas,[k.pure.u64(i.fee.amount)]),[nt]=k.moveCall({target:`${se}::state::verified_asset`,arguments:[k.object(d.tokenBridge)],typeArguments:[F]}),at=!1,ot=await(async()=>{let Hn=await mm(c.client,Q,r);if(Hn!==null)return k.object(Hn);{let[xr]=k.moveCall({target:`${Q}::emitter::new`,arguments:[k.object(d.coreBridge)]});return at=!0,xr}})(),[ye,un]=k.moveCall({target:`${se}::transfer_tokens_with_payload::prepare_transfer`,arguments:[ot,nt,Tt,k.pure.u16(V),k.pure.vector("u8",O.toUint8Array()),k.pure.vector("u8",B.toU8a()),k.pure.u32(b)],typeArguments:[F]});k.moveCall({target:`${se}::coin_utils::return_nonzero`,arguments:[un],typeArguments:[F]});let[yr]=k.moveCall({target:`${se}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[k.object(d.tokenBridge),ye],typeArguments:[F]});return k.moveCall({target:`${Q}::publish_message::publish_message`,arguments:[k.object(d.coreBridge),lt,yr,k.object(rm)]}),at&&k.transferObjects([ot],k.pure.address(r)),new nm({transaction:k,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),oo=()=>({transferNativeWithPayload:um});function ro(){return{TokenBridge:oo}}function vn(){return{Wormhole:ro}}var co={};Qt(co,{Tag:()=>Ft});var Ft=(n=>(n.Wormhole="Wormhole",n.Relayer="Relayer",n.Snowbridge="Snowbridge",n.Mrl="Mrl",n))(Ft||{});import{AssetRoute as mo}from"@galacticcouncil/xc-core";function gs(s,e){return new mo({source:{asset:s,balance:o().evm().erc20(),fee:{asset:S,balance:o().evm().native()},destinationFee:{asset:s,balance:o().evm().erc20()}},destination:{chain:l,asset:e,fee:{amount:0,asset:e}},contract:E().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:R}),tags:["Mrl","Wormhole"]})}function ce(s,e){return new mo({source:{asset:s,balance:o().evm().erc20(),fee:{asset:S,balance:o().evm().native()},destinationFee:{balance:o().evm().native()}},destination:{chain:l,asset:e,fee:{amount:tt().Snowbridge().calculateInboundFee({hub:_}),asset:S}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]})}var lm=[new zs({source:{asset:S,balance:o().evm().native(),destinationFee:{asset:S,balance:o().evm().native()}},destination:{chain:l,asset:Z,fee:{amount:0,asset:Z}},contract:E().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:R}),tags:["Mrl","Wormhole"]}),gs(ue,ee),gs(Je,we),gs(x,z),gs(p,Ae),gs(rt,ge)],fm=[new zs({source:{asset:S,balance:o().evm().native(),fee:{asset:S,balance:o().evm().native()},destinationFee:{balance:o().evm().native()}},destination:{chain:l,asset:S,fee:{amount:tt().Snowbridge().calculateInboundFee({hub:_}),asset:S}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]}),ce(Te,Te),ce(Pe,Pe),ce(Fe,Fe),ce(Ke,Ke),ce(Ve,Ve),ce(Ge,Ge),ce(Se,Se),ce(Xe,Xe),ce(De,De),ce(Oe,Oe),ce(qe,qe),ce(Ye,Ye),ce(x,Dt),ce(p,Lt)],Og=[new zs({source:{asset:S,balance:o().evm().native(),destinationFee:{asset:S,balance:o().evm().erc20()}},destination:{chain:R,asset:Z,fee:{amount:0,asset:Z}},contract:E().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new zs({source:{asset:ue,balance:o().evm().erc20(),fee:{asset:S,balance:o().evm().native()},destinationFee:{asset:ue,balance:o().evm().erc20()}},destination:{chain:R,asset:ee,fee:{amount:0,asset:ee}},contract:E().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],uo=new dm({chain:v,routes:[...lm,...fm]});var lo=[uo];import{AssetRoute as Ps,ChainRoutes as pm}from"@galacticcouncil/xc-core";var hm=[new Ps({source:{asset:G,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:G,fee:{amount:1,asset:G}},extrinsic:u().xTokens().transfer()}),new Ps({source:{asset:ve,balance:o().evm().erc20(),fee:{asset:G,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:l,asset:ve,fee:{amount:.002926334210356268,asset:ve}},extrinsic:u().xTokens().transfer()}),new Ps({source:{asset:Qe,balance:o().evm().erc20(),fee:{asset:G,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:l,asset:Qe,fee:{amount:6e-8,asset:Qe}},extrinsic:u().xTokens().transfer()}),new Ps({source:{asset:$e,balance:o().evm().erc20(),fee:{asset:G,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:l,asset:$e,fee:{amount:956965470918e-18,asset:$e}},extrinsic:u().xTokens().transfer()}),new Ps({source:{asset:fe,balance:o().substrate().tokens().accounts(),fee:{asset:G,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:fe,fee:{amount:.011,asset:fe}},extrinsic:u().xTokens().transfer()})],fo=new pm({chain:it,routes:[...hm]});import{AssetRoute as Js,ChainRoutes as yo}from"@galacticcouncil/xc-core";import{AssetRoute as Fn}from"@galacticcouncil/xc-core";var Nt=0,bm=s=>{let{source:e}=s;return!!e.feeSwap},ym=s=>{let{source:e}=s,{enabled:t}=e.destinationFeeSwap||{};return!!t},po=u().assetConversion().swapTokensForExactTokens({slippage:30});function ho(s,e,t){return new Fn({source:{asset:s,balance:o().substrate().assets().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().assets().account()},min:Et().assets().asset()},destination:{chain:e,asset:s,fee:{amount:t,asset:p}},extrinsic:gt(ym,po).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function $s(s,e,t){return new Fn({source:{asset:s,balance:o().substrate().assets().account(),fee:{asset:s,balance:o().substrate().assets().account(),swap:!0},destinationFee:{balance:o().substrate().assets().account()},min:Et().assets().asset()},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},extrinsic:gt(bm,po).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function jt(s,e,t){return new Fn({source:{asset:s,balance:o().substrate().assets().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().assets().account()},min:Et().assets().asset()},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function qt(s){return ho(s,l,.02)}function bo(s){return ho(s,R,.25)}var xm=[new Js({source:{asset:g,balance:o().substrate().system().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().system().account()},min:Et().assets().asset()},destination:{chain:l,asset:g,fee:{amount:.001,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new Js({source:{asset:C,balance:o().substrate().foreignAssets().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().foreignAssets().account()}},destination:{chain:l,asset:C,fee:{amount:1e-4,asset:C}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),jt(p,l,.02),jt(x,l,.02),qt(Y),qt(ft),qt(pt),qt(ht)],gm=[new Js({source:{asset:C,balance:o().substrate().foreignAssets().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().foreignAssets().account()}},destination:{chain:et,asset:C,fee:{amount:.001,asset:C}},extrinsic:u().polkadotXcm().transferAssets()})],Am=[jt(p,R,.25),jt(x,R,.25),bo(Y)],wm=[jt(p,J,.03),jt(x,J,.03)],km=[new Js({source:{asset:U,balance:o().substrate().foreignAssets().account(),fee:{asset:g,balance:o().substrate().system().account(),extra:Nt},destinationFee:{balance:o().substrate().foreignAssets().account()}},destination:{chain:Bt,asset:U,fee:{amount:2.5,asset:U}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],xo=new yo({chain:_,routes:[...xm,...gm,...Am,...wm,...km]}),go=new yo({chain:Zt,routes:[$s(p,l,.02),$s(x,l,.02),$s(g,l,.001)]});import{AssetRoute as dt,ChainRoutes as Cm}from"@galacticcouncil/xc-core";var Tm=[new dt({source:{asset:X,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:X,fee:{amount:.044306118,asset:X}},extrinsic:u().polkadotXcm().reserveTransferAssets()}),new dt({source:{asset:I,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:I,fee:{amount:.1,asset:I}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:y,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:y,fee:{amount:.04,asset:y}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:H,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:H,fee:{amount:2e-6,asset:H}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:L,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:L,fee:{amount:.2,asset:L}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:q,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:q,fee:{amount:.3,asset:q}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:D,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:D,fee:{amount:4e-4,asset:D}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:$,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:$,fee:{amount:.025,asset:$}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:p,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:u().xTokens().transfer()}),new dt({source:{asset:x,balance:o().substrate().assets().account(),fee:{asset:X,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().assets().account()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:u().xTokens().transfer()})],Ao=new Cm({chain:oe,routes:[...Tm]});import{AssetRoute as st,ChainRoutes as Bm}from"@galacticcouncil/xc-core";var Em=[new st({source:{asset:I,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:I,fee:{amount:.014645,asset:I}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:D,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:D,fee:{amount:555e-6,asset:D}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:$,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:$,fee:{amount:.0115,asset:$}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:g,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.1,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new st({source:{asset:X,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:X,fee:{amount:.5,asset:X}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:y,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.1,asset:y}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:H,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:2e-6,asset:H}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:p,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:u().xTokens().transfer()}),new st({source:{asset:x,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:u().xTokens().transfer()})],Pm=[new st({source:{asset:p,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:_,asset:p,fee:{amount:.18,asset:p}},extrinsic:u().xTokens().transferMultiassets()}),new st({source:{asset:x,balance:o().substrate().tokens().accounts(),fee:{asset:I,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:_,asset:x,fee:{amount:.18,asset:x}},extrinsic:u().xTokens().transferMultiassets()})],wo=new Bm({chain:J,routes:[...Em,...Pm]});import{AssetRoute as ko,ChainRoutes as Im}from"@galacticcouncil/xc-core";var vm=[new ko({source:{asset:xe,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:xe,fee:{amount:.006373834498834048,asset:xe}},extrinsic:u().xTokens().transfer()}),new ko({source:{asset:y,balance:o().substrate().ormlTokens().accounts(),fee:{asset:xe,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().ormlTokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.05,asset:y}},extrinsic:u().xTokens().transfer()})],Co=new Im({chain:Wt,routes:[...vm]});import{AssetRoute as $t,ChainRoutes as Sm}from"@galacticcouncil/xc-core";var Fm="0",P=()=>({build:({address:s,asset:e,chain:t})=>t.getAssetId(e).toString()===Fm?o().substrate().system().account().build({address:s,asset:e,chain:t}):o().substrate().tokens().accounts().build({address:s,asset:e,chain:t})}),me=()=>({asset:Es().multiTransactionPayment().accountCurrencyMap(),balance:P()});import{AssetRoute as As}from"@galacticcouncil/xc-core";var Rm=.9,Xm=1,_m=.03,Qs=s=>{let{source:e}=s,{enabled:t}=e.destinationFeeSwap||{};return!!t},Ys=u().router().buy({slippage:30});function w(s,e,t){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},extrinsic:u().xTokens().transfer()})}function zt(s){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:_,asset:s,fee:{amount:.18,asset:p}},extrinsic:gt(Qs,Ys).prior(u().xTokens().transferMultiassets())})}function Zs(s,e,t){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:Zt,asset:s,fee:{amount:e,asset:s}},extrinsic:u().utility().batchAll([t,u().polkadotXcm().send().transferAsset({fee:_m})])})}function To(s,e,t){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:e,asset:s,fee:{amount:t,asset:y}},extrinsic:gt(Qs,Ys).prior(u().xTokens().transferMultiCurrencies())})}function Rt(s){return To(s,R,.08)}function Bo(s){return To(s,bt,.1)}function Eo(s,e,t,a,n,r){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{asset:s,balance:P()}},destination:{chain:t,asset:e,fee:{amount:a,asset:e}},extrinsic:gt(Qs,Ys).priorMulti([u().xTokens().transferMultiCurrencies(),u().polkadotXcm().send().transact({fee:Rm})]),transact:{chain:R,fee:{amount:Xm,asset:y,balance:P()},extrinsic:u().ethereumXcm().transact(n)},tags:r})}function Rn(s,e,t){return Eo(s,e,t,0,E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenBridge()),E().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Xt(s,e,t){return Eo(s,e,t,tt().Wormhole().TokenRelayer().calculateRelayerFee(),E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function te(s,e,t){return new As({source:{asset:s,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:t,asset:e,fee:{amount:tt().Snowbridge().calculateOutboundFee({hub:_}),asset:g}},extrinsic:gt(Qs,Ys).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var Lm=[w(ve,it,92696e-8),w(Qe,it,4e-8),w($e,it,687004e-12),w(G,it,1),w(fe,it,.06)],Dm=[new $t({source:{asset:g,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:_,asset:g,fee:{amount:.19,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new $t({source:{asset:C,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:_,asset:C,fee:{amount:.05,asset:C}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new $t({source:{asset:p,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:_,asset:p,fee:{amount:.07,asset:p}},extrinsic:u().xTokens().transferMultiasset()}),new $t({source:{asset:x,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:_,asset:x,fee:{amount:.07,asset:x}},extrinsic:u().xTokens().transferMultiasset()}),zt(Y),zt(ft),zt(pt),zt(ht)],Hm=[w(X,oe,.00404146544),w(I,oe,.75),w(y,oe,.025),w(H,oe,2e-6),w(L,oe,.01),w(q,oe,.3),w(D,oe,4e-4),w($,oe,.005),w(p,oe,.3),w(x,oe,.3)],Wm=[w(I,J,563136e-9),w(D,J,703e-10),w($,J,643e-9),w(g,J,.1),w(X,J,.5),w(y,J,.1),w(H,J,5e-6),w(p,J,.3),w(x,J,.3),new $t({source:{asset:g,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:J,asset:g,fee:{amount:.1,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],Mm=[w(xe,Wt,.0092696),w(y,Wt,.05)],Km=[w(H,ke,62e-8),w(L,ke,.0019213457),w(j,ke,.5),w(p,ke,.3),w(x,ke,.3),new $t({source:{asset:D,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:ke,asset:D,fee:{amount:.01,asset:g}},extrinsic:u().xTokens().transfer()}),new $t({source:{asset:g,balance:P(),fee:me(),destinationFee:{balance:P()}},destination:{chain:ke,asset:g,fee:{amount:.05,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],Um=[w(j,R,5),w(y,R,.01),w(p,R,.3),w(x,R,.3),Rt(ee),Rt(ge),Rt(z),Rt(Ae),Rt(we),Rt(Z),Rt(N)],Om=[w(pe,bt,.0093),w(y,bt,.002),Bo(z)],Vm=[w(q,is,.064296)],Gm=[w(U,Bt,2.5)],Nm=[w(He,os,.0012)],jm=[w(ze,cs,0)],qm=[w(Ie,es,.04)],zm=[w(Re,ss,.02)],$m=[w(_e,ns,.1)],Jm=[w(Le,ms,.02)],Qm=[w(Me,rs,1.1)],Ym=[w(We,as,.205)],Zm=[w(Ue,ts,4)],eu=[w(Be,Yt,.001)],tu=[Xt(ee,ue,v),Xt(Z,S,v),Xt(we,Je,v),Xt(Ae,p,v),Xt(z,x,v),Rn(ge,rt,v)],su=[te(S,S,v),te(Te,Te,v),te(Pe,Pe,v),te(Fe,Fe,v),te(Ke,Ke,v),te(Ve,Ve,v),te(Ge,Ge,v),te(qe,qe,v),te(Se,Se,v),te(Xe,Xe,v),te(De,De,v),te(Oe,Oe,v),te(Ye,Ye,v),te(Dt,x,v),te(Lt,p,v)],nu=[Xt(N,N,Mt),Rn(ne,ne,Mt)],au=[Xt(ae,ae,us)],ou=[Zs(p,.1,u().xTokens().transferMultiasset()),Zs(x,.1,u().xTokens().transferMultiasset()),Zs(g,.2,u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}))],Po=new Sm({chain:l,routes:[...Lm,...eu,...Dm,...Hm,...Wm,...Mm,...ou,...qm,...Zm,...su,...tu,...Km,...zm,...$m,...Jm,...Um,...Gm,...Ym,...Nm,...Vm,...Qm,...nu,...au,...jm,...Om]});import{AssetRoute as Jt,ChainRoutes as ru}from"@galacticcouncil/xc-core";var iu=[new Jt({source:{asset:L,balance:o().substrate().tokens().accounts(),destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:L,fee:{amount:.13,asset:L}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:H,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:.03,asset:L}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:j,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:j,fee:{amount:.1,asset:j}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:D,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:D,fee:{amount:.001,asset:D}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:p,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:x,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:u().xTokens().transfer()}),new Jt({source:{asset:g,balance:o().substrate().tokens().accounts(),fee:{asset:L,balance:o().substrate().tokens().accounts()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.1,asset:g}},extrinsic:u().xTokens().transfer()})],Io=new ru({chain:ke,routes:[...iu]});import{AssetRoute as ws,ChainRoutes as uu}from"@galacticcouncil/xc-core";import{AssetRoute as vo}from"@galacticcouncil/xc-core";function cu(s,e,t){return new vo({source:{asset:s,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},contract:E().Xtokens().transfer()})}function mu(s,e,t){return new vo({source:{asset:s,balance:o().evm().erc20(),fee:{asset:y,balance:o().evm().erc20()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},contract:E().Xtokens().transfer()})}function _t(s,e){return cu(s,l,e)}function en(s,e){return mu(s,l,e)}var du=[new ws({source:{asset:y,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:y,fee:{amount:.05,asset:y}},contract:E().Xtokens().transfer()}),en(j,.6),en(p,.3),en(x,.3),_t(ee,.004),_t(ge,.004),_t(z,.004),_t(Ae,.004),_t(we,1e-7),_t(Z,2e-6),_t(N,2e-5)],lu=[new ws({source:{asset:Y,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:_,asset:Y,fee:{amount:.18,asset:p}},contract:E().Xtokens().transferMultiCurrencies()}),new ws({source:{asset:p,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:_,asset:p,fee:{amount:.18,asset:p}},contract:E().Xtokens().transfer()}),new ws({source:{asset:x,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{balance:o().evm().erc20()}},destination:{chain:_,asset:x,fee:{amount:.18,asset:x}},contract:E().Xtokens().transfer()})],yA=[new ws({source:{asset:Z,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{asset:Z,balance:o().evm().erc20()}},destination:{chain:v,asset:S,fee:{amount:tt().Wormhole().TokenRelayer().calculateRelayerFee(),asset:S}},contract:E().Batch().batchAll([E().Erc20().approve(s=>s.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new ws({source:{asset:ee,balance:o().evm().erc20(),fee:{asset:y,balance:o().substrate().system().account()},destinationFee:{asset:ee,balance:o().evm().erc20()}},destination:{chain:v,asset:ue,fee:{amount:tt().Wormhole().TokenRelayer().calculateRelayerFee(),asset:ue}},contract:E().Batch().batchAll([E().Erc20().approve(s=>s.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],Fo=new uu({chain:R,routes:[...du,...lu]});import{AssetRoute as Ro,ChainRoutes as fu}from"@galacticcouncil/xc-core";var pu=[new Ro({source:{asset:U,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:U,fee:{amount:.01,asset:U}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],hu=[new Ro({source:{asset:U,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:_,asset:U,fee:{amount:.1,asset:U}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Xo=new fu({chain:Bt,routes:[...pu,...hu]});import{AssetRoute as bu,ChainRoutes as yu}from"@galacticcouncil/xc-core";var xu=[new bu({source:{asset:He,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:He,fee:{amount:.2,asset:He}},extrinsic:u().xTokens().transfer()})],_o=new yu({chain:os,routes:[...xu]});import{AssetRoute as gu,ChainRoutes as Au}from"@galacticcouncil/xc-core";var wu=[new gu({source:{asset:ze,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:ze,fee:{amount:.22,asset:ze}},extrinsic:u().xTokens().transfer()})],So=new Au({chain:cs,routes:[...wu]});import{AssetRoute as Xn,ChainRoutes as ku}from"@galacticcouncil/xc-core";var Cu=[new Xn({source:{asset:pe,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:pe,fee:{amount:.0225,asset:pe}},extrinsic:u().xTokens().transfer()}),new Xn({source:{asset:y,balance:o().substrate().tokens().accounts(),fee:{asset:pe,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.0035,asset:y}},extrinsic:u().xTokens().transfer()}),new Xn({source:{asset:z,balance:o().substrate().tokens().accounts(),fee:{asset:pe,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:l,asset:z,fee:{amount:.1,asset:y}},extrinsic:u().xTokens().transferMultiCurrencies()})],Lo=new ku({chain:bt,routes:[...Cu]});import{AssetRoute as Tu,ChainRoutes as Bu}from"@galacticcouncil/xc-core";var Eu=[new Tu({source:{asset:q,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:q,fee:{amount:.01842508453,asset:q}},extrinsic:u().xTransfer().transfer()})],Do=new Bu({chain:is,routes:[...Eu]});import{AssetRoute as Pu,ChainRoutes as Iu}from"@galacticcouncil/xc-core";var vu=[new Pu({source:{asset:Ie,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Ie,fee:{amount:.01,asset:Ie}},extrinsic:u().xTokens().transfer()})],Ho=new Iu({chain:es,routes:[...vu]});import{AssetRoute as Fu,ChainRoutes as Ru}from"@galacticcouncil/xc-core";var Xu=[new Fu({source:{asset:Re,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Re,fee:{amount:.03,asset:Re}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],Wo=new Ru({chain:ss,routes:[...Xu]});import{AssetRoute as _u,ChainRoutes as Su}from"@galacticcouncil/xc-core";var Lu=[new _u({source:{asset:Me,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Me,fee:{amount:.2,asset:Me}},extrinsic:u().xTokens().transfer()})],Mo=new Su({chain:rs,routes:[...Lu]});import{AssetRoute as Du,ChainRoutes as Hu}from"@galacticcouncil/xc-core";var Wu=[new Du({source:{asset:Ue,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Ue,fee:{amount:2,asset:Ue}},extrinsic:u().xTokens().transfer()})],Ko=new Hu({chain:ts,routes:[...Wu]});import{AssetRoute as Mu,ChainRoutes as Ku}from"@galacticcouncil/xc-core";var Uu=[new Mu({source:{asset:Be,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Be,fee:{amount:.001,asset:Be}},extrinsic:u().xTokens().transfer()})],Uo=new Ku({chain:Yt,routes:[...Uu]});import{AssetRoute as Ou,ChainRoutes as Vu}from"@galacticcouncil/xc-core";var Gu=[new Ou({source:{asset:_e,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:_e,fee:{amount:2,asset:_e}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],Oo=new Vu({chain:ns,routes:[...Gu]});import{AssetRoute as Nu,ChainRoutes as ju}from"@galacticcouncil/xc-core";var qu=[new Nu({source:{asset:Le,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:Le,fee:{amount:.03,asset:Le}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Vo=new ju({chain:ms,routes:[...qu]});import{AssetRoute as zu,ChainRoutes as $u}from"@galacticcouncil/xc-core";var Ju=[new zu({source:{asset:We,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:l,asset:We,fee:{amount:.205,asset:We}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Go=new $u({chain:as,routes:[...Ju]});var No=[fo,Uo,xo,go,Ao,wo,Co,Po,Io,Fo,Xo,Go,_o,So,Lo,Do,Ho,Wo,Mo,Ko,Oo,Vo];import{AssetRoute as jo,ChainRoutes as Qu}from"@galacticcouncil/xc-core";var Yu=[new jo({source:{asset:N,balance:o().solana().native(),destinationFee:{asset:N,balance:o().solana().native()}},destination:{chain:l,asset:N,fee:{amount:0,asset:N}},program:qs().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:R}),tags:["Mrl","Wormhole"]}),new jo({source:{asset:ne,balance:o().solana().token(),fee:{asset:N,balance:o().solana().native()},destinationFee:{asset:ne,balance:o().solana().token()}},destination:{chain:l,asset:ne,fee:{amount:0,asset:ne}},program:qs().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:R}),tags:["Mrl","Wormhole"]})],qo=new Qu({chain:Mt,routes:[...Yu]});var zo=[qo];import{AssetRoute as Zu,ChainRoutes as ed}from"@galacticcouncil/xc-core";var td=[new Zu({source:{asset:ae,balance:o().sui().native(),destinationFee:{asset:ae,balance:o().sui().native()}},destination:{chain:l,asset:ae,fee:{amount:0,asset:ae}},move:vn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:R}),tags:["Mrl","Wormhole"]})],$o=new ed({chain:us,routes:[...td]});var Jo=[$o];import{AssetRoute as Qo,ChainRoutes as sd}from"@galacticcouncil/xc-core";import{AssetRoute as y2}from"@galacticcouncil/xc-core";var _n=0;var nd=new Qo({source:{asset:C,balance:o().substrate().system().account(),fee:{asset:C,balance:o().substrate().system().account(),extra:_n},destinationFee:{balance:o().substrate().system().account()}},destination:{chain:_,asset:C,fee:{amount:.002,asset:C}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),ad=new Qo({source:{asset:C,balance:o().substrate().system().account(),fee:{asset:C,balance:o().substrate().system().account(),extra:_n},destinationFee:{balance:o().substrate().system().account()}},destination:{chain:de,asset:C,fee:{amount:.0012,asset:C}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Yo=new sd({chain:et,routes:[ad,nd]});import{AssetRoute as Zo,ChainRoutes as id}from"@galacticcouncil/xc-core";var od="0",Ct=()=>({build:({address:s,asset:e,chain:t})=>e.toString()===od?o().substrate().system().account().build({address:s,asset:e,chain:t}):o().substrate().tokens().accounts().build({address:s,asset:e,chain:t})}),Is=()=>({asset:Es().multiTransactionPayment().accountCurrencyMap(),balance:Ct()});import{AssetRoute as rd}from"@galacticcouncil/xc-core";function vs(s,e,t){return new rd({source:{asset:s,balance:Ct(),fee:Is(),destinationFee:{balance:Ct()}},destination:{chain:e,asset:s,fee:{amount:t,asset:s}},extrinsic:u().xTokens().transfer()})}var cd=[new Zo({source:{asset:p,balance:Ct(),fee:Is(),destinationFee:{balance:Ct()}},destination:{chain:et,asset:p,fee:{amount:.0012,asset:p}},extrinsic:u().xTokens().transferMultiasset()})],md=[new Zo({source:{asset:C,balance:Ct(),fee:Is(),destinationFee:{balance:Ct()}},destination:{chain:et,asset:C,fee:{amount:.0012,asset:C}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],er=new id({chain:de,routes:[...cd,...md,vs(Ee,ls,.0933),vs(Ne,ds,4e-6),vs(Ze,fs,464e-8),vs(je,ps,.0095)]});import{AssetRoute as ud,ChainRoutes as dd}from"@galacticcouncil/xc-core";var ld=[new ud({source:{asset:Ne,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:de,asset:Ne,fee:{amount:.00275,asset:Ne}},extrinsic:u().xTokens().transfer()})],tr=new dd({chain:ds,routes:[...ld]});import{AssetRoute as sr,ChainRoutes as fd}from"@galacticcouncil/xc-core";var pd=[new sr({source:{asset:p,balance:o().substrate().tokens().accounts(),fee:{asset:St,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:et,asset:p,fee:{amount:.0012,asset:p}},extrinsic:u().xTokens().transferMultiasset()})],hd=[new sr({source:{asset:Ee,balance:o().substrate().tokens().accounts(),fee:{asset:St,balance:o().substrate().system().account()},destinationFee:{balance:o().substrate().tokens().accounts()}},destination:{chain:de,asset:Ee,fee:{amount:22,asset:Ee}},extrinsic:u().xTokens().transfer()})],nr=new fd({chain:ls,routes:[...pd,...hd]});import{AssetRoute as bd,ChainRoutes as yd}from"@galacticcouncil/xc-core";var xd=[new bd({source:{asset:je,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:de,asset:je,fee:{amount:.014,asset:je}},extrinsic:u().xTokens().transfer()})],ar=new yd({chain:ps,routes:[...xd]});import{AssetRoute as gd,ChainRoutes as Ad}from"@galacticcouncil/xc-core";var wd=[new gd({source:{asset:Ze,balance:o().substrate().system().account(),destinationFee:{balance:o().substrate().system().account()}},destination:{chain:de,asset:Ze,fee:{amount:5e-4,asset:Ze}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],or=new Ad({chain:fs,routes:[...wd]});var rr=[Yo,er,tr,nr,ar,or];var kd=[...lo,...No,...zo,...Jo,...rr],Cd=new Map(kd.map(s=>[s.chain.key,s]));import{Parachain as fr}from"@galacticcouncil/xc-core";import{TransferValidation as ir,TransferValidationError as cr}from"@galacticcouncil/xc-core";var tn=class extends ir{async validate(e){let{source:t}=e,{chain:a,fee:n,feeBalance:r}=t;if(r.amount<n.amount)throw new cr("Insufficient_Fee_Balance",{amount:n.toDecimal(n.decimals),asset:n.symbol,chain:a.name,error:"fee.insufficientBalance"})}},sn=class extends ir{async skipFor(e){let{asset:t,source:a}=e,{enabled:n}=a.destinationFeeSwap||{};return t.isEqual(a.destinationFee)||!!n}async validate(e){if(await this.skipFor(e))return;let{source:a}=e,{chain:n,destinationFee:r,destinationFeeBalance:i}=a,m=await this.getMin(n,r),c=r.copyWith({amount:r.amount+m});if(i.amount<c.amount)throw new cr("Insufficient_Fee_Balance",{amount:c.toDecimal(c.decimals),asset:c.symbol,chain:n.name,error:"destFee.insufficientBalance"})}async getMin(e,t){if(e.key==="assethub")return new le(e).getAssetMin(t);let n=e.getAssetMin(t)*10**t.decimals;return BigInt(n)}};import{TransferValidation as mr,TransferValidationError as ur}from"@galacticcouncil/xc-core";var nn=class extends mr{async skipFor(e){let{asset:t,destination:a}=e,n=a.chain;return await new le(n).checkIfSufficient(t)}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:n}=e,r=n.chain;if(await new le(r).getSystemAccountBalance(a)===0n)throw new ur("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:n.chain.name,error:"account.insufficientDeposit"})}},an=class extends mr{async validate(e){let{asset:t,sender:a,source:n}=e,r=n.chain;if(await new le(r).checkIfFrozen(a,t))throw new ur("Asset_Frozen",{asset:t.originSymbol,chain:n.chain.name,error:"asset.frozen"})}};import{TransferValidation as dr,TransferValidationError as lr}from"@galacticcouncil/xc-core";var Td=12,Bd=1,Ed=18,on=class extends dr{async skipFor(e){let{destination:t}=e,a=t.chain,n=new kt(a),r=t.balance.amount>0n,i=await n.checkIfSufficient(t.balance);return r||i}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:n}=e,r=n.chain,i=new kt(r),m=await i.getFeeAsset(a),c=r.findAssetById(m),d=c.min||Bd,f=c.decimals||Td,b=d*Math.pow(10,f),A=await i.getAssetBalance(a,m);if(BigInt(b*1.1)>A)throw new lr("Insufficient_Ed",{amount:b,asset:c.asset.originSymbol,chain:r.name,error:"account.insufficientDeposit"})}},rn=class extends dr{async skipFor(e){let{source:t,transact:a}=e,{enabled:n}=t.destinationFeeSwap||{};return!(!!a&&a.chain.key==="moonbeam")||!!n}async validate(e){if(await this.skipFor(e))return;let{sender:a,source:n}=e,r=n.chain,i=new kt(r),m=r.getBalanceAssetId(y),c=r.getAssetDecimals(y)||Ed,d=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(a,m.toString())<BigInt(d))throw new lr("Insufficient_Ed",{amount:1,asset:y.originSymbol,chain:r.name,error:"destFee.insufficientBalance"})}};var Ce={isAny:()=>!0,isHydration:s=>s instanceof fr&&s.parachainId===2034,isHub:s=>s instanceof fr&&s.parachainId===1e3,isEvm:s=>s.isEvmChain()},Pd=[new tn(Ce.isAny,Ce.isAny),new sn(Ce.isAny,Ce.isAny),new nn(Ce.isAny,Ce.isHub),new an(Ce.isHub,Ce.isAny),new on(Ce.isAny,Ce.isHydration),new rn(Ce.isHydration,Ce.isAny)];var pr={};Qt(pr,{AssethubDex:()=>Ln,HydrationDex:()=>Sn});import{pool as Id,sor as vd,tx as Fd}from"@galacticcouncil/sdk-next";import{RUNTIME_DECIMALS as Rd}from"@galacticcouncil/common";import{memoize1 as Xd}from"@thi.ng/memoize";var{PoolType:cn}=Id,{TradeRouteBuilder:_d,TradeRouter:Sd}=vd,{TxBuilderFactory:Ld}=Fd,Sn=class{chain;client;poolCtx;txBuilder;getCtx=Xd(async e=>{console.log("init swap router",e,"\u2705");let t=new Sd(this.poolCtx);return t.withFilter({useOnly:[cn.Aave,cn.Omni,cn.Stable,cn.XYK]}),t});constructor(e,t){this.chain=e,this.poolCtx=t,this.client=new kt(this.chain),this.txBuilder=new Ld(t.client,t.evm)}async getCalldata(e,t,a,n,r=0){let i=Number(this.chain.getMetadataAssetId(t)),m=Number(this.chain.getMetadataAssetId(a)),c=n.amount,d=await this.getCtx(1),f=await d.getMostLiquidRoute(i,m),b=await d.getBuy(i,m,c,f);return(await(await this.txBuilder.trade(b).withBeneficiary(e).withSlippage(r).build()).get().getEncodedData()).asHex()}async getQuote(e,t,a,n){let r=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(t)),m=a.amount,c=await this.getCtx(1);try{let d=await c.getMostLiquidRoute(r,i),f=await c.getBuy(r,i,m,d);return{amount:f.amountIn,route:_d.build(f.swaps)}}catch(d){if(n)return{amount:await this.getFallbackPrice(e,a.amount)};throw d}}async getFallbackPrice(e,t){let{getTypedApi:a}=await Promise.resolve().then(()=>(Ts(),Oa)),n=this.chain.api,r=a(n),i=this.chain.getAssetId(e),m=Number(i),c=await r.query.MultiTransactionPayment.AcceptedCurrencies.getValue(m);if(!c)throw new Error(`No price found for asset ${e.originSymbol}`);let d=BigInt(c.toString())*t,f=Math.pow(10,Rd);return d/BigInt(f)}};var Ln=class{chain;client;constructor(e){this.chain=e,this.client=new le(this.chain)}async getCalldata(e,t,a,n){throw Error("Not supported for "+this.chain.key)}async getQuote(e,t,a){let n=this.chain.getAssetXcmLocation(e),r=this.chain.getAssetXcmLocation(t),m=this.chain.api.getUnsafeApi(),c=be.encodeLocationForUnsafeApi(n),d=be.encodeLocationForUnsafeApi(r),f=await m.apis.AssetConversionApi.quote_price_tokens_for_exact_tokens(c,d,a.amount,!0);if(!f.success)throw new Error("Failed to get swap quote");return{amount:BigInt(f.value)}}};import{ConfigService as Hd}from"@galacticcouncil/xc-core";import{Asset as Dd}from"@galacticcouncil/xc-core";function mn(s){let{id:e,origin:t,symbol:a}=s,n=a.toLowerCase();return new Dd({key:[n,t,e].join("_"),originSymbol:a})}function hr(s){let{decimals:e,id:t}=s;return{asset:mn(s),decimals:e,id:t,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:t}]}}}}function br(s){let{decimals:e,id:t,internalId:a,origin:n}=s;return{asset:mn(s),decimals:e,id:a,xcmLocation:{parents:1,interior:{X3:[{Parachain:n},{PalletInstance:50},{GeneralIndex:t}]}}}}var Dn=class extends Hd{registerExternal(e){let t=this.getChain("hydration"),a=this.getChain("assethub"),n=r=>!!t.findAssetById(r.internalId.toString());e.filter(r=>!n(r)&&r.origin===1e3).forEach(r=>{let i=mn(r),m=hr(r),c=br(r);console.log("\u{1F480} Registering "+i.key),a.updateAsset(m),t.updateAsset(c),this.updateAsset(i),this.updateChainRoute(a,qt(i)),this.updateChainRoute(t,zt(i))})}};export{Dn as HydrationConfigService,kr as assetsMap,io as builders,$i as chainsMap,Ga as clients,pr as dex,Cd as routesMap,co as tags,Pd as validations};
|
|
1
|
+
var vr=Object.defineProperty;var xs=(t,e)=>{for(var s in e)vr(t,s,{get:e[s],enumerable:!0})};import{Asset as h}from"@galacticcouncil/xc-core";var ke=new h({key:"aave",originSymbol:"AAVE"}),O=new h({key:"aca",originSymbol:"ACA"}),Ce=new h({key:"ajun",originSymbol:"AJUN"}),_=new h({key:"astr",originSymbol:"ASTR"}),E=new h({key:"bnc",originSymbol:"BNC"}),Te=new h({key:"bsx",originSymbol:"BSX"}),be=new h({key:"cfg",originSymbol:"CFG"}),Be=new h({key:"cfg_new",originSymbol:"CFG"}),Pe=new h({key:"cru",originSymbol:"CRU"}),me=new h({key:"dai",originSymbol:"DAI"}),ve=new h({...me,key:"dai_awh"}),ee=new h({...me,key:"dai_mwh"}),dt=new h({key:"ded",originSymbol:"DED"}),g=new h({key:"dot",originSymbol:"DOT"}),ft=new h({key:"dota",originSymbol:"DOTA"}),S=new h({key:"eth",originSymbol:"ETH"}),Ee=new h({key:"ena",originSymbol:"ENA"}),y=new h({key:"glmr",originSymbol:"GLMR"}),U=new h({key:"hdx",originSymbol:"HDX"}),H=new h({key:"ibtc",originSymbol:"IBTC"}),L=new h({key:"intr",originSymbol:"INTR"}),ne=new h({key:"jitoSol",originSymbol:"jitoSOL"}),Ft=new h({key:"kar",originSymbol:"KAR"}),Ie=new h({key:"kilt",originSymbol:"KILT"}),C=new h({key:"ksm",originSymbol:"KSM"}),Fe=new h({key:"ldo",originSymbol:"LDO"}),_e=new h({key:"laos",originSymbol:"LAOS"}),Xe=new h({key:"lbtc",originSymbol:"LBTC"}),Re=new h({key:"ewt",originSymbol:"EWT"}),de=new h({key:"ldot",originSymbol:"LDOT"}),Se=new h({key:"link",originSymbol:"LINK"}),N=new h({key:"myth",originSymbol:"MYTH"}),Le=new h({key:"nodl",originSymbol:"NODL"}),De=new h({key:"neuro",originSymbol:"NEURO"}),He=new h({key:"pen",originSymbol:"PEN"}),q=new h({key:"pha",originSymbol:"PHA"}),Me=new h({key:"paxg",originSymbol:"PAXG"}),Y=new h({key:"pink",originSymbol:"PINK"}),We=new h({key:"ring",originSymbol:"RING"}),Ve=new h({key:"sky",originSymbol:"SKY"}),G=new h({key:"sol",originSymbol:"SOL"}),ae=new h({key:"sui",originSymbol:"SUI"}),un=new h({key:"sub",originSymbol:"SUB"}),Ke=new h({key:"susde",originSymbol:"sUSDe"}),ot=new h({key:"susds",originSymbol:"sUSDS"}),ye=new h({...ot,key:"susds_mwh"}),Ne=new h({key:"tbtc",originSymbol:"tBTC"}),Oe=new h({key:"teer",originSymbol:"TEER"}),Ge=new h({key:"tnkr",originSymbol:"TNKR"}),Ue=new h({key:"trac",originSymbol:"TRAC"}),qe=new h({key:"unq",originSymbol:"UNQ"}),p=new h({key:"usdt",originSymbol:"USDT"}),xe=new h({...p,key:"usdt_mwh"}),_t=new h({...p,key:"usdt_eth"}),x=new h({key:"usdc",originSymbol:"USDC"}),z=new h({...x,key:"usdc_mwh"}),Xt=new h({...x,key:"usdc_eth"}),j=new h({key:"vastr",originSymbol:"vASTR"}),D=new h({key:"vdot",originSymbol:"vDOT"}),Rt=new h({key:"weth",originSymbol:"WETH"}),ze=new h({...Rt,key:"weth_awh"}),Z=new h({...Rt,key:"weth_mwh"}),je=new h({key:"wbtc",originSymbol:"WBTC"}),Je=new h({...je,key:"wbtc_awh"}),ge=new h({...je,key:"wbtc_mwh"}),$e=new h({key:"wsteth",originSymbol:"wstETH"}),pt=new h({key:"wud",originSymbol:"WUD"}),Qe=new h({key:"xrt",originSymbol:"XRT"}),fe=new h({key:"ztg",originSymbol:"ZTG"}),Er=[ke,O,Ce,_,Te,be,Be,Pe,E,me,ve,ee,dt,g,ft,Ee,S,y,U,H,L,Ft,Ie,C,Fe,_e,Xe,Re,ne,de,Se,N,De,Le,Me,q,He,Y,We,Ve,G,ae,un,Ke,ot,ye,Oe,Ge,Ue,Ne,qe,x,z,Xt,p,xe,_t,j,D,je,Je,ge,Rt,ze,Z,$e,pt,Qe,fe],Ir=new Map(Er.map(t=>[t.key,t]));import{ChainEcosystem as Fr,EvmChain as _r}from"@galacticcouncil/xc-core";import{mainnet as Xr}from"viem/chains";var I=new _r({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:S,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:ke,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Be,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Rt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:me,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Ee,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:Ke,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:ot,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Ne,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:je,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:Xe,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:x,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:p,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Fe,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:Se,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Me,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Ve,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:Ue,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:$e,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:Fr.Ethereum,evmChain:Xr,explorer:"https://etherscan.io/",rpcs:["https://ethereum-rpc.publicnode.com","https://cosmopolitan-dimensional-diagram.quiknode.pro"],snowbridge:{id:1,gateway:"0x27ca963c279c93801941e1eb8799c23f407d68e7"},wormhole:{id:2,coreBridge:"0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",tokenBridge:"0x3ee18B2214AFF97000D974cf647E7C347E8fa585",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"}});var Nn=[I];import{ChainEcosystem as Mr,EvmParachain as Wr}from"@galacticcouncil/xc-core";import{defineChain as Vr}from"viem";import{Blake2256 as Rr,getSs58AddressInfo as Sr}from"@polkadot-api/substrate-bindings";import{toHex as On}from"@polkadot-api/utils";var Lr="evm:",vs=new TextEncoder().encode(Lr),Es=class{async toH160(e,s){if(!s)return this.toDefaultH160(e);try{let a=await s.getChainSpecData(),r=await s.getTypedApi(a.genesisHash).query.EvmAccounts.evm_addresses(e);if(r)return r}catch{}return this.toDefaultH160(e)}toDefaultH160(e){let s=Sr(e);if(!s.isValid)throw new Error("Invalid SS58 address");let a=s.publicKey;if(a.length>=24&&a.slice(0,4).every((u,c)=>u===vs[c]))return On(a.slice(4,24));let r=new Uint8Array(vs.length+a.length);r.set(vs),r.set(a,vs.length);let i=Rr(r);return On(i.slice(0,20))}};import{getSs58AddressInfo as Dr}from"@polkadot-api/substrate-bindings";var Hr="ETH\0",Is=class{async toH160(e){let s=Dr(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let a=s.publicKey,o=Buffer.from(Hr),r=a.slice(o.length,-8);return"0x"+Buffer.from(r).toString("hex")}};var Kr=new Es,Nr=Vr({id:787,name:"Acala",network:"acala",nativeCurrency:{decimals:18,name:"ACA",symbol:"ACA"},rpcUrls:{public:{http:["https://eth-rpc-acala.aca-api.network"],webSocket:["wss://eth-rpc-acala.aca-api.network"]},default:{http:["https://eth-rpc-acala.aca-api.network"],webSocket:["wss://eth-rpc-acala.aca-api.network"]}},blockExplorers:{default:{name:"Acala Blockscout",url:"https://blockscout.acala.network"}},testnet:!1}),rt=new Wr({assetsData:[{asset:O,id:{Token:O.originSymbol},metadataId:{NativeAssetId:{Token:O.originSymbol}}},{asset:de,decimals:10,id:{Token:de.originSymbol},metadataId:{NativeAssetId:{Token:de.originSymbol}},min:.05},{asset:ve,decimals:18,id:{Erc20:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae"},balanceId:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae",min:.01},{asset:Je,decimals:8,id:{Erc20:"0xc80084af223c8b598536178d9361dc55bfda6818"},balanceId:"0xc80084af223c8b598536178d9361dc55bfda6818",min:35e-8},{asset:ze,decimals:18,id:{Erc20:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578"},balanceId:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578",min:5555555555555e-18},{asset:y,decimals:18,id:{ForeignAsset:0},min:.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Mr.Polkadot,evmChain:Nr,evmResolver:Kr,explorer:"https://acala.subscan.io",genesisHash:"0xfc41b9bd8ef8fe53d58c7ea67c794c7ec9a73daf05e6d54b14ff6342c99ba64c",key:"acala",name:"Acala",parachainId:2e3,ss58Format:10,wormhole:{id:12,coreBridge:"0xa321448d90d4e5b0A732867c18eA198e75CAC48E",tokenBridge:"0xae9d7fe007b3327AA64A32824Aaac52C42a6E624"},ws:"wss://acala-rpc.n.dwellir.com"});import{ChainEcosystem as Or,Parachain as Gr}from"@galacticcouncil/xc-core";var zt=new Gr({assetsData:[{asset:Ce,id:"AJUN"}],ecosystem:Or.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});import{ChainEcosystem as Ur,Parachain as Gn}from"@galacticcouncil/xc-core";var Un={assetsData:[{asset:g,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Y,decimals:10,id:23,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:23}]}}},{asset:dt,decimals:10,id:30,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:30}]}}},{asset:ft,decimals:4,id:18,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:18}]}}},{asset:pt,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:N,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:C,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Ur.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://polkadot-asset-hub-rpc.polkadot.io","wss://asset-hub-polkadot-rpc.dwellir.com"]},X=new Gn({...Un,key:"assethub",name:"AssetHub Polkadot"}),jt=new Gn({...Un,key:"assethub_cex",name:"AssetHub (CEX)",usesCexForwarding:!0,usesSignerFee:!0,isTestChain:!0});import{ChainEcosystem as qr,Parachain as zr}from"@galacticcouncil/xc-core";var oe=new zr({assetsData:[{asset:_,xcmLocation:{parents:0,interior:"Here"}},{asset:g,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:E,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:y,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:q,id:"18446744073709551622",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:D,id:"18446744073709551624",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:j,id:"18446744073709551632",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:qr.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});import{ChainEcosystem as jr,Parachain as Jr}from"@galacticcouncil/xc-core";var $r=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://hk.p.bifrost-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],J=new Jr({assetsData:[{asset:E,id:{Native:E.originSymbol}},{asset:D,id:{VToken2:0},decimals:10,min:1e-4},{asset:j,id:{VToken2:3},decimals:18,min:.01},{asset:g,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Y,id:{Token2:10},decimals:10,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:_,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:y,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:jr.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:$r});import{ChainEcosystem as Qr,Parachain as Yr}from"@galacticcouncil/xc-core";var Zr=["wss://rpc-centrifuge.luckyfriday.io","wss://fullnode.centrifuge.io"],St=new Yr({assetsData:[{asset:be,id:"Native"},{asset:g,id:{ForeignAsset:5},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:y,id:{ForeignAsset:4},decimals:18,min:.001,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Qr.Polkadot,explorer:"https://centrifuge.subscan.io",genesisHash:"0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82",key:"centrifuge",name:"Centrifuge",parachainId:2031,ss58Format:36,ws:Zr});import{ChainEcosystem as ei,Parachain as ti}from"@galacticcouncil/xc-core";var Jt=new ti({assetsData:[{asset:Pe,id:0}],ecosystem:ei.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"]});import{ChainEcosystem as si,EvmParachain as ni}from"@galacticcouncil/xc-core";import{darwinia as ai}from"viem/chains";var $t=new ni({assetsData:[{asset:We,id:"SelfReserve",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:si.Polkadot,evmChain:ai,explorer:"https://darwinia.subscan.io",genesisHash:"0xf0b8924b12e8108550d28870bc03f7b45a947e1b2b9abf81bfb0b89ecb60570e",key:"darwinia",name:"Darwinia",parachainId:2046,ss58Format:18,usesH160Acc:!0,ws:"wss://darwinia-rpc.dwellir.com"});import{ChainEcosystem as oi,EvmParachain as ri}from"@galacticcouncil/xc-core";import{defineChain as ii}from"viem";var ci=new Is,ln=["https://hydration-rpc.n.dwellir.com","https://hydration.dotters.network","https://rpc.helikon.io/hydradx","https://hydration.ibp.network","https://rpc.cay.hydration.cloud","https://rpc.parm.hydration.cloud","https://rpc.roach.hydration.cloud","https://rpc.zipp.hydration.cloud","https://rpc.sin.hydration.cloud","https://rpc.coke.hydration.cloud"],dn=["wss://hydration-rpc.n.dwellir.com"],mi=ii({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:ln,webSocket:dn},default:{http:ln,webSocket:dn}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),l=new ri({assetsData:[{asset:U,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:ke,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:O,decimals:12,id:1000099,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0000000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ce,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:_,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:E,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:be,decimals:18,id:13,min:.033,xcmLocation:{parents:1,interior:{X2:[{Parachain:2031},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Be,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:Pe,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:dt,decimals:10,id:1000019,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:30}]}}},{asset:g,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ft,decimals:4,id:1000038,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:18}]}}},{asset:ve,decimals:18,id:2,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x0254a37a01cd75b616d63e0ab665bffdb0143c52ae0000000000000000000000"}}]}}},{asset:ee,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:S,decimals:18,id:34,min:55e-7,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:{Ethereum:{chain_id:1}}}}}},{asset:Ee,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:y,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:H,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:ne,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Ie,decimals:15,id:28,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:2086}}}},{asset:Re,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Fe,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:C,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:_e,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:Xe,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:de,decimals:10,id:1000100,min:.011,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0003000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Se,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Me,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:N,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:De,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:Le,decimals:11,id:26,min:1.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2026},{PalletInstance:2}]}}},{asset:He,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Y,decimals:10,id:1000021,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:q,decimals:12,id:8,min:.055,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:We,decimals:18,id:31,min:1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ve,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:un,decimals:10,id:24,min:.02,xcmLocation:{parents:1,interior:{X1:{Parachain:2101}}}},{asset:G,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:ae,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ke,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:ot,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:ye,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Ne,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:Ue,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:qe,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:x,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:z,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:Xt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:p,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:xe,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:_t,decimals:6,id:1000767,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xdac17f958d2ee523a2206206994597c13d831ec7"}}]}}},{asset:j,decimals:18,id:33,min:.14,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:D,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:je,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:Je,decimals:8,id:3,min:44e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x02c80084af223c8b598536178d9361dc55bfda68180000000000000000000000"}}]}}},{asset:ge,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Rt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:ze,decimals:18,id:4,min:5e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x025a4d6acdc4e3e5ab15717f407afe957f7a2425780000000000000000000000"}}]}}},{asset:Z,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:$e,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:pt,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:fe,decimals:10,id:12,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2092},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:oi.Polkadot,evmChain:mi,evmResolver:ci,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:dn,rpcs:ln});import{ChainEcosystem as ui,Parachain as li}from"@galacticcouncil/xc-core";var Ae=new li({assetsData:[{asset:L,decimals:10,id:{Token:L.originSymbol}},{asset:H,decimals:8,id:{Token:H.originSymbol}},{asset:g,decimals:10,id:{Token:g.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:x,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:U,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:D,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:ui.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain"});import{ChainEcosystem as di,Parachain as fi}from"@galacticcouncil/xc-core";var Qt=new fi({assetsData:[{asset:Ie,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:di.Polkadot,explorer:"https://spiritnet.subscan.io",genesisHash:"0x411f057b9107718c9624d6aa4a3f23c1653898297f3d4d529d9bb6511a39dd21",key:"kilt",name:"Kilt",parachainId:2086,ss58Format:38,ws:"wss://spiritnet.kilt.io"});import{ChainEcosystem as pi,Parachain as hi}from"@galacticcouncil/xc-core";var Yt=new hi({assetsData:[{asset:_e,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:pi.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});import{ChainEcosystem as bi,EvmParachain as yi}from"@galacticcouncil/xc-core";import{defineChain as xi}from"viem";var gi=xi({id:1284,name:"Moonbeam",network:"moonbeam",nativeCurrency:{decimals:18,name:"GLMR",symbol:"GLMR"},rpcUrls:{public:{http:["https://rpc.api.moonbeam.network"],webSocket:["wss://wss.api.moonbeam.network"]},default:{http:["https://rpc.api.moonbeam.network"],webSocket:["wss://wss.api.moonbeam.network"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonscan.io"}},testnet:!1}),F=new yi({assetsData:[{asset:y,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ee,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:G,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:ne,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:ye,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:ae,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:z,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:xe,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:ge,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:Z,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:O,decimals:12,id:"0xffffffffa922fef94566104a6e5a35a4fcddaa9f",xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0000000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:g,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:U,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:Y,decimals:10,id:"0xffffffff30478fafbe935e466da114e14fb3563d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:x,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:p,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:bi.Polkadot,evmChain:gi,explorer:"https://moonbeam.subscan.io",genesisHash:"0xfe58ea77779b7abda7da4ec526d14db9b1e9cd40a217c34892af80a9b332b76d",key:"moonbeam",name:"Moonbeam",parachainId:2004,ss58Format:1284,usesH160Acc:!0,wormhole:{id:16,coreBridge:"0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",tokenBridge:"0xb1731c586ca89a23809861c6103f0b96b3f57d92",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"},ws:"wss://wss.api.moonbeam.network"});import{ChainEcosystem as Ai,Parachain as wi}from"@galacticcouncil/xc-core";var wt=new wi({assetsData:[{asset:N,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ai.Polkadot,explorer:"https://mythos.subscan.io",genesisHash:"0xf6ee56e9c5277df5b4ce6ae9983ee88f3cbed27d31beeb98f9f84f997a1ab0b9",key:"mythos",name:"Mythos",parachainId:3369,ss58Format:29972,usesH160Acc:!0,ws:"wss://polkadot-mythos-rpc.polkadot.io"});import{ChainEcosystem as ki,Parachain as Ci}from"@galacticcouncil/xc-core";var Zt=new Ci({assetsData:[{asset:De,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:ki.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});import{ChainEcosystem as Ti,Parachain as Bi}from"@galacticcouncil/xc-core";var es=new Bi({assetsData:[{asset:Le,id:"NodleNative"}],ecosystem:Ti.Polkadot,explorer:"https://nodle.subscan.io",genesisHash:"0x97da7ede98d7bad4e36b4d734b6055425a3be036da2a332ea5a7037656427a21",key:"nodle",name:"Nodle",parachainId:2026,ss58Format:37,ws:"wss://nodle-rpc.dwellir.com"});import{ChainEcosystem as Pi,Parachain as vi}from"@galacticcouncil/xc-core";var ts=new vi({assetsData:[{asset:He,id:"Native"}],ecosystem:Pi.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,ws:"wss://rpc-pendulum.prd.pendulumchain.tech"});import{ChainEcosystem as Ei,Parachain as Ii}from"@galacticcouncil/xc-core";var ss=new Ii({assetsData:[{asset:q,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ei.Polkadot,explorer:"https://phala.subscan.io",genesisHash:"0x1bb969d85965e4bb5a651abbedf21a54b6b31a21f66b5401cc3f1e286268d736",key:"phala",name:"Phala",parachainId:2035,ss58Format:30,ws:["wss://api.phala.network/ws","wss://phala-rpc.dwellir.com","wss://rpc.helikon.io/phala"]});import{ChainEcosystem as Fi,Parachain as qn}from"@galacticcouncil/xc-core";var zn={assetsData:[{asset:g,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Fi.Polkadot,explorer:"https://polkadot.subscan.io",genesisHash:"0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",name:"Polkadot",parachainId:0,ss58Format:0,treasury:"13UVJyLnbVp9RBZYFwFGyDvVd1y27Tt8tkntv6Q7JVPhFsTB",usesDeliveryFee:!0,ws:"wss://polkadot-rpc.n.dwellir.com"},jn=new qn({...zn,key:"polkadot"}),Jn=new qn({...zn,key:"polkadot_cex",name:"Polkadot (CEX)",usesCexForwarding:!0,isTestChain:!0});import{ChainEcosystem as _i,Parachain as Xi}from"@galacticcouncil/xc-core";var ns=new Xi({assetsData:[{asset:qe,id:0}],ecosystem:_i.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});import{ChainEcosystem as Ri,Parachain as Si}from"@galacticcouncil/xc-core";var ht=new Si({assetsData:[{asset:fe,id:"Ztg"},{asset:z,decimals:6,id:{ForeignAsset:1},xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:y,decimals:18,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Ri.Polkadot,explorer:"https://zeitgeist.subscan.io",genesisHash:"0x1bf2a2ecb4a868de66ea8610f2ce7c8c43706561b6476031315f6640fe38e060",key:"zeitgeist",name:"Zeitgeist",parachainId:2092,ss58Format:73,usesChainDecimals:!0,ws:"wss://zeitgeist.api.onfinality.io/public-ws"});import{ChainEcosystem as Li,Parachain as Di}from"@galacticcouncil/xc-core";var as=new Di({assetsData:[{asset:Re,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Li.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,ws:"wss://wnp-rpc.mainnet.energywebx.com"});var $n=[rt,zt,X,jt,oe,J,St,Jt,$t,l,Qt,Yt,Zt,Ae,F,wt,es,ts,ss,jn,Jn,ns,ht,as];import{ChainEcosystem as Hi,SolanaChain as Mi}from"@galacticcouncil/xc-core";var Lt=new Mi({id:101,key:"solana",name:"Solana",assetsData:[{asset:G,decimals:9},{asset:ne,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Hi.Solana,explorer:"https://explorer.solana.com/",rpcUrls:{http:["https://wispy-palpable-market.solana-mainnet.quiknode.pro"],webSocket:["wss://wispy-palpable-market.solana-mainnet.quiknode.pro"]},wormhole:{id:1,coreBridge:"worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",tokenBridge:"wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb",platformAddressFormat:"base58"}});var Qn=[Lt];import{ChainEcosystem as Wi,SuiChain as Vi}from"@galacticcouncil/xc-core";var os=new Vi({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:ae,decimals:9}],ecosystem:Wi.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var Yn=[os];import{ChainEcosystem as Ki,Parachain as Ni}from"@galacticcouncil/xc-core";var Ye=new Ni({assetsData:[{asset:C,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Ki.Kusama,explorer:"https://assethub-kusama.subscan.io",genesisHash:"0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a",key:"assethub_kusama",name:"AssetHub Kusama",parachainId:1e3,ss58Format:2,treasury:"HWZmQq6zMMk7TxixHfseFT2ewicT6UofPa68VCn3gkXrdJF",usesDeliveryFee:!0,ws:"wss://asset-hub-kusama-rpc.n.dwellir.com"});import{ChainEcosystem as Oi,Parachain as Gi}from"@galacticcouncil/xc-core";var ue=new Gi({assetsData:[{asset:Te,id:0},{asset:C,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:Oe,decimals:12,id:17,xcmLocation:{parents:1,interior:{X2:[{Parachain:2015},{GeneralKey:{length:4,data:"0x5445455200000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ge,decimals:12,id:6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2125},{GeneralIndex:0}]}}},{asset:Qe,decimals:9,id:16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2119},{GeneralKey:{length:4,data:"0x42414a5500000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Oi.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});import{ChainEcosystem as Ui,Parachain as qi}from"@galacticcouncil/xc-core";var rs=new qi({assetsData:[{asset:Oe,id:0}],ecosystem:Ui.Kusama,explorer:"https://integritee.subscan.io",genesisHash:"0xcdedc8eadbfa209d3f207bba541e57c3c58a667b05a2e1d1e86353c9000758da",key:"integritee",name:"Integritee",parachainId:2015,ss58Format:13,ws:"wss://kusama.api.integritee.network"});import{ChainEcosystem as zi,Parachain as ji}from"@galacticcouncil/xc-core";var is=new ji({assetsData:[{asset:Ft,id:{Token:Ft.originSymbol}},{asset:C,decimals:12,id:{Token:C.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:Te,decimals:12,id:{ForeignAsset:11},xcmLocation:{parents:1,interior:{X2:[{Parachain:2090},{GeneralIndex:0}]}}},{asset:p,decimals:6,id:{ForeignAsset:7},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:zi.Kusama,explorer:"https://karura.subscan.io",genesisHash:"0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b",key:"karura",name:"Karura",parachainId:2e3,ss58Format:8,ws:"wss://karura-rpc-0.aca-api.network"});import{ChainEcosystem as Ji,Parachain as $i}from"@galacticcouncil/xc-core";var Zn=new $i({assetsData:[{asset:C,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ji.Kusama,explorer:"https://kusama.subscan.io",genesisHash:"0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",key:"kusama",name:"Kusama",parachainId:0,ss58Format:2,treasury:"F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29",usesDeliveryFee:!0,ws:"wss://kusama-rpc.dwellir.com"});import{ChainEcosystem as Qi,Parachain as Yi}from"@galacticcouncil/xc-core";var cs=new Yi({assetsData:[{asset:Qe,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Qi.Kusama,explorer:"https://robonomics.subscan.io",genesisHash:"0x631ccc82a078481584041656af292834e1ae6daab61d2875b4dd0c14bb9b17bc",key:"robonomics",name:"Robonomics",parachainId:2048,ss58Format:32,ws:"wss://kusama.rpc.robonomics.network"});import{ChainEcosystem as Zi,Parachain as ec}from"@galacticcouncil/xc-core";var ms=new ec({assetsData:[{asset:Ge,id:0}],ecosystem:Zi.Kusama,genesisHash:"0xd42e9606a995dfe433dc7955dc2a70f495f350f373daa200098ae84437816ad2",key:"tinkernet",name:"Tinkernet",parachainId:2125,ss58Format:117,ws:"wss://tinkernet-rpc.dwellir.com"});var ea=[Zn,Ye,ue,rs,is,cs,ms];var tc=[...Nn,...$n,...Qn,...Yn,...ea],sc=new Map(tc.map(t=>[t.key,t]));import{AssetRoute as zs,ChainRoutes as Km}from"@galacticcouncil/xc-core";var ho={};xs(ho,{AssetMinBuilder:()=>kt,BalanceBuilder:()=>n,ContractBuilder:()=>P,ExtrinsicBuilder:()=>m,ExtrinsicDecorator:()=>yt,FeeAmountBuilder:()=>et,FeeAssetBuilder:()=>Cs,MoveBuilder:()=>Rn,ProgramBuilder:()=>qs,XcmTransferType:()=>re,XcmVersion:()=>it});import{SubstrateQueryConfig as fn}from"@galacticcouncil/xc-core";function kt(){return{assetRegistry:nc,assets:ac}}function nc(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new fn({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new fn({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function ac(){return{asset:()=>({build:({asset:t})=>new fn({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}import{Abi as oc,ContractConfig as ta}from"@galacticcouncil/xc-core";function sa(){return{erc20:ic,native:rc}}function rc(){return{build:({address:t})=>new ta({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function ic(){return{build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e);if(!a||typeof a!="string")throw new Error(`Invalid contract address: ${e}`);return new ta({abi:oc.Erc20,address:a,args:[t],func:"balanceOf",module:"Erc20"})}}}import{SubstrateQueryConfig as gs}from"@galacticcouncil/xc-core";import{encodeAssetId as na,encodeLocation as cc}from"@galacticcouncil/common";function aa(){return{assets:mc,system:lc,tokens:dc,ormlTokens:fc,foreignAssets:uc}}function mc(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e);return new gs({module:"Assets",func:"Account",args:[a,t],transform:async o=>BigInt(o?.balance?.toString()??"0")})}})}}function uc(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let o=s.getAssetXcmLocation(e);if(!o)throw new Error("Missing asset xcm location for "+e.key);let r=cc(o);return new gs({module:"ForeignAssets",func:"Account",args:[r,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function lc(){return{account:()=>({build:({address:t})=>new gs({module:"System",func:"Account",args:[t],transform:async e=>{let s=e?.data,a=BigInt(s?.free?.toString()??"0"),o=BigInt((s?.miscFrozen??s?.frozen)?.toString()??"0");return a>=o?a-o:0n}})})}}function dc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=na(a);return new gs({module:"Tokens",func:"Accounts",args:[t,o],transform:async r=>{let i=BigInt(r?.free?.toString()??"0"),u=BigInt(r?.frozen?.toString()??"0");return i>=u?i-u:0n}})}})}}function fc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=na(a);return new gs({module:"OrmlTokens",func:"Accounts",args:[t,o],transform:async r=>{let i=BigInt(r?.free?.toString()??"0"),u=BigInt(r?.frozen?.toString()??"0");return i>=u?i-u:0n}})}})}}import{SolanaQueryConfig as oa}from"@galacticcouncil/xc-core";function ra(){return{native:pc,token:hc}}function pc(){return{build:({address:t})=>new oa({address:t,func:"rpc_getBalance",module:"Native"})}}function hc(){return{build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e);if(!a)throw new Error(`Invalid token address: ${e}`);return new oa({address:t,token:a.toString(),func:"getBalance",module:"Token"})}}}import{SuiQueryConfig as bc}from"@galacticcouncil/xc-core";function ia(){return{native:yc}}function yc(){return{build:({address:t})=>new bc({address:t,func:"sui_getBalance",module:"Native"})}}function n(){return{evm:sa,substrate:aa,solana:ra,sui:ia}}import{Abi as ca,ContractConfig as xc,Precompile as gc}from"@galacticcouncil/xc-core";import{encodeFunctionData as Ac}from"viem";var wc=t=>({build:async e=>{let s=await Promise.all(t.map(i=>i.build(e))),a=s.map(i=>i.address),o=[0,0],r=s.map(i=>Ac({abi:ca[i.module],functionName:i.func,args:i.args}));return new xc({abi:ca.Batch,address:gc.Batch,args:[a,o,r,[]],func:"batchAll",module:"Batch"})}}),ma=()=>({batchAll:wc});import{Abi as kc,ContractConfig as Cc,Wormhole as Tc}from"@galacticcouncil/xc-core";function Fs(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function bt(t){return typeof t=="object"?Object.values(t)[0]:t}function ua(){return{approve:t=>({build:async e=>{let{amount:s,asset:a,source:o,transact:r}=e,i=r?r.chain:o.chain,u=Tc.fromChain(i),c=i.getAssetId(a);return new Cc({abi:kc.Erc20,address:bt(c).toString(),args:[t(u),s],func:"approve",module:"Erc20"})}})}}import{addr as Bc,Abi as Pc,ContractConfig as vc,Snowbridge as Ec}from"@galacticcouncil/xc-core";var{Ss58Addr:Ic}=Bc,Fc=()=>({build:async t=>{let{address:e,amount:s,asset:a,source:o,destination:r}=t,i=o.chain,u=r.chain,c=Ec.fromChain(i),d=i.getAssetId(a),f=bt(d),b=a.originSymbol==="ETH",A=r.feeBreakdown.bridgeFeeInDot,T=r.fee.amount;return new vc({abi:Pc.Snowbridge,address:c.getGateway(),args:[f,u.parachainId,[1,Ic.getPubKey(e)],A,s],value:b?T+s:T,func:"sendToken",module:"Snowbridge"})}}),la=()=>({sendToken:Fc});import{mrl as fa,Abi as _s,ContractConfig as Xs,Precompile as pa,Wormhole as Ct}from"@galacticcouncil/xc-core";import{PublicKey as da}from"@solana/web3.js";import{getAssociatedTokenAddress as _c}from"@solana/spl-token";var Xc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,destination:i}=e,u=Ct.fromChain(r.chain),c=Ct.fromChain(t.moonchain),d=pa.Bridge,f=r.chain.getAssetId(o),b=0,A=await fa.createPayload(i.chain,s);return new Xs({abi:_s.TokenBridge,address:u.getTokenBridge(),args:[bt(f),a,c.getWormholeId(),c.normalizeAddress(d),b,A.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),Rc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,destination:r}=e,i=Ct.fromChain(o.chain),u=Ct.fromChain(t.moonchain),c=pa.Bridge,d=0,f=await fa.createPayload(r.chain,s);return new Xs({abi:_s.TokenBridge,address:i.getTokenBridge(),args:[u.getWormholeId(),u.normalizeAddress(c),d,f.toHex()],value:a,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),Sc=()=>({build:async t=>{let{address:e,amount:s,asset:a,source:o,destination:r,transact:i}=t,u=i?i.chain:o.chain,c=r.chain,d=Ct.fromChain(u),f=Ct.fromChain(c),b=e;if(c.isSolana()){let V=c.getAssetId(a);b=(await _c(new da(V),new da(e))).toBase58()}let A=u.getAssetId(a),T=0,K=0;return new Xs({abi:_s.TokenBridge,address:d.getTokenBridge(),args:[bt(A),s,f.getWormholeId(),f.normalizeAddress(b),T,K],func:"transferTokens",module:"TokenBridge"})}}),Lc=()=>({build:async t=>{let{address:e,amount:s,source:a,destination:o}=t,r=Ct.fromChain(a.chain),i=Ct.fromChain(o.chain),u=0,c=0;return new Xs({abi:_s.TokenBridge,address:r.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),u,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),ha=()=>({transferTokens:Sc,transferTokensWithPayload:Xc,wrapAndTransferETH:Lc,wrapAndTransferETHWithPayload:Rc});import{Abi as Dc,ContractConfig as Hc,Wormhole as ba}from"@galacticcouncil/xc-core";var Mc=()=>({build:async t=>{let{address:e,amount:s,asset:a,source:o,destination:r,transact:i}=t,u=i?i.chain:o.chain,c=r.chain,d=ba.fromChain(u),f=ba.fromChain(c),b=0,A=0,T=u.getAssetId(a);return new Hc({abi:Dc.TokenRelayer,address:d.getTokenRelayer(),args:[bt(T),s,b,f.getWormholeId(),f.normalizeAddress(e),A],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),ya=()=>({transferTokensWithRelay:Mc});function xa(){return{TokenBridge:ha,TokenRelayer:ya}}import{Abi as ga,ContractConfig as Aa,Precompile as wa}from"@galacticcouncil/xc-core";import{big as Oc}from"@galacticcouncil/common";import{addr as Wc}from"@galacticcouncil/xc-core";import{getSs58AddressInfo as Vc}from"@polkadot-api/substrate-bindings";import{toHex as Kc}from"@polkadot-api/utils";var{EvmAddr:Nc}=Wc;function pn(t,e){let s=Nc.isValid(t)?"03":"01",a=Vc(t);if(!a.isValid)throw new Error(`Invalid SS58 address: ${t}`);let o=`0x${s}${Kc(a.publicKey).slice(2)}00`;return[1,e.parachainId?[`0x0000000${e.parachainId.toString(16)}`,o]:[o]]}function Rs(t){if(t.startsWith("0x"))return t;if(!/^\d{38,39}$/.test(t))throw new Error(`Asset id: ${t} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(t).toString(16).padStart(32,"0")}`}var ka=18446744073709551615n;function Ca(){return{transfer:(t=ka)=>({build:async({address:e,amount:s,asset:a,destination:o,source:r})=>{let i=r.chain.getAssetId(a);return new Aa({abi:ga.Xtokens,address:wa.Xtokens,args:[typeof i=="string"?Rs(i):a,s,pn(e,o.chain),t],func:"transfer",module:"Xtokens"})}}),transferMultiCurrencies:(t=ka)=>({build:async({address:e,amount:s,asset:a,destination:o,source:r})=>{let i=r.chain.getAssetId(a),u=r.chain.getAssetId(r.destinationFeeBalance),c=Oc.toBigInt(o.fee.amount,o.fee.decimals);return new Aa({abi:ga.Xtokens,address:wa.Xtokens,args:[[[typeof i=="string"?Rs(i):i,s],[typeof u=="string"?Rs(u):u,c]],1,pn(e,o.chain),t],func:"transferMultiCurrencies",module:"Xtokens"})}})}}function P(){return{Batch:ma,Erc20:ua,Snowbridge:la,Wormhole:xa,Xtokens:Ca}}import{ExtrinsicConfig as Gc}from"@galacticcouncil/xc-core";var Uc="AssetConversion",qc=t=>{let e="swap_tokens_for_exact_tokens";return{build:({address:s,source:a})=>new Gc({module:Uc,func:e,getArgs:async()=>{let{chain:o}=a,r=a.destinationFeeSwap||a.feeSwap;if(!r)throw new Error("Swap context not found.");let{aIn:i,aOut:u}=r,c=o,d=c.getAssetXcmLocation(i),f=c.getAssetXcmLocation(u),b=i.amount+i.amount*BigInt(t.slippage)/100n,A=u.amount;return{path:[d,f],amount_out:A,amount_in_max:b,send_to:s,keep_alive:!0}}})}},Ta=()=>({swapTokensForExactTokens:qc});import{ExtrinsicConfig as zc}from"@galacticcouncil/xc-core";var jc="Assets",Jc=()=>{let t="transfer";return{build:({asset:e,amount:s,address:a,destination:o})=>new zc({module:jc,func:t,getArgs:async()=>{let r=o.chain,{fee:i}=o,u=s>i.amount?s-i.amount:s;return[r.getMetadataAssetId(e),a,u]}})}},Ba=()=>({transfer:Jc});import{ExtrinsicConfig as $c}from"@galacticcouncil/xc-core";var Qc="Balances",Yc=(t=!1)=>{let e="transfer_all";return{build:({address:s})=>new $c({module:Qc,func:e,getArgs:async()=>({dest:s,keep_alive:t})})}},Pa=()=>({transferAll:Yc});import{ExtrinsicConfig as Zc}from"@galacticcouncil/xc-core";var e0="Router",t0=t=>({build:({source:s})=>new Zc({module:e0,func:"buy",getArgs:async()=>{let{chain:a,destinationFeeSwap:o}=s;if(!o)throw new Error("Swap context not found.");let{aIn:r,aOut:i,route:u}=o,c=a,d=c.getMetadataAssetId(r),f=c.getMetadataAssetId(i),b=i.amount,A=r.amount+r.amount*BigInt(t.slippage)/100n;return{asset_in:Number(d),asset_out:Number(f),amount_out:b,max_amount_in:A,route:u}}})}),va=()=>({buy:t0});import{ExtrinsicConfig as s0}from"@galacticcouncil/xc-core";var n0="Utility",a0=t=>{let e="batch_all";return{build:s=>new s0({module:n0,func:e,getArgs:async()=>t.map(a=>a.build(s))})}},Ea=()=>({batchAll:a0});import{Abi as o0,ExtrinsicConfig as r0}from"@galacticcouncil/xc-core";import{Binary as Ia}from"polkadot-api";import{encodeFunctionData as i0}from"viem";var it=(r=>(r.v1="V1",r.v2="V2",r.v3="V3",r.v4="V4",r.v5="V5",r))(it||{}),re=(o=>(o.Teleport="Teleport",o.LocalReserve="LocalReserve",o.DestinationReserve="DestinationReserve",o.RemoteReserve="RemoteReserve",o))(re||{});var c0="EthereumXcm",m0=t=>{let e="transact";return{build:s=>new r0({module:c0,func:e,getArgs:async()=>{let a=await t.build(s),o="V1",r=i0({abi:o0[a.module],functionName:a.func,args:a.args});return{xcm_transaction:{type:o,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Ia.fromHex(a.address)},value:[0n,0n,0n,0n],input:Ia.fromHex(r),access_list:void 0}}}}})}},hn=()=>({transact:m0});import{ExtrinsicConfig as Mt}from"@galacticcouncil/xc-core";import{big as qa}from"@galacticcouncil/common";import{multiloc as v0,ChainEcosystem as wn}from"@galacticcouncil/xc-core";import{Binary as E0}from"polkadot-api";import{XcmV3Junctions as pe,XcmV3Junction as ws,XcmV3JunctionNetworkId as Na,XcmV3MultiassetFungibility as Dt,XcmV4Instruction as $,XcmV4AssetAssetFilter as ds,XcmV4AssetWildAsset as fs,XcmV3WeightLimit as kn,XcmV2MultiassetWildFungibility as I0,XcmV2OriginKind as F0}from"@galacticcouncil/descriptors";import{XcmV3Junctions as u0}from"@galacticcouncil/descriptors";var Tt=340282366920938463463374607431768211455n,Ss="0x0000000000000000000000000000000000000000000000000000000000000000",us={parents:1,interior:u0.Here()},Fa=0,_a=1e3,Xa=1002,Ra=1,Ls="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var Sa="0x0000000000000000000000000000000000000000";import{XcmV3Junctions as w0,XcmV3MultiassetFungibility as yn,XcmV3WeightLimit as k0,XcmV4AssetAssetFilter as C0,XcmV4AssetWildAsset as T0,XcmV4Instruction as As}from"@galacticcouncil/descriptors";import{Binary as B0}from"polkadot-api";import{acc as l0}from"@galacticcouncil/xc-core";import{XcmV3Junction as La}from"@galacticcouncil/descriptors";import{FixedSizeBinary as Da}from"polkadot-api";import{getSs58AddressInfo as d0}from"@polkadot-api/substrate-bindings";import{toHex as f0}from"@polkadot-api/utils";function R(t){if(t.length===42&&t.startsWith("0x"))return La.AccountKey20({key:Da.fromHex(t),network:void 0});let s=d0(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return La.AccountId32({id:Da.fromHex(f0(s.publicKey)),network:void 0})}function ct(t,e,s){return l0.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}import{multiloc as Ha}from"@galacticcouncil/xc-core";function Ds(t,e){let s=Ha.findNestedKey(t,"GeneralIndex"),a=Ha.findNestedKey(e,"GeneralIndex"),o=s&&s.GeneralIndex,r=a&&a.GeneralIndex;return Number.isNaN(o)||Number.isNaN(r)?!1:Number(o)>Number(r)}function M(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var Ws={};xs(Ws,{ETHER_TOKEN_ADDRESS:()=>bn,bridgeLocation:()=>Va,erc20Location:()=>b0,erc20LocationReanchored:()=>y0,parachainLocation:()=>h0});import{XcmV3Junctions as Hs,XcmV3Junction as Ms,XcmV3JunctionNetworkId as p0}from"@galacticcouncil/descriptors";import{Binary as Ma}from"polkadot-api";var bn="0x0000000000000000000000000000000000000000",Wa=t=>Ms.GlobalConsensus(p0.Ethereum({chain_id:BigInt(t)}));function Va(t){return{parents:2,interior:Hs.X1(Wa(t))}}function h0(t){return{parents:1,interior:Hs.X1(Ms.Parachain(t))}}function b0(t,e){return e===bn?Va(t):{parents:2,interior:Hs.X2([Wa(t),Ms.AccountKey20({key:Ma.fromHex(e)})])}}function y0(t){return t===bn?{parents:0,interior:{type:"Here"}}:{parents:0,interior:Hs.X1(Ms.AccountKey20({key:Ma.fromHex(t)}))}}import{encodeLocation as x0}from"@galacticcouncil/common";function W(t,e){return g0(e)>=4?x0(t):A0(t)}function g0(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function A0(t){return{Concrete:{...t}}}function xn(t,e){let s="V4",a=W(M(e,t),s),o=B0.fromHex(Ss);return[As.ReserveAssetDeposited([{id:us,fun:yn.Fungible(Tt)},{id:a,fun:yn.Fungible(Tt)}]),As.ClearOrigin(),As.BuyExecution({fees:{id:us,fun:yn.Fungible(Tt)},weight_limit:k0.Unlimited()}),As.DepositAsset({assets:C0.Wild(T0.AllCounted(2)),beneficiary:{parents:0,interior:w0.X1(R(Ls))}}),As.SetTopic(o)]}import{XcmV4Instruction as gn,XcmV3MultiassetFungibility as An,XcmV3WeightLimit as P0}from"@galacticcouncil/descriptors";function Ka(t,e){let s="V4",a=W(M(e,t),s),o=ls("V4",R(Sa),R(Ls),a,Ss);return[gn.WithdrawAsset([{id:us,fun:An.Fungible(Tt)},{id:a,fun:An.Fungible(Tt)}]),gn.ClearOrigin(),gn.BuyExecution({fees:{id:us,fun:An.Fungible(Tt)},weight_limit:P0.Unlimited()}),...o.value]}var Oa=[wn.Polkadot,wn.Kusama],_0={parents:1,interior:pe.X1(ws.Parachain(1e3))},X0=t=>t.parents===1&&t.interior==="Here",R0=(t,e)=>!t.ecosystem||!e.ecosystem?!1:Oa.includes(t.ecosystem)&&Oa.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,mt=(t,e,s)=>{if(R0(e,s)){let o=s.ecosystem===wn.Polkadot?Na.Polkadot():Na.Kusama();return{type:t,value:{parents:2,interior:pe.X2([ws.GlobalConsensus(o),ws.Parachain(s.parachainId)])}}}if(s.parachainId===Fa)return{type:t,value:{parents:1,interior:pe.Here()}};let a=s.key==="ethereum"?_a:s.parachainId;return{type:t,value:{parents:1,interior:pe.X1(ws.Parachain(a))}}},Ht=(t,e)=>({type:t,value:{parents:0,interior:pe.X1(e)}}),ps=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:X0(s)?_0:s}}:{type:e},Bt=(t,e)=>({id:t,fun:Dt.Fungible(e)}),Vs=(t,e)=>({type:t,value:[$.DepositAsset({assets:ds.Wild(fs.AllCounted(1)),beneficiary:{parents:0,interior:pe.X1(e)}})]});var ls=(t,e,s,a,o)=>{let r=E0.fromHex(o);return{type:t,value:[$.SetAppendix([$.DepositAsset({assets:ds.Wild(fs.All()),beneficiary:{parents:0,interior:pe.X1(s)}})]),$.InitiateReserveWithdraw({assets:ds.Wild(fs.AllOf({id:a,fun:I0.Fungible()})),reserve:Ws.bridgeLocation(Ra),xcm:[$.BuyExecution({fees:{id:S0(a),fun:Dt.Fungible(1n)},weight_limit:kn.Unlimited()}),$.DepositAsset({assets:ds.Wild(fs.AllCounted(1)),beneficiary:{parents:0,interior:pe.X1(e)}}),$.SetTopic(r)]}),$.SetTopic(r)]}},S0=t=>{let e=v0.findNestedKey(t,"key");return e?{parents:0,interior:pe.X1(ws.AccountKey20({key:e}))}:{parents:0,interior:pe.Here()}},Ga=(t,e,s,a,o,r)=>({type:t,value:[$.WithdrawAsset([{id:s,fun:Dt.Fungible(a)}]),$.BuyExecution({fees:{id:s,fun:Dt.Fungible(a)},weight_limit:kn.Unlimited()}),$.Transact({origin_kind:F0.SovereignAccount(),require_weight_at_most:{ref_time:r.refTime,proof_size:r.proofSize},call:o}),$.RefundSurplus(),$.DepositAsset({assets:ds.Wild(fs.AllCounted(1)),beneficiary:{parents:0,interior:pe.X1(e)}})]}),Ua=(t,e,s,a,o,r)=>({type:t,value:[$.WithdrawAsset([{id:s,fun:Dt.Fungible(o)}]),$.BuyExecution({fees:{id:s,fun:Dt.Fungible(o)},weight_limit:kn.Unlimited()}),$.TransferAsset({assets:[{id:s,fun:Dt.Fungible(a)}],beneficiary:{parents:0,interior:pe.X1(r)}}),$.RefundSurplus(),$.DepositAsset({assets:ds.Wild(fs.AllCounted(1)),beneficiary:{parents:0,interior:pe.X1(e)}})]});var Wt="PolkadotXcm",L0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Mt({module:Wt,func:"limited_reserve_transfer_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=W(M(i,a.fee),c),b=Bt(d,e),A=Bt(f,a.fee.amount);return s.key===a.fee.key?{dest:mt(c,i,u),beneficiary:Ht(c,r),assets:{type:c,value:[b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}:Ds(d,f)?{dest:mt(c,i,u),beneficiary:Ht(c,r),assets:{type:c,value:[A,b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}:{dest:mt(c,i,u),beneficiary:Ht(c,r),assets:{type:c,value:[b,A]},fee_asset_item:1,weight_limit:{type:"Unlimited"}}}})}),D0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Mt({module:Wt,func:"limited_teleport_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=Bt(d,e),b=mt(c,i,u),A=Ht(c,r);return{dest:b,beneficiary:A,assets:{type:c,value:[f]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}}})}),H0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Mt({module:Wt,func:"reserve_transfer_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=Bt(d,e),b=mt(c,i,u),A=Ht(c,r);return{dest:b,beneficiary:A,assets:{type:c,value:[f]},fee_asset_item:0}}})}),M0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Mt({module:Wt,func:"transfer_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=Bt(d,e),b=mt(c,i,u),A=Ht(c,r);return{dest:b,beneficiary:A,assets:{type:c,value:[f]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}}})}),W0=t=>({build:({address:e,asset:s,amount:a,destination:o,messageId:r,sender:i,source:u})=>new Mt({module:Wt,func:"transfer_assets_using_type_and_then",getArgs:async()=>{let c="V4",d=u.chain,f=o.chain,b=R(i),A=f.usesCexForwarding?ct(d,i,f):e,T=R(A),{transferType:K}=t,V=W(M(d,s),c),B=W(M(d,o.fee),c),Q=Bt(V,a),se=Bt(B,o.fee.amount),k=s.isEqual(o.fee),At=mt(c,d,f),lt={type:c,value:s.isEqual(o.fee)?[Q]:[se,Q]},st=ps(c,K,V),nt={type:c,value:k?V:B},at=ps(c,K,B),he;return o.chain.key==="ethereum"?he=ls(c,T,b,V,r):he=Vs(c,T),{dest:At,assets:lt,assets_transfer_type:st,remote_fees_id:nt,fees_transfer_type:at,custom_xcm_on_dest:he,weight_limit:{type:"Unlimited"}}}})}),V0=()=>{let t="send";return{transact:e=>({build:s=>{let{sender:a,source:o,transact:r}=s;return new Mt({module:Wt,func:t,getArgs:async()=>{let i="V4";if(!r)throw new Error("Transact ctx configuration is missing.");let u=o.chain,c=r.chain,d=ct(u,a,c),f=R(d),{fee:b}=r,A=W(M(c,b),i),T=qa.toBigInt(e.fee,b.decimals);return{dest:mt(i,u,c),message:Ga(i,f,A,T,r.call,r.weight)}}})}}),transferAsset:e=>({build:s=>{let{amount:a,address:o,asset:r,sender:i,source:u,destination:c}=s;return new Mt({module:Wt,func:t,getArgs:async()=>{let d="V4",f=u.chain,b=c.chain,A=ct(f,i,b),T=R(A),K=R(o),V=W(M(b,r),d),{fee:B}=c,Q=qa.toBigInt(e.fee,B.decimals),se=a>B.amount?a-(B.amount+Q):a;return{dest:mt(d,f,b),message:Ua(d,T,V,se,Q,K)}}})}})}},Cn=()=>({limitedReserveTransferAssets:L0,limitedTeleportAssets:D0,reserveTransferAssets:H0,transferAssets:M0,transferAssetsUsingTypeAndThen:W0,send:V0});import{ExtrinsicConfig as Bn}from"@galacticcouncil/xc-core";import{XcmV3Junctions as za,XcmV3Junction as K0,XcmV3MultiassetFungibility as N0}from"@galacticcouncil/descriptors";var Ks=(t,e)=>({type:t,value:{parents:0,interior:za.X1(K0.Parachain(e.parachainId))}}),ks=(t,e)=>({id:t,fun:N0.Fungible(e)}),Tn=(t,e)=>({type:t,value:{parents:0,interior:za.X1(e)}});var Pn="XcmPallet",O0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Bn({module:Pn,func:"limited_reserve_transfer_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=ks(d,e);return{dest:Ks(c,u),beneficiary:Tn(c,r),assets:{type:c,value:[f]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}}})}),G0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Bn({module:Pn,func:"limited_teleport_assets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=ks(d,e);return{dest:Ks(c,u),beneficiary:Tn(c,r),assets:{type:c,value:[f]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}}})}),U0=t=>({build:({address:e,asset:s,amount:a,destination:o,messageId:r,sender:i,source:u})=>new Bn({module:Pn,func:"transfer_assets_using_type_and_then",getArgs:async()=>{let c="V4",d=u.chain,f=o.chain,b=R(i),A=f.usesCexForwarding?ct(d,i,f):e,T=R(A),{transferType:K}=t,V=W(M(d,s),c),B=W(M(d,o.fee),c),Q=ks(V,a),se=ks(B,o.fee.amount),k=s.isEqual(o.fee),At=Ks(c,f),lt={type:c,value:s.isEqual(o.fee)?[Q]:[se,Q]},st=ps(c,K,V),nt={type:c,value:k?V:B},at=ps(c,K,B),he=o.chain.key==="ethereum"?ls(c,T,b,V,r):Vs(c,T);return{dest:At,assets:lt,assets_transfer_type:st,remote_fees_id:nt,fees_transfer_type:at,custom_xcm_on_dest:he,weight_limit:{type:"Unlimited"}}}})}),vn=()=>({limitedReserveTransferAssets:O0,limitedTeleportAssets:G0,transferAssetsUsingTypeAndThen:U0});import{ExtrinsicConfig as Os}from"@galacticcouncil/xc-core";import{big as j0,encodeAssetId as En}from"@galacticcouncil/common";import{XcmV3Junctions as ja,XcmV3Junction as q0,XcmV3MultiassetFungibility as z0}from"@galacticcouncil/descriptors";var Vt=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:ja.X1(s)}}:{type:t,value:{parents:1,interior:ja.X2([q0.Parachain(e.parachainId),s])}},Ns=(t,e)=>({id:t,fun:z0.Fungible(e)});var Gs="XTokens",J0=()=>({build:({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>new Os({module:Gs,func:"transfer",getArgs:async()=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?ct(i,o,u):t,f=R(d),b=i.getAssetId(s);return{currency_id:En(b),amount:e,dest:Vt(c,u,f),dest_weight_limit:{type:"Unlimited"}}}})}),$0=()=>({build:({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>new Os({module:Gs,func:"transfer_multiasset",getArgs:async()=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?ct(i,o,u):t,f=R(d),b=W(M(i,s),c),A=Ns(b,e);return{asset:{type:c,value:A},dest:Vt(c,u,f),dest_weight_limit:{type:"Unlimited"}}}})}),Q0=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new Os({module:Gs,func:"transfer_multiassets",getArgs:async()=>{let r=R(t),i=o.chain,u=a.chain,c="V4",d=W(M(i,s),c),f=W(M(i,a.fee),c),b=Ns(d,e),A=Ns(f,a.fee.amount);return s.key===a.fee.key?{assets:{type:c,value:[b]},fee_item:0,dest:Vt(c,u,r),dest_weight_limit:{type:"Unlimited"}}:Ds(d,f)?{assets:{type:c,value:[A,b]},fee_item:0,dest:Vt(c,u,r),dest_weight_limit:{type:"Unlimited"}}:{assets:{type:c,value:[b,A]},fee_item:1,dest:Vt(c,u,r),dest_weight_limit:{type:"Unlimited"}}}})}),Y0=()=>({build:({address:t,amount:e,asset:s,destination:a,sender:o,source:r,transact:i})=>new Os({module:Gs,func:"transfer_multicurrencies",getArgs:async()=>{let u=r.chain,c=a.chain,d=a.fee.amount,f=u.getAssetId(a.fee),b=t;i&&(c=i.chain,d=j0.toBigInt(i.fee.amount,i.fee.decimals),f=u.getAssetId(i.fee),b=ct(u,o,c));let A="V4",T=R(b),K=u.getAssetId(s),V=En(K),B=En(f);return{currencies:[[V,e],[B,d]],fee_item:1,dest:Vt(A,c,T),dest_weight_limit:{type:"Unlimited"}}}})}),In=()=>({transfer:J0,transferMultiasset:$0,transferMultiassets:Q0,transferMultiCurrencies:Y0});import{ExtrinsicConfig as sm}from"@galacticcouncil/xc-core";import{XcmV3Junctions as Z0,XcmV3Junction as em,XcmV3MultiassetFungibility as tm}from"@galacticcouncil/descriptors";var Ja=(t,e)=>({parents:1,interior:Z0.X2([em.Parachain(t.parachainId),e])}),$a=(t,e)=>({id:t,fun:tm.Fungible(e)});var nm="XTransfer",am=()=>({build:({address:t,amount:e,asset:s,destination:a,source:o})=>new sm({module:nm,func:"transfer",getArgs:async()=>{let r="V3",i=R(t),u=o.chain,c=a.chain,d=W(M(u,s),r),f=$a(d,e),b=Ja(c,i);return[f,b,{refTime:5e9,proofSize:0}]}})}),Fn=()=>({transfer:am});function m(){return{assetConversion:Ta,assets:Ba,balances:Pa,ethereumXcm:hn,polkadotXcm:Cn,router:va,utility:Ea,xTokens:In,xTransfer:Fn,xcmPallet:vn}}function yt(t,e){return{prior:function(s){return{build:a=>t(a)?m().utility().batchAll([e,s]).build(a):s.build(a)}},priorMulti:function(s){return{build:a=>t(a)?m().utility().batchAll([e,...s]).build(a):m().utility().batchAll([...s]).build(a)}}}}import{Abi as Za,Snowbridge as bm,Wormhole as Ya}from"@galacticcouncil/xc-core";var Qa={};xs(Qa,{AssethubClient:()=>le,BaseClient:()=>xt,HydrationClient:()=>Ze});import{encodeLocation as om}from"@galacticcouncil/common";import{hub as rm,XcmVersionedAssetId as im}from"@galacticcouncil/descriptors";var xt=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??rm}get client(){return this.chain.client}api(){return this.client.getTypedApi(this.descriptor)}get refApi(){return this.api()}async getSystemAccountBalance(e){let a=(await this.refApi.query.System.Account.getValue(e)).data,{free:o,frozen:r}=a;return BigInt(o)-BigInt(r)}async calculateDestinationFee(e,s){let a=await this.refApi.apis.XcmPaymentApi.query_xcm_weight({type:"V4",value:e});if(!a.success)throw Error("Can't query XCM weight.");let o=this.chain.getAssetXcmLocation(s);if(!o)throw Error(`Can't get XCM location for asset ${s.originSymbol}`);let r=om(o),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(a.value,im.V4(r));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};import{XcmV5Junctions as cm,XcmV5Junction as mm,XcmVersionedLocation as um}from"@galacticcouncil/descriptors";import{encodeLocation as lm}from"@galacticcouncil/common";import{Twox128 as dm,u128 as fm}from"@polkadot-api/substrate-bindings";import{toHex as pm}from"@polkadot-api/utils";var le=class extends xt{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),a=this.chain.getAssetXcmLocation(e),o=lm(a);if(s===0)return!0;let r=s===e.originSymbol?await this.api().query.ForeignAssets.Asset.getValue(o):await this.api().query.Assets.Asset.getValue(Number(s));return r&&r.is_sufficient||!1}async checkIfFrozen(e,s){let a=this.chain.getAssetId(s);if(a===s.originSymbol)return!1;let o=await this.api().query.Assets.Account.getValue(Number(a),e);return o&&o.status.type==="Frozen"||!1}async getAssetMin(e){let s=this.chain.getAssetId(e);return(await this.api().query.Assets.Asset.getValue(Number(s)))?.min_balance||0n}async getBridgeDeliveryFee(e={defaultFee:2750872500000n}){let s=new TextEncoder().encode(":BridgeHubEthereumBaseFee:"),a=pm(dm(s)),o=await this.client._request("state_getStorage",[a]);if(!o)return e.defaultFee;let r=fm.dec(o);return r===0n?e.defaultFee:r}async calculateDeliveryFee(e,s){let a=um.V5({parents:1,interior:cm.X1(mm.Parachain(s))}),o=await this.api().apis.XcmPaymentApi.query_delivery_fees(a,{type:"V4",value:e});if(!o.success)throw Error("Can't query XCM delivery fee.");let r=o.value.value.find(u=>{let c=u.id;return c&&c.parents&&c.parents===1&&c.interior.type==="Here"});if(!r)throw Error("Can't find XCM delivery fee in DOT.");let i=r.fun.value;if(typeof i=="bigint")return i;throw Error("Can't parse delivery fee.")}};import{hydration as hm}from"@galacticcouncil/descriptors";var Ze=class extends xt{constructor(e){super(e,hm)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),a=Number(s),o=await this.api().query.AssetRegistry.Assets.getValue(a);return o?o.is_sufficient||!1:!0}async getFeeAsset(e){let s=await this.api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(e);return s?s.toString():"0"}async getAssetBalance(e,s){return s==="0"?this.getSystemAccountBalance(e):this.getTokensAccountsBalance(e,s)}async getSystemAccountBalance(e){let a=(await this.api().query.System.Account.getValue(e)).data,{free:o,frozen:r}=a;return BigInt(o)-BigInt(r)}async getTokensAccountsBalance(e,s){let a=Number(s),o=await this.api().query.Tokens.Accounts.getValue(e,a),{free:r,frozen:i}=o;return BigInt(r)-BigInt(i)}};function ym(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let a=s,o=e,r=Ya.fromChain(a),i=Ya.fromChain(o),u=a.getAssetId(t),c=a.getAssetDecimals(t);return{amount:await a.evmClient.getProvider().readContract({abi:Za.TokenRelayer,address:r.getTokenRelayer(),args:[i.getWormholeId(),u,c],functionName:"calculateRelayerFee"})}}})}}function xm(){return{TokenRelayer:ym}}function gm(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:a})=>{let o=a,r=s,i=bm.fromChain(o),u=new xt(r),c=new le(t.hub),d=xn(e,r),[f,b]=await Promise.all([u.calculateDestinationFee(d,g),c.calculateDeliveryFee(d,r.parachainId)]),A=b+Fs(f,25n),T=o.getAssetId(e);return{amount:await o.evmClient.getProvider().readContract({abi:Za.Snowbridge,address:i.getGateway(),args:[T,r.parachainId,A],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:A}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:a})=>{let o=a,r=new le(t.hub),i=Ka(e,o),u=xn(e,o),[c,d,f,b,A]=await Promise.all([r.getBridgeDeliveryFee(),r.calculateDeliveryFee(i,Xa),r.calculateDestinationFee(i,s),r.calculateDeliveryFee(u,o.parachainId),r.calculateDestinationFee(u,s)]);return{amount:c+d+Fs(f,25n)+b+Fs(A,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:d,assetHubDestinationFee:f,returnToSenderDeliveryFee:b,returnToSenderDestinationFee:A}}}})}}function et(){return{Snowbridge:gm,Wormhole:xm}}var Am="0";function wm(){return{build:async({address:t,chain:e})=>{let a=await new Ze(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),o=a?a.toString():Am,r=e.findAssetById(o);return r?r.asset:U}}}var km=()=>({accountCurrencyMap:wm});function Cs(){return{multiTransactionPayment:km}}import{mrl as so,Precompile as no,ProgramConfig as ao,Wormhole as Us}from"@galacticcouncil/xc-core";import{ACCOUNT_SIZE as Cm,NATIVE_MINT as eo,TOKEN_PROGRAM_ID as Tm,createCloseAccountInstruction as Bm,createInitializeAccountInstruction as Pm,getMinimumBalanceForRentExemptAccount as vm,getAssociatedTokenAddress as Em}from"@solana/spl-token";import{Keypair as _n,PublicKey as Xn,SystemProgram as to}from"@solana/web3.js";import{UniversalAddress as oo}from"@wormhole-foundation/sdk-connect";import{createApproveAuthoritySignerInstruction as ro,createTransferNativeWithPayloadInstruction as io,getWrappedMeta as Im}from"@wormhole-foundation/sdk-solana-tokenbridge";var Fm=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=Us.fromChain(u),f=Us.fromChain(t.moonchain),b=no.Bridge,A=await so.createPayload(i.chain,s),T=new Xn(r),K=new oo(b),V=f.getWormholeId(),B=T,Q=0,se=_n.generate(),k=_n.generate(),At=await vm(c.connection),lt=to.createAccount({fromPubkey:B,newAccountPubkey:k.publicKey,lamports:At,space:Cm,programId:Tm}),st=to.transfer({fromPubkey:B,lamports:a,toPubkey:k.publicKey}),nt=Pm(k.publicKey,eo,B),at=ro(d.getTokenBridge(),k.publicKey,B,a),he=io(c.connection,d.getTokenBridge(),d.getCoreBridge(),r,se.publicKey,k.publicKey,eo,Q,a,K.toUint8Array(),V,A.toU8a()),mn=Bm(k.publicKey,B,B);return new ao({instructions:[lt,st,nt,at,he,mn],signers:[se,k],func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),_m=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,sender:i,destination:u}=e,c=r.chain,d=c,f=Us.fromChain(c),b=Us.fromChain(t.moonchain),A=no.Bridge,T=await so.createPayload(u.chain,s),K=new Xn(i),V=r.chain.getAssetId(o),B=new Xn(V),Q=await Em(B,K),se=new oo(A),k=b.getWormholeId();if(await Im(d.connection,f.getTokenBridge(),B).catch(he=>null).then(he=>he!=null))throw new Error("Wrapped assets not supported yet");let lt=0,st=_n.generate(),nt=ro(f.getTokenBridge(),Q,K,a),at=io(d.connection,f.getTokenBridge(),f.getCoreBridge(),i,st.publicKey,Q,B,lt,a,se.toUint8Array(),k,T.toU8a());return new ao({instructions:[nt,at],signers:[st],func:"TransferWithPayload",module:"TokenBridge"})}})}),co=()=>({transferNativeWithPayload:Fm,transferTokenWithPayload:_m});function mo(){return{TokenBridge:co}}function qs(){return{Wormhole:mo}}import{mrl as Xm,MoveConfig as Rm,Precompile as Sm,Wormhole as uo}from"@galacticcouncil/xc-core";import{Transaction as Lm}from"@mysten/sui/transactions";import{SUI_CLOCK_OBJECT_ID as Dm,SUI_TYPE_ARG as Hm}from"@mysten/sui/utils";import{UniversalAddress as Mm}from"@wormhole-foundation/sdk-connect";import{getOldestEmitterCapObjectId as Wm,getPackageId as lo}from"@wormhole-foundation/sdk-sui";var Vm=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=uo.fromChain(u),f=uo.fromChain(t.moonchain),b=0,A=Sm.Bridge,T=await Xm.createPayload(i.chain,s),K=new Mm(A),V=f.getWormholeId(),B=Hm,[Q,se]=await Promise.all([lo(c.client,d.coreBridge),lo(c.client,d.tokenBridge)]),k=new Lm,[At]=k.splitCoins(k.gas,[k.pure.u64(a)]),[lt]=k.splitCoins(k.gas,[k.pure.u64(i.fee.amount)]),[st]=k.moveCall({target:`${se}::state::verified_asset`,arguments:[k.object(d.tokenBridge)],typeArguments:[B]}),nt=!1,at=await(async()=>{let Kn=await Wm(c.client,Q,r);if(Kn!==null)return k.object(Kn);{let[Pr]=k.moveCall({target:`${Q}::emitter::new`,arguments:[k.object(d.coreBridge)]});return nt=!0,Pr}})(),[he,mn]=k.moveCall({target:`${se}::transfer_tokens_with_payload::prepare_transfer`,arguments:[at,st,At,k.pure.u16(V),k.pure.vector("u8",K.toUint8Array()),k.pure.vector("u8",T.toU8a()),k.pure.u32(b)],typeArguments:[B]});k.moveCall({target:`${se}::coin_utils::return_nonzero`,arguments:[mn],typeArguments:[B]});let[Br]=k.moveCall({target:`${se}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[k.object(d.tokenBridge),he],typeArguments:[B]});return k.moveCall({target:`${Q}::publish_message::publish_message`,arguments:[k.object(d.coreBridge),lt,Br,k.object(Dm)]}),nt&&k.transferObjects([at],k.pure.address(r)),new Rm({transaction:k,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),fo=()=>({transferNativeWithPayload:Vm});function po(){return{TokenBridge:fo}}function Rn(){return{Wormhole:po}}var bo={};xs(bo,{Tag:()=>Pt});var Pt=(o=>(o.Wormhole="Wormhole",o.Relayer="Relayer",o.Snowbridge="Snowbridge",o.Mrl="Mrl",o))(Pt||{});import{AssetRoute as yo}from"@galacticcouncil/xc-core";function hs(t,e){return new yo({source:{asset:t,balance:n().evm().erc20(),fee:{asset:S,balance:n().evm().native()},destinationFee:{asset:t,balance:n().evm().erc20()}},destination:{chain:l,asset:e,fee:{amount:0,asset:e}},contract:P().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:F}),tags:["Mrl","Wormhole"]})}function ie(t,e){return new yo({source:{asset:t,balance:n().evm().erc20(),fee:{asset:S,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:e,fee:{amount:et().Snowbridge().calculateInboundFee({hub:X}),asset:S}},contract:P().Snowbridge().sendToken(),tags:["Snowbridge"]})}var Nm=[new zs({source:{asset:S,balance:n().evm().native(),destinationFee:{asset:S,balance:n().evm().native()}},destination:{chain:l,asset:Z,fee:{amount:0,asset:Z}},contract:P().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:F}),tags:["Mrl","Wormhole"]}),hs(me,ee),hs(je,ge),hs(x,z),hs(p,xe),hs(ot,ye)],Om=[new zs({source:{asset:S,balance:n().evm().native(),fee:{asset:S,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:S,fee:{amount:et().Snowbridge().calculateInboundFee({hub:X}),asset:S}},contract:P().Snowbridge().sendToken(),tags:["Snowbridge"]}),ie(ke,ke),ie(Be,Be),ie(Ee,Ee),ie(Me,Me),ie(Ke,Ke),ie(Ne,Ne),ie(Xe,Xe),ie(Fe,Fe),ie(Se,Se),ie(Ve,Ve),ie(Ue,Ue),ie($e,$e),ie(x,Xt),ie(p,_t)],R1=[new zs({source:{asset:S,balance:n().evm().native(),destinationFee:{asset:S,balance:n().evm().erc20()}},destination:{chain:F,asset:Z,fee:{amount:0,asset:Z}},contract:P().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new zs({source:{asset:me,balance:n().evm().erc20(),fee:{asset:S,balance:n().evm().native()},destinationFee:{asset:me,balance:n().evm().erc20()}},destination:{chain:F,asset:ee,fee:{amount:0,asset:ee}},contract:P().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],xo=new Km({chain:I,routes:[...Nm,...Om]});var go=[xo];import{AssetRoute as Ts,ChainRoutes as Gm}from"@galacticcouncil/xc-core";var Um=[new Ts({source:{asset:O,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:O,fee:{amount:1,asset:O}},extrinsic:m().xTokens().transfer()}),new Ts({source:{asset:ve,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:ve,fee:{amount:.002926334210356268,asset:ve}},extrinsic:m().xTokens().transfer()}),new Ts({source:{asset:Je,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:Je,fee:{amount:6e-8,asset:Je}},extrinsic:m().xTokens().transfer()}),new Ts({source:{asset:ze,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:ze,fee:{amount:956965470918e-18,asset:ze}},extrinsic:m().xTokens().transfer()}),new Ts({source:{asset:de,balance:n().substrate().tokens().accounts(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:de,fee:{amount:.011,asset:de}},extrinsic:m().xTokens().transfer()})],Ao=new Gm({chain:rt,routes:[...Um]});import{AssetRoute as Js,ChainRoutes as To}from"@galacticcouncil/xc-core";import{AssetRoute as Sn}from"@galacticcouncil/xc-core";var Kt=0,qm=t=>{let{source:e}=t;return!!e.feeSwap},zm=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},wo=m().assetConversion().swapTokensForExactTokens({slippage:30});function ko(t,e,s){return new Sn({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().assets().account()},min:kt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:p}},extrinsic:yt(zm,wo).prior(m().polkadotXcm().limitedReserveTransferAssets())})}function js(t,e,s){return new Sn({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:t,balance:n().substrate().assets().account(),swap:!0},destinationFee:{balance:n().substrate().assets().account()},min:kt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:yt(qm,wo).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function Nt(t,e,s){return new Sn({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().assets().account()},min:kt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function Ot(t){return ko(t,l,.02)}function Co(t){return ko(t,F,.25)}var jm=[new Js({source:{asset:g,balance:n().substrate().system().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().system().account()},min:kt().assets().asset()},destination:{chain:l,asset:g,fee:{amount:.001,asset:g}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new Js({source:{asset:C,balance:n().substrate().foreignAssets().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:l,asset:C,fee:{amount:1e-4,asset:C}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Nt(p,l,.02),Nt(x,l,.02),Ot(Y),Ot(dt),Ot(ft),Ot(pt)],Jm=[new Js({source:{asset:C,balance:n().substrate().foreignAssets().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:Ye,asset:C,fee:{amount:.001,asset:C}},extrinsic:m().polkadotXcm().transferAssets()})],$m=[Nt(p,F,.25),Nt(x,F,.25),Co(Y)],Qm=[Nt(p,J,.03),Nt(x,J,.03)],Ym=[new Js({source:{asset:N,balance:n().substrate().foreignAssets().account(),fee:{asset:g,balance:n().substrate().system().account(),extra:Kt},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:wt,asset:N,fee:{amount:2.5,asset:N}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],Bo=new To({chain:X,routes:[...jm,...Jm,...$m,...Qm,...Ym]}),Po=new To({chain:jt,routes:[js(p,l,.02),js(x,l,.02),js(g,l,.001)]});import{AssetRoute as ut,ChainRoutes as Zm}from"@galacticcouncil/xc-core";var eu=[new ut({source:{asset:_,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:_,fee:{amount:.044306118,asset:_}},extrinsic:m().polkadotXcm().reserveTransferAssets()}),new ut({source:{asset:E,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:E,fee:{amount:.1,asset:E}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:y,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:y,fee:{amount:.04,asset:y}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:H,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:H,fee:{amount:2e-6,asset:H}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:L,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:L,fee:{amount:.2,asset:L}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:q,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:q,fee:{amount:.3,asset:q}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:D,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:D,fee:{amount:4e-4,asset:D}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:j,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:j,fee:{amount:.025,asset:j}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:p,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:m().xTokens().transfer()}),new ut({source:{asset:x,balance:n().substrate().assets().account(),fee:{asset:_,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:m().xTokens().transfer()})],vo=new Zm({chain:oe,routes:[...eu]});import{AssetRoute as tt,ChainRoutes as tu}from"@galacticcouncil/xc-core";var su=[new tt({source:{asset:E,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:E,fee:{amount:.014645,asset:E}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:D,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:D,fee:{amount:555e-6,asset:D}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:j,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:j,fee:{amount:.0115,asset:j}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.1,asset:g}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new tt({source:{asset:_,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:_,fee:{amount:.5,asset:_}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:y,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.1,asset:y}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:H,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:2e-6,asset:H}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:p,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:m().xTokens().transfer()}),new tt({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:m().xTokens().transfer()})],nu=[new tt({source:{asset:p,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:X,asset:p,fee:{amount:.18,asset:p}},extrinsic:m().xTokens().transferMultiassets()}),new tt({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:E,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:X,asset:x,fee:{amount:.18,asset:x}},extrinsic:m().xTokens().transferMultiassets()})],Eo=new tu({chain:J,routes:[...su,...nu]});import{AssetRoute as Io,ChainRoutes as au}from"@galacticcouncil/xc-core";var ou=[new Io({source:{asset:be,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:be,fee:{amount:.006373834498834048,asset:be}},extrinsic:m().xTokens().transfer()}),new Io({source:{asset:y,balance:n().substrate().ormlTokens().accounts(),fee:{asset:be,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().ormlTokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.05,asset:y}},extrinsic:m().xTokens().transfer()})],Fo=new au({chain:St,routes:[...ou]});import{AssetRoute as Ut,ChainRoutes as uu}from"@galacticcouncil/xc-core";var ru="0",v=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===ru?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),ce=()=>({asset:Cs().multiTransactionPayment().accountCurrencyMap(),balance:v()});import{AssetRoute as bs}from"@galacticcouncil/xc-core";var iu=.9,cu=1,mu=.03,$s=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Qs=m().router().buy({slippage:30});function w(t,e,s){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}function Gt(t){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:X,asset:t,fee:{amount:.18,asset:p}},extrinsic:yt($s,Qs).prior(m().xTokens().transferMultiassets())})}function Ys(t,e,s){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:jt,asset:t,fee:{amount:e,asset:t}},extrinsic:m().utility().batchAll([s,m().polkadotXcm().send().transferAsset({fee:mu})])})}function _o(t,e,s){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:s,asset:y}},extrinsic:yt($s,Qs).prior(m().xTokens().transferMultiCurrencies())})}function vt(t){return _o(t,F,.08)}function Xo(t){return _o(t,ht,.1)}function Ro(t,e,s,a,o,r){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{asset:t,balance:v()}},destination:{chain:s,asset:e,fee:{amount:a,asset:e}},extrinsic:yt($s,Qs).priorMulti([m().xTokens().transferMultiCurrencies(),m().polkadotXcm().send().transact({fee:iu})]),transact:{chain:F,fee:{amount:cu,asset:y,balance:v()},extrinsic:m().ethereumXcm().transact(o)},tags:r})}function Ln(t,e,s){return Ro(t,e,s,0,P().Batch().batchAll([P().Erc20().approve(a=>a.getTokenBridge()),P().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Et(t,e,s){return Ro(t,e,s,et().Wormhole().TokenRelayer().calculateRelayerFee(),P().Batch().batchAll([P().Erc20().approve(a=>a.getTokenRelayer()),P().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function te(t,e,s){return new bs({source:{asset:t,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:s,asset:e,fee:{amount:et().Snowbridge().calculateOutboundFee({hub:X}),asset:g}},extrinsic:yt($s,Qs).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var lu=[w(ve,rt,92696e-8),w(Je,rt,4e-8),w(ze,rt,687004e-12),w(O,rt,1),w(de,rt,.06)],du=[new Ut({source:{asset:g,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:X,asset:g,fee:{amount:.19,asset:g}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new Ut({source:{asset:C,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:X,asset:C,fee:{amount:.05,asset:C}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new Ut({source:{asset:p,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:X,asset:p,fee:{amount:.07,asset:p}},extrinsic:m().xTokens().transferMultiasset()}),new Ut({source:{asset:x,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:X,asset:x,fee:{amount:.07,asset:x}},extrinsic:m().xTokens().transferMultiasset()}),Gt(Y),Gt(dt),Gt(ft),Gt(pt)],fu=[w(_,oe,.00404146544),w(E,oe,.75),w(y,oe,.025),w(H,oe,2e-6),w(L,oe,.01),w(q,oe,.3),w(D,oe,4e-4),w(j,oe,.005),w(p,oe,.3),w(x,oe,.3)],pu=[w(E,J,563136e-9),w(D,J,703e-10),w(j,J,643e-9),w(g,J,.1),w(_,J,.5),w(y,J,.1),w(H,J,5e-6),w(p,J,.3),w(x,J,.3),new Ut({source:{asset:g,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:J,asset:g,fee:{amount:.1,asset:g}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],hu=[w(be,St,.0092696),w(y,St,.05)],bu=[w(H,Ae,62e-8),w(L,Ae,.0019213457),w(U,Ae,.5),w(p,Ae,.3),w(x,Ae,.3),new Ut({source:{asset:D,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:Ae,asset:D,fee:{amount:.01,asset:g}},extrinsic:m().xTokens().transfer()}),new Ut({source:{asset:g,balance:v(),fee:ce(),destinationFee:{balance:v()}},destination:{chain:Ae,asset:g,fee:{amount:.05,asset:g}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],yu=[w(U,F,5),w(y,F,.01),w(p,F,.3),w(x,F,.3),vt(ee),vt(ye),vt(z),vt(xe),vt(ge),vt(Z),vt(G)],xu=[w(fe,ht,.0093),w(y,ht,.002),Xo(z)],gu=[w(q,ss,.064296)],Au=[w(N,wt,2.5)],wu=[w(Le,es,.0012)],ku=[w(qe,ns,0)],Cu=[w(Pe,Jt,.04)],Tu=[w(Ie,Qt,.02)],Bu=[w(_e,Yt,.1)],Pu=[w(Re,as,.02)],vu=[w(He,ts,1.1)],Eu=[w(De,Zt,.205)],Iu=[w(We,$t,4)],Fu=[w(Ce,zt,.001)],_u=[Et(ee,me,I),Et(Z,S,I),Et(ge,je,I),Et(xe,p,I),Et(z,x,I),Ln(ye,ot,I)],Xu=[te(S,S,I),te(ke,ke,I),te(Be,Be,I),te(Ee,Ee,I),te(Me,Me,I),te(Ke,Ke,I),te(Ne,Ne,I),te(Ue,Ue,I),te(Xe,Xe,I),te(Fe,Fe,I),te(Se,Se,I),te(Ve,Ve,I),te($e,$e,I),te(Xt,x,I),te(_t,p,I)],Ru=[Et(G,G,Lt),Ln(ne,ne,Lt)],Su=[Et(ae,ae,os)],Lu=[Ys(p,.1,m().xTokens().transferMultiasset()),Ys(x,.1,m().xTokens().transferMultiasset()),Ys(g,.2,m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}))],So=new uu({chain:l,routes:[...lu,...Fu,...du,...fu,...pu,...hu,...Lu,...Cu,...Iu,...Xu,..._u,...bu,...Tu,...Bu,...Pu,...yu,...Au,...Eu,...wu,...gu,...vu,...Ru,...Su,...ku,...xu]});import{AssetRoute as qt,ChainRoutes as Du}from"@galacticcouncil/xc-core";var Hu=[new qt({source:{asset:L,balance:n().substrate().tokens().accounts(),destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:L,fee:{amount:.13,asset:L}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:H,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:.03,asset:L}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:U,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:U,fee:{amount:.1,asset:U}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:D,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:D,fee:{amount:.001,asset:D}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:p,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:p,fee:{amount:.3,asset:p}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.3,asset:x}},extrinsic:m().xTokens().transfer()}),new qt({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:L,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.1,asset:g}},extrinsic:m().xTokens().transfer()})],Lo=new Du({chain:Ae,routes:[...Hu]});import{AssetRoute as ys,ChainRoutes as Vu}from"@galacticcouncil/xc-core";import{AssetRoute as Do}from"@galacticcouncil/xc-core";function Mu(t,e,s){return new Do({source:{asset:t,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:P().Xtokens().transfer()})}function Wu(t,e,s){return new Do({source:{asset:t,balance:n().evm().erc20(),fee:{asset:y,balance:n().evm().erc20()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:P().Xtokens().transfer()})}function It(t,e){return Mu(t,l,e)}function Zs(t,e){return Wu(t,l,e)}var Ku=[new ys({source:{asset:y,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:y,fee:{amount:.05,asset:y}},contract:P().Xtokens().transfer()}),Zs(U,.6),Zs(p,.3),Zs(x,.3),It(ee,.004),It(ye,.004),It(z,.004),It(xe,.004),It(ge,1e-7),It(Z,2e-6),It(G,2e-5)],Nu=[new ys({source:{asset:Y,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:X,asset:Y,fee:{amount:.18,asset:p}},contract:P().Xtokens().transferMultiCurrencies()}),new ys({source:{asset:p,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:X,asset:p,fee:{amount:.18,asset:p}},contract:P().Xtokens().transfer()}),new ys({source:{asset:x,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:X,asset:x,fee:{amount:.18,asset:x}},contract:P().Xtokens().transfer()})],cw=[new ys({source:{asset:Z,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{asset:Z,balance:n().evm().erc20()}},destination:{chain:I,asset:S,fee:{amount:et().Wormhole().TokenRelayer().calculateRelayerFee(),asset:S}},contract:P().Batch().batchAll([P().Erc20().approve(t=>t.getTokenRelayer()),P().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new ys({source:{asset:ee,balance:n().evm().erc20(),fee:{asset:y,balance:n().substrate().system().account()},destinationFee:{asset:ee,balance:n().evm().erc20()}},destination:{chain:I,asset:me,fee:{amount:et().Wormhole().TokenRelayer().calculateRelayerFee(),asset:me}},contract:P().Batch().batchAll([P().Erc20().approve(t=>t.getTokenRelayer()),P().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],Ho=new Vu({chain:F,routes:[...Ku,...Nu]});import{AssetRoute as Mo,ChainRoutes as Ou}from"@galacticcouncil/xc-core";var Gu=[new Mo({source:{asset:N,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:N,fee:{amount:.01,asset:N}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],Uu=[new Mo({source:{asset:N,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:X,asset:N,fee:{amount:.1,asset:N}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],Wo=new Ou({chain:wt,routes:[...Gu,...Uu]});import{AssetRoute as qu,ChainRoutes as zu}from"@galacticcouncil/xc-core";var ju=[new qu({source:{asset:Le,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Le,fee:{amount:.2,asset:Le}},extrinsic:m().xTokens().transfer()})],Vo=new zu({chain:es,routes:[...ju]});import{AssetRoute as Ju,ChainRoutes as $u}from"@galacticcouncil/xc-core";var Qu=[new Ju({source:{asset:qe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:qe,fee:{amount:.22,asset:qe}},extrinsic:m().xTokens().transfer()})],Ko=new $u({chain:ns,routes:[...Qu]});import{AssetRoute as Dn,ChainRoutes as Yu}from"@galacticcouncil/xc-core";var Zu=[new Dn({source:{asset:fe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:fe,fee:{amount:.0225,asset:fe}},extrinsic:m().xTokens().transfer()}),new Dn({source:{asset:y,balance:n().substrate().tokens().accounts(),fee:{asset:fe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:y,fee:{amount:.0035,asset:y}},extrinsic:m().xTokens().transfer()}),new Dn({source:{asset:z,balance:n().substrate().tokens().accounts(),fee:{asset:fe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:z,fee:{amount:.1,asset:y}},extrinsic:m().xTokens().transferMultiCurrencies()})],No=new Yu({chain:ht,routes:[...Zu]});import{AssetRoute as el,ChainRoutes as tl}from"@galacticcouncil/xc-core";var sl=[new el({source:{asset:q,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:q,fee:{amount:.01842508453,asset:q}},extrinsic:m().xTransfer().transfer()})],Oo=new tl({chain:ss,routes:[...sl]});import{AssetRoute as nl,ChainRoutes as al}from"@galacticcouncil/xc-core";var ol=[new nl({source:{asset:Pe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Pe,fee:{amount:.01,asset:Pe}},extrinsic:m().xTokens().transfer()})],Go=new al({chain:Jt,routes:[...ol]});import{AssetRoute as rl,ChainRoutes as il}from"@galacticcouncil/xc-core";var cl=[new rl({source:{asset:Ie,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ie,fee:{amount:.03,asset:Ie}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],Uo=new il({chain:Qt,routes:[...cl]});import{AssetRoute as ml,ChainRoutes as ul}from"@galacticcouncil/xc-core";var ll=[new ml({source:{asset:He,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:He,fee:{amount:.2,asset:He}},extrinsic:m().xTokens().transfer()})],qo=new ul({chain:ts,routes:[...ll]});import{AssetRoute as dl,ChainRoutes as fl}from"@galacticcouncil/xc-core";var pl=[new dl({source:{asset:We,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:We,fee:{amount:2,asset:We}},extrinsic:m().xTokens().transfer()})],zo=new fl({chain:$t,routes:[...pl]});import{AssetRoute as hl,ChainRoutes as bl}from"@galacticcouncil/xc-core";var yl=[new hl({source:{asset:Ce,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ce,fee:{amount:.001,asset:Ce}},extrinsic:m().xTokens().transfer()})],jo=new bl({chain:zt,routes:[...yl]});import{AssetRoute as xl,ChainRoutes as gl}from"@galacticcouncil/xc-core";var Al=[new xl({source:{asset:_e,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:_e,fee:{amount:2,asset:_e}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],Jo=new gl({chain:Yt,routes:[...Al]});import{AssetRoute as wl,ChainRoutes as kl}from"@galacticcouncil/xc-core";var Cl=[new wl({source:{asset:Re,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Re,fee:{amount:.03,asset:Re}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],$o=new kl({chain:as,routes:[...Cl]});import{AssetRoute as Tl,ChainRoutes as Bl}from"@galacticcouncil/xc-core";var Pl=[new Tl({source:{asset:De,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:De,fee:{amount:.205,asset:De}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],Qo=new Bl({chain:Zt,routes:[...Pl]});var Yo=[Ao,jo,Bo,Po,vo,Eo,Fo,So,Lo,Ho,Wo,Qo,Vo,Ko,No,Oo,Go,Uo,qo,zo,Jo,$o];import{AssetRoute as Zo,ChainRoutes as vl}from"@galacticcouncil/xc-core";var El=[new Zo({source:{asset:G,balance:n().solana().native(),destinationFee:{asset:G,balance:n().solana().native()}},destination:{chain:l,asset:G,fee:{amount:0,asset:G}},program:qs().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:F}),tags:["Mrl","Wormhole"]}),new Zo({source:{asset:ne,balance:n().solana().token(),fee:{asset:G,balance:n().solana().native()},destinationFee:{asset:ne,balance:n().solana().token()}},destination:{chain:l,asset:ne,fee:{amount:0,asset:ne}},program:qs().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:F}),tags:["Mrl","Wormhole"]})],er=new vl({chain:Lt,routes:[...El]});var tr=[er];import{AssetRoute as Il,ChainRoutes as Fl}from"@galacticcouncil/xc-core";var _l=[new Il({source:{asset:ae,balance:n().sui().native(),destinationFee:{asset:ae,balance:n().sui().native()}},destination:{chain:l,asset:ae,fee:{amount:0,asset:ae}},move:Rn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:F}),tags:["Mrl","Wormhole"]})],sr=new Fl({chain:os,routes:[..._l]});var nr=[sr];import{AssetRoute as ar,ChainRoutes as Xl}from"@galacticcouncil/xc-core";import{AssetRoute as ck}from"@galacticcouncil/xc-core";var Hn=0;var Rl=new ar({source:{asset:C,balance:n().substrate().system().account(),fee:{asset:C,balance:n().substrate().system().account(),extra:Hn},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:X,asset:C,fee:{amount:.002,asset:C}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Sl=new ar({source:{asset:C,balance:n().substrate().system().account(),fee:{asset:C,balance:n().substrate().system().account(),extra:Hn},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:ue,asset:C,fee:{amount:.0012,asset:C}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),or=new Xl({chain:Ye,routes:[Sl,Rl]});import{AssetRoute as rr,ChainRoutes as Hl}from"@galacticcouncil/xc-core";var Ll="0",gt=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===Ll?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),Bs=()=>({asset:Cs().multiTransactionPayment().accountCurrencyMap(),balance:gt()});import{AssetRoute as Dl}from"@galacticcouncil/xc-core";function Ps(t,e,s){return new Dl({source:{asset:t,balance:gt(),fee:Bs(),destinationFee:{balance:gt()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}var Ml=[new rr({source:{asset:p,balance:gt(),fee:Bs(),destinationFee:{balance:gt()}},destination:{chain:Ye,asset:p,fee:{amount:.0012,asset:p}},extrinsic:m().xTokens().transferMultiasset()})],Wl=[new rr({source:{asset:C,balance:gt(),fee:Bs(),destinationFee:{balance:gt()}},destination:{chain:Ye,asset:C,fee:{amount:.0012,asset:C}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],ir=new Hl({chain:ue,routes:[...Ml,...Wl,Ps(Te,is,.0933),Ps(Oe,rs,4e-6),Ps(Qe,cs,464e-8),Ps(Ge,ms,.0095)]});import{AssetRoute as Vl,ChainRoutes as Kl}from"@galacticcouncil/xc-core";var Nl=[new Vl({source:{asset:Oe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:ue,asset:Oe,fee:{amount:.00275,asset:Oe}},extrinsic:m().xTokens().transfer()})],cr=new Kl({chain:rs,routes:[...Nl]});import{AssetRoute as mr,ChainRoutes as Ol}from"@galacticcouncil/xc-core";var Gl=[new mr({source:{asset:p,balance:n().substrate().tokens().accounts(),fee:{asset:Ft,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:Ye,asset:p,fee:{amount:.0012,asset:p}},extrinsic:m().xTokens().transferMultiasset()})],Ul=[new mr({source:{asset:Te,balance:n().substrate().tokens().accounts(),fee:{asset:Ft,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:ue,asset:Te,fee:{amount:22,asset:Te}},extrinsic:m().xTokens().transfer()})],ur=new Ol({chain:is,routes:[...Gl,...Ul]});import{AssetRoute as ql,ChainRoutes as zl}from"@galacticcouncil/xc-core";var jl=[new ql({source:{asset:Ge,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:ue,asset:Ge,fee:{amount:.014,asset:Ge}},extrinsic:m().xTokens().transfer()})],lr=new zl({chain:ms,routes:[...jl]});import{AssetRoute as Jl,ChainRoutes as $l}from"@galacticcouncil/xc-core";var Ql=[new Jl({source:{asset:Qe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:ue,asset:Qe,fee:{amount:5e-4,asset:Qe}},extrinsic:m().polkadotXcm().limitedReserveTransferAssets()})],dr=new $l({chain:cs,routes:[...Ql]});var fr=[or,ir,cr,ur,lr,dr];var Yl=[...go,...Yo,...tr,...nr,...fr],Zl=new Map(Yl.map(t=>[t.chain.key,t]));import{Parachain as Ar}from"@galacticcouncil/xc-core";import{TransferValidation as pr,TransferValidationError as hr}from"@galacticcouncil/xc-core";var en=class extends pr{async validate(e){let{source:s}=e,{chain:a,fee:o,feeBalance:r}=s;if(r.amount<o.amount)throw new hr("Insufficient_Fee_Balance",{amount:o.toDecimal(o.decimals),asset:o.symbol,chain:a.name,error:"fee.insufficientBalance"})}},tn=class extends pr{async skipFor(e){let{asset:s,source:a}=e,{enabled:o}=a.destinationFeeSwap||{};return s.isEqual(a.destinationFee)||!!o}async validate(e){if(await this.skipFor(e))return;let{source:a}=e,{chain:o,destinationFee:r,destinationFeeBalance:i}=a,u=await this.getMin(o,r),c=r.copyWith({amount:r.amount+u});if(i.amount<c.amount)throw new hr("Insufficient_Fee_Balance",{amount:c.toDecimal(c.decimals),asset:c.symbol,chain:o.name,error:"destFee.insufficientBalance"})}async getMin(e,s){if(e.key==="assethub")return new le(e).getAssetMin(s);let o=e.getAssetMin(s)*10**s.decimals;return BigInt(o)}};import{TransferValidation as br,TransferValidationError as yr}from"@galacticcouncil/xc-core";var sn=class extends br{async skipFor(e){let{asset:s,destination:a}=e,o=a.chain;return await new le(o).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:o}=e,r=o.chain;if(await new le(r).getSystemAccountBalance(a)===0n)throw new yr("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:o.chain.name,error:"account.insufficientDeposit"})}},nn=class extends br{async validate(e){let{asset:s,sender:a,source:o}=e,r=o.chain;if(await new le(r).checkIfFrozen(a,s))throw new yr("Asset_Frozen",{asset:s.originSymbol,chain:o.chain.name,error:"asset.frozen"})}};import{TransferValidation as xr,TransferValidationError as gr}from"@galacticcouncil/xc-core";var ed=12,td=1,sd=18,an=class extends xr{async skipFor(e){let{destination:s}=e,a=s.chain,o=new Ze(a),r=s.balance.amount>0n,i=await o.checkIfSufficient(s.balance);return r||i}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:o}=e,r=o.chain,i=new Ze(r),u=await i.getFeeAsset(a),c=r.findAssetById(u),d=c.min||td,f=c.decimals||ed,b=d*Math.pow(10,f),A=await i.getAssetBalance(a,u);if(BigInt(b*1.1)>A)throw new gr("Insufficient_Ed",{amount:b,asset:c.asset.originSymbol,chain:r.name,error:"account.insufficientDeposit"})}},on=class extends xr{async skipFor(e){let{source:s,transact:a}=e,{enabled:o}=s.destinationFeeSwap||{};return!(!!a&&a.chain.key==="moonbeam")||!!o}async validate(e){if(await this.skipFor(e))return;let{sender:a,source:o}=e,r=o.chain,i=new Ze(r),u=r.getBalanceAssetId(y),c=r.getAssetDecimals(y)||sd,d=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(a,u.toString())<BigInt(d))throw new gr("Insufficient_Ed",{amount:1,asset:y.originSymbol,chain:r.name,error:"destFee.insufficientBalance"})}};var we={isAny:()=>!0,isHydration:t=>t instanceof Ar&&t.parachainId===2034,isHub:t=>t instanceof Ar&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},nd=[new en(we.isAny,we.isAny),new tn(we.isAny,we.isAny),new sn(we.isAny,we.isHub),new nn(we.isHub,we.isAny),new an(we.isAny,we.isHydration),new on(we.isHydration,we.isAny)];var kr={};xs(kr,{AssethubDex:()=>Wn,HydrationDex:()=>Mn});import{pool as ad,sor as od,tx as rd}from"@galacticcouncil/sdk-next";import{RUNTIME_DECIMALS as id}from"@galacticcouncil/common";import{memoize1 as cd}from"@thi.ng/memoize";var{PoolType:rn}=ad,{TradeRouteBuilder:md,TradeRouter:ud}=od,{TxBuilderFactory:ld}=rd,Mn=class{chain;client;poolCtx;txBuilder;getCtx=cd(async e=>{console.log("init swap router",e,"\u2705");let s=new ud(this.poolCtx);return s.withFilter({useOnly:[rn.Aave,rn.Omni,rn.Stable,rn.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new Ze(this.chain),this.txBuilder=new ld(s.client,s.evm)}async getCalldata(e,s,a,o,r=0){let i=Number(this.chain.getMetadataAssetId(s)),u=Number(this.chain.getMetadataAssetId(a)),c=o.amount,d=await this.getCtx(1),f=await d.getMostLiquidRoute(i,u),b=await d.getBuy(i,u,c,f);return(await(await this.txBuilder.trade(b).withBeneficiary(e).withSlippage(r).build()).get().getEncodedData()).asHex()}async getQuote(e,s,a,o){let r=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(s)),u=a.amount,c=await this.getCtx(1);try{let d=await c.getMostLiquidRoute(r,i),f=await c.getBuy(r,i,u,d);return{amount:f.amountIn,route:md.build(f.swaps)}}catch(d){if(o)return{amount:await this.getFallbackPrice(e,a.amount)};throw d}}async getFallbackPrice(e,s){let a=this.chain.getAssetId(e),o=await this.client.api().query.MultiTransactionPayment.AcceptedCurrencies.getValue(Number(e));if(!o)throw new Error(`No price found for asset ${e}`);let r=o*s,i=Math.pow(10,id);return r/BigInt(i)}};import{encodeLocation as wr}from"@galacticcouncil/common";var Wn=class{chain;client;constructor(e){this.chain=e,this.client=new le(this.chain)}async getCalldata(e,s,a,o){throw Error("Not supported for "+this.chain.key)}async getQuote(e,s,a){let o=this.chain.getAssetXcmLocation(e),r=this.chain.getAssetXcmLocation(s),i=await this.client.api().apis.AssetConversionApi.quote_price_tokens_for_exact_tokens(wr(o),wr(r),a.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};import{ConfigService as fd}from"@galacticcouncil/xc-core";import{Asset as dd}from"@galacticcouncil/xc-core";function cn(t){let{id:e,origin:s,symbol:a}=t,o=a.toLowerCase();return new dd({key:[o,s,e].join("_"),originSymbol:a})}function Cr(t){let{decimals:e,id:s}=t;return{asset:cn(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function Tr(t){let{decimals:e,id:s,internalId:a,origin:o}=t;return{asset:cn(t),decimals:e,id:a,xcmLocation:{parents:1,interior:{type:"X3",value:[{type:"Parachain",value:o},{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}var Vn=class extends fd{registerExternal(e){let s=this.getChain("hydration"),a=this.getChain("assethub"),o=r=>!!s.findAssetById(r.internalId.toString());e.filter(r=>!o(r)&&r.origin===1e3).forEach(r=>{let i=cn(r),u=Cr(r),c=Tr(r);console.log("\u{1F480} Registering "+i.key),a.updateAsset(u),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(a,Ot(i)),this.updateChainRoute(s,Gt(i))})}};export{Vn as HydrationConfigService,Ir as assetsMap,ho as builders,sc as chainsMap,Qa as clients,kr as dex,Zl as routesMap,bo as tags,nd as validations};
|