@galacticcouncil/xc-cfg 0.4.1 → 0.4.3

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 CHANGED
@@ -1 +1 @@
1
- "use strict";var Ta=Object.defineProperty;var Di=Object.getOwnPropertyDescriptor;var Hi=Object.getOwnPropertyNames;var Mi=Object.prototype.hasOwnProperty;var ls=(t,e)=>{for(var s in e)Ta(t,s,{get:e[s],enumerable:!0})},Wi=(t,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Hi(e))!Mi.call(t,o)&&o!==s&&Ta(t,o,{get:()=>e[o],enumerable:!(a=Di(e,o))||a.enumerable});return t};var Ki=t=>Wi(Ta({},"__esModule",{value:!0}),t);var Pm={};ls(Pm,{HydrationConfigService:()=>ka,assetsMap:()=>io,builders:()=>Ja,chainsMap:()=>Bo,clients:()=>za,dex:()=>oo,routesMap:()=>vi,tags:()=>$a,validations:()=>Ei});module.exports=Ki(Pm);var h=require("@galacticcouncil/xc-core"),ve=new h.Asset({key:"aave",originSymbol:"AAVE"}),O=new h.Asset({key:"aca",originSymbol:"ACA"}),Ee=new h.Asset({key:"ajun",originSymbol:"AJUN"}),R=new h.Asset({key:"astr",originSymbol:"ASTR"}),F=new h.Asset({key:"bnc",originSymbol:"BNC"}),Ie=new h.Asset({key:"bsx",originSymbol:"BSX"}),Ae=new h.Asset({key:"cfg",originSymbol:"CFG"}),Fe=new h.Asset({key:"cfg_new",originSymbol:"CFG"}),_e=new h.Asset({key:"cru",originSymbol:"CRU"}),le=new h.Asset({key:"dai",originSymbol:"DAI"}),Xe=new h.Asset({...le,key:"dai_awh"}),te=new h.Asset({...le,key:"dai_mwh"}),pt=new h.Asset({key:"ded",originSymbol:"DED"}),A=new h.Asset({key:"dot",originSymbol:"DOT"}),ht=new h.Asset({key:"dota",originSymbol:"DOTA"}),D=new h.Asset({key:"eth",originSymbol:"ETH"}),Re=new h.Asset({key:"ena",originSymbol:"ENA"}),x=new h.Asset({key:"glmr",originSymbol:"GLMR"}),q=new h.Asset({key:"hdx",originSymbol:"HDX"}),W=new h.Asset({key:"ibtc",originSymbol:"IBTC"}),H=new h.Asset({key:"intr",originSymbol:"INTR"}),ae=new h.Asset({key:"jitoSol",originSymbol:"jitoSOL"}),zt=new h.Asset({key:"kar",originSymbol:"KAR"}),Se=new h.Asset({key:"kilt",originSymbol:"KILT"}),B=new h.Asset({key:"ksm",originSymbol:"KSM"}),Le=new h.Asset({key:"ldo",originSymbol:"LDO"}),De=new h.Asset({key:"laos",originSymbol:"LAOS"}),He=new h.Asset({key:"lbtc",originSymbol:"LBTC"}),Me=new h.Asset({key:"ewt",originSymbol:"EWT"}),ye=new h.Asset({key:"ldot",originSymbol:"LDOT"}),We=new h.Asset({key:"link",originSymbol:"LINK"}),U=new h.Asset({key:"myth",originSymbol:"MYTH"}),Ba=new h.Asset({key:"nodl",originSymbol:"NODL"}),Ke=new h.Asset({key:"neuro",originSymbol:"NEURO"}),Ve=new h.Asset({key:"pen",originSymbol:"PEN"}),Ue=new h.Asset({key:"pha",originSymbol:"PHA"}),Ne=new h.Asset({key:"paxg",originSymbol:"PAXG"}),Z=new h.Asset({key:"pink",originSymbol:"PINK"}),Ge=new h.Asset({key:"ring",originSymbol:"RING"}),Oe=new h.Asset({key:"sky",originSymbol:"SKY"}),z=new h.Asset({key:"sol",originSymbol:"SOL"}),oe=new h.Asset({key:"sui",originSymbol:"SUI"}),Pa=new h.Asset({key:"sub",originSymbol:"SUB"}),ze=new h.Asset({key:"susde",originSymbol:"sUSDe"}),ct=new h.Asset({key:"susds",originSymbol:"sUSDS"}),we=new h.Asset({...ct,key:"susds_mwh"}),qe=new h.Asset({key:"tbtc",originSymbol:"tBTC"}),je=new h.Asset({key:"teer",originSymbol:"TEER"}),Je=new h.Asset({key:"tnkr",originSymbol:"TNKR"}),$e=new h.Asset({key:"trac",originSymbol:"TRAC"}),Qe=new h.Asset({key:"unq",originSymbol:"UNQ"}),f=new h.Asset({key:"usdt",originSymbol:"USDT"}),ke=new h.Asset({...f,key:"usdt_mwh"}),qt=new h.Asset({...f,key:"usdt_eth"}),g=new h.Asset({key:"usdc",originSymbol:"USDC"}),j=new h.Asset({...g,key:"usdc_mwh"}),jt=new h.Asset({...g,key:"usdc_eth"}),J=new h.Asset({key:"vastr",originSymbol:"vASTR"}),M=new h.Asset({key:"vdot",originSymbol:"vDOT"}),Jt=new h.Asset({key:"weth",originSymbol:"WETH"}),Ye=new h.Asset({...Jt,key:"weth_awh"}),ee=new h.Asset({...Jt,key:"weth_mwh"}),Ze=new h.Asset({key:"wbtc",originSymbol:"WBTC"}),et=new h.Asset({...Ze,key:"wbtc_awh"}),Ce=new h.Asset({...Ze,key:"wbtc_mwh"}),tt=new h.Asset({key:"wsteth",originSymbol:"wstETH"}),bt=new h.Asset({key:"wud",originSymbol:"WUD"}),st=new h.Asset({key:"xrt",originSymbol:"XRT"}),xe=new h.Asset({key:"ztg",originSymbol:"ZTG"}),Vi=[ve,O,Ee,R,Ie,Ae,Fe,_e,F,le,Xe,te,pt,A,ht,Re,D,x,q,W,H,zt,Se,B,Le,De,He,Me,ae,ye,We,U,Ke,Ba,Ne,Ue,Ve,Z,Ge,Oe,z,oe,Pa,ze,ct,we,je,Je,$e,qe,Qe,g,j,jt,f,ke,qt,J,M,Ze,et,Ce,Jt,Ye,ee,tt,bt,st,xe],io=new Map(Vi.map(t=>[t.key,t]));var tn=require("@galacticcouncil/xc-core");var co=require("viem/chains"),_=new tn.EvmChain({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:D,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:ve,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Fe,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Jt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:le,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Re,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:ze,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:ct,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:qe,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Ze,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:He,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:g,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:f,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Le,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:We,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Ne,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Oe,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:$e,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:tt,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:tn.ChainEcosystem.Ethereum,evmChain:co.mainnet,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 mo=[_];var rn=require("@galacticcouncil/xc-core"),lo=require("viem");var an=require("@polkadot-api/substrate-bindings"),va=require("@polkadot-api/utils"),Ui="evm:",sn=new TextEncoder().encode(Ui),nn=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=(0,an.getSs58AddressInfo)(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===sn[c]))return(0,va.toHex)(a.slice(4,24));let r=new Uint8Array(sn.length+a.length);r.set(sn),r.set(a,sn.length);let i=(0,an.Blake2256)(r);return(0,va.toHex)(i.slice(0,20))}};var uo=require("@polkadot-api/substrate-bindings"),Ni="ETH\0",on=class{async toH160(e){let s=(0,uo.getSs58AddressInfo)(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let a=s.publicKey,o=Buffer.from(Ni),r=a.slice(o.length,-8);return"0x"+Buffer.from(r).toString("hex")}};var Gi=new nn,Oi=(0,lo.defineChain)({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}),mt=new rn.EvmParachain({assetsData:[{asset:O,id:{Token:O.originSymbol},metadataId:{NativeAssetId:{Token:O.originSymbol}}},{asset:ye,decimals:10,id:{Token:ye.originSymbol},metadataId:{NativeAssetId:{Token:ye.originSymbol}},min:.05},{asset:Xe,decimals:18,id:{Erc20:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae"},balanceId:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae",min:.01},{asset:et,decimals:8,id:{Erc20:"0xc80084af223c8b598536178d9361dc55bfda6818"},balanceId:"0xc80084af223c8b598536178d9361dc55bfda6818",min:35e-8},{asset:Ye,decimals:18,id:{Erc20:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578"},balanceId:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578",min:5555555555555e-18},{asset:x,decimals:18,id:{ForeignAsset:0},min:.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:rn.ChainEcosystem.Polkadot,evmChain:Oi,evmResolver:Gi,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"});var cn=require("@galacticcouncil/xc-core");var ds=new cn.Parachain({assetsData:[{asset:Ee,id:"AJUN"}],ecosystem:cn.ChainEcosystem.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});var Vs=require("@galacticcouncil/xc-core");var fo={assetsData:[{asset:A,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Z,decimals:10,id:23,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:23}]}}},{asset:pt,decimals:10,id:30,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:30}]}}},{asset:ht,decimals:4,id:18,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:18}]}}},{asset:bt,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:B,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Vs.ChainEcosystem.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"]},S=new Vs.Parachain({...fo,key:"assethub",name:"AssetHub Polkadot"}),fs=new Vs.Parachain({...fo,key:"assethub_cex",name:"AssetHub (CEX)",usesCexForwarding:!0,usesSignerFee:!0,isTestChain:!0});var mn=require("@galacticcouncil/xc-core");var re=new mn.Parachain({assetsData:[{asset:R,xcmLocation:{parents:0,interior:"Here"}},{asset:A,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:f,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:F,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:x,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:H,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ue,id:"18446744073709551622",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:M,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:mn.ChainEcosystem.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});var un=require("@galacticcouncil/xc-core");var zi=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],$=new un.Parachain({assetsData:[{asset:F,id:{Native:F.originSymbol}},{asset:M,id:{VToken2:0},decimals:10,min:1e-4},{asset:J,id:{VToken2:3},decimals:18,min:.01},{asset:A,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:f,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Z,id:{Token2:10},decimals:10,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:R,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:x,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:un.ChainEcosystem.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:zi});var ln=require("@galacticcouncil/xc-core");var qi=["wss://rpc-centrifuge.luckyfriday.io","wss://fullnode.centrifuge.io"],$t=new ln.Parachain({assetsData:[{asset:Ae,id:"Native"},{asset:A,id:{ForeignAsset:5},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:x,id:{ForeignAsset:4},decimals:18,min:.001,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:ln.ChainEcosystem.Polkadot,explorer:"https://centrifuge.subscan.io",genesisHash:"0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82",key:"centrifuge",name:"Centrifuge",parachainId:2031,ss58Format:36,ws:qi});var dn=require("@galacticcouncil/xc-core");var ps=new dn.Parachain({assetsData:[{asset:_e,id:0}],ecosystem:dn.ChainEcosystem.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"]});var fn=require("@galacticcouncil/xc-core"),po=require("viem/chains");var hs=new fn.EvmParachain({assetsData:[{asset:Ge,id:"SelfReserve",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:fn.ChainEcosystem.Polkadot,evmChain:po.darwinia,explorer:"https://darwinia.subscan.io",genesisHash:"0xf0b8924b12e8108550d28870bc03f7b45a947e1b2b9abf81bfb0b89ecb60570e",key:"darwinia",name:"Darwinia",parachainId:2046,ss58Format:18,usesH160Acc:!0,ws:"wss://darwinia-rpc.dwellir.com"});var pn=require("@galacticcouncil/xc-core"),ho=require("viem");var ji=new on,Ea=["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"],Ia=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],Ji=(0,ho.defineChain)({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Ea,webSocket:Ia},default:{http:Ea,webSocket:Ia}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),l=new pn.EvmParachain({assetsData:[{asset:q,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:ve,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:Ee,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:R,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:F,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ae,decimals:18,id:13,min:.033,xcmLocation:{parents:1,interior:{X2:[{Parachain:2031},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Fe,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:_e,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:pt,decimals:10,id:1000019,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:30}]}}},{asset:A,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ht,decimals:4,id:1000038,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:18}]}}},{asset:Xe,decimals:18,id:2,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x0254a37a01cd75b616d63e0ab665bffdb0143c52ae0000000000000000000000"}}]}}},{asset:te,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:D,decimals:18,id:34,min:55e-7,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:{Ethereum:{chain_id:1}}}}}},{asset:Re,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:x,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:H,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:ae,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Se,decimals:15,id:28,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:2086}}}},{asset:Me,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Le,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:B,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:De,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:He,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:ye,decimals:10,id:1000100,min:.011,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0003000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:We,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Ne,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:Ke,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:Ba,decimals:11,id:26,min:1.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2026},{PalletInstance:2}]}}},{asset:Ve,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Z,decimals:10,id:1000021,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:Ue,decimals:12,id:8,min:.055,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:Ge,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:Pa,decimals:10,id:24,min:.02,xcmLocation:{parents:1,interior:{X1:{Parachain:2101}}}},{asset:z,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:oe,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:ze,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:ct,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:we,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:qe,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:$e,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:g,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:j,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:jt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:f,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:ke,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:qt,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:M,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ze,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:et,decimals:8,id:3,min:44e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x02c80084af223c8b598536178d9361dc55bfda68180000000000000000000000"}}]}}},{asset:Ce,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Jt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:Ye,decimals:18,id:4,min:5e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x025a4d6acdc4e3e5ab15717f407afe957f7a2425780000000000000000000000"}}]}}},{asset:ee,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:tt,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:bt,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:xe,decimals:10,id:12,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2092},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:pn.ChainEcosystem.Polkadot,evmChain:Ji,evmResolver:ji,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:Ia,rpcs:Ea});var hn=require("@galacticcouncil/xc-core");var Te=new hn.Parachain({assetsData:[{asset:H,decimals:10,id:{Token:H.originSymbol}},{asset:W,decimals:8,id:{Token:W.originSymbol}},{asset:A,decimals:10,id:{Token:A.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:q,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:M,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:hn.ChainEcosystem.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain"});var bn=require("@galacticcouncil/xc-core");var bs=new bn.Parachain({assetsData:[{asset:Se,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:bn.ChainEcosystem.Polkadot,explorer:"https://spiritnet.subscan.io",genesisHash:"0x411f057b9107718c9624d6aa4a3f23c1653898297f3d4d529d9bb6511a39dd21",key:"kilt",name:"Kilt",parachainId:2086,ss58Format:38,ws:"wss://spiritnet.kilt.io"});var yn=require("@galacticcouncil/xc-core");var ys=new yn.Parachain({assetsData:[{asset:De,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:yn.ChainEcosystem.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});var xn=require("@galacticcouncil/xc-core"),bo=require("viem");var $i=(0,bo.defineChain)({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}),X=new xn.EvmParachain({assetsData:[{asset:x,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:te,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:z,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:ae,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:we,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:oe,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:j,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:ke,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:Ce,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:ee,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:A,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:q,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:Z,decimals:10,id:"0xffffffff30478fafbe935e466da114e14fb3563d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:g,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:f,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:xn.ChainEcosystem.Polkadot,evmChain:$i,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"});var gn=require("@galacticcouncil/xc-core");var It=new gn.Parachain({assetsData:[{asset:U,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:gn.ChainEcosystem.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"});var An=require("@galacticcouncil/xc-core");var xs=new An.Parachain({assetsData:[{asset:Ke,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:An.ChainEcosystem.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});var wn=require("@galacticcouncil/xc-core");var gs=new wn.Parachain({assetsData:[{asset:Ve,id:"Native"}],ecosystem:wn.ChainEcosystem.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,ws:"wss://rpc-pendulum.prd.pendulumchain.tech"});var Us=require("@galacticcouncil/xc-core");var yo={assetsData:[{asset:A,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Us.ChainEcosystem.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"},xo=new Us.Parachain({...yo,key:"polkadot"}),go=new Us.Parachain({...yo,key:"polkadot_cex",name:"Polkadot (CEX)",usesCexForwarding:!0,isTestChain:!0});var kn=require("@galacticcouncil/xc-core");var As=new kn.Parachain({assetsData:[{asset:Qe,id:0}],ecosystem:kn.ChainEcosystem.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});var Cn=require("@galacticcouncil/xc-core");var yt=new Cn.Parachain({assetsData:[{asset:xe,id:"Ztg"},{asset:j,decimals:6,id:{ForeignAsset:1},xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:x,decimals:18,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Cn.ChainEcosystem.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"});var Tn=require("@galacticcouncil/xc-core");var ws=new Tn.Parachain({assetsData:[{asset:Me,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Tn.ChainEcosystem.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 Ao=[mt,ds,S,fs,re,$,$t,ps,hs,l,bs,ys,xs,Te,X,It,gs,xo,go,As,yt,ws];var Bn=require("@galacticcouncil/xc-core");var Qt=new Bn.SolanaChain({id:101,key:"solana",name:"Solana",assetsData:[{asset:z,decimals:9},{asset:ae,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Bn.ChainEcosystem.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 wo=[Qt];var Pn=require("@galacticcouncil/xc-core");var ks=new Pn.SuiChain({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:oe,decimals:9}],ecosystem:Pn.ChainEcosystem.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var ko=[ks];var vn=require("@galacticcouncil/xc-core");var nt=new vn.Parachain({assetsData:[{asset:B,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:vn.ChainEcosystem.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"});var En=require("@galacticcouncil/xc-core");var de=new En.Parachain({assetsData:[{asset:Ie,id:0},{asset:B,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:je,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:st,decimals:9,id:16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2119},{GeneralKey:{length:4,data:"0x42414a5500000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:En.ChainEcosystem.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});var In=require("@galacticcouncil/xc-core");var Cs=new In.Parachain({assetsData:[{asset:je,id:0}],ecosystem:In.ChainEcosystem.Kusama,explorer:"https://integritee.subscan.io",genesisHash:"0xcdedc8eadbfa209d3f207bba541e57c3c58a667b05a2e1d1e86353c9000758da",key:"integritee",name:"Integritee",parachainId:2015,ss58Format:13,ws:"wss://kusama.api.integritee.network"});var Fn=require("@galacticcouncil/xc-core");var Ts=new Fn.Parachain({assetsData:[{asset:zt,id:{Token:zt.originSymbol}},{asset:B,decimals:12,id:{Token:B.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:Ie,decimals:12,id:{ForeignAsset:11},xcmLocation:{parents:1,interior:{X2:[{Parachain:2090},{GeneralIndex:0}]}}},{asset:f,decimals:6,id:{ForeignAsset:7},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Fn.ChainEcosystem.Kusama,explorer:"https://karura.subscan.io",genesisHash:"0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b",key:"karura",name:"Karura",parachainId:2e3,ss58Format:8,ws:"wss://karura-rpc-0.aca-api.network"});var _n=require("@galacticcouncil/xc-core");var Co=new _n.Parachain({assetsData:[{asset:B,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:_n.ChainEcosystem.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"});var Xn=require("@galacticcouncil/xc-core");var Bs=new Xn.Parachain({assetsData:[{asset:st,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Xn.ChainEcosystem.Kusama,explorer:"https://robonomics.subscan.io",genesisHash:"0x631ccc82a078481584041656af292834e1ae6daab61d2875b4dd0c14bb9b17bc",key:"robonomics",name:"Robonomics",parachainId:2048,ss58Format:32,ws:"wss://kusama.rpc.robonomics.network"});var Rn=require("@galacticcouncil/xc-core");var Ps=new Rn.Parachain({assetsData:[{asset:Je,id:0}],ecosystem:Rn.ChainEcosystem.Kusama,genesisHash:"0xd42e9606a995dfe433dc7955dc2a70f495f350f373daa200098ae84437816ad2",key:"tinkernet",name:"Tinkernet",parachainId:2125,ss58Format:117,ws:"wss://tinkernet-rpc.dwellir.com"});var To=[Co,nt,de,Cs,Ts,Bs,Ps];var Qi=[...mo,...Ao,...wo,...ko,...To],Bo=new Map(Qi.map(t=>[t.key,t]));var ns=require("@galacticcouncil/xc-core");var Ja={};ls(Ja,{AssetMinBuilder:()=>Ft,BalanceBuilder:()=>n,ContractBuilder:()=>E,ExtrinsicBuilder:()=>m,ExtrinsicDecorator:()=>wt,FeeAmountBuilder:()=>ot,FeeAssetBuilder:()=>Os,MoveBuilder:()=>ja,ProgramBuilder:()=>qn,XcmTransferType:()=>ie,XcmVersion:()=>At});var Sn=require("@galacticcouncil/xc-core");function Ft(){return{assetRegistry:Yi,assets:Zi}}function Yi(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Sn.SubstrateQueryConfig({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Sn.SubstrateQueryConfig({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Zi(){return{asset:()=>({build:({asset:t})=>new Sn.SubstrateQueryConfig({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}var Ns=require("@galacticcouncil/xc-core");function Po(){return{erc20:tc,native:ec}}function ec(){return{build:({address:t})=>new Ns.ContractConfig({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function tc(){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 Ns.ContractConfig({abi:Ns.Abi.Erc20,address:a,args:[t],func:"balanceOf",module:"Erc20"})}}}var vs=require("@galacticcouncil/xc-core"),Es=require("@galacticcouncil/common");function vo(){return{assets:sc,system:ac,tokens:oc,ormlTokens:rc,foreignAssets:nc}}function sc(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({module:"Assets",func:"Account",args:[o,t],transform:async r=>BigInt(r?.balance?.toString()??"0")})}})}}function nc(){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=(0,Es.encodeLocation)(o);return new vs.SubstrateQueryConfig({module:"ForeignAssets",func:"Account",args:[r,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function ac(){return{account:()=>({build:({address:t})=>new vs.SubstrateQueryConfig({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 oc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({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 rc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({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}})}})}}var Fa=require("@galacticcouncil/xc-core");function Eo(){return{native:ic,token:cc}}function ic(){return{build:({address:t})=>new Fa.SolanaQueryConfig({address:t,func:"rpc_getBalance",module:"Native"})}}function cc(){return{build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e);if(!a)throw new Error(`Invalid token address: ${e}`);return new Fa.SolanaQueryConfig({address:t,token:a.toString(),func:"getBalance",module:"Token"})}}}var Io=require("@galacticcouncil/xc-core");function Fo(){return{native:mc}}function mc(){return{build:({address:t})=>new Io.SuiQueryConfig({address:t,func:"sui_getBalance",module:"Native"})}}function n(){return{evm:Po,substrate:vo,solana:Eo,sui:Fo}}var Yt=require("@galacticcouncil/xc-core"),_o=require("viem"),uc=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=>(0,_o.encodeFunctionData)({abi:Yt.Abi[i.module],functionName:i.func,args:i.args}));return new Yt.ContractConfig({abi:Yt.Abi.Batch,address:Yt.Precompile.Batch,args:[a,o,r,[]],func:"batchAll",module:"Batch"})}}),Xo=()=>({batchAll:uc});var Is=require("@galacticcouncil/xc-core");function Ln(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function xt(t){return typeof t=="object"?Object.values(t)[0]:t}function Ro(){return{approve:t=>({build:async e=>{let{amount:s,asset:a,source:o,transact:r}=e,i=r?r.chain:o.chain,u=Is.Wormhole.fromChain(i),c=i.getAssetId(a);return new Is.ContractConfig({abi:Is.Abi.Erc20,address:xt(c).toString(),args:[t(u),s],func:"approve",module:"Erc20"})}})}}var _t=require("@galacticcouncil/xc-core");var{Ss58Addr:lc}=_t.addr,dc=()=>({build:async t=>{let{address:e,amount:s,asset:a,source:o,destination:r}=t,i=o.chain,u=r.chain,c=_t.Snowbridge.fromChain(i),d=i.getAssetId(a),b=xt(d),y=a.originSymbol==="ETH",w=r.feeBreakdown.bridgeFeeInDot,k=r.fee.amount;return new _t.ContractConfig({abi:_t.Abi.Snowbridge,address:c.getGateway(),args:[b,u.parachainId,[1,lc.getPubKey(e)],w,s],value:y?k+s:k,func:"sendToken",module:"Snowbridge"})}}),So=()=>({sendToken:dc});var K=require("@galacticcouncil/xc-core"),_a=require("@solana/web3.js"),Lo=require("@solana/spl-token");var fc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,destination:i}=e,u=K.Wormhole.fromChain(r.chain),c=K.Wormhole.fromChain(t.moonchain),d=K.Precompile.Bridge,b=r.chain.getAssetId(o),y=0,w=await K.mrl.createPayload(i.chain,s);return new K.ContractConfig({abi:K.Abi.TokenBridge,address:u.getTokenBridge(),args:[xt(b),a,c.getWormholeId(),c.normalizeAddress(d),y,w.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),pc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,destination:r}=e,i=K.Wormhole.fromChain(o.chain),u=K.Wormhole.fromChain(t.moonchain),c=K.Precompile.Bridge,d=0,b=await K.mrl.createPayload(r.chain,s);return new K.ContractConfig({abi:K.Abi.TokenBridge,address:i.getTokenBridge(),args:[u.getWormholeId(),u.normalizeAddress(c),d,b.toHex()],value:a,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),hc=()=>({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=K.Wormhole.fromChain(u),b=K.Wormhole.fromChain(c),y=e;if(c.isSolana()){let v=c.getAssetId(a);y=(await(0,Lo.getAssociatedTokenAddress)(new _a.PublicKey(v),new _a.PublicKey(e))).toBase58()}let w=u.getAssetId(a),k=0,P=0;return new K.ContractConfig({abi:K.Abi.TokenBridge,address:d.getTokenBridge(),args:[xt(w),s,b.getWormholeId(),b.normalizeAddress(y),k,P],func:"transferTokens",module:"TokenBridge"})}}),bc=()=>({build:async t=>{let{address:e,amount:s,source:a,destination:o}=t,r=K.Wormhole.fromChain(a.chain),i=K.Wormhole.fromChain(o.chain),u=0,c=0;return new K.ContractConfig({abi:K.Abi.TokenBridge,address:r.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),u,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Do=()=>({transferTokens:hc,transferTokensWithPayload:fc,wrapAndTransferETH:bc,wrapAndTransferETHWithPayload:pc});var Zt=require("@galacticcouncil/xc-core");var yc=()=>({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=Zt.Wormhole.fromChain(u),b=Zt.Wormhole.fromChain(c),y=0,w=0,k=u.getAssetId(a);return new Zt.ContractConfig({abi:Zt.Abi.TokenRelayer,address:d.getTokenRelayer(),args:[xt(k),s,y,b.getWormholeId(),b.normalizeAddress(e),w],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Ho=()=>({transferTokensWithRelay:yc});function Mo(){return{TokenBridge:Do,TokenRelayer:Ho}}var gt=require("@galacticcouncil/xc-core"),No=require("@galacticcouncil/common");var Wo=require("@galacticcouncil/xc-core"),Ko=require("@polkadot-api/substrate-bindings"),Vo=require("@polkadot-api/utils"),{EvmAddr:xc}=Wo.addr;function Xa(t,e){let s=xc.isValid(t)?"03":"01",a=(0,Ko.getSs58AddressInfo)(t);if(!a.isValid)throw new Error(`Invalid SS58 address: ${t}`);let o=`0x${s}${(0,Vo.toHex)(a.publicKey).slice(2)}00`;return[1,e.parachainId?[`0x0000000${e.parachainId.toString(16)}`,o]:[o]]}function Dn(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 Uo=18446744073709551615n;function Go(){return{transfer:(t=Uo)=>({build:async({address:e,amount:s,asset:a,destination:o,source:r})=>{let i=r.chain.getAssetId(a);return new gt.ContractConfig({abi:gt.Abi.Xtokens,address:gt.Precompile.Xtokens,args:[typeof i=="string"?Dn(i):a,s,Xa(e,o.chain),t],func:"transfer",module:"Xtokens"})}}),transferMultiCurrencies:(t=Uo)=>({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=No.big.toBigInt(o.fee.amount,o.fee.decimals);return new gt.ContractConfig({abi:gt.Abi.Xtokens,address:gt.Precompile.Xtokens,args:[[[typeof i=="string"?Dn(i):i,s],[typeof u=="string"?Dn(u):u,c]],1,Xa(e,o.chain),t],func:"transferMultiCurrencies",module:"Xtokens"})}})}}function E(){return{Batch:Xo,Erc20:Ro,Snowbridge:So,Wormhole:Mo,Xtokens:Go}}var zo=require("@galacticcouncil/xc-core"),Oo="AssetConversion",gc=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:a})=>{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),b=c.getAssetXcmLocation(u),y=i.amount+i.amount*BigInt(t.slippage)/100n,w=u.amount;return new zo.ExtrinsicConfig({module:Oo,func:e,getTx:k=>k.getUnsafeApi().tx[Oo][e]({path:[d,b],amount_out:w,amount_in_max:y,send_to:s,keep_alive:!0})})}}},qo=()=>({swapTokensForExactTokens:gc});var Hn=require("@galacticcouncil/descriptors"),jo=require("@galacticcouncil/xc-core"),Ac="Assets",wc=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:a,destination:o})=>{let r=o.chain,{fee:i}=o,u=s>i.amount?s-i.amount:s,c=r.getMetadataAssetId(e);return new jo.ExtrinsicConfig({module:Ac,func:t,getTx:d=>d.getTypedApi(Hn.hub).tx.Assets.transfer({id:Number(c),target:Hn.MultiAddress.Id(a),amount:u})})}}},Jo=()=>({transfer:wc});var Qo=require("@galacticcouncil/xc-core"),$o="Balances",kc=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Qo.ExtrinsicConfig({module:$o,func:e,getTx:a=>a.getUnsafeApi().tx[$o][e]({dest:s,keep_alive:t})})}},Yo=()=>({transferAll:kc});var Zo=require("@galacticcouncil/descriptors"),er=require("@galacticcouncil/xc-core"),Cc="Router",Tc=t=>({build:async({source:s})=>{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),b=c.getMetadataAssetId(i),y=i.amount,w=r.amount+r.amount*BigInt(t.slippage)/100n;return new er.ExtrinsicConfig({module:Cc,func:"buy",getTx:k=>k.getTypedApi(Zo.hydration).tx.Router.buy({asset_in:Number(d),asset_out:Number(b),amount_out:y,max_amount_in:w,route:u})})}}),tr=()=>({buy:Tc});var nr=require("@galacticcouncil/xc-core"),sr="Utility",Bc=t=>{let e="batch_all";return{build:async s=>{let a=await Promise.all(t.map(o=>o.build(s)));return new nr.ExtrinsicConfig({module:sr,func:e,getTx:o=>{let r=a.map(i=>i.getTx(o).decodedCall);return o.getUnsafeApi().tx[sr][e]({calls:r})}})}}},ar=()=>({batchAll:Bc});var Mn=require("@galacticcouncil/xc-core"),Ra=require("polkadot-api"),rr=require("viem");var At=(r=>(r.v1="V1",r.v2="V2",r.v3="V3",r.v4="V4",r.v5="V5",r))(At||{}),ie=(o=>(o.Teleport="Teleport",o.LocalReserve="LocalReserve",o.DestinationReserve="DestinationReserve",o.RemoteReserve="RemoteReserve",o))(ie||{});var or="EthereumXcm",Pc=t=>{let e="transact";return{build:async s=>{let a=await t.build(s),o="V1",r=(0,rr.encodeFunctionData)({abi:Mn.Abi[a.module],functionName:a.func,args:a.args});return new Mn.ExtrinsicConfig({module:or,func:e,getTx:i=>i.getUnsafeApi().tx[or][e]({xcm_transaction:{type:o,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Ra.Binary.fromHex(a.address)},value:[0n,0n,0n,0n],input:Ra.Binary.fromHex(r),access_list:void 0}}})})}}},Sa=()=>({transact:Pc});var Lt=require("@galacticcouncil/xc-core"),Ua=require("@galacticcouncil/common");var _s=require("@galacticcouncil/xc-core"),kr=require("polkadot-api"),p=require("@galacticcouncil/descriptors");var ir=require("@galacticcouncil/descriptors"),Xt=340282366920938463463374607431768211455n,Wn="0x0000000000000000000000000000000000000000000000000000000000000000",Fs={parents:1,interior:ir.XcmV3Junctions.Here()},cr=0,mr=1e3,ur=1002,lr=1,Kn="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var dr="0x0000000000000000000000000000000000000000";var Q=require("@galacticcouncil/descriptors"),gr=require("polkadot-api");var fr=require("@galacticcouncil/xc-core"),La=require("@galacticcouncil/descriptors"),Da=require("polkadot-api"),pr=require("@polkadot-api/substrate-bindings"),hr=require("@polkadot-api/utils");function V(t){if(t.length===42&&t.startsWith("0x"))return La.XcmV3Junction.AccountKey20({key:Da.FixedSizeBinary.fromHex(t),network:void 0});let s=(0,pr.getSs58AddressInfo)(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return La.XcmV3Junction.AccountId32({id:Da.FixedSizeBinary.fromHex((0,hr.toHex)(s.publicKey)),network:void 0})}function Rt(t,e,s){return fr.acc.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}var Ha=require("@galacticcouncil/xc-core");function Vn(t,e){let s=Ha.multiloc.findNestedKey(t,"GeneralIndex"),a=Ha.multiloc.findNestedKey(e,"GeneralIndex"),o=s&&s.GeneralIndex,r=a&&a.GeneralIndex;return Number.isNaN(o)||Number.isNaN(r)?!1:Number(o)>Number(r)}function N(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var Un={};ls(Un,{ETHER_TOKEN_ADDRESS:()=>Wa,bridgeLocation:()=>yr,erc20Location:()=>Ec,erc20LocationReanchored:()=>Ic,parachainLocation:()=>vc});var Be=require("@galacticcouncil/descriptors"),Ma=require("polkadot-api"),Wa="0x0000000000000000000000000000000000000000",br=t=>Be.XcmV3Junction.GlobalConsensus(Be.XcmV3JunctionNetworkId.Ethereum({chain_id:BigInt(t)}));function yr(t){return{parents:2,interior:Be.XcmV3Junctions.X1(br(t))}}function vc(t){return{parents:1,interior:Be.XcmV3Junctions.X1(Be.XcmV3Junction.Parachain(t))}}function Ec(t,e){return e===Wa?yr(t):{parents:2,interior:Be.XcmV3Junctions.X2([br(t),Be.XcmV3Junction.AccountKey20({key:Ma.Binary.fromHex(e)})])}}function Ic(t){return t===Wa?{parents:0,interior:{type:"Here"}}:{parents:0,interior:Be.XcmV3Junctions.X1(Be.XcmV3Junction.AccountKey20({key:Ma.Binary.fromHex(t)}))}}var xr=require("@galacticcouncil/common");function G(t,e){return Fc(e)>=4?(0,xr.encodeLocation)(t):_c(t)}function Fc(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function _c(t){return{Concrete:{...t}}}function Ka(t,e){let s="V4",a=G(N(e,t),s),o=gr.Binary.fromHex(Wn);return[Q.XcmV4Instruction.ReserveAssetDeposited([{id:Fs,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)},{id:a,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)}]),Q.XcmV4Instruction.ClearOrigin(),Q.XcmV4Instruction.BuyExecution({fees:{id:Fs,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)},weight_limit:Q.XcmV3WeightLimit.Unlimited()}),Q.XcmV4Instruction.DepositAsset({assets:Q.XcmV4AssetAssetFilter.Wild(Q.XcmV4AssetWildAsset.AllCounted(2)),beneficiary:{parents:0,interior:Q.XcmV3Junctions.X1(V(Kn))}}),Q.XcmV4Instruction.SetTopic(o)]}var ut=require("@galacticcouncil/descriptors");function Ar(t,e){let s="V4",a=G(N(e,t),s),o=Nn("V4",V(dr),V(Kn),a,Wn);return[ut.XcmV4Instruction.WithdrawAsset([{id:Fs,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)},{id:a,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)}]),ut.XcmV4Instruction.ClearOrigin(),ut.XcmV4Instruction.BuyExecution({fees:{id:Fs,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)},weight_limit:ut.XcmV3WeightLimit.Unlimited()}),...o.value]}var wr=[_s.ChainEcosystem.Polkadot,_s.ChainEcosystem.Kusama],Xc={parents:1,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.Parachain(1e3))},Rc=t=>t.parents===1&&t.interior==="Here",Sc=(t,e)=>!t.ecosystem||!e.ecosystem?!1:wr.includes(t.ecosystem)&&wr.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,lt=(t,e,s)=>{if(Sc(e,s)){let o=s.ecosystem===_s.ChainEcosystem.Polkadot?p.XcmV3JunctionNetworkId.Polkadot():p.XcmV3JunctionNetworkId.Kusama();return{type:t,value:{parents:2,interior:p.XcmV3Junctions.X2([p.XcmV3Junction.GlobalConsensus(o),p.XcmV3Junction.Parachain(s.parachainId)])}}}if(s.parachainId===cr)return{type:t,value:{parents:1,interior:p.XcmV3Junctions.Here()}};let a=s.key==="ethereum"?mr:s.parachainId;return{type:t,value:{parents:1,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.Parachain(a))}}},es=(t,e)=>({type:t,value:{parents:0,interior:p.XcmV3Junctions.X1(e)}}),Va=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:Rc(s)?Xc:s}}:{type:e},St=(t,e)=>({id:t,fun:p.XcmV3MultiassetFungibility.Fungible(e)}),Cr=(t,e)=>({type:t,value:[p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]});var Nn=(t,e,s,a,o)=>{let r=kr.Binary.fromHex(o);return{type:t,value:[p.XcmV4Instruction.SetAppendix([p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.All()),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(s)}})]),p.XcmV4Instruction.InitiateReserveWithdraw({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllOf({id:a,fun:p.XcmV2MultiassetWildFungibility.Fungible()})),reserve:Un.bridgeLocation(lr),xcm:[p.XcmV4Instruction.BuyExecution({fees:{id:Lc(a),fun:p.XcmV3MultiassetFungibility.Fungible(1n)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}}),p.XcmV4Instruction.SetTopic(r)]}),p.XcmV4Instruction.SetTopic(r)]}},Lc=t=>{let e=_s.multiloc.findNestedKey(t,"key");return e?{parents:0,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.AccountKey20({key:e}))}:{parents:0,interior:p.XcmV3Junctions.Here()}},Tr=(t,e,s,a,o,r)=>({type:t,value:[p.XcmV4Instruction.WithdrawAsset([{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)}]),p.XcmV4Instruction.BuyExecution({fees:{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.Transact({origin_kind:p.XcmV2OriginKind.SovereignAccount(),require_weight_at_most:{ref_time:r.refTime,proof_size:r.proofSize},call:o}),p.XcmV4Instruction.RefundSurplus(),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]}),Br=(t,e,s,a,o,r)=>({type:t,value:[p.XcmV4Instruction.WithdrawAsset([{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(o)}]),p.XcmV4Instruction.BuyExecution({fees:{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(o)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.TransferAsset({assets:[{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)}],beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(r)}}),p.XcmV4Instruction.RefundSurplus(),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]});var fe="PolkadotXcm",Dc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=G(N(i,a.fee),c),y=St(d,e),w=St(b,a.fee.amount),k="limited_reserve_transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:k,getTx:P=>{let v=P.getUnsafeApi().tx[fe][k];return s.key===a.fee.key?v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[y]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):Vn(d,b)?v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[w,y]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[y,w]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),Hc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="limited_teleport_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Mc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="reserve_transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0})})}}),Wc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Kc=t=>({build:async({address:e,asset:s,amount:a,destination:o,messageId:r,sender:i,source:u})=>{let c="V4",d=u.chain,b=o.chain,y=V(i),w=b.usesCexForwarding?Rt(d,i,b):e,k=V(w),{transferType:P}=t,v=G(N(d,s),c),L=G(N(d,o.fee),c),Y=St(v,a),ne=St(L,o.fee.amount),T=s.isEqual(o.fee),ms=lt(c,d,b),Ot={type:c,value:s.isEqual(o.fee)?[Y]:[ne,Y]},Pt=Va(c,P,v),vt={type:c,value:T?v:L},Et=Va(c,P,L),it;o.chain.key==="ethereum"?it=Nn(c,k,y,v,r):it=Cr(c,k);let us="transfer_assets_using_type_and_then";return new Lt.ExtrinsicConfig({module:fe,func:us,getTx:Ca=>Ca.getUnsafeApi().tx[fe][us]({dest:ms,assets:Ot,assets_transfer_type:Pt,remote_fees_id:vt,fees_transfer_type:Et,custom_xcm_on_dest:it,weight_limit:{type:"Unlimited"}})})}}),Vc=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:a,source:o,transact:r}=s,i="V4";if(!r)throw new Error("Transact ctx configuration is missing.");let u=o.chain,c=r.chain,d=Rt(u,a,c),b=V(d),{fee:y}=r,w=G(N(c,y),i),k=Ua.big.toBigInt(e.fee,y.decimals);return new Lt.ExtrinsicConfig({module:fe,func:t,getTx:P=>P.getUnsafeApi().tx[fe][t]({dest:lt(i,u,c),message:Tr(i,b,w,k,r.call,r.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:a,address:o,asset:r,sender:i,source:u,destination:c}=s,d="V4",b=u.chain,y=c.chain,w=Rt(b,i,y),k=V(w),P=V(o),v=G(N(y,r),d),{fee:L}=c,Y=Ua.big.toBigInt(e.fee,L.decimals),ne=a>L.amount?a-(L.amount+Y):a;return new Lt.ExtrinsicConfig({module:fe,func:t,getTx:T=>T.getUnsafeApi().tx[fe][t]({dest:lt(d,b,y),message:Br(d,k,v,ne,Y,P)})})}})}},Na=()=>({limitedReserveTransferAssets:Dc,limitedTeleportAssets:Hc,reserveTransferAssets:Mc,transferAssets:Wc,transferAssetsUsingTypeAndThen:Kc,send:Vc});var Gs=require("@galacticcouncil/xc-core"),Xs=require("@galacticcouncil/common");var ts=require("@galacticcouncil/descriptors"),ss=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:ts.XcmV3Junctions.X1(s)}}:{type:t,value:{parents:1,interior:ts.XcmV3Junctions.X2([ts.XcmV3Junction.Parachain(e.parachainId),s])}},Gn=(t,e)=>({id:t,fun:ts.XcmV3MultiassetFungibility.Fungible(e)});var Dt="XTokens",Uc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?Rt(i,o,u):t,b=V(d),y=i.getAssetId(s),w=(0,Xs.encodeAssetId)(y),k="transfer";return new Gs.ExtrinsicConfig({module:Dt,func:k,getTx:P=>P.getUnsafeApi().tx[Dt][k]({currency_id:w,amount:e,dest:ss(c,u,b),dest_weight_limit:{type:"Unlimited"}})})}}),Nc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?Rt(i,o,u):t,b=V(d),y=G(N(i,s),c),w=Gn(y,e),k="transfer_multiasset";return new Gs.ExtrinsicConfig({module:Dt,func:k,getTx:P=>P.getUnsafeApi().tx[Dt][k]({asset:{type:c,value:w},dest:ss(c,u,b),dest_weight_limit:{type:"Unlimited"}})})}}),Gc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=G(N(i,a.fee),c),y=Gn(d,e),w=Gn(b,a.fee.amount),k="transfer_multiassets";return new Gs.ExtrinsicConfig({module:Dt,func:"transfer_multiassets",getTx:P=>{let v=P.getUnsafeApi().tx[Dt][k];return s.key===a.fee.key?v({assets:{type:c,value:[y]},fee_item:0,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}}):Vn(d,b)?v({assets:{type:c,value:[w,y]},fee_item:0,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}}):v({assets:{type:c,value:[y,w]},fee_item:1,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}})}})}}),Oc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r,transact:i})=>{let u=r.chain,c=a.chain,d=a.fee.amount,b=u.getAssetId(a.fee),y=t;i&&(c=i.chain,d=Xs.big.toBigInt(i.fee.amount,i.fee.decimals),b=u.getAssetId(i.fee),y=Rt(u,o,c));let w="V4",k=V(y),P=u.getAssetId(s),v=(0,Xs.encodeAssetId)(P),L=(0,Xs.encodeAssetId)(b),Y="transfer_multicurrencies";return new Gs.ExtrinsicConfig({module:Dt,func:Y,getTx:ne=>ne.getUnsafeApi().tx[Dt][Y]({currencies:[[v,e],[L,d]],fee_item:1,dest:ss(w,c,k),dest_weight_limit:{type:"Unlimited"}})})}}),Ga=()=>({transfer:Uc,transferMultiasset:Nc,transferMultiassets:Gc,transferMultiCurrencies:Oc});var Ir=require("@galacticcouncil/xc-core");var Rs=require("@galacticcouncil/descriptors"),Pr=(t,e)=>({parents:1,interior:Rs.XcmV3Junctions.X2([Rs.XcmV3Junction.Parachain(t.parachainId),e])}),vr=(t,e)=>({id:t,fun:Rs.XcmV3MultiassetFungibility.Fungible(e)});var Er="XTransfer",zc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r="V3",i=V(t),u=o.chain,c=a.chain,d=G(N(u,s),r),b=vr(d,e),y=Pr(c,i),w="transfer";return new Ir.ExtrinsicConfig({module:Er,func:w,getTx:k=>k.getUnsafeApi().tx[Er][w]([b,y,{refTime:5e9,proofSize:0}])})}}),Oa=()=>({transfer:zc});function m(){return{assetConversion:qo,assets:Jo,balances:Yo,ethereumXcm:Sa,polkadotXcm:Na,router:tr,utility:ar,xTokens:Ga,xTransfer:Oa}}function wt(t,e){return{prior:function(s){return{build:async a=>t(a)?m().utility().batchAll([e,s]).build(a):s.build(a)}},priorMulti:function(s){return{build:async a=>t(a)?m().utility().batchAll([e,...s]).build(a):m().utility().batchAll([...s]).build(a)}}}}var Ht=require("@galacticcouncil/xc-core");var za={};ls(za,{AssethubClient:()=>pe,BaseClient:()=>kt,HydrationClient:()=>at});var Fr=require("@galacticcouncil/common"),On=require("@galacticcouncil/descriptors"),kt=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??On.hub}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=(0,Fr.encodeLocation)(o),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(a.value,On.XcmVersionedAssetId.V4(r));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};var Ss=require("@galacticcouncil/descriptors"),_r=require("@galacticcouncil/common"),zn=require("@polkadot-api/substrate-bindings"),Xr=require("@polkadot-api/utils");var pe=class extends kt{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),a=this.chain.getAssetXcmLocation(e),o=(0,_r.encodeLocation)(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=(0,Xr.toHex)((0,zn.Twox128)(s)),o=await this.client._request("state_getStorage",[a]);if(!o)return e.defaultFee;let r=zn.u128.dec(o);return r===0n?e.defaultFee:r}async calculateDeliveryFee(e,s){let a=Ss.XcmVersionedLocation.V5({parents:1,interior:Ss.XcmV5Junctions.X1(Ss.XcmV5Junction.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.")}};var Rr=require("@galacticcouncil/descriptors");var at=class extends kt{constructor(e){super(e,Rr.hydration)}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 qc(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let a=s,o=e,r=Ht.Wormhole.fromChain(a),i=Ht.Wormhole.fromChain(o),u=a.getAssetId(t),c=a.getAssetDecimals(t);return{amount:await a.evmClient.getProvider().readContract({abi:Ht.Abi.TokenRelayer,address:r.getTokenRelayer(),args:[i.getWormholeId(),u,c],functionName:"calculateRelayerFee"})}}})}}function jc(){return{TokenRelayer:qc}}function Jc(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:a})=>{let o=a,r=s,i=Ht.Snowbridge.fromChain(o),u=new kt(r),c=new pe(t.hub),d=Ka(e,r),[b,y]=await Promise.all([u.calculateDestinationFee(d,A),c.calculateDeliveryFee(d,r.parachainId)]),w=y+Ln(b,25n),k=o.getAssetId(e);return{amount:await o.evmClient.getProvider().readContract({abi:Ht.Abi.Snowbridge,address:i.getGateway(),args:[k,r.parachainId,w],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:w}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:a})=>{let o=a,r=new pe(t.hub),i=Ar(e,o),u=Ka(e,o),[c,d,b,y,w]=await Promise.all([r.getBridgeDeliveryFee(),r.calculateDeliveryFee(i,ur),r.calculateDestinationFee(i,s),r.calculateDeliveryFee(u,o.parachainId),r.calculateDestinationFee(u,s)]);return{amount:c+d+Ln(b,25n)+y+Ln(w,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:d,assetHubDestinationFee:b,returnToSenderDeliveryFee:y,returnToSenderDestinationFee:w}}}})}}function ot(){return{Snowbridge:Jc,Wormhole:jc}}var $c="0";function Qc(){return{build:async({address:t,chain:e})=>{let a=await new at(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),o=a?a.toString():$c,r=e.findAssetById(o);return r?r.asset:q}}}var Yc=()=>({accountCurrencyMap:Qc});function Os(){return{multiTransactionPayment:Yc}}var he=require("@galacticcouncil/xc-core"),ce=require("@solana/spl-token"),rt=require("@solana/web3.js"),qa=require("@wormhole-foundation/sdk-connect"),Mt=require("@wormhole-foundation/sdk-solana-tokenbridge"),Zc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=he.Wormhole.fromChain(u),b=he.Wormhole.fromChain(t.moonchain),y=he.Precompile.Bridge,w=await he.mrl.createPayload(i.chain,s),k=new rt.PublicKey(r),P=new qa.UniversalAddress(y),v=b.getWormholeId(),L=k,Y=0,ne=rt.Keypair.generate(),T=rt.Keypair.generate(),ms=await(0,ce.getMinimumBalanceForRentExemptAccount)(c.connection),Ot=rt.SystemProgram.createAccount({fromPubkey:L,newAccountPubkey:T.publicKey,lamports:ms,space:ce.ACCOUNT_SIZE,programId:ce.TOKEN_PROGRAM_ID}),Pt=rt.SystemProgram.transfer({fromPubkey:L,lamports:a,toPubkey:T.publicKey}),vt=(0,ce.createInitializeAccountInstruction)(T.publicKey,ce.NATIVE_MINT,L),Et=(0,Mt.createApproveAuthoritySignerInstruction)(d.getTokenBridge(),T.publicKey,L,a),it=(0,Mt.createTransferNativeWithPayloadInstruction)(c.connection,d.getTokenBridge(),d.getCoreBridge(),r,ne.publicKey,T.publicKey,ce.NATIVE_MINT,Y,a,P.toUint8Array(),v,w.toU8a()),us=(0,ce.createCloseAccountInstruction)(T.publicKey,L,L);return new he.ProgramConfig({instructions:[Ot,Pt,vt,Et,it,us],signers:[ne,T],func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),e0=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,sender:i,destination:u}=e,c=r.chain,d=c,b=he.Wormhole.fromChain(c),y=he.Wormhole.fromChain(t.moonchain),w=he.Precompile.Bridge,k=await he.mrl.createPayload(u.chain,s),P=new rt.PublicKey(i),v=r.chain.getAssetId(o),L=new rt.PublicKey(v),Y=await(0,ce.getAssociatedTokenAddress)(L,P),ne=new qa.UniversalAddress(w),T=y.getWormholeId();if(await(0,Mt.getWrappedMeta)(d.connection,b.getTokenBridge(),L).catch(it=>null).then(it=>it!=null))throw new Error("Wrapped assets not supported yet");let Ot=0,Pt=rt.Keypair.generate(),vt=(0,Mt.createApproveAuthoritySignerInstruction)(b.getTokenBridge(),Y,P,a),Et=(0,Mt.createTransferNativeWithPayloadInstruction)(d.connection,b.getTokenBridge(),b.getCoreBridge(),i,Pt.publicKey,Y,L,Ot,a,ne.toUint8Array(),T,k.toU8a());return new he.ProgramConfig({instructions:[vt,Et],signers:[Pt],func:"TransferWithPayload",module:"TokenBridge"})}})}),Sr=()=>({transferNativeWithPayload:Zc,transferTokenWithPayload:e0});function Lr(){return{TokenBridge:Sr}}function qn(){return{Wormhole:Lr}}var Ct=require("@galacticcouncil/xc-core"),Dr=require("@mysten/sui/transactions"),jn=require("@mysten/sui/utils"),Hr=require("@wormhole-foundation/sdk-connect"),zs=require("@wormhole-foundation/sdk-sui"),t0=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=Ct.Wormhole.fromChain(u),b=Ct.Wormhole.fromChain(t.moonchain),y=0,w=Ct.Precompile.Bridge,k=await Ct.mrl.createPayload(i.chain,s),P=new Hr.UniversalAddress(w),v=b.getWormholeId(),L=jn.SUI_TYPE_ARG,[Y,ne]=await Promise.all([(0,zs.getPackageId)(c.client,d.coreBridge),(0,zs.getPackageId)(c.client,d.tokenBridge)]),T=new Dr.Transaction,[ms]=T.splitCoins(T.gas,[T.pure.u64(a)]),[Ot]=T.splitCoins(T.gas,[T.pure.u64(i.fee.amount)]),[Pt]=T.moveCall({target:`${ne}::state::verified_asset`,arguments:[T.object(d.tokenBridge)],typeArguments:[L]}),vt=!1,Et=await(async()=>{let ro=await(0,zs.getOldestEmitterCapObjectId)(c.client,Y,r);if(ro!==null)return T.object(ro);{let[Li]=T.moveCall({target:`${Y}::emitter::new`,arguments:[T.object(d.coreBridge)]});return vt=!0,Li}})(),[it,us]=T.moveCall({target:`${ne}::transfer_tokens_with_payload::prepare_transfer`,arguments:[Et,Pt,ms,T.pure.u16(v),T.pure.vector("u8",P.toUint8Array()),T.pure.vector("u8",k.toU8a()),T.pure.u32(y)],typeArguments:[L]});T.moveCall({target:`${ne}::coin_utils::return_nonzero`,arguments:[us],typeArguments:[L]});let[Ca]=T.moveCall({target:`${ne}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[T.object(d.tokenBridge),it],typeArguments:[L]});return T.moveCall({target:`${Y}::publish_message::publish_message`,arguments:[T.object(d.coreBridge),Ot,Ca,T.object(jn.SUI_CLOCK_OBJECT_ID)]}),vt&&T.transferObjects([Et],T.pure.address(r)),new Ct.MoveConfig({transaction:T,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Mr=()=>({transferNativeWithPayload:t0});function Wr(){return{TokenBridge:Mr}}function ja(){return{Wormhole:Wr}}var $a={};ls($a,{Tag:()=>Wt});var Wt=(o=>(o.Wormhole="Wormhole",o.Relayer="Relayer",o.Snowbridge="Snowbridge",o.Mrl="Mrl",o))(Wt||{});var Qa=require("@galacticcouncil/xc-core");function Ls(t,e){return new Qa.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{asset:t,balance:n().evm().erc20()}},destination:{chain:l,asset:e,fee:{amount:0,asset:e}},contract:E().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})}function me(t,e){return new Qa.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:e,fee:{amount:ot().Snowbridge().calculateInboundFee({hub:S}),asset:D}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]})}var s0=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),destinationFee:{asset:D,balance:n().evm().native()}},destination:{chain:l,asset:ee,fee:{amount:0,asset:ee}},contract:E().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]}),Ls(le,te),Ls(Ze,Ce),Ls(g,j),Ls(f,ke),Ls(ct,we)],n0=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),fee:{asset:D,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:D,fee:{amount:ot().Snowbridge().calculateInboundFee({hub:S}),asset:D}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]}),me(ve,ve),me(Fe,Fe),me(Re,Re),me(Ne,Ne),me(ze,ze),me(qe,qe),me(He,He),me(Le,Le),me(We,We),me(Oe,Oe),me($e,$e),me(tt,tt),me(g,jt),me(f,qt)],Bh=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),destinationFee:{asset:D,balance:n().evm().erc20()}},destination:{chain:X,asset:ee,fee:{amount:0,asset:ee}},contract:E().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new ns.AssetRoute({source:{asset:le,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{asset:le,balance:n().evm().erc20()}},destination:{chain:X,asset:te,fee:{amount:0,asset:te}},contract:E().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Kr=new ns.ChainRoutes({chain:_,routes:[...s0,...n0]});var Vr=[Kr];var Kt=require("@galacticcouncil/xc-core");var a0=[new Kt.AssetRoute({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 Kt.AssetRoute({source:{asset:Xe,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:Xe,fee:{amount:.002926334210356268,asset:Xe}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:et,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:et,fee:{amount:6e-8,asset:et}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:Ye,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:Ye,fee:{amount:956965470918e-18,asset:Ye}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:ye,balance:n().substrate().tokens().accounts(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:ye,fee:{amount:.011,asset:ye}},extrinsic:m().xTokens().transfer()})],Ur=new Kt.ChainRoutes({chain:mt,routes:[...a0]});var Vt=require("@galacticcouncil/xc-core");var Jn=require("@galacticcouncil/xc-core");var as=0,o0=t=>{let{source:e}=t;return!!e.feeSwap},r0=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Nr=m().assetConversion().swapTokensForExactTokens({slippage:30});function Gr(t,e,s){return new Jn.AssetRoute({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().assets().account()},min:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:f}},extrinsic:wt(r0,Nr).prior(m().polkadotXcm().limitedReserveTransferAssets())})}function $n(t,e,s){return new Jn.AssetRoute({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:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:wt(o0,Nr).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function os(t,e,s){return new Jn.AssetRoute({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().assets().account()},min:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function rs(t){return Gr(t,l,.02)}function Or(t){return Gr(t,X,.25)}var i0=[new Vt.AssetRoute({source:{asset:A,balance:n().substrate().system().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().system().account()},min:Ft().assets().asset()},destination:{chain:l,asset:A,fee:{amount:.001,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new Vt.AssetRoute({source:{asset:B,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:l,asset:B,fee:{amount:1e-4,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),os(f,l,.02),os(g,l,.02),rs(Z),rs(pt),rs(ht),rs(bt)],c0=[new Vt.AssetRoute({source:{asset:B,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:nt,asset:B,fee:{amount:.001,asset:B}},extrinsic:m().polkadotXcm().transferAssets()})],m0=[os(f,X,.25),os(g,X,.25),Or(Z)],u0=[os(f,$,.03),os(g,$,.03)],l0=[new Vt.AssetRoute({source:{asset:U,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:It,asset:U,fee:{amount:2.5,asset:U}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],zr=new Vt.ChainRoutes({chain:S,routes:[...i0,...c0,...m0,...u0,...l0]}),qr=new Vt.ChainRoutes({chain:fs,routes:[$n(f,l,.02),$n(g,l,.02),$n(A,l,.001)]});var ge=require("@galacticcouncil/xc-core");var d0=[new ge.AssetRoute({source:{asset:R,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:R,fee:{amount:.044306118,asset:R}},extrinsic:m().polkadotXcm().reserveTransferAssets()}),new ge.AssetRoute({source:{asset:F,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:F,fee:{amount:.1,asset:F}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:x,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:x,fee:{amount:.04,asset:x}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:W,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:W,fee:{amount:2e-6,asset:W}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:H,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:H,fee:{amount:.2,asset:H}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:Ue,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:Ue,fee:{amount:.3,asset:Ue}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:M,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:M,fee:{amount:4e-4,asset:M}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:J,balance:n().substrate().assets().account(),fee:{asset:R,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 ge.AssetRoute({source:{asset:f,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:g,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()})],jr=new ge.ChainRoutes({chain:re,routes:[...d0]});var be=require("@galacticcouncil/xc-core");var f0=[new be.AssetRoute({source:{asset:F,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:F,fee:{amount:.014645,asset:F}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:M,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:M,fee:{amount:555e-6,asset:M}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:J,balance:n().substrate().tokens().accounts(),fee:{asset:F,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 be.AssetRoute({source:{asset:A,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new be.AssetRoute({source:{asset:R,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:R,fee:{amount:.5,asset:R}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.1,asset:x}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:W,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:W,fee:{amount:2e-6,asset:W}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()})],p0=[new be.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:S,asset:f,fee:{amount:.18,asset:f}},extrinsic:m().xTokens().transferMultiassets()}),new be.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:S,asset:g,fee:{amount:.18,asset:g}},extrinsic:m().xTokens().transferMultiassets()})],Jr=new be.ChainRoutes({chain:$,routes:[...f0,...p0]});var qs=require("@galacticcouncil/xc-core");var h0=[new qs.AssetRoute({source:{asset:Ae,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ae,fee:{amount:.006373834498834048,asset:Ae}},extrinsic:m().xTokens().transfer()}),new qs.AssetRoute({source:{asset:x,balance:n().substrate().ormlTokens().accounts(),fee:{asset:Ae,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().ormlTokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.05,asset:x}},extrinsic:m().xTokens().transfer()})],$r=new qs.ChainRoutes({chain:$t,routes:[...h0]});var dt=require("@galacticcouncil/xc-core");var b0="0",I=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===b0?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),ue=()=>({asset:Os().multiTransactionPayment().accountCurrencyMap(),balance:I()});var is=require("@galacticcouncil/xc-core");var y0=.9,x0=1,g0=.03,Qn=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Yn=m().router().buy({slippage:30});function C(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}function cs(t){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:t,fee:{amount:.18,asset:f}},extrinsic:wt(Qn,Yn).prior(m().xTokens().transferMultiassets())})}function Zn(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:fs,asset:t,fee:{amount:e,asset:t}},extrinsic:m().utility().batchAll([s,m().polkadotXcm().send().transferAsset({fee:g0})])})}function Qr(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:e,asset:t,fee:{amount:s,asset:x}},extrinsic:wt(Qn,Yn).prior(m().xTokens().transferMultiCurrencies())})}function Ut(t){return Qr(t,X,.08)}function Yr(t){return Qr(t,yt,.1)}function Zr(t,e,s,a,o,r){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{asset:t,balance:I()}},destination:{chain:s,asset:e,fee:{amount:a,asset:e}},extrinsic:wt(Qn,Yn).priorMulti([m().xTokens().transferMultiCurrencies(),m().polkadotXcm().send().transact({fee:y0})]),transact:{chain:X,fee:{amount:x0,asset:x,balance:I()},extrinsic:m().ethereumXcm().transact(o)},tags:r})}function Ya(t,e,s){return Zr(t,e,s,0,E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenBridge()),E().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Nt(t,e,s){return Zr(t,e,s,ot().Wormhole().TokenRelayer().calculateRelayerFee(),E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function se(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:s,asset:e,fee:{amount:ot().Snowbridge().calculateOutboundFee({hub:S}),asset:A}},extrinsic:wt(Qn,Yn).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var A0=[C(Xe,mt,92696e-8),C(et,mt,4e-8),C(Ye,mt,687004e-12),C(O,mt,1),C(ye,mt,.06)],w0=[new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:A,fee:{amount:.19,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new dt.AssetRoute({source:{asset:B,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:B,fee:{amount:.05,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new dt.AssetRoute({source:{asset:f,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:f,fee:{amount:.07,asset:f}},extrinsic:m().xTokens().transferMultiasset()}),new dt.AssetRoute({source:{asset:g,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:g,fee:{amount:.07,asset:g}},extrinsic:m().xTokens().transferMultiasset()}),cs(Z),cs(pt),cs(ht),cs(bt)],k0=[C(R,re,.00404146544),C(F,re,.75),C(x,re,.025),C(W,re,2e-6),C(H,re,.01),C(Ue,re,.3),C(M,re,4e-4),C(J,re,.005),C(f,re,.3),C(g,re,.3)],C0=[C(F,$,563136e-9),C(M,$,703e-10),C(J,$,643e-9),C(A,$,.1),C(R,$,.5),C(x,$,.1),C(W,$,5e-6),C(f,$,.3),C(g,$,.3),new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:$,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],T0=[C(Ae,$t,.0092696),C(x,$t,.05)],B0=[C(W,Te,62e-8),C(H,Te,.0019213457),C(q,Te,.5),C(f,Te,.3),C(g,Te,.3),new dt.AssetRoute({source:{asset:M,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:Te,asset:M,fee:{amount:.01,asset:A}},extrinsic:m().xTokens().transfer()}),new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:Te,asset:A,fee:{amount:.05,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],P0=[C(q,X,5),C(x,X,.01),C(f,X,.3),C(g,X,.3),Ut(te),Ut(we),Ut(j),Ut(ke),Ut(Ce),Ut(ee),Ut(z)],v0=[C(xe,yt,.0093),C(x,yt,.002),Yr(j)],E0=[C(U,It,2.5)],I0=[C(Qe,As,0)],F0=[C(_e,ps,.04)],_0=[C(Se,bs,.02)],X0=[C(De,ys,.1)],R0=[C(Me,ws,.02)],S0=[C(Ve,gs,1.1)],L0=[C(Ke,xs,.205)],D0=[C(Ge,hs,4)],H0=[C(Ee,ds,.001)],M0=[Nt(te,le,_),Nt(ee,D,_),Nt(Ce,Ze,_),Nt(ke,f,_),Nt(j,g,_),Ya(we,ct,_)],W0=[se(D,D,_),se(ve,ve,_),se(Fe,Fe,_),se(Re,Re,_),se(Ne,Ne,_),se(ze,ze,_),se(qe,qe,_),se($e,$e,_),se(He,He,_),se(Le,Le,_),se(We,We,_),se(Oe,Oe,_),se(tt,tt,_),se(jt,g,_),se(qt,f,_)],K0=[Nt(z,z,Qt),Ya(ae,ae,Qt)],V0=[Nt(oe,oe,ks)],U0=[Zn(f,.1,m().xTokens().transferMultiasset()),Zn(g,.1,m().xTokens().transferMultiasset()),Zn(A,.2,m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}))],ei=new dt.ChainRoutes({chain:l,routes:[...A0,...H0,...w0,...k0,...C0,...T0,...U0,...F0,...D0,...W0,...M0,...B0,..._0,...X0,...R0,...P0,...E0,...L0,...S0,...K0,...V0,...I0,...v0]});var ft=require("@galacticcouncil/xc-core");var N0=[new ft.AssetRoute({source:{asset:H,balance:n().substrate().tokens().accounts(),destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:.13,asset:H}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:W,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:W,fee:{amount:.03,asset:H}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:q,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:q,fee:{amount:.1,asset:q}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:M,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:M,fee:{amount:.001,asset:M}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:A,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().xTokens().transfer()})],ti=new ft.ChainRoutes({chain:Te,routes:[...N0]});var Tt=require("@galacticcouncil/xc-core");var Za=require("@galacticcouncil/xc-core");function G0(t,e,s){return new Za.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:E().Xtokens().transfer()})}function O0(t,e,s){return new Za.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:x,balance:n().evm().erc20()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:E().Xtokens().transfer()})}function Gt(t,e){return G0(t,l,e)}function ea(t,e){return O0(t,l,e)}var z0=[new Tt.AssetRoute({source:{asset:x,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:x,fee:{amount:.05,asset:x}},contract:E().Xtokens().transfer()}),ea(q,.6),ea(f,.3),ea(g,.3),Gt(te,.004),Gt(we,.004),Gt(j,.004),Gt(ke,.004),Gt(Ce,1e-7),Gt(ee,2e-6),Gt(z,2e-5)],q0=[new Tt.AssetRoute({source:{asset:Z,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:Z,fee:{amount:.18,asset:f}},contract:E().Xtokens().transferMultiCurrencies()}),new Tt.AssetRoute({source:{asset:f,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:f,fee:{amount:.18,asset:f}},contract:E().Xtokens().transfer()}),new Tt.AssetRoute({source:{asset:g,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:g,fee:{amount:.18,asset:g}},contract:E().Xtokens().transfer()})],Gb=[new Tt.AssetRoute({source:{asset:ee,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{asset:ee,balance:n().evm().erc20()}},destination:{chain:_,asset:D,fee:{amount:ot().Wormhole().TokenRelayer().calculateRelayerFee(),asset:D}},contract:E().Batch().batchAll([E().Erc20().approve(t=>t.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new Tt.AssetRoute({source:{asset:te,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{asset:te,balance:n().evm().erc20()}},destination:{chain:_,asset:le,fee:{amount:ot().Wormhole().TokenRelayer().calculateRelayerFee(),asset:le}},contract:E().Batch().batchAll([E().Erc20().approve(t=>t.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],si=new Tt.ChainRoutes({chain:X,routes:[...z0,...q0]});var js=require("@galacticcouncil/xc-core");var j0=[new js.AssetRoute({source:{asset:U,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:U,fee:{amount:.01,asset:U}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],J0=[new js.AssetRoute({source:{asset:U,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:S,asset:U,fee:{amount:.1,asset:U}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],ni=new js.ChainRoutes({chain:It,routes:[...j0,...J0]});var ta=require("@galacticcouncil/xc-core");var $0=[new ta.AssetRoute({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()})],ai=new ta.ChainRoutes({chain:As,routes:[...$0]});var Ds=require("@galacticcouncil/xc-core");var Q0=[new Ds.AssetRoute({source:{asset:xe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:xe,fee:{amount:.0225,asset:xe}},extrinsic:m().xTokens().transfer()}),new Ds.AssetRoute({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:xe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.0035,asset:x}},extrinsic:m().xTokens().transfer()}),new Ds.AssetRoute({source:{asset:j,balance:n().substrate().tokens().accounts(),fee:{asset:xe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:j,fee:{amount:.1,asset:x}},extrinsic:m().xTokens().transferMultiCurrencies()})],oi=new Ds.ChainRoutes({chain:yt,routes:[...Q0]});var sa=require("@galacticcouncil/xc-core");var Y0=[new sa.AssetRoute({source:{asset:_e,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:_e,fee:{amount:.01,asset:_e}},extrinsic:m().xTokens().transfer()})],ri=new sa.ChainRoutes({chain:ps,routes:[...Y0]});var na=require("@galacticcouncil/xc-core");var Z0=[new na.AssetRoute({source:{asset:Se,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Se,fee:{amount:.03,asset:Se}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],ii=new na.ChainRoutes({chain:bs,routes:[...Z0]});var aa=require("@galacticcouncil/xc-core");var em=[new aa.AssetRoute({source:{asset:Ve,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ve,fee:{amount:.2,asset:Ve}},extrinsic:m().xTokens().transfer()})],ci=new aa.ChainRoutes({chain:gs,routes:[...em]});var oa=require("@galacticcouncil/xc-core");var tm=[new oa.AssetRoute({source:{asset:Ge,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ge,fee:{amount:2,asset:Ge}},extrinsic:m().xTokens().transfer()})],mi=new oa.ChainRoutes({chain:hs,routes:[...tm]});var ra=require("@galacticcouncil/xc-core");var sm=[new ra.AssetRoute({source:{asset:Ee,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ee,fee:{amount:.001,asset:Ee}},extrinsic:m().xTokens().transfer()})],ui=new ra.ChainRoutes({chain:ds,routes:[...sm]});var ia=require("@galacticcouncil/xc-core");var nm=[new ia.AssetRoute({source:{asset:De,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:De,fee:{amount:2,asset:De}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],li=new ia.ChainRoutes({chain:ys,routes:[...nm]});var ca=require("@galacticcouncil/xc-core");var am=[new ca.AssetRoute({source:{asset:Me,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Me,fee:{amount:.03,asset:Me}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],di=new ca.ChainRoutes({chain:ws,routes:[...am]});var ma=require("@galacticcouncil/xc-core");var om=[new ma.AssetRoute({source:{asset:Ke,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ke,fee:{amount:.205,asset:Ke}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],fi=new ma.ChainRoutes({chain:xs,routes:[...om]});var pi=[Ur,ui,zr,qr,jr,Jr,$r,ei,ti,si,ni,fi,ai,oi,ri,ii,ci,mi,li,di];var Js=require("@galacticcouncil/xc-core");var rm=[new Js.AssetRoute({source:{asset:z,balance:n().solana().native(),destinationFee:{asset:z,balance:n().solana().native()}},destination:{chain:l,asset:z,fee:{amount:0,asset:z}},program:qn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]}),new Js.AssetRoute({source:{asset:ae,balance:n().solana().token(),fee:{asset:z,balance:n().solana().native()},destinationFee:{asset:ae,balance:n().solana().token()}},destination:{chain:l,asset:ae,fee:{amount:0,asset:ae}},program:qn().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})],hi=new Js.ChainRoutes({chain:Qt,routes:[...rm]});var bi=[hi];var ua=require("@galacticcouncil/xc-core");var im=[new ua.AssetRoute({source:{asset:oe,balance:n().sui().native(),destinationFee:{asset:oe,balance:n().sui().native()}},destination:{chain:l,asset:oe,fee:{amount:0,asset:oe}},move:ja().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})],yi=new ua.ChainRoutes({chain:ks,routes:[...im]});var xi=[yi];var $s=require("@galacticcouncil/xc-core");var cm=require("@galacticcouncil/xc-core");var eo=0;var mm=new $s.AssetRoute({source:{asset:B,balance:n().substrate().system().account(),fee:{asset:B,balance:n().substrate().system().account(),extra:eo},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:S,asset:B,fee:{amount:.002,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),um=new $s.AssetRoute({source:{asset:B,balance:n().substrate().system().account(),fee:{asset:B,balance:n().substrate().system().account(),extra:eo},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:B,fee:{amount:.0012,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),gi=new $s.ChainRoutes({chain:nt,routes:[um,mm]});var Zs=require("@galacticcouncil/xc-core");var lm="0",Bt=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===lm?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),Qs=()=>({asset:Os().multiTransactionPayment().accountCurrencyMap(),balance:Bt()});var Ai=require("@galacticcouncil/xc-core");function Ys(t,e,s){return new Ai.AssetRoute({source:{asset:t,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}var dm=[new Zs.AssetRoute({source:{asset:f,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:nt,asset:f,fee:{amount:.0012,asset:f}},extrinsic:m().xTokens().transferMultiasset()})],fm=[new Zs.AssetRoute({source:{asset:B,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:nt,asset:B,fee:{amount:.0012,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],wi=new Zs.ChainRoutes({chain:de,routes:[...dm,...fm,Ys(Ie,Ts,.0933),Ys(je,Cs,4e-6),Ys(st,Bs,464e-8),Ys(Je,Ps,.0095)]});var la=require("@galacticcouncil/xc-core");var pm=[new la.AssetRoute({source:{asset:je,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:je,fee:{amount:.00275,asset:je}},extrinsic:m().xTokens().transfer()})],ki=new la.ChainRoutes({chain:Cs,routes:[...pm]});var en=require("@galacticcouncil/xc-core");var hm=[new en.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:zt,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:nt,asset:f,fee:{amount:.0012,asset:f}},extrinsic:m().xTokens().transferMultiasset()})],bm=[new en.AssetRoute({source:{asset:Ie,balance:n().substrate().tokens().accounts(),fee:{asset:zt,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:de,asset:Ie,fee:{amount:22,asset:Ie}},extrinsic:m().xTokens().transfer()})],Ci=new en.ChainRoutes({chain:Ts,routes:[...hm,...bm]});var da=require("@galacticcouncil/xc-core");var ym=[new da.AssetRoute({source:{asset:Je,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:Je,fee:{amount:.014,asset:Je}},extrinsic:m().xTokens().transfer()})],Ti=new da.ChainRoutes({chain:Ps,routes:[...ym]});var fa=require("@galacticcouncil/xc-core");var xm=[new fa.AssetRoute({source:{asset:st,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:st,fee:{amount:5e-4,asset:st}},extrinsic:m().polkadotXcm().limitedReserveTransferAssets()})],Bi=new fa.ChainRoutes({chain:Bs,routes:[...xm]});var Pi=[gi,wi,ki,Ci,Ti,Bi];var gm=[...Vr,...pi,...bi,...xi,...Pi],vi=new Map(gm.map(t=>[t.chain.key,t]));var to=require("@galacticcouncil/xc-core");var Hs=require("@galacticcouncil/xc-core");var pa=class extends Hs.TransferValidation{async validate(e){let{source:s}=e,{chain:a,fee:o,feeBalance:r}=s;if(r.amount<o.amount)throw new Hs.TransferValidationError("Insufficient_Fee_Balance",{amount:o.toDecimal(o.decimals),asset:o.symbol,chain:a.name,error:"fee.insufficientBalance"})}},ha=class extends Hs.TransferValidation{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 Hs.TransferValidationError("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 pe(e).getAssetMin(s);let o=e.getAssetMin(s)*10**s.decimals;return BigInt(o)}};var Ms=require("@galacticcouncil/xc-core");var ba=class extends Ms.TransferValidation{async skipFor(e){let{asset:s,destination:a}=e,o=a.chain;return await new pe(o).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:o}=e,r=o.chain;if(await new pe(r).getSystemAccountBalance(a)===0n)throw new Ms.TransferValidationError("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:o.chain.name,error:"account.insufficientDeposit"})}},ya=class extends Ms.TransferValidation{async validate(e){let{asset:s,sender:a,source:o}=e,r=o.chain;if(await new pe(r).checkIfFrozen(a,s))throw new Ms.TransferValidationError("Asset_Frozen",{asset:s.originSymbol,chain:o.chain.name,error:"asset.frozen"})}};var Ws=require("@galacticcouncil/xc-core");var Am=12,wm=1,km=18,xa=class extends Ws.TransferValidation{async skipFor(e){let{destination:s}=e,a=s.chain,o=new at(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 at(r),u=await i.getFeeAsset(a),c=r.findAssetById(u),d=c.min||wm,b=c.decimals||Am,y=d*Math.pow(10,b),w=await i.getAssetBalance(a,u);if(BigInt(y*1.1)>w)throw new Ws.TransferValidationError("Insufficient_Ed",{amount:y,asset:c.asset.originSymbol,chain:r.name,error:"account.insufficientDeposit"})}},ga=class extends Ws.TransferValidation{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 at(r),u=r.getBalanceAssetId(x),c=r.getAssetDecimals(x)||km,d=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(a,u.toString())<BigInt(d))throw new Ws.TransferValidationError("Insufficient_Ed",{amount:1,asset:x.originSymbol,chain:r.name,error:"destFee.insufficientBalance"})}};var Pe={isAny:()=>!0,isHydration:t=>t instanceof to.Parachain&&t.parachainId===2034,isHub:t=>t instanceof to.Parachain&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},Ei=[new pa(Pe.isAny,Pe.isAny),new ha(Pe.isAny,Pe.isAny),new ba(Pe.isAny,Pe.isHub),new ya(Pe.isHub,Pe.isAny),new xa(Pe.isAny,Pe.isHydration),new ga(Pe.isHydration,Pe.isAny)];var oo={};ls(oo,{AssethubDex:()=>ao,HydrationDex:()=>so});var Ks=require("@galacticcouncil/sdk-next"),Fi=require("@galacticcouncil/common");var Ii=(t,e=new Map)=>s=>{let a;return e.has(s)?e.get(s):(e.set(s,a=t(s)),a)};var{PoolType:Aa}=Ks.pool,{TradeRouteBuilder:Cm,TradeRouter:Tm}=Ks.sor,{TxBuilderFactory:Bm}=Ks.tx,so=class{chain;client;poolCtx;txBuilder;getCtx=Ii(async e=>{console.log("init swap router",e,"\u2705");let s=new Tm(this.poolCtx);return s.withFilter({useOnly:[Aa.Aave,Aa.Omni,Aa.Stable,Aa.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new at(this.chain),this.txBuilder=new Bm(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),b=await d.getMostLiquidRoute(i,u),y=await d.getBuy(i,u,c,b);return(await(await this.txBuilder.trade(y).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),b=await c.getBuy(r,i,u,d);return{amount:b.amountIn,route:Cm.build(b.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,Fi.RUNTIME_DECIMALS);return r/BigInt(i)}};var no=require("@galacticcouncil/common"),ao=class{chain;client;constructor(e){this.chain=e,this.client=new pe(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((0,no.encodeLocation)(o),(0,no.encodeLocation)(r),a.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};var Si=require("@galacticcouncil/xc-core");var _i=require("@galacticcouncil/xc-core");function wa(t){let{id:e,origin:s,symbol:a}=t,o=a.toLowerCase();return new _i.Asset({key:[o,s,e].join("_"),originSymbol:a})}function Xi(t){let{decimals:e,id:s}=t;return{asset:wa(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function Ri(t){let{decimals:e,id:s,internalId:a,origin:o}=t;return{asset:wa(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 ka=class extends Si.ConfigService{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=wa(r),u=Xi(r),c=Ri(r);console.log("\u{1F480} Registering "+i.key),a.updateAsset(u),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(a,rs(i)),this.updateChainRoute(s,cs(i))})}};0&&(module.exports={HydrationConfigService,assetsMap,builders,chainsMap,clients,dex,routesMap,tags,validations});
1
+ "use strict";var Ta=Object.defineProperty;var Di=Object.getOwnPropertyDescriptor;var Hi=Object.getOwnPropertyNames;var Mi=Object.prototype.hasOwnProperty;var ls=(t,e)=>{for(var s in e)Ta(t,s,{get:e[s],enumerable:!0})},Wi=(t,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Hi(e))!Mi.call(t,o)&&o!==s&&Ta(t,o,{get:()=>e[o],enumerable:!(a=Di(e,o))||a.enumerable});return t};var Ki=t=>Wi(Ta({},"__esModule",{value:!0}),t);var Pm={};ls(Pm,{HydrationConfigService:()=>ka,assetsMap:()=>io,builders:()=>Ja,chainsMap:()=>Bo,clients:()=>za,dex:()=>oo,routesMap:()=>vi,tags:()=>$a,validations:()=>Ei});module.exports=Ki(Pm);var h=require("@galacticcouncil/xc-core"),ve=new h.Asset({key:"aave",originSymbol:"AAVE"}),O=new h.Asset({key:"aca",originSymbol:"ACA"}),Ee=new h.Asset({key:"ajun",originSymbol:"AJUN"}),R=new h.Asset({key:"astr",originSymbol:"ASTR"}),F=new h.Asset({key:"bnc",originSymbol:"BNC"}),Ie=new h.Asset({key:"bsx",originSymbol:"BSX"}),Ae=new h.Asset({key:"cfg",originSymbol:"CFG"}),Fe=new h.Asset({key:"cfg_new",originSymbol:"CFG"}),_e=new h.Asset({key:"cru",originSymbol:"CRU"}),le=new h.Asset({key:"dai",originSymbol:"DAI"}),Xe=new h.Asset({...le,key:"dai_awh"}),te=new h.Asset({...le,key:"dai_mwh"}),pt=new h.Asset({key:"ded",originSymbol:"DED"}),A=new h.Asset({key:"dot",originSymbol:"DOT"}),ht=new h.Asset({key:"dota",originSymbol:"DOTA"}),D=new h.Asset({key:"eth",originSymbol:"ETH"}),Re=new h.Asset({key:"ena",originSymbol:"ENA"}),x=new h.Asset({key:"glmr",originSymbol:"GLMR"}),q=new h.Asset({key:"hdx",originSymbol:"HDX"}),W=new h.Asset({key:"ibtc",originSymbol:"IBTC"}),H=new h.Asset({key:"intr",originSymbol:"INTR"}),ae=new h.Asset({key:"jitoSol",originSymbol:"jitoSOL"}),zt=new h.Asset({key:"kar",originSymbol:"KAR"}),Se=new h.Asset({key:"kilt",originSymbol:"KILT"}),B=new h.Asset({key:"ksm",originSymbol:"KSM"}),Le=new h.Asset({key:"ldo",originSymbol:"LDO"}),De=new h.Asset({key:"laos",originSymbol:"LAOS"}),He=new h.Asset({key:"lbtc",originSymbol:"LBTC"}),Me=new h.Asset({key:"ewt",originSymbol:"EWT"}),ye=new h.Asset({key:"ldot",originSymbol:"LDOT"}),We=new h.Asset({key:"link",originSymbol:"LINK"}),U=new h.Asset({key:"myth",originSymbol:"MYTH"}),Ba=new h.Asset({key:"nodl",originSymbol:"NODL"}),Ke=new h.Asset({key:"neuro",originSymbol:"NEURO"}),Ve=new h.Asset({key:"pen",originSymbol:"PEN"}),Ue=new h.Asset({key:"pha",originSymbol:"PHA"}),Ne=new h.Asset({key:"paxg",originSymbol:"PAXG"}),Z=new h.Asset({key:"pink",originSymbol:"PINK"}),Ge=new h.Asset({key:"ring",originSymbol:"RING"}),Oe=new h.Asset({key:"sky",originSymbol:"SKY"}),z=new h.Asset({key:"sol",originSymbol:"SOL"}),oe=new h.Asset({key:"sui",originSymbol:"SUI"}),Pa=new h.Asset({key:"sub",originSymbol:"SUB"}),ze=new h.Asset({key:"susde",originSymbol:"sUSDe"}),ct=new h.Asset({key:"susds",originSymbol:"sUSDS"}),we=new h.Asset({...ct,key:"susds_mwh"}),qe=new h.Asset({key:"tbtc",originSymbol:"tBTC"}),je=new h.Asset({key:"teer",originSymbol:"TEER"}),Je=new h.Asset({key:"tnkr",originSymbol:"TNKR"}),$e=new h.Asset({key:"trac",originSymbol:"TRAC"}),Qe=new h.Asset({key:"unq",originSymbol:"UNQ"}),f=new h.Asset({key:"usdt",originSymbol:"USDT"}),ke=new h.Asset({...f,key:"usdt_mwh"}),qt=new h.Asset({...f,key:"usdt_eth"}),g=new h.Asset({key:"usdc",originSymbol:"USDC"}),j=new h.Asset({...g,key:"usdc_mwh"}),jt=new h.Asset({...g,key:"usdc_eth"}),J=new h.Asset({key:"vastr",originSymbol:"vASTR"}),M=new h.Asset({key:"vdot",originSymbol:"vDOT"}),Jt=new h.Asset({key:"weth",originSymbol:"WETH"}),Ye=new h.Asset({...Jt,key:"weth_awh"}),ee=new h.Asset({...Jt,key:"weth_mwh"}),Ze=new h.Asset({key:"wbtc",originSymbol:"WBTC"}),et=new h.Asset({...Ze,key:"wbtc_awh"}),Ce=new h.Asset({...Ze,key:"wbtc_mwh"}),tt=new h.Asset({key:"wsteth",originSymbol:"wstETH"}),bt=new h.Asset({key:"wud",originSymbol:"WUD"}),st=new h.Asset({key:"xrt",originSymbol:"XRT"}),xe=new h.Asset({key:"ztg",originSymbol:"ZTG"}),Vi=[ve,O,Ee,R,Ie,Ae,Fe,_e,F,le,Xe,te,pt,A,ht,Re,D,x,q,W,H,zt,Se,B,Le,De,He,Me,ae,ye,We,U,Ke,Ba,Ne,Ue,Ve,Z,Ge,Oe,z,oe,Pa,ze,ct,we,je,Je,$e,qe,Qe,g,j,jt,f,ke,qt,J,M,Ze,et,Ce,Jt,Ye,ee,tt,bt,st,xe],io=new Map(Vi.map(t=>[t.key,t]));var tn=require("@galacticcouncil/xc-core");var co=require("viem/chains"),_=new tn.EvmChain({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:D,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:ve,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Fe,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Jt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:le,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Re,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:ze,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:ct,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:qe,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Ze,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:He,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:g,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:f,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Le,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:We,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Ne,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Oe,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:$e,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:tt,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:tn.ChainEcosystem.Ethereum,evmChain:co.mainnet,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 mo=[_];var rn=require("@galacticcouncil/xc-core"),lo=require("viem");var an=require("@polkadot-api/substrate-bindings"),va=require("@polkadot-api/utils"),Ui="evm:",sn=new TextEncoder().encode(Ui),nn=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=(0,an.getSs58AddressInfo)(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===sn[c]))return(0,va.toHex)(a.slice(4,24));let r=new Uint8Array(sn.length+a.length);r.set(sn),r.set(a,sn.length);let i=(0,an.Blake2256)(r);return(0,va.toHex)(i.slice(0,20))}};var uo=require("@polkadot-api/substrate-bindings"),Ni="ETH\0",on=class{async toH160(e){let s=(0,uo.getSs58AddressInfo)(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let a=s.publicKey,o=Buffer.from(Ni),r=a.slice(o.length,-8);return"0x"+Buffer.from(r).toString("hex")}};var Gi=new nn,Oi=(0,lo.defineChain)({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}),mt=new rn.EvmParachain({assetsData:[{asset:O,id:{Token:O.originSymbol},metadataId:{NativeAssetId:{Token:O.originSymbol}}},{asset:ye,decimals:10,id:{Token:ye.originSymbol},metadataId:{NativeAssetId:{Token:ye.originSymbol}},min:.05},{asset:Xe,decimals:18,id:{Erc20:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae"},balanceId:"0x54a37a01cd75b616d63e0ab665bffdb0143c52ae",min:.01},{asset:et,decimals:8,id:{Erc20:"0xc80084af223c8b598536178d9361dc55bfda6818"},balanceId:"0xc80084af223c8b598536178d9361dc55bfda6818",min:35e-8},{asset:Ye,decimals:18,id:{Erc20:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578"},balanceId:"0x5a4d6acdc4e3e5ab15717f407afe957f7a242578",min:5555555555555e-18},{asset:x,decimals:18,id:{ForeignAsset:0},min:.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:rn.ChainEcosystem.Polkadot,evmChain:Oi,evmResolver:Gi,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"});var cn=require("@galacticcouncil/xc-core");var ds=new cn.Parachain({assetsData:[{asset:Ee,id:"AJUN"}],ecosystem:cn.ChainEcosystem.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});var Vs=require("@galacticcouncil/xc-core");var fo={assetsData:[{asset:A,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Z,decimals:10,id:23,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:23}]}}},{asset:pt,decimals:10,id:30,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:30}]}}},{asset:ht,decimals:4,id:18,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:18}]}}},{asset:bt,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:B,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Vs.ChainEcosystem.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.n.dwellir.com"]},S=new Vs.Parachain({...fo,key:"assethub",name:"AssetHub Polkadot"}),fs=new Vs.Parachain({...fo,key:"assethub_cex",name:"AssetHub (CEX)",usesCexForwarding:!0,usesSignerFee:!0,isTestChain:!0});var mn=require("@galacticcouncil/xc-core");var re=new mn.Parachain({assetsData:[{asset:R,xcmLocation:{parents:0,interior:"Here"}},{asset:A,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:f,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:F,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:x,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:H,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ue,id:"18446744073709551622",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:M,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:mn.ChainEcosystem.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});var un=require("@galacticcouncil/xc-core");var zi=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],$=new un.Parachain({assetsData:[{asset:F,id:{Native:F.originSymbol}},{asset:M,id:{VToken2:0},decimals:10,min:1e-4},{asset:J,id:{VToken2:3},decimals:18,min:.01},{asset:A,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:f,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Z,id:{Token2:10},decimals:10,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:R,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:x,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:un.ChainEcosystem.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:zi});var ln=require("@galacticcouncil/xc-core");var qi=["wss://rpc-centrifuge.luckyfriday.io","wss://fullnode.centrifuge.io"],$t=new ln.Parachain({assetsData:[{asset:Ae,id:"Native"},{asset:A,id:{ForeignAsset:5},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:x,id:{ForeignAsset:4},decimals:18,min:.001,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:ln.ChainEcosystem.Polkadot,explorer:"https://centrifuge.subscan.io",genesisHash:"0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82",key:"centrifuge",name:"Centrifuge",parachainId:2031,ss58Format:36,ws:qi});var dn=require("@galacticcouncil/xc-core");var ps=new dn.Parachain({assetsData:[{asset:_e,id:0}],ecosystem:dn.ChainEcosystem.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"]});var fn=require("@galacticcouncil/xc-core"),po=require("viem/chains");var hs=new fn.EvmParachain({assetsData:[{asset:Ge,id:"SelfReserve",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:fn.ChainEcosystem.Polkadot,evmChain:po.darwinia,explorer:"https://darwinia.subscan.io",genesisHash:"0xf0b8924b12e8108550d28870bc03f7b45a947e1b2b9abf81bfb0b89ecb60570e",key:"darwinia",name:"Darwinia",parachainId:2046,ss58Format:18,usesH160Acc:!0,ws:"wss://darwinia-rpc.dwellir.com"});var pn=require("@galacticcouncil/xc-core"),ho=require("viem");var ji=new on,Ea=["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"],Ia=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],Ji=(0,ho.defineChain)({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Ea,webSocket:Ia},default:{http:Ea,webSocket:Ia}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),l=new pn.EvmParachain({assetsData:[{asset:q,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:ve,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:Ee,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:R,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:F,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ae,decimals:18,id:13,min:.033,xcmLocation:{parents:1,interior:{X2:[{Parachain:2031},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Fe,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:_e,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:pt,decimals:10,id:1000019,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:30}]}}},{asset:A,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ht,decimals:4,id:1000038,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:18}]}}},{asset:Xe,decimals:18,id:2,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x0254a37a01cd75b616d63e0ab665bffdb0143c52ae0000000000000000000000"}}]}}},{asset:te,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:D,decimals:18,id:34,min:55e-7,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:{Ethereum:{chain_id:1}}}}}},{asset:Re,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:x,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:W,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:H,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:ae,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Se,decimals:15,id:28,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:2086}}}},{asset:Me,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Le,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:B,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:De,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:He,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:ye,decimals:10,id:1000100,min:.011,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:2,data:"0x0003000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:We,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Ne,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:Ke,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:Ba,decimals:11,id:26,min:1.1,xcmLocation:{parents:1,interior:{X2:[{Parachain:2026},{PalletInstance:2}]}}},{asset:Ve,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Z,decimals:10,id:1000021,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:Ue,decimals:12,id:8,min:.055,xcmLocation:{parents:1,interior:{X1:{Parachain:2035}}}},{asset:Ge,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:Pa,decimals:10,id:24,min:.02,xcmLocation:{parents:1,interior:{X1:{Parachain:2101}}}},{asset:z,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:oe,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:ze,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:ct,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:we,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:qe,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:$e,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:g,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:j,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:jt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:f,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:ke,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:qt,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:M,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ze,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:et,decimals:8,id:3,min:44e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x02c80084af223c8b598536178d9361dc55bfda68180000000000000000000000"}}]}}},{asset:Ce,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Jt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:Ye,decimals:18,id:4,min:5e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2e3},{GeneralKey:{length:21,data:"0x025a4d6acdc4e3e5ab15717f407afe957f7a2425780000000000000000000000"}}]}}},{asset:ee,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:tt,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:bt,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:xe,decimals:10,id:12,min:.091,xcmLocation:{parents:1,interior:{X2:[{Parachain:2092},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:pn.ChainEcosystem.Polkadot,evmChain:Ji,evmResolver:ji,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:Ia,rpcs:Ea});var hn=require("@galacticcouncil/xc-core");var Te=new hn.Parachain({assetsData:[{asset:H,decimals:10,id:{Token:H.originSymbol}},{asset:W,decimals:8,id:{Token:W.originSymbol}},{asset:A,decimals:10,id:{Token:A.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:g,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:q,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:M,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:hn.ChainEcosystem.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain"});var bn=require("@galacticcouncil/xc-core");var bs=new bn.Parachain({assetsData:[{asset:Se,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:bn.ChainEcosystem.Polkadot,explorer:"https://spiritnet.subscan.io",genesisHash:"0x411f057b9107718c9624d6aa4a3f23c1653898297f3d4d529d9bb6511a39dd21",key:"kilt",name:"Kilt",parachainId:2086,ss58Format:38,ws:"wss://spiritnet.kilt.io"});var yn=require("@galacticcouncil/xc-core");var ys=new yn.Parachain({assetsData:[{asset:De,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:yn.ChainEcosystem.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});var xn=require("@galacticcouncil/xc-core"),bo=require("viem");var $i=(0,bo.defineChain)({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}),X=new xn.EvmParachain({assetsData:[{asset:x,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:te,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:z,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:ae,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:we,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:oe,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:j,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:ke,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:Ce,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:ee,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:A,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:q,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:Z,decimals:10,id:"0xffffffff30478fafbe935e466da114e14fb3563d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:23}]}}},{asset:g,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:f,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:xn.ChainEcosystem.Polkadot,evmChain:$i,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"});var gn=require("@galacticcouncil/xc-core");var It=new gn.Parachain({assetsData:[{asset:U,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:gn.ChainEcosystem.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"});var An=require("@galacticcouncil/xc-core");var xs=new An.Parachain({assetsData:[{asset:Ke,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:An.ChainEcosystem.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});var wn=require("@galacticcouncil/xc-core");var gs=new wn.Parachain({assetsData:[{asset:Ve,id:"Native"}],ecosystem:wn.ChainEcosystem.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,ws:"wss://rpc-pendulum.prd.pendulumchain.tech"});var Us=require("@galacticcouncil/xc-core");var yo={assetsData:[{asset:A,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Us.ChainEcosystem.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"},xo=new Us.Parachain({...yo,key:"polkadot"}),go=new Us.Parachain({...yo,key:"polkadot_cex",name:"Polkadot (CEX)",usesCexForwarding:!0,isTestChain:!0});var kn=require("@galacticcouncil/xc-core");var As=new kn.Parachain({assetsData:[{asset:Qe,id:0}],ecosystem:kn.ChainEcosystem.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});var Cn=require("@galacticcouncil/xc-core");var yt=new Cn.Parachain({assetsData:[{asset:xe,id:"Ztg"},{asset:j,decimals:6,id:{ForeignAsset:1},xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:x,decimals:18,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}}],ecosystem:Cn.ChainEcosystem.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"});var Tn=require("@galacticcouncil/xc-core");var ws=new Tn.Parachain({assetsData:[{asset:Me,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Tn.ChainEcosystem.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 Ao=[mt,ds,S,fs,re,$,$t,ps,hs,l,bs,ys,xs,Te,X,It,gs,xo,go,As,yt,ws];var Bn=require("@galacticcouncil/xc-core");var Qt=new Bn.SolanaChain({id:101,key:"solana",name:"Solana",assetsData:[{asset:z,decimals:9},{asset:ae,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Bn.ChainEcosystem.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 wo=[Qt];var Pn=require("@galacticcouncil/xc-core");var ks=new Pn.SuiChain({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:oe,decimals:9}],ecosystem:Pn.ChainEcosystem.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var ko=[ks];var vn=require("@galacticcouncil/xc-core");var nt=new vn.Parachain({assetsData:[{asset:B,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:vn.ChainEcosystem.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"});var En=require("@galacticcouncil/xc-core");var de=new En.Parachain({assetsData:[{asset:Ie,id:0},{asset:B,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:f,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:je,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:st,decimals:9,id:16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2119},{GeneralKey:{length:4,data:"0x42414a5500000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:En.ChainEcosystem.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});var In=require("@galacticcouncil/xc-core");var Cs=new In.Parachain({assetsData:[{asset:je,id:0}],ecosystem:In.ChainEcosystem.Kusama,explorer:"https://integritee.subscan.io",genesisHash:"0xcdedc8eadbfa209d3f207bba541e57c3c58a667b05a2e1d1e86353c9000758da",key:"integritee",name:"Integritee",parachainId:2015,ss58Format:13,ws:"wss://kusama.api.integritee.network"});var Fn=require("@galacticcouncil/xc-core");var Ts=new Fn.Parachain({assetsData:[{asset:zt,id:{Token:zt.originSymbol}},{asset:B,decimals:12,id:{Token:B.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:Ie,decimals:12,id:{ForeignAsset:11},xcmLocation:{parents:1,interior:{X2:[{Parachain:2090},{GeneralIndex:0}]}}},{asset:f,decimals:6,id:{ForeignAsset:7},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Fn.ChainEcosystem.Kusama,explorer:"https://karura.subscan.io",genesisHash:"0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b",key:"karura",name:"Karura",parachainId:2e3,ss58Format:8,ws:"wss://karura-rpc-0.aca-api.network"});var _n=require("@galacticcouncil/xc-core");var Co=new _n.Parachain({assetsData:[{asset:B,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:_n.ChainEcosystem.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"});var Xn=require("@galacticcouncil/xc-core");var Bs=new Xn.Parachain({assetsData:[{asset:st,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Xn.ChainEcosystem.Kusama,explorer:"https://robonomics.subscan.io",genesisHash:"0x631ccc82a078481584041656af292834e1ae6daab61d2875b4dd0c14bb9b17bc",key:"robonomics",name:"Robonomics",parachainId:2048,ss58Format:32,ws:"wss://kusama.rpc.robonomics.network"});var Rn=require("@galacticcouncil/xc-core");var Ps=new Rn.Parachain({assetsData:[{asset:Je,id:0}],ecosystem:Rn.ChainEcosystem.Kusama,genesisHash:"0xd42e9606a995dfe433dc7955dc2a70f495f350f373daa200098ae84437816ad2",key:"tinkernet",name:"Tinkernet",parachainId:2125,ss58Format:117,ws:"wss://tinkernet-rpc.dwellir.com"});var To=[Co,nt,de,Cs,Ts,Bs,Ps];var Qi=[...mo,...Ao,...wo,...ko,...To],Bo=new Map(Qi.map(t=>[t.key,t]));var ns=require("@galacticcouncil/xc-core");var Ja={};ls(Ja,{AssetMinBuilder:()=>Ft,BalanceBuilder:()=>n,ContractBuilder:()=>E,ExtrinsicBuilder:()=>m,ExtrinsicDecorator:()=>wt,FeeAmountBuilder:()=>ot,FeeAssetBuilder:()=>Os,MoveBuilder:()=>ja,ProgramBuilder:()=>qn,XcmTransferType:()=>ie,XcmVersion:()=>At});var Sn=require("@galacticcouncil/xc-core");function Ft(){return{assetRegistry:Yi,assets:Zi}}function Yi(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Sn.SubstrateQueryConfig({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Sn.SubstrateQueryConfig({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Zi(){return{asset:()=>({build:({asset:t})=>new Sn.SubstrateQueryConfig({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}var Ns=require("@galacticcouncil/xc-core");function Po(){return{erc20:tc,native:ec}}function ec(){return{build:({address:t})=>new Ns.ContractConfig({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function tc(){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 Ns.ContractConfig({abi:Ns.Abi.Erc20,address:a,args:[t],func:"balanceOf",module:"Erc20"})}}}var vs=require("@galacticcouncil/xc-core"),Es=require("@galacticcouncil/common");function vo(){return{assets:sc,system:ac,tokens:oc,ormlTokens:rc,foreignAssets:nc}}function sc(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({module:"Assets",func:"Account",args:[o,t],transform:async r=>BigInt(r?.balance?.toString()??"0")})}})}}function nc(){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=(0,Es.encodeLocation)(o);return new vs.SubstrateQueryConfig({module:"ForeignAssets",func:"Account",args:[r,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function ac(){return{account:()=>({build:({address:t})=>new vs.SubstrateQueryConfig({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 oc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({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 rc(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e),o=(0,Es.encodeAssetId)(a);return new vs.SubstrateQueryConfig({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}})}})}}var Fa=require("@galacticcouncil/xc-core");function Eo(){return{native:ic,token:cc}}function ic(){return{build:({address:t})=>new Fa.SolanaQueryConfig({address:t,func:"rpc_getBalance",module:"Native"})}}function cc(){return{build:({address:t,asset:e,chain:s})=>{let a=s.getBalanceAssetId(e);if(!a)throw new Error(`Invalid token address: ${e}`);return new Fa.SolanaQueryConfig({address:t,token:a.toString(),func:"getBalance",module:"Token"})}}}var Io=require("@galacticcouncil/xc-core");function Fo(){return{native:mc}}function mc(){return{build:({address:t})=>new Io.SuiQueryConfig({address:t,func:"sui_getBalance",module:"Native"})}}function n(){return{evm:Po,substrate:vo,solana:Eo,sui:Fo}}var Yt=require("@galacticcouncil/xc-core"),_o=require("viem"),uc=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=>(0,_o.encodeFunctionData)({abi:Yt.Abi[i.module],functionName:i.func,args:i.args}));return new Yt.ContractConfig({abi:Yt.Abi.Batch,address:Yt.Precompile.Batch,args:[a,o,r,[]],func:"batchAll",module:"Batch"})}}),Xo=()=>({batchAll:uc});var Is=require("@galacticcouncil/xc-core");function Ln(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function xt(t){return typeof t=="object"?Object.values(t)[0]:t}function Ro(){return{approve:t=>({build:async e=>{let{amount:s,asset:a,source:o,transact:r}=e,i=r?r.chain:o.chain,u=Is.Wormhole.fromChain(i),c=i.getAssetId(a);return new Is.ContractConfig({abi:Is.Abi.Erc20,address:xt(c).toString(),args:[t(u),s],func:"approve",module:"Erc20"})}})}}var _t=require("@galacticcouncil/xc-core");var{Ss58Addr:lc}=_t.addr,dc=()=>({build:async t=>{let{address:e,amount:s,asset:a,source:o,destination:r}=t,i=o.chain,u=r.chain,c=_t.Snowbridge.fromChain(i),d=i.getAssetId(a),b=xt(d),y=a.originSymbol==="ETH",w=r.feeBreakdown.bridgeFeeInDot,k=r.fee.amount;return new _t.ContractConfig({abi:_t.Abi.Snowbridge,address:c.getGateway(),args:[b,u.parachainId,[1,lc.getPubKey(e)],w,s],value:y?k+s:k,func:"sendToken",module:"Snowbridge"})}}),So=()=>({sendToken:dc});var K=require("@galacticcouncil/xc-core"),_a=require("@solana/web3.js"),Lo=require("@solana/spl-token");var fc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,destination:i}=e,u=K.Wormhole.fromChain(r.chain),c=K.Wormhole.fromChain(t.moonchain),d=K.Precompile.Bridge,b=r.chain.getAssetId(o),y=0,w=await K.mrl.createPayload(i.chain,s);return new K.ContractConfig({abi:K.Abi.TokenBridge,address:u.getTokenBridge(),args:[xt(b),a,c.getWormholeId(),c.normalizeAddress(d),y,w.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),pc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,destination:r}=e,i=K.Wormhole.fromChain(o.chain),u=K.Wormhole.fromChain(t.moonchain),c=K.Precompile.Bridge,d=0,b=await K.mrl.createPayload(r.chain,s);return new K.ContractConfig({abi:K.Abi.TokenBridge,address:i.getTokenBridge(),args:[u.getWormholeId(),u.normalizeAddress(c),d,b.toHex()],value:a,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),hc=()=>({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=K.Wormhole.fromChain(u),b=K.Wormhole.fromChain(c),y=e;if(c.isSolana()){let v=c.getAssetId(a);y=(await(0,Lo.getAssociatedTokenAddress)(new _a.PublicKey(v),new _a.PublicKey(e))).toBase58()}let w=u.getAssetId(a),k=0,P=0;return new K.ContractConfig({abi:K.Abi.TokenBridge,address:d.getTokenBridge(),args:[xt(w),s,b.getWormholeId(),b.normalizeAddress(y),k,P],func:"transferTokens",module:"TokenBridge"})}}),bc=()=>({build:async t=>{let{address:e,amount:s,source:a,destination:o}=t,r=K.Wormhole.fromChain(a.chain),i=K.Wormhole.fromChain(o.chain),u=0,c=0;return new K.ContractConfig({abi:K.Abi.TokenBridge,address:r.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),u,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Do=()=>({transferTokens:hc,transferTokensWithPayload:fc,wrapAndTransferETH:bc,wrapAndTransferETHWithPayload:pc});var Zt=require("@galacticcouncil/xc-core");var yc=()=>({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=Zt.Wormhole.fromChain(u),b=Zt.Wormhole.fromChain(c),y=0,w=0,k=u.getAssetId(a);return new Zt.ContractConfig({abi:Zt.Abi.TokenRelayer,address:d.getTokenRelayer(),args:[xt(k),s,y,b.getWormholeId(),b.normalizeAddress(e),w],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Ho=()=>({transferTokensWithRelay:yc});function Mo(){return{TokenBridge:Do,TokenRelayer:Ho}}var gt=require("@galacticcouncil/xc-core"),No=require("@galacticcouncil/common");var Wo=require("@galacticcouncil/xc-core"),Ko=require("@polkadot-api/substrate-bindings"),Vo=require("@polkadot-api/utils"),{EvmAddr:xc}=Wo.addr;function Xa(t,e){let s=xc.isValid(t)?"03":"01",a=(0,Ko.getSs58AddressInfo)(t);if(!a.isValid)throw new Error(`Invalid SS58 address: ${t}`);let o=`0x${s}${(0,Vo.toHex)(a.publicKey).slice(2)}00`;return[1,e.parachainId?[`0x0000000${e.parachainId.toString(16)}`,o]:[o]]}function Dn(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 Uo=18446744073709551615n;function Go(){return{transfer:(t=Uo)=>({build:async({address:e,amount:s,asset:a,destination:o,source:r})=>{let i=r.chain.getAssetId(a);return new gt.ContractConfig({abi:gt.Abi.Xtokens,address:gt.Precompile.Xtokens,args:[typeof i=="string"?Dn(i):a,s,Xa(e,o.chain),t],func:"transfer",module:"Xtokens"})}}),transferMultiCurrencies:(t=Uo)=>({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=No.big.toBigInt(o.fee.amount,o.fee.decimals);return new gt.ContractConfig({abi:gt.Abi.Xtokens,address:gt.Precompile.Xtokens,args:[[[typeof i=="string"?Dn(i):i,s],[typeof u=="string"?Dn(u):u,c]],1,Xa(e,o.chain),t],func:"transferMultiCurrencies",module:"Xtokens"})}})}}function E(){return{Batch:Xo,Erc20:Ro,Snowbridge:So,Wormhole:Mo,Xtokens:Go}}var zo=require("@galacticcouncil/xc-core"),Oo="AssetConversion",gc=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:a})=>{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),b=c.getAssetXcmLocation(u),y=i.amount+i.amount*BigInt(t.slippage)/100n,w=u.amount;return new zo.ExtrinsicConfig({module:Oo,func:e,getTx:k=>k.getUnsafeApi().tx[Oo][e]({path:[d,b],amount_out:w,amount_in_max:y,send_to:s,keep_alive:!0})})}}},qo=()=>({swapTokensForExactTokens:gc});var Hn=require("@galacticcouncil/descriptors"),jo=require("@galacticcouncil/xc-core"),Ac="Assets",wc=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:a,destination:o})=>{let r=o.chain,{fee:i}=o,u=s>i.amount?s-i.amount:s,c=r.getMetadataAssetId(e);return new jo.ExtrinsicConfig({module:Ac,func:t,getTx:d=>d.getTypedApi(Hn.hub).tx.Assets.transfer({id:Number(c),target:Hn.MultiAddress.Id(a),amount:u})})}}},Jo=()=>({transfer:wc});var Qo=require("@galacticcouncil/xc-core"),$o="Balances",kc=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Qo.ExtrinsicConfig({module:$o,func:e,getTx:a=>a.getUnsafeApi().tx[$o][e]({dest:s,keep_alive:t})})}},Yo=()=>({transferAll:kc});var Zo=require("@galacticcouncil/descriptors"),er=require("@galacticcouncil/xc-core"),Cc="Router",Tc=t=>({build:async({source:s})=>{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),b=c.getMetadataAssetId(i),y=i.amount,w=r.amount+r.amount*BigInt(t.slippage)/100n;return new er.ExtrinsicConfig({module:Cc,func:"buy",getTx:k=>k.getTypedApi(Zo.hydration).tx.Router.buy({asset_in:Number(d),asset_out:Number(b),amount_out:y,max_amount_in:w,route:u})})}}),tr=()=>({buy:Tc});var nr=require("@galacticcouncil/xc-core"),sr="Utility",Bc=t=>{let e="batch_all";return{build:async s=>{let a=await Promise.all(t.map(o=>o.build(s)));return new nr.ExtrinsicConfig({module:sr,func:e,getTx:o=>{let r=a.map(i=>i.getTx(o).decodedCall);return o.getUnsafeApi().tx[sr][e]({calls:r})}})}}},ar=()=>({batchAll:Bc});var Mn=require("@galacticcouncil/xc-core"),Ra=require("polkadot-api"),rr=require("viem");var At=(r=>(r.v1="V1",r.v2="V2",r.v3="V3",r.v4="V4",r.v5="V5",r))(At||{}),ie=(o=>(o.Teleport="Teleport",o.LocalReserve="LocalReserve",o.DestinationReserve="DestinationReserve",o.RemoteReserve="RemoteReserve",o))(ie||{});var or="EthereumXcm",Pc=t=>{let e="transact";return{build:async s=>{let a=await t.build(s),o="V1",r=(0,rr.encodeFunctionData)({abi:Mn.Abi[a.module],functionName:a.func,args:a.args});return new Mn.ExtrinsicConfig({module:or,func:e,getTx:i=>i.getUnsafeApi().tx[or][e]({xcm_transaction:{type:o,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Ra.Binary.fromHex(a.address)},value:[0n,0n,0n,0n],input:Ra.Binary.fromHex(r),access_list:void 0}}})})}}},Sa=()=>({transact:Pc});var Lt=require("@galacticcouncil/xc-core"),Ua=require("@galacticcouncil/common");var _s=require("@galacticcouncil/xc-core"),kr=require("polkadot-api"),p=require("@galacticcouncil/descriptors");var ir=require("@galacticcouncil/descriptors"),Xt=340282366920938463463374607431768211455n,Wn="0x0000000000000000000000000000000000000000000000000000000000000000",Fs={parents:1,interior:ir.XcmV3Junctions.Here()},cr=0,mr=1e3,ur=1002,lr=1,Kn="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var dr="0x0000000000000000000000000000000000000000";var Q=require("@galacticcouncil/descriptors"),gr=require("polkadot-api");var fr=require("@galacticcouncil/xc-core"),La=require("@galacticcouncil/descriptors"),Da=require("polkadot-api"),pr=require("@polkadot-api/substrate-bindings"),hr=require("@polkadot-api/utils");function V(t){if(t.length===42&&t.startsWith("0x"))return La.XcmV3Junction.AccountKey20({key:Da.FixedSizeBinary.fromHex(t),network:void 0});let s=(0,pr.getSs58AddressInfo)(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return La.XcmV3Junction.AccountId32({id:Da.FixedSizeBinary.fromHex((0,hr.toHex)(s.publicKey)),network:void 0})}function Rt(t,e,s){return fr.acc.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}var Ha=require("@galacticcouncil/xc-core");function Vn(t,e){let s=Ha.multiloc.findNestedKey(t,"GeneralIndex"),a=Ha.multiloc.findNestedKey(e,"GeneralIndex"),o=s&&s.GeneralIndex,r=a&&a.GeneralIndex;return Number.isNaN(o)||Number.isNaN(r)?!1:Number(o)>Number(r)}function N(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var Un={};ls(Un,{ETHER_TOKEN_ADDRESS:()=>Wa,bridgeLocation:()=>yr,erc20Location:()=>Ec,erc20LocationReanchored:()=>Ic,parachainLocation:()=>vc});var Be=require("@galacticcouncil/descriptors"),Ma=require("polkadot-api"),Wa="0x0000000000000000000000000000000000000000",br=t=>Be.XcmV3Junction.GlobalConsensus(Be.XcmV3JunctionNetworkId.Ethereum({chain_id:BigInt(t)}));function yr(t){return{parents:2,interior:Be.XcmV3Junctions.X1(br(t))}}function vc(t){return{parents:1,interior:Be.XcmV3Junctions.X1(Be.XcmV3Junction.Parachain(t))}}function Ec(t,e){return e===Wa?yr(t):{parents:2,interior:Be.XcmV3Junctions.X2([br(t),Be.XcmV3Junction.AccountKey20({key:Ma.Binary.fromHex(e)})])}}function Ic(t){return t===Wa?{parents:0,interior:{type:"Here"}}:{parents:0,interior:Be.XcmV3Junctions.X1(Be.XcmV3Junction.AccountKey20({key:Ma.Binary.fromHex(t)}))}}var xr=require("@galacticcouncil/common");function G(t,e){return Fc(e)>=4?(0,xr.encodeLocation)(t):_c(t)}function Fc(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function _c(t){return{Concrete:{...t}}}function Ka(t,e){let s="V4",a=G(N(e,t),s),o=gr.Binary.fromHex(Wn);return[Q.XcmV4Instruction.ReserveAssetDeposited([{id:Fs,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)},{id:a,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)}]),Q.XcmV4Instruction.ClearOrigin(),Q.XcmV4Instruction.BuyExecution({fees:{id:Fs,fun:Q.XcmV3MultiassetFungibility.Fungible(Xt)},weight_limit:Q.XcmV3WeightLimit.Unlimited()}),Q.XcmV4Instruction.DepositAsset({assets:Q.XcmV4AssetAssetFilter.Wild(Q.XcmV4AssetWildAsset.AllCounted(2)),beneficiary:{parents:0,interior:Q.XcmV3Junctions.X1(V(Kn))}}),Q.XcmV4Instruction.SetTopic(o)]}var ut=require("@galacticcouncil/descriptors");function Ar(t,e){let s="V4",a=G(N(e,t),s),o=Nn("V4",V(dr),V(Kn),a,Wn);return[ut.XcmV4Instruction.WithdrawAsset([{id:Fs,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)},{id:a,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)}]),ut.XcmV4Instruction.ClearOrigin(),ut.XcmV4Instruction.BuyExecution({fees:{id:Fs,fun:ut.XcmV3MultiassetFungibility.Fungible(Xt)},weight_limit:ut.XcmV3WeightLimit.Unlimited()}),...o.value]}var wr=[_s.ChainEcosystem.Polkadot,_s.ChainEcosystem.Kusama],Xc={parents:1,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.Parachain(1e3))},Rc=t=>t.parents===1&&t.interior==="Here",Sc=(t,e)=>!t.ecosystem||!e.ecosystem?!1:wr.includes(t.ecosystem)&&wr.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,lt=(t,e,s)=>{if(Sc(e,s)){let o=s.ecosystem===_s.ChainEcosystem.Polkadot?p.XcmV3JunctionNetworkId.Polkadot():p.XcmV3JunctionNetworkId.Kusama();return{type:t,value:{parents:2,interior:p.XcmV3Junctions.X2([p.XcmV3Junction.GlobalConsensus(o),p.XcmV3Junction.Parachain(s.parachainId)])}}}if(s.parachainId===cr)return{type:t,value:{parents:1,interior:p.XcmV3Junctions.Here()}};let a=s.key==="ethereum"?mr:s.parachainId;return{type:t,value:{parents:1,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.Parachain(a))}}},es=(t,e)=>({type:t,value:{parents:0,interior:p.XcmV3Junctions.X1(e)}}),Va=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:Rc(s)?Xc:s}}:{type:e},St=(t,e)=>({id:t,fun:p.XcmV3MultiassetFungibility.Fungible(e)}),Cr=(t,e)=>({type:t,value:[p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]});var Nn=(t,e,s,a,o)=>{let r=kr.Binary.fromHex(o);return{type:t,value:[p.XcmV4Instruction.SetAppendix([p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.All()),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(s)}})]),p.XcmV4Instruction.InitiateReserveWithdraw({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllOf({id:a,fun:p.XcmV2MultiassetWildFungibility.Fungible()})),reserve:Un.bridgeLocation(lr),xcm:[p.XcmV4Instruction.BuyExecution({fees:{id:Lc(a),fun:p.XcmV3MultiassetFungibility.Fungible(1n)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}}),p.XcmV4Instruction.SetTopic(r)]}),p.XcmV4Instruction.SetTopic(r)]}},Lc=t=>{let e=_s.multiloc.findNestedKey(t,"key");return e?{parents:0,interior:p.XcmV3Junctions.X1(p.XcmV3Junction.AccountKey20({key:e}))}:{parents:0,interior:p.XcmV3Junctions.Here()}},Tr=(t,e,s,a,o,r)=>({type:t,value:[p.XcmV4Instruction.WithdrawAsset([{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)}]),p.XcmV4Instruction.BuyExecution({fees:{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.Transact({origin_kind:p.XcmV2OriginKind.SovereignAccount(),require_weight_at_most:{ref_time:r.refTime,proof_size:r.proofSize},call:o}),p.XcmV4Instruction.RefundSurplus(),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]}),Br=(t,e,s,a,o,r)=>({type:t,value:[p.XcmV4Instruction.WithdrawAsset([{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(o)}]),p.XcmV4Instruction.BuyExecution({fees:{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(o)},weight_limit:p.XcmV3WeightLimit.Unlimited()}),p.XcmV4Instruction.TransferAsset({assets:[{id:s,fun:p.XcmV3MultiassetFungibility.Fungible(a)}],beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(r)}}),p.XcmV4Instruction.RefundSurplus(),p.XcmV4Instruction.DepositAsset({assets:p.XcmV4AssetAssetFilter.Wild(p.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:p.XcmV3Junctions.X1(e)}})]});var fe="PolkadotXcm",Dc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=G(N(i,a.fee),c),y=St(d,e),w=St(b,a.fee.amount),k="limited_reserve_transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:k,getTx:P=>{let v=P.getUnsafeApi().tx[fe][k];return s.key===a.fee.key?v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[y]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):Vn(d,b)?v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[w,y]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):v({dest:lt(c,i,u),beneficiary:es(c,r),assets:{type:c,value:[y,w]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),Hc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="limited_teleport_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Mc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="reserve_transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0})})}}),Wc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=St(d,e),y=lt(c,i,u),w=es(c,r),k={type:c,value:[b]},P="transfer_assets";return new Lt.ExtrinsicConfig({module:fe,func:P,getTx:v=>v.getUnsafeApi().tx[fe][P]({dest:y,beneficiary:w,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Kc=t=>({build:async({address:e,asset:s,amount:a,destination:o,messageId:r,sender:i,source:u})=>{let c="V4",d=u.chain,b=o.chain,y=V(i),w=b.usesCexForwarding?Rt(d,i,b):e,k=V(w),{transferType:P}=t,v=G(N(d,s),c),L=G(N(d,o.fee),c),Y=St(v,a),ne=St(L,o.fee.amount),T=s.isEqual(o.fee),ms=lt(c,d,b),Ot={type:c,value:s.isEqual(o.fee)?[Y]:[ne,Y]},Pt=Va(c,P,v),vt={type:c,value:T?v:L},Et=Va(c,P,L),it;o.chain.key==="ethereum"?it=Nn(c,k,y,v,r):it=Cr(c,k);let us="transfer_assets_using_type_and_then";return new Lt.ExtrinsicConfig({module:fe,func:us,getTx:Ca=>Ca.getUnsafeApi().tx[fe][us]({dest:ms,assets:Ot,assets_transfer_type:Pt,remote_fees_id:vt,fees_transfer_type:Et,custom_xcm_on_dest:it,weight_limit:{type:"Unlimited"}})})}}),Vc=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:a,source:o,transact:r}=s,i="V4";if(!r)throw new Error("Transact ctx configuration is missing.");let u=o.chain,c=r.chain,d=Rt(u,a,c),b=V(d),{fee:y}=r,w=G(N(c,y),i),k=Ua.big.toBigInt(e.fee,y.decimals);return new Lt.ExtrinsicConfig({module:fe,func:t,getTx:P=>P.getUnsafeApi().tx[fe][t]({dest:lt(i,u,c),message:Tr(i,b,w,k,r.call,r.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:a,address:o,asset:r,sender:i,source:u,destination:c}=s,d="V4",b=u.chain,y=c.chain,w=Rt(b,i,y),k=V(w),P=V(o),v=G(N(y,r),d),{fee:L}=c,Y=Ua.big.toBigInt(e.fee,L.decimals),ne=a>L.amount?a-(L.amount+Y):a;return new Lt.ExtrinsicConfig({module:fe,func:t,getTx:T=>T.getUnsafeApi().tx[fe][t]({dest:lt(d,b,y),message:Br(d,k,v,ne,Y,P)})})}})}},Na=()=>({limitedReserveTransferAssets:Dc,limitedTeleportAssets:Hc,reserveTransferAssets:Mc,transferAssets:Wc,transferAssetsUsingTypeAndThen:Kc,send:Vc});var Gs=require("@galacticcouncil/xc-core"),Xs=require("@galacticcouncil/common");var ts=require("@galacticcouncil/descriptors"),ss=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:ts.XcmV3Junctions.X1(s)}}:{type:t,value:{parents:1,interior:ts.XcmV3Junctions.X2([ts.XcmV3Junction.Parachain(e.parachainId),s])}},Gn=(t,e)=>({id:t,fun:ts.XcmV3MultiassetFungibility.Fungible(e)});var Dt="XTokens",Uc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?Rt(i,o,u):t,b=V(d),y=i.getAssetId(s),w=(0,Xs.encodeAssetId)(y),k="transfer";return new Gs.ExtrinsicConfig({module:Dt,func:k,getTx:P=>P.getUnsafeApi().tx[Dt][k]({currency_id:w,amount:e,dest:ss(c,u,b),dest_weight_limit:{type:"Unlimited"}})})}}),Nc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r})=>{let i=r.chain,u=a.chain,c="V4",d=u.usesCexForwarding?Rt(i,o,u):t,b=V(d),y=G(N(i,s),c),w=Gn(y,e),k="transfer_multiasset";return new Gs.ExtrinsicConfig({module:Dt,func:k,getTx:P=>P.getUnsafeApi().tx[Dt][k]({asset:{type:c,value:w},dest:ss(c,u,b),dest_weight_limit:{type:"Unlimited"}})})}}),Gc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r=V(t),i=o.chain,u=a.chain,c="V4",d=G(N(i,s),c),b=G(N(i,a.fee),c),y=Gn(d,e),w=Gn(b,a.fee.amount),k="transfer_multiassets";return new Gs.ExtrinsicConfig({module:Dt,func:"transfer_multiassets",getTx:P=>{let v=P.getUnsafeApi().tx[Dt][k];return s.key===a.fee.key?v({assets:{type:c,value:[y]},fee_item:0,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}}):Vn(d,b)?v({assets:{type:c,value:[w,y]},fee_item:0,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}}):v({assets:{type:c,value:[y,w]},fee_item:1,dest:ss(c,u,r),dest_weight_limit:{type:"Unlimited"}})}})}}),Oc=()=>({build:async({address:t,amount:e,asset:s,destination:a,sender:o,source:r,transact:i})=>{let u=r.chain,c=a.chain,d=a.fee.amount,b=u.getAssetId(a.fee),y=t;i&&(c=i.chain,d=Xs.big.toBigInt(i.fee.amount,i.fee.decimals),b=u.getAssetId(i.fee),y=Rt(u,o,c));let w="V4",k=V(y),P=u.getAssetId(s),v=(0,Xs.encodeAssetId)(P),L=(0,Xs.encodeAssetId)(b),Y="transfer_multicurrencies";return new Gs.ExtrinsicConfig({module:Dt,func:Y,getTx:ne=>ne.getUnsafeApi().tx[Dt][Y]({currencies:[[v,e],[L,d]],fee_item:1,dest:ss(w,c,k),dest_weight_limit:{type:"Unlimited"}})})}}),Ga=()=>({transfer:Uc,transferMultiasset:Nc,transferMultiassets:Gc,transferMultiCurrencies:Oc});var Ir=require("@galacticcouncil/xc-core");var Rs=require("@galacticcouncil/descriptors"),Pr=(t,e)=>({parents:1,interior:Rs.XcmV3Junctions.X2([Rs.XcmV3Junction.Parachain(t.parachainId),e])}),vr=(t,e)=>({id:t,fun:Rs.XcmV3MultiassetFungibility.Fungible(e)});var Er="XTransfer",zc=()=>({build:async({address:t,amount:e,asset:s,destination:a,source:o})=>{let r="V3",i=V(t),u=o.chain,c=a.chain,d=G(N(u,s),r),b=vr(d,e),y=Pr(c,i),w="transfer";return new Ir.ExtrinsicConfig({module:Er,func:w,getTx:k=>k.getUnsafeApi().tx[Er][w]([b,y,{refTime:5e9,proofSize:0}])})}}),Oa=()=>({transfer:zc});function m(){return{assetConversion:qo,assets:Jo,balances:Yo,ethereumXcm:Sa,polkadotXcm:Na,router:tr,utility:ar,xTokens:Ga,xTransfer:Oa}}function wt(t,e){return{prior:function(s){return{build:async a=>t(a)?m().utility().batchAll([e,s]).build(a):s.build(a)}},priorMulti:function(s){return{build:async a=>t(a)?m().utility().batchAll([e,...s]).build(a):m().utility().batchAll([...s]).build(a)}}}}var Ht=require("@galacticcouncil/xc-core");var za={};ls(za,{AssethubClient:()=>pe,BaseClient:()=>kt,HydrationClient:()=>at});var Fr=require("@galacticcouncil/common"),On=require("@galacticcouncil/descriptors"),kt=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??On.hub}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=(0,Fr.encodeLocation)(o),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(a.value,On.XcmVersionedAssetId.V4(r));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};var Ss=require("@galacticcouncil/descriptors"),_r=require("@galacticcouncil/common"),zn=require("@polkadot-api/substrate-bindings"),Xr=require("@polkadot-api/utils");var pe=class extends kt{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),a=this.chain.getAssetXcmLocation(e),o=(0,_r.encodeLocation)(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=(0,Xr.toHex)((0,zn.Twox128)(s)),o=await this.client._request("state_getStorage",[a]);if(!o)return e.defaultFee;let r=zn.u128.dec(o);return r===0n?e.defaultFee:r}async calculateDeliveryFee(e,s){let a=Ss.XcmVersionedLocation.V5({parents:1,interior:Ss.XcmV5Junctions.X1(Ss.XcmV5Junction.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.")}};var Rr=require("@galacticcouncil/descriptors");var at=class extends kt{constructor(e){super(e,Rr.hydration)}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 qc(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let a=s,o=e,r=Ht.Wormhole.fromChain(a),i=Ht.Wormhole.fromChain(o),u=a.getAssetId(t),c=a.getAssetDecimals(t);return{amount:await a.evmClient.getProvider().readContract({abi:Ht.Abi.TokenRelayer,address:r.getTokenRelayer(),args:[i.getWormholeId(),u,c],functionName:"calculateRelayerFee"})}}})}}function jc(){return{TokenRelayer:qc}}function Jc(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:a})=>{let o=a,r=s,i=Ht.Snowbridge.fromChain(o),u=new kt(r),c=new pe(t.hub),d=Ka(e,r),[b,y]=await Promise.all([u.calculateDestinationFee(d,A),c.calculateDeliveryFee(d,r.parachainId)]),w=y+Ln(b,25n),k=o.getAssetId(e);return{amount:await o.evmClient.getProvider().readContract({abi:Ht.Abi.Snowbridge,address:i.getGateway(),args:[k,r.parachainId,w],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:w}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:a})=>{let o=a,r=new pe(t.hub),i=Ar(e,o),u=Ka(e,o),[c,d,b,y,w]=await Promise.all([r.getBridgeDeliveryFee(),r.calculateDeliveryFee(i,ur),r.calculateDestinationFee(i,s),r.calculateDeliveryFee(u,o.parachainId),r.calculateDestinationFee(u,s)]);return{amount:c+d+Ln(b,25n)+y+Ln(w,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:d,assetHubDestinationFee:b,returnToSenderDeliveryFee:y,returnToSenderDestinationFee:w}}}})}}function ot(){return{Snowbridge:Jc,Wormhole:jc}}var $c="0";function Qc(){return{build:async({address:t,chain:e})=>{let a=await new at(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),o=a?a.toString():$c,r=e.findAssetById(o);return r?r.asset:q}}}var Yc=()=>({accountCurrencyMap:Qc});function Os(){return{multiTransactionPayment:Yc}}var he=require("@galacticcouncil/xc-core"),ce=require("@solana/spl-token"),rt=require("@solana/web3.js"),qa=require("@wormhole-foundation/sdk-connect"),Mt=require("@wormhole-foundation/sdk-solana-tokenbridge"),Zc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=he.Wormhole.fromChain(u),b=he.Wormhole.fromChain(t.moonchain),y=he.Precompile.Bridge,w=await he.mrl.createPayload(i.chain,s),k=new rt.PublicKey(r),P=new qa.UniversalAddress(y),v=b.getWormholeId(),L=k,Y=0,ne=rt.Keypair.generate(),T=rt.Keypair.generate(),ms=await(0,ce.getMinimumBalanceForRentExemptAccount)(c.connection),Ot=rt.SystemProgram.createAccount({fromPubkey:L,newAccountPubkey:T.publicKey,lamports:ms,space:ce.ACCOUNT_SIZE,programId:ce.TOKEN_PROGRAM_ID}),Pt=rt.SystemProgram.transfer({fromPubkey:L,lamports:a,toPubkey:T.publicKey}),vt=(0,ce.createInitializeAccountInstruction)(T.publicKey,ce.NATIVE_MINT,L),Et=(0,Mt.createApproveAuthoritySignerInstruction)(d.getTokenBridge(),T.publicKey,L,a),it=(0,Mt.createTransferNativeWithPayloadInstruction)(c.connection,d.getTokenBridge(),d.getCoreBridge(),r,ne.publicKey,T.publicKey,ce.NATIVE_MINT,Y,a,P.toUint8Array(),v,w.toU8a()),us=(0,ce.createCloseAccountInstruction)(T.publicKey,L,L);return new he.ProgramConfig({instructions:[Ot,Pt,vt,Et,it,us],signers:[ne,T],func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),e0=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,asset:o,source:r,sender:i,destination:u}=e,c=r.chain,d=c,b=he.Wormhole.fromChain(c),y=he.Wormhole.fromChain(t.moonchain),w=he.Precompile.Bridge,k=await he.mrl.createPayload(u.chain,s),P=new rt.PublicKey(i),v=r.chain.getAssetId(o),L=new rt.PublicKey(v),Y=await(0,ce.getAssociatedTokenAddress)(L,P),ne=new qa.UniversalAddress(w),T=y.getWormholeId();if(await(0,Mt.getWrappedMeta)(d.connection,b.getTokenBridge(),L).catch(it=>null).then(it=>it!=null))throw new Error("Wrapped assets not supported yet");let Ot=0,Pt=rt.Keypair.generate(),vt=(0,Mt.createApproveAuthoritySignerInstruction)(b.getTokenBridge(),Y,P,a),Et=(0,Mt.createTransferNativeWithPayloadInstruction)(d.connection,b.getTokenBridge(),b.getCoreBridge(),i,Pt.publicKey,Y,L,Ot,a,ne.toUint8Array(),T,k.toU8a());return new he.ProgramConfig({instructions:[vt,Et],signers:[Pt],func:"TransferWithPayload",module:"TokenBridge"})}})}),Sr=()=>({transferNativeWithPayload:Zc,transferTokenWithPayload:e0});function Lr(){return{TokenBridge:Sr}}function qn(){return{Wormhole:Lr}}var Ct=require("@galacticcouncil/xc-core"),Dr=require("@mysten/sui/transactions"),jn=require("@mysten/sui/utils"),Hr=require("@wormhole-foundation/sdk-connect"),zs=require("@wormhole-foundation/sdk-sui"),t0=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:a,source:o,sender:r,destination:i}=e,u=o.chain,c=u,d=Ct.Wormhole.fromChain(u),b=Ct.Wormhole.fromChain(t.moonchain),y=0,w=Ct.Precompile.Bridge,k=await Ct.mrl.createPayload(i.chain,s),P=new Hr.UniversalAddress(w),v=b.getWormholeId(),L=jn.SUI_TYPE_ARG,[Y,ne]=await Promise.all([(0,zs.getPackageId)(c.client,d.coreBridge),(0,zs.getPackageId)(c.client,d.tokenBridge)]),T=new Dr.Transaction,[ms]=T.splitCoins(T.gas,[T.pure.u64(a)]),[Ot]=T.splitCoins(T.gas,[T.pure.u64(i.fee.amount)]),[Pt]=T.moveCall({target:`${ne}::state::verified_asset`,arguments:[T.object(d.tokenBridge)],typeArguments:[L]}),vt=!1,Et=await(async()=>{let ro=await(0,zs.getOldestEmitterCapObjectId)(c.client,Y,r);if(ro!==null)return T.object(ro);{let[Li]=T.moveCall({target:`${Y}::emitter::new`,arguments:[T.object(d.coreBridge)]});return vt=!0,Li}})(),[it,us]=T.moveCall({target:`${ne}::transfer_tokens_with_payload::prepare_transfer`,arguments:[Et,Pt,ms,T.pure.u16(v),T.pure.vector("u8",P.toUint8Array()),T.pure.vector("u8",k.toU8a()),T.pure.u32(y)],typeArguments:[L]});T.moveCall({target:`${ne}::coin_utils::return_nonzero`,arguments:[us],typeArguments:[L]});let[Ca]=T.moveCall({target:`${ne}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[T.object(d.tokenBridge),it],typeArguments:[L]});return T.moveCall({target:`${Y}::publish_message::publish_message`,arguments:[T.object(d.coreBridge),Ot,Ca,T.object(jn.SUI_CLOCK_OBJECT_ID)]}),vt&&T.transferObjects([Et],T.pure.address(r)),new Ct.MoveConfig({transaction:T,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Mr=()=>({transferNativeWithPayload:t0});function Wr(){return{TokenBridge:Mr}}function ja(){return{Wormhole:Wr}}var $a={};ls($a,{Tag:()=>Wt});var Wt=(o=>(o.Wormhole="Wormhole",o.Relayer="Relayer",o.Snowbridge="Snowbridge",o.Mrl="Mrl",o))(Wt||{});var Qa=require("@galacticcouncil/xc-core");function Ls(t,e){return new Qa.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{asset:t,balance:n().evm().erc20()}},destination:{chain:l,asset:e,fee:{amount:0,asset:e}},contract:E().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})}function me(t,e){return new Qa.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:e,fee:{amount:ot().Snowbridge().calculateInboundFee({hub:S}),asset:D}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]})}var s0=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),destinationFee:{asset:D,balance:n().evm().native()}},destination:{chain:l,asset:ee,fee:{amount:0,asset:ee}},contract:E().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]}),Ls(le,te),Ls(Ze,Ce),Ls(g,j),Ls(f,ke),Ls(ct,we)],n0=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),fee:{asset:D,balance:n().evm().native()},destinationFee:{balance:n().evm().native()}},destination:{chain:l,asset:D,fee:{amount:ot().Snowbridge().calculateInboundFee({hub:S}),asset:D}},contract:E().Snowbridge().sendToken(),tags:["Snowbridge"]}),me(ve,ve),me(Fe,Fe),me(Re,Re),me(Ne,Ne),me(ze,ze),me(qe,qe),me(He,He),me(Le,Le),me(We,We),me(Oe,Oe),me($e,$e),me(tt,tt),me(g,jt),me(f,qt)],Bh=[new ns.AssetRoute({source:{asset:D,balance:n().evm().native(),destinationFee:{asset:D,balance:n().evm().erc20()}},destination:{chain:X,asset:ee,fee:{amount:0,asset:ee}},contract:E().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new ns.AssetRoute({source:{asset:le,balance:n().evm().erc20(),fee:{asset:D,balance:n().evm().native()},destinationFee:{asset:le,balance:n().evm().erc20()}},destination:{chain:X,asset:te,fee:{amount:0,asset:te}},contract:E().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Kr=new ns.ChainRoutes({chain:_,routes:[...s0,...n0]});var Vr=[Kr];var Kt=require("@galacticcouncil/xc-core");var a0=[new Kt.AssetRoute({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 Kt.AssetRoute({source:{asset:Xe,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:Xe,fee:{amount:.002926334210356268,asset:Xe}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:et,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:et,fee:{amount:6e-8,asset:et}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:Ye,balance:n().evm().erc20(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:l,asset:Ye,fee:{amount:956965470918e-18,asset:Ye}},extrinsic:m().xTokens().transfer()}),new Kt.AssetRoute({source:{asset:ye,balance:n().substrate().tokens().accounts(),fee:{asset:O,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:ye,fee:{amount:.011,asset:ye}},extrinsic:m().xTokens().transfer()})],Ur=new Kt.ChainRoutes({chain:mt,routes:[...a0]});var Vt=require("@galacticcouncil/xc-core");var Jn=require("@galacticcouncil/xc-core");var as=0,o0=t=>{let{source:e}=t;return!!e.feeSwap},r0=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Nr=m().assetConversion().swapTokensForExactTokens({slippage:30});function Gr(t,e,s){return new Jn.AssetRoute({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().assets().account()},min:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:f}},extrinsic:wt(r0,Nr).prior(m().polkadotXcm().limitedReserveTransferAssets())})}function $n(t,e,s){return new Jn.AssetRoute({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:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:wt(o0,Nr).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function os(t,e,s){return new Jn.AssetRoute({source:{asset:t,balance:n().substrate().assets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().assets().account()},min:Ft().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function rs(t){return Gr(t,l,.02)}function Or(t){return Gr(t,X,.25)}var i0=[new Vt.AssetRoute({source:{asset:A,balance:n().substrate().system().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().system().account()},min:Ft().assets().asset()},destination:{chain:l,asset:A,fee:{amount:.001,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new Vt.AssetRoute({source:{asset:B,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:l,asset:B,fee:{amount:1e-4,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),os(f,l,.02),os(g,l,.02),rs(Z),rs(pt),rs(ht),rs(bt)],c0=[new Vt.AssetRoute({source:{asset:B,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:nt,asset:B,fee:{amount:.001,asset:B}},extrinsic:m().polkadotXcm().transferAssets()})],m0=[os(f,X,.25),os(g,X,.25),Or(Z)],u0=[os(f,$,.03),os(g,$,.03)],l0=[new Vt.AssetRoute({source:{asset:U,balance:n().substrate().foreignAssets().account(),fee:{asset:A,balance:n().substrate().system().account(),extra:as},destinationFee:{balance:n().substrate().foreignAssets().account()}},destination:{chain:It,asset:U,fee:{amount:2.5,asset:U}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],zr=new Vt.ChainRoutes({chain:S,routes:[...i0,...c0,...m0,...u0,...l0]}),qr=new Vt.ChainRoutes({chain:fs,routes:[$n(f,l,.02),$n(g,l,.02),$n(A,l,.001)]});var ge=require("@galacticcouncil/xc-core");var d0=[new ge.AssetRoute({source:{asset:R,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:R,fee:{amount:.044306118,asset:R}},extrinsic:m().polkadotXcm().reserveTransferAssets()}),new ge.AssetRoute({source:{asset:F,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:F,fee:{amount:.1,asset:F}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:x,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:x,fee:{amount:.04,asset:x}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:W,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:W,fee:{amount:2e-6,asset:W}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:H,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:H,fee:{amount:.2,asset:H}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:Ue,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:Ue,fee:{amount:.3,asset:Ue}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:M,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:M,fee:{amount:4e-4,asset:M}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:J,balance:n().substrate().assets().account(),fee:{asset:R,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 ge.AssetRoute({source:{asset:f,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new ge.AssetRoute({source:{asset:g,balance:n().substrate().assets().account(),fee:{asset:R,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().assets().account()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()})],jr=new ge.ChainRoutes({chain:re,routes:[...d0]});var be=require("@galacticcouncil/xc-core");var f0=[new be.AssetRoute({source:{asset:F,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:F,fee:{amount:.014645,asset:F}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:M,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:M,fee:{amount:555e-6,asset:M}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:J,balance:n().substrate().tokens().accounts(),fee:{asset:F,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 be.AssetRoute({source:{asset:A,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new be.AssetRoute({source:{asset:R,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:R,fee:{amount:.5,asset:R}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.1,asset:x}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:W,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:W,fee:{amount:2e-6,asset:W}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new be.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()})],p0=[new be.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:S,asset:f,fee:{amount:.18,asset:f}},extrinsic:m().xTokens().transferMultiassets()}),new be.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:F,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:S,asset:g,fee:{amount:.18,asset:g}},extrinsic:m().xTokens().transferMultiassets()})],Jr=new be.ChainRoutes({chain:$,routes:[...f0,...p0]});var qs=require("@galacticcouncil/xc-core");var h0=[new qs.AssetRoute({source:{asset:Ae,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ae,fee:{amount:.006373834498834048,asset:Ae}},extrinsic:m().xTokens().transfer()}),new qs.AssetRoute({source:{asset:x,balance:n().substrate().ormlTokens().accounts(),fee:{asset:Ae,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().ormlTokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.05,asset:x}},extrinsic:m().xTokens().transfer()})],$r=new qs.ChainRoutes({chain:$t,routes:[...h0]});var dt=require("@galacticcouncil/xc-core");var b0="0",I=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===b0?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),ue=()=>({asset:Os().multiTransactionPayment().accountCurrencyMap(),balance:I()});var is=require("@galacticcouncil/xc-core");var y0=.9,x0=1,g0=.03,Qn=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Yn=m().router().buy({slippage:30});function C(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}function cs(t){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:t,fee:{amount:.18,asset:f}},extrinsic:wt(Qn,Yn).prior(m().xTokens().transferMultiassets())})}function Zn(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:fs,asset:t,fee:{amount:e,asset:t}},extrinsic:m().utility().batchAll([s,m().polkadotXcm().send().transferAsset({fee:g0})])})}function Qr(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:e,asset:t,fee:{amount:s,asset:x}},extrinsic:wt(Qn,Yn).prior(m().xTokens().transferMultiCurrencies())})}function Ut(t){return Qr(t,X,.08)}function Yr(t){return Qr(t,yt,.1)}function Zr(t,e,s,a,o,r){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{asset:t,balance:I()}},destination:{chain:s,asset:e,fee:{amount:a,asset:e}},extrinsic:wt(Qn,Yn).priorMulti([m().xTokens().transferMultiCurrencies(),m().polkadotXcm().send().transact({fee:y0})]),transact:{chain:X,fee:{amount:x0,asset:x,balance:I()},extrinsic:m().ethereumXcm().transact(o)},tags:r})}function Ya(t,e,s){return Zr(t,e,s,0,E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenBridge()),E().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Nt(t,e,s){return Zr(t,e,s,ot().Wormhole().TokenRelayer().calculateRelayerFee(),E().Batch().batchAll([E().Erc20().approve(a=>a.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function se(t,e,s){return new is.AssetRoute({source:{asset:t,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:s,asset:e,fee:{amount:ot().Snowbridge().calculateOutboundFee({hub:S}),asset:A}},extrinsic:wt(Qn,Yn).prior(m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var A0=[C(Xe,mt,92696e-8),C(et,mt,4e-8),C(Ye,mt,687004e-12),C(O,mt,1),C(ye,mt,.06)],w0=[new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:A,fee:{amount:.19,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new dt.AssetRoute({source:{asset:B,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:B,fee:{amount:.05,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})}),new dt.AssetRoute({source:{asset:f,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:f,fee:{amount:.07,asset:f}},extrinsic:m().xTokens().transferMultiasset()}),new dt.AssetRoute({source:{asset:g,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:S,asset:g,fee:{amount:.07,asset:g}},extrinsic:m().xTokens().transferMultiasset()}),cs(Z),cs(pt),cs(ht),cs(bt)],k0=[C(R,re,.00404146544),C(F,re,.75),C(x,re,.025),C(W,re,2e-6),C(H,re,.01),C(Ue,re,.3),C(M,re,4e-4),C(J,re,.005),C(f,re,.3),C(g,re,.3)],C0=[C(F,$,563136e-9),C(M,$,703e-10),C(J,$,643e-9),C(A,$,.1),C(R,$,.5),C(x,$,.1),C(W,$,5e-6),C(f,$,.3),C(g,$,.3),new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:$,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],T0=[C(Ae,$t,.0092696),C(x,$t,.05)],B0=[C(W,Te,62e-8),C(H,Te,.0019213457),C(q,Te,.5),C(f,Te,.3),C(g,Te,.3),new dt.AssetRoute({source:{asset:M,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:Te,asset:M,fee:{amount:.01,asset:A}},extrinsic:m().xTokens().transfer()}),new dt.AssetRoute({source:{asset:A,balance:I(),fee:ue(),destinationFee:{balance:I()}},destination:{chain:Te,asset:A,fee:{amount:.05,asset:A}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],P0=[C(q,X,5),C(x,X,.01),C(f,X,.3),C(g,X,.3),Ut(te),Ut(we),Ut(j),Ut(ke),Ut(Ce),Ut(ee),Ut(z)],v0=[C(xe,yt,.0093),C(x,yt,.002),Yr(j)],E0=[C(U,It,2.5)],I0=[C(Qe,As,0)],F0=[C(_e,ps,.04)],_0=[C(Se,bs,.02)],X0=[C(De,ys,.1)],R0=[C(Me,ws,.02)],S0=[C(Ve,gs,1.1)],L0=[C(Ke,xs,.205)],D0=[C(Ge,hs,4)],H0=[C(Ee,ds,.001)],M0=[Nt(te,le,_),Nt(ee,D,_),Nt(Ce,Ze,_),Nt(ke,f,_),Nt(j,g,_),Ya(we,ct,_)],W0=[se(D,D,_),se(ve,ve,_),se(Fe,Fe,_),se(Re,Re,_),se(Ne,Ne,_),se(ze,ze,_),se(qe,qe,_),se($e,$e,_),se(He,He,_),se(Le,Le,_),se(We,We,_),se(Oe,Oe,_),se(tt,tt,_),se(jt,g,_),se(qt,f,_)],K0=[Nt(z,z,Qt),Ya(ae,ae,Qt)],V0=[Nt(oe,oe,ks)],U0=[Zn(f,.1,m().xTokens().transferMultiasset()),Zn(g,.1,m().xTokens().transferMultiasset()),Zn(A,.2,m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}))],ei=new dt.ChainRoutes({chain:l,routes:[...A0,...H0,...w0,...k0,...C0,...T0,...U0,...F0,...D0,...W0,...M0,...B0,..._0,...X0,...R0,...P0,...E0,...L0,...S0,...K0,...V0,...I0,...v0]});var ft=require("@galacticcouncil/xc-core");var N0=[new ft.AssetRoute({source:{asset:H,balance:n().substrate().tokens().accounts(),destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:H,fee:{amount:.13,asset:H}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:W,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:W,fee:{amount:.03,asset:H}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:q,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:q,fee:{amount:.1,asset:q}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:M,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:M,fee:{amount:.001,asset:M}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:f,fee:{amount:.3,asset:f}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:g,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:g,fee:{amount:.3,asset:g}},extrinsic:m().xTokens().transfer()}),new ft.AssetRoute({source:{asset:A,balance:n().substrate().tokens().accounts(),fee:{asset:H,balance:n().substrate().tokens().accounts()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:A,fee:{amount:.1,asset:A}},extrinsic:m().xTokens().transfer()})],ti=new ft.ChainRoutes({chain:Te,routes:[...N0]});var Tt=require("@galacticcouncil/xc-core");var Za=require("@galacticcouncil/xc-core");function G0(t,e,s){return new Za.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:E().Xtokens().transfer()})}function O0(t,e,s){return new Za.AssetRoute({source:{asset:t,balance:n().evm().erc20(),fee:{asset:x,balance:n().evm().erc20()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:E().Xtokens().transfer()})}function Gt(t,e){return G0(t,l,e)}function ea(t,e){return O0(t,l,e)}var z0=[new Tt.AssetRoute({source:{asset:x,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:x,fee:{amount:.05,asset:x}},contract:E().Xtokens().transfer()}),ea(q,.6),ea(f,.3),ea(g,.3),Gt(te,.004),Gt(we,.004),Gt(j,.004),Gt(ke,.004),Gt(Ce,1e-7),Gt(ee,2e-6),Gt(z,2e-5)],q0=[new Tt.AssetRoute({source:{asset:Z,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:Z,fee:{amount:.18,asset:f}},contract:E().Xtokens().transferMultiCurrencies()}),new Tt.AssetRoute({source:{asset:f,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:f,fee:{amount:.18,asset:f}},contract:E().Xtokens().transfer()}),new Tt.AssetRoute({source:{asset:g,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{balance:n().evm().erc20()}},destination:{chain:S,asset:g,fee:{amount:.18,asset:g}},contract:E().Xtokens().transfer()})],Gb=[new Tt.AssetRoute({source:{asset:ee,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{asset:ee,balance:n().evm().erc20()}},destination:{chain:_,asset:D,fee:{amount:ot().Wormhole().TokenRelayer().calculateRelayerFee(),asset:D}},contract:E().Batch().batchAll([E().Erc20().approve(t=>t.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new Tt.AssetRoute({source:{asset:te,balance:n().evm().erc20(),fee:{asset:x,balance:n().substrate().system().account()},destinationFee:{asset:te,balance:n().evm().erc20()}},destination:{chain:_,asset:le,fee:{amount:ot().Wormhole().TokenRelayer().calculateRelayerFee(),asset:le}},contract:E().Batch().batchAll([E().Erc20().approve(t=>t.getTokenRelayer()),E().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],si=new Tt.ChainRoutes({chain:X,routes:[...z0,...q0]});var js=require("@galacticcouncil/xc-core");var j0=[new js.AssetRoute({source:{asset:U,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:U,fee:{amount:.01,asset:U}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],J0=[new js.AssetRoute({source:{asset:U,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:S,asset:U,fee:{amount:.1,asset:U}},extrinsic:m().polkadotXcm().limitedTeleportAssets()})],ni=new js.ChainRoutes({chain:It,routes:[...j0,...J0]});var ta=require("@galacticcouncil/xc-core");var $0=[new ta.AssetRoute({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()})],ai=new ta.ChainRoutes({chain:As,routes:[...$0]});var Ds=require("@galacticcouncil/xc-core");var Q0=[new Ds.AssetRoute({source:{asset:xe,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:xe,fee:{amount:.0225,asset:xe}},extrinsic:m().xTokens().transfer()}),new Ds.AssetRoute({source:{asset:x,balance:n().substrate().tokens().accounts(),fee:{asset:xe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:x,fee:{amount:.0035,asset:x}},extrinsic:m().xTokens().transfer()}),new Ds.AssetRoute({source:{asset:j,balance:n().substrate().tokens().accounts(),fee:{asset:xe,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:l,asset:j,fee:{amount:.1,asset:x}},extrinsic:m().xTokens().transferMultiCurrencies()})],oi=new Ds.ChainRoutes({chain:yt,routes:[...Q0]});var sa=require("@galacticcouncil/xc-core");var Y0=[new sa.AssetRoute({source:{asset:_e,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:_e,fee:{amount:.01,asset:_e}},extrinsic:m().xTokens().transfer()})],ri=new sa.ChainRoutes({chain:ps,routes:[...Y0]});var na=require("@galacticcouncil/xc-core");var Z0=[new na.AssetRoute({source:{asset:Se,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Se,fee:{amount:.03,asset:Se}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],ii=new na.ChainRoutes({chain:bs,routes:[...Z0]});var aa=require("@galacticcouncil/xc-core");var em=[new aa.AssetRoute({source:{asset:Ve,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ve,fee:{amount:.2,asset:Ve}},extrinsic:m().xTokens().transfer()})],ci=new aa.ChainRoutes({chain:gs,routes:[...em]});var oa=require("@galacticcouncil/xc-core");var tm=[new oa.AssetRoute({source:{asset:Ge,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ge,fee:{amount:2,asset:Ge}},extrinsic:m().xTokens().transfer()})],mi=new oa.ChainRoutes({chain:hs,routes:[...tm]});var ra=require("@galacticcouncil/xc-core");var sm=[new ra.AssetRoute({source:{asset:Ee,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ee,fee:{amount:.001,asset:Ee}},extrinsic:m().xTokens().transfer()})],ui=new ra.ChainRoutes({chain:ds,routes:[...sm]});var ia=require("@galacticcouncil/xc-core");var nm=[new ia.AssetRoute({source:{asset:De,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:De,fee:{amount:2,asset:De}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],li=new ia.ChainRoutes({chain:ys,routes:[...nm]});var ca=require("@galacticcouncil/xc-core");var am=[new ca.AssetRoute({source:{asset:Me,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Me,fee:{amount:.03,asset:Me}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],di=new ca.ChainRoutes({chain:ws,routes:[...am]});var ma=require("@galacticcouncil/xc-core");var om=[new ma.AssetRoute({source:{asset:Ke,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:l,asset:Ke,fee:{amount:.205,asset:Ke}},extrinsic:m().polkadotXcm().reserveTransferAssets()})],fi=new ma.ChainRoutes({chain:xs,routes:[...om]});var pi=[Ur,ui,zr,qr,jr,Jr,$r,ei,ti,si,ni,fi,ai,oi,ri,ii,ci,mi,li,di];var Js=require("@galacticcouncil/xc-core");var rm=[new Js.AssetRoute({source:{asset:z,balance:n().solana().native(),destinationFee:{asset:z,balance:n().solana().native()}},destination:{chain:l,asset:z,fee:{amount:0,asset:z}},program:qn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]}),new Js.AssetRoute({source:{asset:ae,balance:n().solana().token(),fee:{asset:z,balance:n().solana().native()},destinationFee:{asset:ae,balance:n().solana().token()}},destination:{chain:l,asset:ae,fee:{amount:0,asset:ae}},program:qn().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})],hi=new Js.ChainRoutes({chain:Qt,routes:[...rm]});var bi=[hi];var ua=require("@galacticcouncil/xc-core");var im=[new ua.AssetRoute({source:{asset:oe,balance:n().sui().native(),destinationFee:{asset:oe,balance:n().sui().native()}},destination:{chain:l,asset:oe,fee:{amount:0,asset:oe}},move:ja().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:X}),tags:["Mrl","Wormhole"]})],yi=new ua.ChainRoutes({chain:ks,routes:[...im]});var xi=[yi];var $s=require("@galacticcouncil/xc-core");var cm=require("@galacticcouncil/xc-core");var eo=0;var mm=new $s.AssetRoute({source:{asset:B,balance:n().substrate().system().account(),fee:{asset:B,balance:n().substrate().system().account(),extra:eo},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:S,asset:B,fee:{amount:.002,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),um=new $s.AssetRoute({source:{asset:B,balance:n().substrate().system().account(),fee:{asset:B,balance:n().substrate().system().account(),extra:eo},destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:B,fee:{amount:.0012,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),gi=new $s.ChainRoutes({chain:nt,routes:[um,mm]});var Zs=require("@galacticcouncil/xc-core");var lm="0",Bt=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===lm?n().substrate().system().account().build({address:t,asset:e,chain:s}):n().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),Qs=()=>({asset:Os().multiTransactionPayment().accountCurrencyMap(),balance:Bt()});var Ai=require("@galacticcouncil/xc-core");function Ys(t,e,s){return new Ai.AssetRoute({source:{asset:t,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:m().xTokens().transfer()})}var dm=[new Zs.AssetRoute({source:{asset:f,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:nt,asset:f,fee:{amount:.0012,asset:f}},extrinsic:m().xTokens().transferMultiasset()})],fm=[new Zs.AssetRoute({source:{asset:B,balance:Bt(),fee:Qs(),destinationFee:{balance:Bt()}},destination:{chain:nt,asset:B,fee:{amount:.0012,asset:B}},extrinsic:m().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],wi=new Zs.ChainRoutes({chain:de,routes:[...dm,...fm,Ys(Ie,Ts,.0933),Ys(je,Cs,4e-6),Ys(st,Bs,464e-8),Ys(Je,Ps,.0095)]});var la=require("@galacticcouncil/xc-core");var pm=[new la.AssetRoute({source:{asset:je,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:je,fee:{amount:.00275,asset:je}},extrinsic:m().xTokens().transfer()})],ki=new la.ChainRoutes({chain:Cs,routes:[...pm]});var en=require("@galacticcouncil/xc-core");var hm=[new en.AssetRoute({source:{asset:f,balance:n().substrate().tokens().accounts(),fee:{asset:zt,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:nt,asset:f,fee:{amount:.0012,asset:f}},extrinsic:m().xTokens().transferMultiasset()})],bm=[new en.AssetRoute({source:{asset:Ie,balance:n().substrate().tokens().accounts(),fee:{asset:zt,balance:n().substrate().system().account()},destinationFee:{balance:n().substrate().tokens().accounts()}},destination:{chain:de,asset:Ie,fee:{amount:22,asset:Ie}},extrinsic:m().xTokens().transfer()})],Ci=new en.ChainRoutes({chain:Ts,routes:[...hm,...bm]});var da=require("@galacticcouncil/xc-core");var ym=[new da.AssetRoute({source:{asset:Je,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:Je,fee:{amount:.014,asset:Je}},extrinsic:m().xTokens().transfer()})],Ti=new da.ChainRoutes({chain:Ps,routes:[...ym]});var fa=require("@galacticcouncil/xc-core");var xm=[new fa.AssetRoute({source:{asset:st,balance:n().substrate().system().account(),destinationFee:{balance:n().substrate().system().account()}},destination:{chain:de,asset:st,fee:{amount:5e-4,asset:st}},extrinsic:m().polkadotXcm().limitedReserveTransferAssets()})],Bi=new fa.ChainRoutes({chain:Bs,routes:[...xm]});var Pi=[gi,wi,ki,Ci,Ti,Bi];var gm=[...Vr,...pi,...bi,...xi,...Pi],vi=new Map(gm.map(t=>[t.chain.key,t]));var to=require("@galacticcouncil/xc-core");var Hs=require("@galacticcouncil/xc-core");var pa=class extends Hs.TransferValidation{async validate(e){let{source:s}=e,{chain:a,fee:o,feeBalance:r}=s;if(r.amount<o.amount)throw new Hs.TransferValidationError("Insufficient_Fee_Balance",{amount:o.toDecimal(o.decimals),asset:o.symbol,chain:a.name,error:"fee.insufficientBalance"})}},ha=class extends Hs.TransferValidation{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 Hs.TransferValidationError("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 pe(e).getAssetMin(s);let o=e.getAssetMin(s)*10**s.decimals;return BigInt(o)}};var Ms=require("@galacticcouncil/xc-core");var ba=class extends Ms.TransferValidation{async skipFor(e){let{asset:s,destination:a}=e,o=a.chain;return await new pe(o).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:a,destination:o}=e,r=o.chain;if(await new pe(r).getSystemAccountBalance(a)===0n)throw new Ms.TransferValidationError("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:o.chain.name,error:"account.insufficientDeposit"})}},ya=class extends Ms.TransferValidation{async validate(e){let{asset:s,sender:a,source:o}=e,r=o.chain;if(await new pe(r).checkIfFrozen(a,s))throw new Ms.TransferValidationError("Asset_Frozen",{asset:s.originSymbol,chain:o.chain.name,error:"asset.frozen"})}};var Ws=require("@galacticcouncil/xc-core");var Am=12,wm=1,km=18,xa=class extends Ws.TransferValidation{async skipFor(e){let{destination:s}=e,a=s.chain,o=new at(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 at(r),u=await i.getFeeAsset(a),c=r.findAssetById(u),d=c.min||wm,b=c.decimals||Am,y=d*Math.pow(10,b),w=await i.getAssetBalance(a,u);if(BigInt(y*1.1)>w)throw new Ws.TransferValidationError("Insufficient_Ed",{amount:y,asset:c.asset.originSymbol,chain:r.name,error:"account.insufficientDeposit"})}},ga=class extends Ws.TransferValidation{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 at(r),u=r.getBalanceAssetId(x),c=r.getAssetDecimals(x)||km,d=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(a,u.toString())<BigInt(d))throw new Ws.TransferValidationError("Insufficient_Ed",{amount:1,asset:x.originSymbol,chain:r.name,error:"destFee.insufficientBalance"})}};var Pe={isAny:()=>!0,isHydration:t=>t instanceof to.Parachain&&t.parachainId===2034,isHub:t=>t instanceof to.Parachain&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},Ei=[new pa(Pe.isAny,Pe.isAny),new ha(Pe.isAny,Pe.isAny),new ba(Pe.isAny,Pe.isHub),new ya(Pe.isHub,Pe.isAny),new xa(Pe.isAny,Pe.isHydration),new ga(Pe.isHydration,Pe.isAny)];var oo={};ls(oo,{AssethubDex:()=>ao,HydrationDex:()=>so});var Ks=require("@galacticcouncil/sdk-next"),Fi=require("@galacticcouncil/common");var Ii=(t,e=new Map)=>s=>{let a;return e.has(s)?e.get(s):(e.set(s,a=t(s)),a)};var{PoolType:Aa}=Ks.pool,{TradeRouteBuilder:Cm,TradeRouter:Tm}=Ks.sor,{TxBuilderFactory:Bm}=Ks.tx,so=class{chain;client;poolCtx;txBuilder;getCtx=Ii(async e=>{console.log("init swap router",e,"\u2705");let s=new Tm(this.poolCtx);return s.withFilter({useOnly:[Aa.Aave,Aa.Omni,Aa.Stable,Aa.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new at(this.chain),this.txBuilder=new Bm(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),b=await d.getMostLiquidRoute(i,u),y=await d.getBuy(i,u,c,b);return(await(await this.txBuilder.trade(y).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),b=await c.getBuy(r,i,u,d);return{amount:b.amountIn,route:Cm.build(b.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,Fi.RUNTIME_DECIMALS);return r/BigInt(i)}};var no=require("@galacticcouncil/common"),ao=class{chain;client;constructor(e){this.chain=e,this.client=new pe(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((0,no.encodeLocation)(o),(0,no.encodeLocation)(r),a.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};var Si=require("@galacticcouncil/xc-core");var _i=require("@galacticcouncil/xc-core");function wa(t){let{id:e,origin:s,symbol:a}=t,o=a.toLowerCase();return new _i.Asset({key:[o,s,e].join("_"),originSymbol:a})}function Xi(t){let{decimals:e,id:s}=t;return{asset:wa(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function Ri(t){let{decimals:e,id:s,internalId:a,origin:o}=t;return{asset:wa(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 ka=class extends Si.ConfigService{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=wa(r),u=Xi(r),c=Ri(r);console.log("\u{1F480} Registering "+i.key),a.updateAsset(u),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(a,rs(i)),this.updateChainRoute(s,cs(i))})}};0&&(module.exports={HydrationConfigService,assetsMap,builders,chainsMap,clients,dex,routesMap,tags,validations});