@galacticcouncil/xc-cfg 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +1 -1
- package/build/index.mjs +1 -1
- package/package.json +1 -1
package/build/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var vn=Object.defineProperty;var Ar=Object.getOwnPropertyDescriptor;var wr=Object.getOwnPropertyNames;var Cr=Object.prototype.hasOwnProperty;var Mt=(t,e)=>{for(var s in e)vn(t,s,{get:e[s],enumerable:!0})},kr=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of wr(e))!Cr.call(t,a)&&a!==s&&vn(t,a,{get:()=>e[a],enumerable:!(n=Ar(e,a))||n.enumerable});return t};var Tr=t=>kr(vn({},"__esModule",{value:!0}),t);var zc={};Mt(zc,{HydrationConfigService:()=>kn,assetsMap:()=>ca,builders:()=>$n,chainsMap:()=>Aa,clients:()=>qn,dex:()=>ia,routesMap:()=>lr,tags:()=>Jn,validations:()=>dr});module.exports=Tr(zc);var x=require("@galacticcouncil/xc-core"),Fe=new x.Asset({key:"aave",originSymbol:"AAVE"}),Xe=new x.Asset({key:"ajun",originSymbol:"AJUN"}),L=new x.Asset({key:"astr",originSymbol:"ASTR"}),I=new x.Asset({key:"bnc",originSymbol:"BNC"}),Bn=new x.Asset({key:"bsx",originSymbol:"BSX"}),Ie=new x.Asset({key:"cfg_new",originSymbol:"CFG"}),he=new x.Asset({key:"cru",originSymbol:"CRU"}),be=new x.Asset({key:"dai",originSymbol:"DAI"}),ne=new x.Asset({...be,key:"dai_mwh"}),g=new x.Asset({key:"dot",originSymbol:"DOT"}),H=new x.Asset({key:"eth",originSymbol:"ETH"}),Re=new x.Asset({key:"ena",originSymbol:"ENA"}),v=new x.Asset({key:"glmr",originSymbol:"GLMR"}),$=new x.Asset({key:"hdx",originSymbol:"HDX"}),R=new x.Asset({key:"ibtc",originSymbol:"IBTC"}),M=new x.Asset({key:"intr",originSymbol:"INTR"}),oe=new x.Asset({key:"jitoSol",originSymbol:"jitoSOL"}),F=new x.Asset({key:"ksm",originSymbol:"KSM"}),_e=new x.Asset({key:"ldo",originSymbol:"LDO"}),Se=new x.Asset({key:"laos",originSymbol:"LAOS"}),De=new x.Asset({key:"lbtc",originSymbol:"LBTC"}),ye=new x.Asset({key:"ewt",originSymbol:"EWT"}),Le=new x.Asset({key:"link",originSymbol:"LINK"}),N=new x.Asset({key:"myth",originSymbol:"MYTH"}),He=new x.Asset({key:"neuro",originSymbol:"NEURO"}),xe=new x.Asset({key:"pen",originSymbol:"PEN"}),We=new x.Asset({key:"paxg",originSymbol:"PAXG"}),Me=new x.Asset({key:"sky",originSymbol:"SKY"}),j=new x.Asset({key:"sol",originSymbol:"SOL"}),re=new x.Asset({key:"sui",originSymbol:"SUI"}),Ve=new x.Asset({key:"susde",originSymbol:"sUSDe"}),$e=new x.Asset({key:"susds",originSymbol:"sUSDS"}),Ae=new x.Asset({...$e,key:"susds_mwh"}),Oe=new x.Asset({key:"tbtc",originSymbol:"tBTC"}),Ue=new x.Asset({key:"trac",originSymbol:"TRAC"}),Ke=new x.Asset({key:"unq",originSymbol:"UNQ"}),p=new x.Asset({key:"usdt",originSymbol:"USDT"}),we=new x.Asset({...p,key:"usdt_mwh"}),Bt=new x.Asset({...p,key:"usdt_eth"}),y=new x.Asset({key:"usdc",originSymbol:"USDC"}),Ce=new x.Asset({...y,key:"usdc_mwh"}),Pt=new x.Asset({...y,key:"usdc_eth"}),J=new x.Asset({key:"vastr",originSymbol:"vASTR"}),O=new x.Asset({key:"vdot",originSymbol:"vDOT"}),Vt=new x.Asset({key:"weth",originSymbol:"WETH"}),te=new x.Asset({...Vt,key:"weth_mwh"}),Je=new x.Asset({key:"wbtc",originSymbol:"WBTC"}),ke=new x.Asset({...Je,key:"wbtc_mwh"}),Ne=new x.Asset({key:"wsteth",originSymbol:"wstETH"}),tt=new x.Asset({key:"wud",originSymbol:"WUD"}),vr=[Fe,Xe,L,Bn,Ie,he,I,be,ne,g,Re,H,v,$,R,M,F,_e,Se,De,ye,oe,Le,N,He,We,xe,Me,j,re,Ve,$e,Ae,Ue,Oe,Ke,y,Ce,Pt,p,we,Bt,J,O,Je,ke,Vt,te,Ne,tt],ca=new Map(vr.map(t=>[t.key,t]));var Bs=require("@galacticcouncil/xc-core");var ma=require("viem/chains"),_=new Bs.EvmChain({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:H,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:Fe,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Ie,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Vt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:be,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Re,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:Ve,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:$e,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Oe,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Je,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:De,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:y,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:p,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:_e,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:Le,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:We,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Me,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:Ue,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:Ne,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:Bs.ChainEcosystem.Ethereum,evmChain:ma.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 ua=[_];var Ps=require("@galacticcouncil/xc-core");var Ot=new Ps.Parachain({assetsData:[{asset:Xe,id:"AJUN",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ps.ChainEcosystem.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});var bs=require("@galacticcouncil/xc-core");var la={assetsData:[{asset:g,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:tt,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:N,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:F,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:bs.ChainEcosystem.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://asset-hub-polkadot-rpc.n.dwellir.com","wss://polkadot-asset-hub-rpc.polkadot.io"]},k=new bs.Parachain({...la,key:"assethub",name:"AssetHub Polkadot"}),mt=new bs.Parachain({...la,key:"assethub_cex",name:"AssetHub (CEX)",usesSignerFee:!0,isTestChain:!0});var Es=require("@galacticcouncil/xc-core");var se=new Es.Parachain({assetsData:[{asset:L,xcmLocation:{parents:0,interior:"Here"}},{asset:g,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:I,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:v,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:M,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:O,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:Es.ChainEcosystem.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});var Fs=require("@galacticcouncil/xc-core");var Br=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],W=new Fs.Parachain({assetsData:[{asset:I,id:{Native:I.originSymbol},xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:O,id:{VToken2:0},decimals:10,min:1e-4,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:J,id:{VToken2:3},decimals:18,min:.01,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:g,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:L,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:v,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Fs.ChainEcosystem.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:Br});var Ut=require("@galacticcouncil/xc-core");var Kt=new Ut.Parachain({assetsData:[{asset:he,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ut.ChainEcosystem.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,usesLegacyEnhancer:!0,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"],xcmVersion:Ut.XcmVersion.v3});var Is=require("@galacticcouncil/xc-core"),fa=require("viem");var da=require("@polkadot-api/substrate-bindings"),Pr="ETH\0",Xs=class{async toH160(e){let s=(0,da.getSs58AddressInfo)(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let n=s.publicKey,a=Buffer.from(Pr),o=n.slice(a.length,-8);return"0x"+Buffer.from(o).toString("hex")}};var Er=new Xs,Pn=["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"],En=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],Fr=(0,fa.defineChain)({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Pn,webSocket:En},default:{http:Pn,webSocket:En}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),f=new Is.EvmParachain({assetsData:[{asset:$,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:Fe,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:Xe,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:I,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ie,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:he,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:g,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ne,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:H,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:v,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:M,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:oe,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:ye,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:_e,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:F,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:Se,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:De,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:Le,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:We,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:N,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:He,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:xe,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Me,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:j,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:re,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ve,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:$e,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:Ae,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Oe,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:Ue,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:Ke,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:y,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Ce,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:Pt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:p,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:we,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:Bt,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:O,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Je,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:ke,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Vt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:te,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:Ne,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:tt,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}}],ecosystem:Is.ChainEcosystem.Polkadot,evmChain:Fr,evmResolver:Er,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:En,rpcs:Pn});var Nt=require("@galacticcouncil/xc-core");var Te=new Nt.Parachain({assetsData:[{asset:M,decimals:10,id:{Token:M.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:R,decimals:8,id:{Token:R.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:g,decimals:10,id:{Token:g.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:$,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:O,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Nt.ChainEcosystem.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain",usesLegacyEnhancer:!0,xcmVersion:Nt.XcmVersion.v3});var Rs=require("@galacticcouncil/xc-core");var Gt=new Rs.Parachain({assetsData:[{asset:Se,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Rs.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 _s=require("@galacticcouncil/xc-core"),pa=require("viem");var Xr=(0,pa.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}),E=new _s.EvmParachain({assetsData:[{asset:v,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ne,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:j,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:oe,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Ae,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:re,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ce,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:we,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:ke,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:te,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:g,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:$,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:y,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:p,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:_s.ChainEcosystem.Polkadot,evmChain:Xr,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 Ss=require("@galacticcouncil/xc-core");var ut=new Ss.Parachain({assetsData:[{asset:N,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ss.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 Ds=require("@galacticcouncil/xc-core");var qt=new Ds.Parachain({assetsData:[{asset:He,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:Ds.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 jt=require("@galacticcouncil/xc-core");var zt=new jt.Parachain({assetsData:[{asset:xe,id:"Native",xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:jt.ChainEcosystem.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,usesLegacyEnhancer:!0,ws:"wss://rpc-pendulum.prd.pendulumchain.tech",xcmVersion:jt.XcmVersion.v3});var Ls=require("@galacticcouncil/xc-core");var Ir={assetsData:[{asset:g,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ls.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"},ha=new Ls.Parachain({...Ir,key:"polkadot"});var Hs=require("@galacticcouncil/xc-core");var $t=new Hs.Parachain({assetsData:[{asset:Ke,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Hs.ChainEcosystem.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});var Jt=require("@galacticcouncil/xc-core");var Qt=new Jt.Parachain({assetsData:[{asset:ye,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Jt.ChainEcosystem.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,usesLegacyEnhancer:!0,ws:"wss://wnp-rpc.mainnet.energywebx.com",xcmVersion:Jt.XcmVersion.v3});var ba=[Ot,k,mt,se,W,Kt,f,Gt,qt,Te,E,ut,zt,ha,$t,Qt];var Ws=require("@galacticcouncil/xc-core");var Et=new Ws.SolanaChain({id:101,key:"solana",name:"Solana",assetsData:[{asset:j,decimals:9},{asset:oe,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Ws.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 ya=[Et];var Ms=require("@galacticcouncil/xc-core");var Yt=new Ms.SuiChain({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:re,decimals:9}],ecosystem:Ms.ChainEcosystem.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var xa=[Yt];var Vs=require("@galacticcouncil/xc-core");var st=new Vs.Parachain({assetsData:[{asset:F,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Vs.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 Os=require("@galacticcouncil/xc-core");var Zt=new Os.Parachain({assetsData:[{asset:Bn,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:F,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Os.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 ga=[st,Zt];var Rr=[...ua,...ba,...ya,...xa,...ga],Aa=new Map(Rr.map(t=>[t.key,t]));var St=require("@galacticcouncil/xc-core");var $n={};Mt($n,{AssetMinBuilder:()=>lt,BalanceBuilder:()=>r,ContractBuilder:()=>S,ExtrinsicBuilder:()=>u,ExtrinsicDecorator:()=>ot,FeeAmountBuilder:()=>w,FeeAssetBuilder:()=>gs,MoveBuilder:()=>zn,ProgramBuilder:()=>Js,XcmTransferType:()=>me,XcmVersion:()=>at});var Us=require("@galacticcouncil/xc-core");function lt(){return{assetRegistry:_r,assets:Sr}}function _r(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Us.SubstrateQueryConfig({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Us.SubstrateQueryConfig({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Sr(){return{asset:()=>({build:({asset:t})=>new Us.SubstrateQueryConfig({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}var ys=require("@galacticcouncil/xc-core");function wa(){return{erc20:Lr,native:Dr}}function Dr(){return{build:({address:t})=>new ys.ContractConfig({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function Lr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n||typeof n!="string")throw new Error(`Invalid contract address: ${e}`);return new ys.ContractConfig({abi:ys.Abi.Erc20,address:n,args:[t],func:"balanceOf",module:"Erc20"})}}}var es=require("@galacticcouncil/xc-core"),ts=require("@galacticcouncil/common");function Ca(){return{assets:Hr,system:Mr,tokens:Vr,ormlTokens:Or,foreignAssets:Wr}}function Hr(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"Assets",func:"Account",args:[a,t],transform:async o=>BigInt(o?.balance?.toString()??"0")})}})}}function Wr(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getAssetXcmLocation(e);if(!a)throw new Error("Missing asset xcm location for "+e.key);let o=(0,ts.encodeLocation)(a);return new es.SubstrateQueryConfig({module:"ForeignAssets",func:"Account",args:[o,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function Mr(){return{account:()=>({build:({address:t})=>new es.SubstrateQueryConfig({module:"System",func:"Account",args:[t],transform:async e=>{let s=e?.data,n=BigInt(s?.free?.toString()??"0"),a=BigInt((s?.miscFrozen??s?.frozen)?.toString()??"0");return n>=a?n-a:0n}})})}}function Vr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"Tokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}function Or(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"OrmlTokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}var Fn=require("@galacticcouncil/xc-core");function ka(){return{native:Ur,token:Kr}}function Ur(){return{build:({address:t})=>new Fn.SolanaQueryConfig({address:t,func:"rpc_getBalance",module:"Native"})}}function Kr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n)throw new Error(`Invalid token address: ${e}`);return new Fn.SolanaQueryConfig({address:t,token:n.toString(),func:"getBalance",module:"Token"})}}}var Ta=require("@galacticcouncil/xc-core");function va(){return{native:Nr}}function Nr(){return{build:({address:t})=>new Ta.SuiQueryConfig({address:t,func:"sui_getBalance",module:"Native"})}}function r(){return{evm:wa,substrate:Ca,solana:ka,sui:va}}var Ft=require("@galacticcouncil/xc-core"),Ba=require("viem"),Gr=t=>({build:async e=>{let s=await Promise.all(t.map(i=>i.build(e))),n=s.map(i=>i.address),a=[0,0],o=s.map(i=>(0,Ba.encodeFunctionData)({abi:Ft.Abi[i.module],functionName:i.func,args:i.args}));return new Ft.ContractConfig({abi:Ft.Abi.Batch,address:Ft.Precompile.Batch,args:[n,a,o,[]],func:"batchAll",module:"Batch"})}}),Pa=()=>({batchAll:Gr});var ns=require("@galacticcouncil/xc-core");function ss(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function nt(t){return typeof t=="object"?Object.values(t)[0]:t}function Ea(){return{approve:t=>({build:async e=>{let{amount:s,asset:n,source:a,transact:o}=e,i=o?o.chain:a.chain,m=ns.Wormhole.fromChain(i),c=i.getAssetId(n);return new ns.ContractConfig({abi:ns.Abi.Erc20,address:nt(c).toString(),args:[t(m),s],func:"approve",module:"Erc20"})}})}}var Ge=require("@galacticcouncil/xc-core"),Xa=require("@galacticcouncil/common"),{Ss58Addr:Fa}=Ge.addr;function qr(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")}`}function Xn(t,e){let s=t.getAssetId(e);return typeof s=="string"?qr(s):s}function Ia(){return{transferAssetsToPara32:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xn(a.chain,s);return new Ge.ContractConfig({abi:Ge.Abi.PolkadotXcm,address:Ge.Precompile.PolkadotXcm,args:[n.chain.parachainId,Fa.getPubKey(t),[{asset:o,amount:e}],0],func:"transferAssetsToPara32",module:"PolkadotXcm"})}}),transferAssetsToPara32WithFee:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xn(a.chain,s),i=Xn(a.chain,a.destinationFeeBalance),m=Xa.big.toBigInt(n.fee.amount,n.fee.decimals);return new Ge.ContractConfig({abi:Ge.Abi.PolkadotXcm,address:Ge.Precompile.PolkadotXcm,args:[n.chain.parachainId,Fa.getPubKey(t),[{asset:o,amount:e},{asset:i,amount:m}],1],func:"transferAssetsToPara32",module:"PolkadotXcm"})}})}}var dt=require("@galacticcouncil/xc-core");var{Ss58Addr:jr}=dt.addr,zr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o}=t,i=a.chain,m=o.chain,c=dt.Snowbridge.fromChain(i),l=i.getAssetId(n),h=nt(l),b=n.originSymbol==="ETH",A=o.feeBreakdown.bridgeFeeInDot,T=o.fee.amount;return new dt.ContractConfig({abi:dt.Abi.Snowbridge,address:c.getGateway(),args:[h,m.parachainId,[1,jr.getPubKey(e)],A,s],value:b?T+s:T,func:"sendToken",module:"Snowbridge"})}}),Ra=()=>({sendToken:zr});var V=require("@galacticcouncil/xc-core"),In=require("@solana/web3.js"),_a=require("@solana/spl-token");var $r=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,destination:i}=e,m=V.Wormhole.fromChain(o.chain),c=V.Wormhole.fromChain(t.moonchain),l=V.Precompile.Bridge,h=o.chain.getAssetId(a),b=0,A=await V.mrl.createPayload(i.chain,s);return new V.ContractConfig({abi:V.Abi.TokenBridge,address:m.getTokenBridge(),args:[nt(h),n,c.getWormholeId(),c.normalizeAddress(l),b,A.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),Jr=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,destination:o}=e,i=V.Wormhole.fromChain(a.chain),m=V.Wormhole.fromChain(t.moonchain),c=V.Precompile.Bridge,l=0,h=await V.mrl.createPayload(o.chain,s);return new V.ContractConfig({abi:V.Abi.TokenBridge,address:i.getTokenBridge(),args:[m.getWormholeId(),m.normalizeAddress(c),l,h.toHex()],value:n,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),Qr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=V.Wormhole.fromChain(m),h=V.Wormhole.fromChain(c),b=e;if(c.isSolana()){let U=c.getAssetId(n);b=(await(0,_a.getAssociatedTokenAddress)(new In.PublicKey(U),new In.PublicKey(e))).toBase58()}let A=m.getAssetId(n),T=0,X=0;return new V.ContractConfig({abi:V.Abi.TokenBridge,address:l.getTokenBridge(),args:[nt(A),s,h.getWormholeId(),h.normalizeAddress(b),T,X],func:"transferTokens",module:"TokenBridge"})}}),Yr=()=>({build:async t=>{let{address:e,amount:s,source:n,destination:a}=t,o=V.Wormhole.fromChain(n.chain),i=V.Wormhole.fromChain(a.chain),m=0,c=0;return new V.ContractConfig({abi:V.Abi.TokenBridge,address:o.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),m,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Sa=()=>({transferTokens:Qr,transferTokensWithPayload:$r,wrapAndTransferETH:Yr,wrapAndTransferETHWithPayload:Jr});var Xt=require("@galacticcouncil/xc-core");var Zr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=Xt.Wormhole.fromChain(m),h=Xt.Wormhole.fromChain(c),b=0,A=0,T=m.getAssetId(n);return new Xt.ContractConfig({abi:Xt.Abi.TokenRelayer,address:l.getTokenRelayer(),args:[nt(T),s,b,h.getWormholeId(),h.normalizeAddress(e),A],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Da=()=>({transferTokensWithRelay:Zr});function La(){return{TokenBridge:Sa,TokenRelayer:Da}}function S(){return{Batch:Pa,Erc20:Ea,PolkadotXcm:Ia,Snowbridge:Ra,Wormhole:La}}var Wa=require("@galacticcouncil/xc-core"),Ha="AssetConversion",ei=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:n})=>{let{chain:a}=n,o=n.destinationFeeSwap||n.feeSwap;if(!o)throw new Error("Swap context not found.");let{aIn:i,aOut:m}=o,c=a,l=c.getAssetXcmLocation(i),h=c.getAssetXcmLocation(m),b=i.amount+i.amount*BigInt(t.slippage)/100n,A=m.amount;return new Wa.ExtrinsicConfig({module:Ha,func:e,getTx:T=>T.getUnsafeApi().tx[Ha][e]({path:[l,h],amount_out:A,amount_in_max:b,send_to:s,keep_alive:!0})})}}},Ma=()=>({swapTokensForExactTokens:ei});var Ks=require("@galacticcouncil/descriptors"),Va=require("@galacticcouncil/xc-core"),ti="Assets",si=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:n,destination:a})=>{let o=a.chain,{fee:i}=a,m=s>i.amount?s-i.amount:s,c=o.getMetadataAssetId(e);return new Va.ExtrinsicConfig({module:ti,func:t,getTx:l=>l.getTypedApi(Ks.hub).tx.Assets.transfer({id:Number(c),target:Ks.MultiAddress.Id(n),amount:m})})}}},Oa=()=>({transfer:si});var Ka=require("@galacticcouncil/xc-core"),Ua="Balances",ni=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Ka.ExtrinsicConfig({module:Ua,func:e,getTx:n=>n.getUnsafeApi().tx[Ua][e]({dest:s,keep_alive:t})})}},Na=()=>({transferAll:ni});var Ga=require("@galacticcouncil/descriptors"),qa=require("@galacticcouncil/xc-core"),ai="Router",oi=t=>({build:async({source:s})=>{let{chain:n,destinationFeeSwap:a}=s;if(!a)throw new Error("Swap context not found.");let{aIn:o,aOut:i,route:m}=a,c=n,l=c.getMetadataAssetId(o),h=c.getMetadataAssetId(i),b=i.amount,A=o.amount+o.amount*BigInt(t.slippage)/100n;return new qa.ExtrinsicConfig({module:ai,func:"buy",getTx:T=>T.getTypedApi(Ga.hydration).tx.Router.buy({asset_in:Number(l),asset_out:Number(h),amount_out:b,max_amount_in:A,route:m})})}}),ja=()=>({buy:oi});var $a=require("@galacticcouncil/xc-core"),za="Utility",ri=t=>{let e="batch_all";return{build:async s=>{let n=await Promise.all(t.map(a=>a.build(s)));return new $a.ExtrinsicConfig({module:za,func:e,getTx:a=>{let o=n.map(i=>i.getTx(a).decodedCall);return a.getUnsafeApi().tx[za][e]({calls:o})}})}}},Ja=()=>({batchAll:ri});var Ns=require("@galacticcouncil/xc-core"),Rn=require("polkadot-api"),Ya=require("viem");var at=(o=>(o.v1="V1",o.v2="V2",o.v3="V3",o.v4="V4",o.v5="V5",o))(at||{}),me=(a=>(a.Teleport="Teleport",a.LocalReserve="LocalReserve",a.DestinationReserve="DestinationReserve",a.RemoteReserve="RemoteReserve",a))(me||{});var Qa="EthereumXcm",ii=t=>{let e="transact";return{build:async s=>{let n=await t.build(s),a="V1",o=(0,Ya.encodeFunctionData)({abi:Ns.Abi[n.module],functionName:n.func,args:n.args});return new Ns.ExtrinsicConfig({module:Qa,func:e,getTx:i=>i.getUnsafeApi().tx[Qa][e]({xcm_transaction:{type:a,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Rn.Binary.fromHex(n.address)},value:[0n,0n,0n,0n],input:Rn.Binary.fromHex(o),access_list:void 0}}})})}}},_n=()=>({transact:ii});var pt=require("@galacticcouncil/xc-core"),js=require("@galacticcouncil/common");var rs=require("@galacticcouncil/xc-core"),go=require("polkadot-api"),d=require("@galacticcouncil/descriptors");var Za=require("@galacticcouncil/descriptors"),ue=340282366920938463463374607431768211455n,It="0x0000000000000000000000000000000000000000000000000000000000000000",as={parents:1,interior:Za.XcmV3Junctions.Here()},eo=0,to=1e3,so=1002,no=1,Rt="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var ao="0x0000000000000000000000000000000000000000";var Z=require("@galacticcouncil/descriptors"),po=require("polkadot-api");var oo=require("@galacticcouncil/xc-core"),Sn=require("@galacticcouncil/descriptors"),Dn=require("polkadot-api"),ro=require("@polkadot-api/substrate-bindings"),io=require("@polkadot-api/utils");function q(t){if(t.length===42&&t.startsWith("0x"))return Sn.XcmV3Junction.AccountKey20({key:Dn.FixedSizeBinary.fromHex(t),network:void 0});let s=(0,ro.getSs58AddressInfo)(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return Sn.XcmV3Junction.AccountId32({id:Dn.FixedSizeBinary.fromHex((0,io.toHex)(s.publicKey)),network:void 0})}function os(t,e,s){return oo.acc.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}var Ln=require("@galacticcouncil/xc-core");function co(t,e){let s=Ln.multiloc.findNestedKey(t,"GeneralIndex"),n=Ln.multiloc.findNestedKey(e,"GeneralIndex"),a=s&&s.GeneralIndex,o=n&&n.GeneralIndex;return Number.isNaN(a)||Number.isNaN(o)?!1:Number(a)>Number(o)}function Q(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var Gs={};Mt(Gs,{ETHER_TOKEN_ADDRESS:()=>Wn,erc20Location:()=>mi,erc20LocationReanchored:()=>ui,ethereumLocation:()=>uo,parachainLocation:()=>ci});var ve=require("@galacticcouncil/descriptors"),Hn=require("polkadot-api"),Wn="0x0000000000000000000000000000000000000000",mo=t=>ve.XcmV3Junction.GlobalConsensus(ve.XcmV3JunctionNetworkId.Ethereum({chain_id:BigInt(t)}));function uo(t){return{parents:2,interior:ve.XcmV3Junctions.X1(mo(t))}}function ci(t){return{parents:1,interior:ve.XcmV3Junctions.X1(ve.XcmV3Junction.Parachain(t))}}function mi(t,e){return e===Wn?uo(t):{parents:2,interior:ve.XcmV3Junctions.X2([mo(t),ve.XcmV3Junction.AccountKey20({key:Hn.Binary.fromHex(e)})])}}function ui(t){return t===Wn?{parents:0,interior:{type:"Here"}}:{parents:0,interior:ve.XcmV3Junctions.X1(ve.XcmV3Junction.AccountKey20({key:Hn.Binary.fromHex(t)}))}}var Mn=require("@galacticcouncil/common"),lo=require("@galacticcouncil/xc-core");function Y(t,e){return li(e)>=4?(0,Mn.encodeLocation)(t):di(t)}function li(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function di(t){return{type:"Concrete",value:(0,Mn.encodeLocation)(t)}}var fi=1e3;function pi(t){let{parents:e,interior:s}=t;return e===1&&s==="Here"?!0:e===2&&s&&s!=="Here"?Object.values(s).flat().some(a=>a&&typeof a=="object"&&"GlobalConsensus"in a):!1}function hi(t){if(t)return pi(t)?fi:lo.multiloc.findParachain(t)}function fo(t,e,s,n){let a=e.getAssetXcmLocation(t),o=hi(a),i=n?.parachainId??s.parachainId;if(o&&i!==o)throw new Error(n?`Wrong reserve for "${t.originSymbol}": expected chain ${o}, got ${n.name} (${n.parachainId})`:`Reserve chain ${o} required for "${t.originSymbol}"`)}function Vn(t,e){let s="V4",n=Y(Q(e,t),s),a=po.Binary.fromHex(It);return[Z.XcmV4Instruction.ReserveAssetDeposited([{id:as,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)},{id:n,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)}]),Z.XcmV4Instruction.ClearOrigin(),Z.XcmV4Instruction.BuyExecution({fees:{id:as,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:Z.XcmV3WeightLimit.Unlimited()}),Z.XcmV4Instruction.DepositAsset({assets:Z.XcmV4AssetAssetFilter.Wild(Z.XcmV4AssetWildAsset.AllCounted(2)),beneficiary:{parents:0,interior:Z.XcmV3Junctions.X1(q(Rt))}}),Z.XcmV4Instruction.SetTopic(a)]}var Qe=require("@galacticcouncil/descriptors");function ho(t,e){let s="V4",n=Y(Q(e,t),s),a=qs("V4",q(ao),q(Rt),n,It);return[Qe.XcmV4Instruction.WithdrawAsset([{id:as,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)},{id:n,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)}]),Qe.XcmV4Instruction.ClearOrigin(),Qe.XcmV4Instruction.BuyExecution({fees:{id:as,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:Qe.XcmV3WeightLimit.Unlimited()}),...a.value]}var P=require("@galacticcouncil/descriptors"),On=require("polkadot-api");function bo(t,e){let s="V4",n=Y(Q(e,t),s),a=On.Binary.fromHex(It);return[P.XcmV4Instruction.WithdrawAsset([{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)}]),P.XcmV4Instruction.ClearOrigin(),P.XcmV4Instruction.BuyExecution({fees:{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:P.XcmV3Junctions.X1(q(Rt))}}),P.XcmV4Instruction.SetTopic(a)]}function Un(t,e){let s="V4",n=Y(Q(e,t),s);return[P.XcmV4Instruction.BuyExecution({fees:{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:P.XcmV3Junctions.X1(q(Rt))}})]}function yo(t,e,s){let n="V4",a=Y(Q(e,t),n),o=On.Binary.fromHex(It),i=Un(t,s);return[P.XcmV4Instruction.WithdrawAsset([{id:a,fun:P.XcmV3MultiassetFungibility.Fungible(ue)}]),P.XcmV4Instruction.ClearOrigin(),P.XcmV4Instruction.BuyExecution({fees:{id:a,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositReserveAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),dest:{parents:1,interior:P.XcmV3Junctions.X1(P.XcmV3Junction.Parachain(s.parachainId))},xcm:i}),P.XcmV4Instruction.SetTopic(o)]}var xo=[rs.ChainEcosystem.Polkadot,rs.ChainEcosystem.Kusama],bi={parents:1,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.Parachain(1e3))},yi=t=>t.parents===1&&t.interior==="Here",xi=(t,e)=>!t.ecosystem||!e.ecosystem?!1:xo.includes(t.ecosystem)&&xo.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,Ao=t=>{let{interior:e}=t;return e.type==="X1"&&e.value.type==="GlobalConsensus"?e.value.value.type==="Ethereum":!1},Ye=(t,e,s)=>{if(xi(e,s)){let a=s.ecosystem===rs.ChainEcosystem.Polkadot?d.XcmV3JunctionNetworkId.Polkadot():d.XcmV3JunctionNetworkId.Kusama();return{type:t,value:{parents:2,interior:d.XcmV3Junctions.X2([d.XcmV3Junction.GlobalConsensus(a),d.XcmV3Junction.Parachain(s.parachainId)])}}}if(s.parachainId===eo)return{type:t,value:{parents:1,interior:d.XcmV3Junctions.Here()}};let n=s.key==="ethereum"?to:s.parachainId;return{type:t,value:{parents:1,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.Parachain(n))}}},_t=(t,e)=>({type:t,value:{parents:0,interior:d.XcmV3Junctions.X1(e)}}),Kn=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:yi(s)?bi:s}}:{type:e},ft=(t,e)=>({id:t,fun:d.XcmV3MultiassetFungibility.Fungible(e)}),wo=(t,e,s)=>({type:t,value:[d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(s)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]});var qs=(t,e,s,n,a)=>{let o=go.Binary.fromHex(a);return{type:t,value:[d.XcmV4Instruction.SetAppendix([d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.All()),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(s)}})]),d.XcmV4Instruction.InitiateReserveWithdraw({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllOf({id:n,fun:d.XcmV2MultiassetWildFungibility.Fungible()})),reserve:Gs.ethereumLocation(no),xcm:[d.XcmV4Instruction.BuyExecution({fees:{id:gi(n),fun:d.XcmV3MultiassetFungibility.Fungible(1n)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}}),d.XcmV4Instruction.SetTopic(o)]}),d.XcmV4Instruction.SetTopic(o)]}},gi=t=>{let e=rs.multiloc.findNestedKey(t,"key");return e?{parents:0,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.AccountKey20({key:e.key}))}:{parents:0,interior:d.XcmV3Junctions.Here()}},Co=(t,e,s,n,a,o)=>({type:t,value:[d.XcmV4Instruction.WithdrawAsset([{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)}]),d.XcmV4Instruction.BuyExecution({fees:{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.Transact({origin_kind:d.XcmV2OriginKind.SovereignAccount(),require_weight_at_most:{ref_time:o.refTime,proof_size:o.proofSize},call:a}),d.XcmV4Instruction.RefundSurplus(),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]}),ko=(t,e,s,n,a,o)=>({type:t,value:[d.XcmV4Instruction.WithdrawAsset([{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(a)}]),d.XcmV4Instruction.BuyExecution({fees:{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(a)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.TransferAsset({assets:[{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)}],beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(o)}}),d.XcmV4Instruction.RefundSurplus(),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]});var le="PolkadotXcm",Ai=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=Y(Q(i,n.fee),c),b=ft(l,e),A=ft(h,n.fee.amount),T="limited_reserve_transfer_assets";return new pt.ExtrinsicConfig({module:le,func:T,getTx:X=>{let U=X.getUnsafeApi().tx[le][T];return s.key===n.fee.key?U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):co(l,h)?U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[A,b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[b,A]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),wi=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="limited_teleport_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Ci=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c=i.xcmVersion??"V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="reserve_transfer_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0})})}}),ki=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="transfer_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Ti=t=>({build:async({address:e,asset:s,amount:n,destination:a,messageId:o,sender:i,source:m,transact:c})=>{let l="V4",h=m.chain,b=a.chain,A=a.fee.amount,T=a.fee;c&&(b=c.chain,A=js.big.toBigInt(c.fee.amount,c.fee.decimals),T=c.fee);let X=q(i),U=c||b.usesCexForwarding?os(h,i,b):e,D=q(U),{transferType:ee}=t,G=Y(Q(h,s),l),C=Y(Q(h,T),l),ze=ft(G,n),vt=ft(C,A),Ze=s.isEqual(T),it=Ye(l,h,b),et={type:l,value:Ze?[ze]:[vt,ze]},ct=Kn(l,ee,G),hs={type:l,value:Ze?G:C},Tn=Kn(l,ee,C),Wt;Ao(G)?Wt=qs(l,D,X,G,o):Wt=wo(l,D,et.value.length);let vs="transfer_assets_using_type_and_then";return new pt.ExtrinsicConfig({module:le,func:vs,getTx:gr=>gr.getUnsafeApi().tx[le][vs]({dest:it,assets:et,assets_transfer_type:ct,remote_fees_id:hs,fees_transfer_type:Tn,custom_xcm_on_dest:Wt,weight_limit:{type:"Unlimited"}})})}}),vi=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:n,source:a,transact:o}=s,i="V4";if(!o)throw new Error("Transact ctx configuration is missing.");let m=a.chain,c=o.chain,l=os(m,n,c),h=q(l),{fee:b}=o,A=Y(Q(c,b),i),T=js.big.toBigInt(e.fee,b.decimals);return new pt.ExtrinsicConfig({module:le,func:t,getTx:X=>X.getUnsafeApi().tx[le][t]({dest:Ye(i,m,c),message:Co(i,h,A,T,o.call,o.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:n,address:a,asset:o,sender:i,source:m,destination:c}=s,l="V4",h=m.chain,b=c.chain,A=os(h,i,b),T=q(A),X=q(a),U=Y(Q(b,o),l),{fee:D}=c,ee=js.big.toBigInt(e.fee,D.decimals),G=n>D.amount?n-(D.amount+ee):n;return new pt.ExtrinsicConfig({module:le,func:t,getTx:C=>C.getUnsafeApi().tx[le][t]({dest:Ye(l,h,b),message:ko(l,T,U,G,ee,X)})})}})}},Nn=()=>({limitedReserveTransferAssets:Ai,limitedTeleportAssets:wi,reserveTransferAssets:Ci,transferAssets:ki,transferAssetsUsingTypeAndThen:Ti,send:vi});var Bo=require("@galacticcouncil/xc-core"),Po=require("@galacticcouncil/common");var xs=require("@galacticcouncil/descriptors"),To=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:xs.XcmV3Junctions.X1(s)}}:{type:t,value:{parents:1,interior:xs.XcmV3Junctions.X2([xs.XcmV3Junction.Parachain(e.parachainId),s])}};var vo="XTokens",Bi=()=>({build:async({address:t,amount:e,asset:s,destination:n,sender:a,source:o})=>{let i=o.chain,m=n.chain,c="V3",l=m.usesCexForwarding?os(i,a,m):t,h=q(l),b=i.getAssetId(s),A=(0,Po.encodeAssetId)(b),T="transfer";return new Bo.ExtrinsicConfig({module:vo,func:T,getTx:X=>X.getUnsafeApi().tx[vo][T]({currency_id:A,amount:e,dest:To(c,m,h),dest_weight_limit:{type:"Unlimited"}})})}}),Gn=()=>({transfer:Bi});function u(){return{assetConversion:Ma,assets:Oa,balances:Na,ethereumXcm:_n,polkadotXcm:Nn,router:ja,utility:Ja,xTokens:Gn}}function ot(t,e){return{prior:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,s]).build(n):s.build(n)}},priorMulti:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,...s]).build(n):u().utility().batchAll([...s]).build(n)}}}}var ht=require("@galacticcouncil/xc-core");var qn={};Mt(qn,{AssethubClient:()=>de,BaseClient:()=>Be,HydrationClient:()=>qe});var Eo=require("@galacticcouncil/common"),zs=require("@galacticcouncil/descriptors"),Be=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??zs.hub}get client(){return this.chain.client}api(){return this.client.getTypedApi(this.descriptor)}get refApi(){return this.api()}async getSystemAccountBalance(e){let n=(await this.refApi.query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async calculateDestinationFee(e,s){let n=await this.refApi.apis.XcmPaymentApi.query_xcm_weight({type:"V4",value:e});if(!n.success)throw Error("Can't query XCM weight.");let a=this.chain.getAssetXcmLocation(s);if(!a)throw Error(`Can't get XCM location for asset ${s.originSymbol}`);let o=(0,Eo.encodeLocation)(a),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(n.value,zs.XcmVersionedAssetId.V4(o));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};var is=require("@galacticcouncil/descriptors"),Fo=require("@galacticcouncil/common"),$s=require("@polkadot-api/substrate-bindings"),Xo=require("@polkadot-api/utils");var de=class extends Be{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=this.chain.getAssetXcmLocation(e),a=(0,Fo.encodeLocation)(n);if(s===0)return!0;let o=s===e.originSymbol?await this.api().query.ForeignAssets.Asset.getValue(a):await this.api().query.Assets.Asset.getValue(Number(s));return o&&o.is_sufficient||!1}async checkIfFrozen(e,s){let n=this.chain.getAssetId(s);if(n===s.originSymbol)return!1;let a=await this.api().query.Assets.Account.getValue(Number(n),e);return a&&a.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:"),n=(0,Xo.toHex)((0,$s.Twox128)(s)),a=await this.client._request("state_getStorage",[n]);if(!a)return e.defaultFee;let o=$s.u128.dec(a);return o===0n?e.defaultFee:o}async calculateDeliveryFee(e,s){let n=is.XcmVersionedLocation.V5({parents:1,interior:is.XcmV5Junctions.X1(is.XcmV5Junction.Parachain(s))}),a=await this.api().apis.XcmPaymentApi.query_delivery_fees(n,{type:"V4",value:e});if(!a.success)throw Error("Can't query XCM delivery fee.");let o=a.value.value.find(m=>{let c=m.id;return c&&c.parents&&c.parents===1&&c.interior.type==="Here"});if(!o)throw Error("Can't find XCM delivery fee in DOT.");let i=o.fun.value;if(typeof i=="bigint")return i;throw Error("Can't parse delivery fee.")}};var Io=require("@galacticcouncil/descriptors");var qe=class extends Be{constructor(e){super(e,Io.hydration)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=Number(s),a=await this.api().query.AssetRegistry.Assets.getValue(n);return a?a.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 n=(await this.api().query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async getTokensAccountsBalance(e,s){let n=Number(s),a=await this.api().query.Tokens.Accounts.getValue(e,n),{free:o,frozen:i}=a;return BigInt(o)-BigInt(i)}};function Pi(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let n=s,a=e,o=ht.Wormhole.fromChain(n),i=ht.Wormhole.fromChain(a),m=n.getAssetId(t),c=n.getAssetDecimals(t);return{amount:await n.evmClient.getProvider().readContract({abi:ht.Abi.TokenRelayer,address:o.getTokenRelayer(),args:[i.getWormholeId(),m,c],functionName:"calculateRelayerFee"})}}})}}function Ei(){return{TokenRelayer:Pi}}function Fi(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:n})=>{let a=n,o=s,i=ht.Snowbridge.fromChain(a),m=new Be(o),c=new de(t.hub),l=Vn(e,o),[h,b]=await Promise.all([m.calculateDestinationFee(l,g),c.calculateDeliveryFee(l,o.parachainId)]),A=b+ss(h,25n),T=a.getAssetId(e);return{amount:await a.evmClient.getProvider().readContract({abi:ht.Abi.Snowbridge,address:i.getGateway(),args:[T,o.parachainId,A],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:A}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:n})=>{let a=n,o=new de(t.hub),i=ho(e,a),m=Vn(e,a),[c,l,h,b,A]=await Promise.all([o.getBridgeDeliveryFee(),o.calculateDeliveryFee(i,so),o.calculateDestinationFee(i,s),o.calculateDeliveryFee(m,a.parachainId),o.calculateDestinationFee(m,s)]);return{amount:c+l+ss(h,25n)+b+ss(A,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:l,assetHubDestinationFee:h,returnToSenderDeliveryFee:b,returnToSenderDestinationFee:A}}}})}}function Xi(){return{calculateDestFee:t=>({build:async({feeAsset:e,source:s,destination:n})=>{let a=s,o=n,i=t?.reserve;if(fo(e,a,o,i),i){let A=new Be(o),T=new Be(i),X=Un(e,o),U=yo(e,i,o),[D,ee]=await Promise.all([A.calculateDestinationFee(X,e),T.calculateDestinationFee(U,e)]),G=ee+D,C=ss(G,20n),ze=C-G;return{amount:C,breakdown:{reserveFee:ee,destinationFee:D,margin:ze}}}let m=new Be(o),c=bo(e,o),l=await m.calculateDestinationFee(c,e),h=ss(l,20n),b=h-l;return{amount:h,breakdown:{totalFee:l,margin:b}}}})}}function w(){return{XcmPaymentApi:Xi,Snowbridge:Fi,Wormhole:Ei}}var Ii="0";function Ri(){return{build:async({address:t,chain:e})=>{let n=await new qe(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),a=n?n.toString():Ii,o=e.findAssetById(a);return o?o.asset:$}}}var _i=()=>({accountCurrencyMap:Ri});function gs(){return{multiTransactionPayment:_i}}var fe=require("@galacticcouncil/xc-core"),ie=require("@solana/spl-token"),je=require("@solana/web3.js"),jn=require("@wormhole-foundation/sdk-connect"),bt=require("@wormhole-foundation/sdk-solana-tokenbridge"),Si=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=fe.Wormhole.fromChain(m),h=fe.Wormhole.fromChain(t.moonchain),b=fe.Precompile.Bridge,A=await fe.mrl.createPayload(i.chain,s),T=new je.PublicKey(o),X=new jn.UniversalAddress(b),U=h.getWormholeId(),D=T,ee=0,G=je.Keypair.generate(),C=je.Keypair.generate(),ze=await(0,ie.getMinimumBalanceForRentExemptAccount)(c.connection),vt=je.SystemProgram.createAccount({fromPubkey:D,newAccountPubkey:C.publicKey,lamports:ze,space:ie.ACCOUNT_SIZE,programId:ie.TOKEN_PROGRAM_ID}),Ze=je.SystemProgram.transfer({fromPubkey:D,lamports:n,toPubkey:C.publicKey}),it=(0,ie.createInitializeAccountInstruction)(C.publicKey,ie.NATIVE_MINT,D),et=(0,bt.createApproveAuthoritySignerInstruction)(l.getTokenBridge(),C.publicKey,D,n),ct=(0,bt.createTransferNativeWithPayloadInstruction)(c.connection,l.getTokenBridge(),l.getCoreBridge(),o,G.publicKey,C.publicKey,ie.NATIVE_MINT,ee,n,X.toUint8Array(),U,A.toU8a()),hs=(0,ie.createCloseAccountInstruction)(C.publicKey,D,D);return new fe.ProgramConfig({instructions:[vt,Ze,it,et,ct,hs],signers:[G,C],func:"TransferNativeWithPayload",module:"TokenBridge",rentReserve:BigInt(ze)})}})}),Di=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,sender:i,destination:m}=e,c=o.chain,l=c,h=fe.Wormhole.fromChain(c),b=fe.Wormhole.fromChain(t.moonchain),A=fe.Precompile.Bridge,T=await fe.mrl.createPayload(m.chain,s),X=new je.PublicKey(i),U=o.chain.getAssetId(a),D=new je.PublicKey(U),ee=await(0,ie.getAssociatedTokenAddress)(D,X),G=new jn.UniversalAddress(A),C=b.getWormholeId();if(await(0,bt.getWrappedMeta)(l.connection,h.getTokenBridge(),D).catch(ct=>null).then(ct=>ct!=null))throw new Error("Wrapped assets not supported yet");let vt=0,Ze=je.Keypair.generate(),it=(0,bt.createApproveAuthoritySignerInstruction)(h.getTokenBridge(),ee,X,n),et=(0,bt.createTransferNativeWithPayloadInstruction)(l.connection,h.getTokenBridge(),h.getCoreBridge(),i,Ze.publicKey,ee,D,vt,n,G.toUint8Array(),C,T.toU8a());return new fe.ProgramConfig({instructions:[it,et],signers:[Ze],func:"TransferWithPayload",module:"TokenBridge"})}})}),Ro=()=>({transferNativeWithPayload:Si,transferTokenWithPayload:Di});function _o(){return{TokenBridge:Ro}}function Js(){return{Wormhole:_o}}var rt=require("@galacticcouncil/xc-core"),So=require("@mysten/sui/transactions"),Qs=require("@mysten/sui/utils"),Do=require("@wormhole-foundation/sdk-connect"),As=require("@wormhole-foundation/sdk-sui"),Li=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=rt.Wormhole.fromChain(m),h=rt.Wormhole.fromChain(t.moonchain),b=0,A=rt.Precompile.Bridge,T=await rt.mrl.createPayload(i.chain,s),X=new Do.UniversalAddress(A),U=h.getWormholeId(),D=Qs.SUI_TYPE_ARG,[ee,G]=await Promise.all([(0,As.getPackageId)(c.client,l.coreBridge),(0,As.getPackageId)(c.client,l.tokenBridge)]),C=new So.Transaction,[ze]=C.splitCoins(C.gas,[C.pure.u64(n)]),[vt]=C.splitCoins(C.gas,[C.pure.u64(i.fee.amount)]),[Ze]=C.moveCall({target:`${G}::state::verified_asset`,arguments:[C.object(l.tokenBridge)],typeArguments:[D]}),it=!1,et=await(async()=>{let Wt=await(0,As.getOldestEmitterCapObjectId)(c.client,ee,o);if(Wt!==null)return C.object(Wt);{let[vs]=C.moveCall({target:`${ee}::emitter::new`,arguments:[C.object(l.coreBridge)]});return it=!0,vs}})(),[ct,hs]=C.moveCall({target:`${G}::transfer_tokens_with_payload::prepare_transfer`,arguments:[et,Ze,ze,C.pure.u16(U),C.pure.vector("u8",X.toUint8Array()),C.pure.vector("u8",T.toU8a()),C.pure.u32(b)],typeArguments:[D]});C.moveCall({target:`${G}::coin_utils::return_nonzero`,arguments:[hs],typeArguments:[D]});let[Tn]=C.moveCall({target:`${G}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[C.object(l.tokenBridge),ct],typeArguments:[D]});return C.moveCall({target:`${ee}::publish_message::publish_message`,arguments:[C.object(l.coreBridge),vt,Tn,C.object(Qs.SUI_CLOCK_OBJECT_ID)]}),it&&C.transferObjects([et],C.pure.address(o)),new rt.MoveConfig({transaction:C,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Lo=()=>({transferNativeWithPayload:Li});function Ho(){return{TokenBridge:Lo}}function zn(){return{Wormhole:Ho}}var Jn={};Mt(Jn,{Tag:()=>yt});var yt=(a=>(a.Wormhole="Wormhole",a.Relayer="Relayer",a.Snowbridge="Snowbridge",a.Mrl="Mrl",a))(yt||{});var Qn=require("@galacticcouncil/xc-core");function cs(t,e){return new Qn.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{asset:t,balance:r().evm().erc20()}},destination:{chain:f,asset:e,fee:{amount:0,asset:e}},contract:S().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})}function ce(t,e){return new Qn.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:f,asset:e,fee:{amount:w().Snowbridge().calculateInboundFee({hub:k}),asset:H}},contract:S().Snowbridge().sendToken(),tags:["Snowbridge"]})}var Hi=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),destinationFee:{asset:H,balance:r().evm().native()}},destination:{chain:f,asset:te,fee:{amount:0,asset:te}},contract:S().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]}),cs(be,ne),cs(Je,ke),cs(y,Ce),cs(p,we),cs($e,Ae)],Wi=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),fee:{asset:H,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:f,asset:H,fee:{amount:w().Snowbridge().calculateInboundFee({hub:k}),asset:H}},contract:S().Snowbridge().sendToken(),tags:["Snowbridge"]}),ce(Fe,Fe),ce(Ie,Ie),ce(Re,Re),ce(We,We),ce(Ve,Ve),ce(Oe,Oe),ce(De,De),ce(_e,_e),ce(Le,Le),ce(Me,Me),ce(Ue,Ue),ce(Ne,Ne),ce(y,Pt),ce(p,Bt)],ff=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),destinationFee:{asset:H,balance:r().evm().erc20()}},destination:{chain:E,asset:te,fee:{amount:0,asset:te}},contract:S().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new St.AssetRoute({source:{asset:be,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{asset:be,balance:r().evm().erc20()}},destination:{chain:E,asset:ne,fee:{amount:0,asset:ne}},contract:S().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Wo=new St.ChainRoutes({chain:_,routes:[...Hi,...Wi]});var Mo=[Wo];var xt=require("@galacticcouncil/xc-core");var Ys=require("@galacticcouncil/xc-core");var Dt=0,Mi=t=>{let{source:e}=t;return!!e.feeSwap},Vi=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Vo=u().assetConversion().swapTokensForExactTokens({slippage:30});function Oi(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:p}},extrinsic:ot(Vi,Vo).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function Zs(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:t,balance:r().substrate().assets().account(),swap:!0},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:ot(Mi,Vo).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function Lt(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function en(t){return Oi(t,f,.02)}var Ui=[new xt.AssetRoute({source:{asset:g,balance:r().substrate().system().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().system().account()},min:lt().assets().asset()},destination:{chain:f,asset:g,fee:{amount:.001,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new xt.AssetRoute({source:{asset:F,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:f,asset:F,fee:{amount:1e-4,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Lt(p,f,.02),Lt(y,f,.02),en(tt)],Ki=[new xt.AssetRoute({source:{asset:F,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:st,asset:F,fee:{amount:.001,asset:F}},extrinsic:u().polkadotXcm().transferAssets()})],Ni=[Lt(p,E,.25),Lt(y,E,.25)],Gi=[Lt(p,W,.03),Lt(y,W,.03)],qi=[new xt.AssetRoute({source:{asset:N,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:ut,asset:N,fee:{amount:2.5,asset:N}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Oo=new xt.ChainRoutes({chain:mt,routes:[Zs(p,f,.02),Zs(y,f,.02),Zs(g,f,.001)]}),Uo=new xt.ChainRoutes({chain:k,routes:[...Ui,...Ki,...Ni,...Gi,...qi]});var Pe=require("@galacticcouncil/xc-core");var ji=[new Pe.AssetRoute({source:{asset:L,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:L,fee:{amount:.044306118,asset:L}},extrinsic:u().polkadotXcm().reserveTransferAssets()}),new Pe.AssetRoute({source:{asset:I,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:I,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:I}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:v,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:v,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:E}),asset:v}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:R,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:R,fee:{amount:2e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:M,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:M,fee:{amount:.01,asset:M}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:O,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:O,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:J,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:J,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:J}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:p,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:y,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Ko=new Pe.ChainRoutes({chain:se,routes:[...ji]});var pe=require("@galacticcouncil/xc-core");var zi=[new pe.AssetRoute({source:{asset:I,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:I,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:I}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:O,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:O,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:J,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:J,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:J}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:g,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:g,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new pe.AssetRoute({source:{asset:L,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:L,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:se}),asset:L}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:v,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:v,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:E}),asset:v}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:R,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:R,fee:{amount:625e-8,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:p,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:y,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],$i=[new pe.AssetRoute({source:{asset:p,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:k,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:y,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:k,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],No=new pe.ChainRoutes({chain:W,routes:[...zi,...$i]});var ge=require("@galacticcouncil/xc-core");var Ji="0",B=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===Ji?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),z=()=>({asset:gs().multiTransactionPayment().accountCurrencyMap(),balance:B()});var gt=require("@galacticcouncil/xc-core");var Qi=.9,Yi=1,Zi=1,tn=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},sn=u().router().buy({slippage:30});function K(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(s?{reserve:s}:void 0),asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function ms(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function At(t,e){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})}function nn(t){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:k,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function ec(t,e,s="LocalReserve"){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:Zi,asset:v}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:s}))})}function wt(t){return ec(t,E,"DestinationReserve")}function Go(t,e,s,n,a,o){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{asset:t,balance:B()}},destination:{chain:s,asset:e,fee:{amount:n,asset:e}},extrinsic:ot(tn,sn).priorMulti([u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}),u().polkadotXcm().send().transact({fee:Qi})]),transact:{chain:E,fee:{amount:Yi,asset:v,balance:B()},extrinsic:u().ethereumXcm().transact(a)},tags:o})}function Yn(t,e,s){return Go(t,e,s,0,S().Batch().batchAll([S().Erc20().approve(n=>n.getTokenBridge()),S().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Ct(t,e,s){return Go(t,e,s,w().Wormhole().TokenRelayer().calculateRelayerFee(),S().Batch().batchAll([S().Erc20().approve(n=>n.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function ae(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:s,asset:e,fee:{amount:w().Snowbridge().calculateOutboundFee({hub:k}),asset:g}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var tc=[At(g,k),At(F,k),At(p,k),At(y,k),nn(tt)],sc=[K(L,se),K(I,se,W),K(v,se,E),new ge.AssetRoute({source:{asset:R,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:se,asset:R,fee:{amount:2e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new ge.AssetRoute({source:{asset:M,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:se,asset:M,fee:{amount:.01,asset:M}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),K(O,se,W),K(J,se,W),K(p,se,k),K(y,se,k)],nc=[K(I,W),K(O,W),K(J,W),K(L,W,se),K(v,W,E),new ge.AssetRoute({source:{asset:R,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:W,asset:R,fee:{amount:5e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),K(p,W,k),K(y,W,k),new ge.AssetRoute({source:{asset:g,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:W,asset:g,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],ac=[ms(R,Te,62e-8),ms(M,Te,.0019213457),ms($,Te,.5),ms(p,Te,.3),ms(y,Te,.3),new ge.AssetRoute({source:{asset:O,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Te,asset:O,fee:{amount:.01,asset:g}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new ge.AssetRoute({source:{asset:g,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Te,asset:g,fee:{amount:.05,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],oc=[K($,E),K(v,E),K(p,E,k),K(y,E,k),wt(ne),wt(Ae),wt(Ce),wt(we),wt(ke),wt(te),wt(j)],rc=[new ge.AssetRoute({source:{asset:N,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:ut,asset:N,fee:{amount:2.5,asset:N}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],ic=[K(Ke,$t)],cc=[new ge.AssetRoute({source:{asset:he,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Kt,asset:he,fee:{amount:.04,asset:he}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],mc=[K(Se,Gt)],uc=[new ge.AssetRoute({source:{asset:ye,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Qt,asset:ye,fee:{amount:.02,asset:ye}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],lc=[new ge.AssetRoute({source:{asset:xe,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:zt,asset:xe,fee:{amount:1.1,asset:xe}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],dc=[K(He,qt)],fc=[K(Xe,Ot)],pc=[Ct(ne,be,_),Ct(te,H,_),Ct(ke,Je,_),Ct(we,p,_),Ct(Ce,y,_),Yn(Ae,$e,_)],hc=[ae(H,H,_),ae(Fe,Fe,_),ae(Ie,Ie,_),ae(Re,Re,_),ae(We,We,_),ae(Ve,Ve,_),ae(Oe,Oe,_),ae(Ue,Ue,_),ae(De,De,_),ae(_e,_e,_),ae(Le,Le,_),ae(Me,Me,_),ae(Ne,Ne,_),ae(Pt,y,_),ae(Bt,p,_)],bc=[Ct(j,j,Et),Yn(oe,oe,Et)],yc=[Ct(re,re,Yt)],xc=[At(g,mt),At(p,mt),At(y,mt)],qo=new ge.ChainRoutes({chain:f,routes:[...fc,...tc,...sc,...nc,...xc,...cc,...hc,...pc,...ac,...mc,...uc,...oc,...rc,...dc,...lc,...bc,...yc,...ic]});var Ht=require("@galacticcouncil/xc-core");var Zn=()=>r().substrate().tokens().accounts();function an(t,e){return new Ht.AssetRoute({source:{asset:t,balance:Zn(),fee:{asset:M,balance:Zn()},destinationFee:{balance:Zn()}},destination:{chain:f,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:e}),asset:t}},extrinsic:u().xTokens().transfer()})}var gc=[new Ht.AssetRoute({source:{asset:M,balance:r().substrate().tokens().accounts(),destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:M,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:M}},extrinsic:u().xTokens().transfer()}),new Ht.AssetRoute({source:{asset:R,balance:r().substrate().tokens().accounts(),fee:{asset:M,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:R,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:M}},extrinsic:u().xTokens().transfer()}),new Ht.AssetRoute({source:{asset:$,balance:r().substrate().tokens().accounts(),fee:{asset:M,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:$,fee:{amount:.5,asset:$}},extrinsic:u().xTokens().transfer()}),an(O,W),an(p,k),an(y,k),an(g,k)],jo=new Ht.ChainRoutes({chain:Te,routes:[...gc]});var Tt=require("@galacticcouncil/xc-core");var ea=require("@galacticcouncil/xc-core");function Ac(t,e,s){return new ea.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:S().PolkadotXcm().transferAssetsToPara32()})}function wc(t,e,s){return new ea.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:v,balance:r().evm().erc20()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:S().PolkadotXcm().transferAssetsToPara32()})}function kt(t,e){return Ac(t,f,e)}function on(t,e){return wc(t,f,e)}var Cc=[new Tt.AssetRoute({source:{asset:v,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:v,fee:{amount:.05,asset:v}},contract:S().PolkadotXcm().transferAssetsToPara32()}),on($,.6),on(p,.3),on(y,.3),kt(ne,.004),kt(Ae,.004),kt(Ce,.004),kt(we,.004),kt(ke,1e-7),kt(te,2e-6),kt(j,2e-5)],kc=[new Tt.AssetRoute({source:{asset:p,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:k,asset:p,fee:{amount:.18,asset:p}},contract:S().PolkadotXcm().transferAssetsToPara32()}),new Tt.AssetRoute({source:{asset:y,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:k,asset:y,fee:{amount:.18,asset:y}},contract:S().PolkadotXcm().transferAssetsToPara32()})],Ap=[new Tt.AssetRoute({source:{asset:te,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{asset:te,balance:r().evm().erc20()}},destination:{chain:_,asset:H,fee:{amount:w().Wormhole().TokenRelayer().calculateRelayerFee(),asset:H}},contract:S().Batch().batchAll([S().Erc20().approve(t=>t.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new Tt.AssetRoute({source:{asset:ne,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{asset:ne,balance:r().evm().erc20()}},destination:{chain:_,asset:be,fee:{amount:w().Wormhole().TokenRelayer().calculateRelayerFee(),asset:be}},contract:S().Batch().batchAll([S().Erc20().approve(t=>t.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],zo=new Tt.ChainRoutes({chain:E,routes:[...Cc,...kc]});var ws=require("@galacticcouncil/xc-core");var Tc=[new ws.AssetRoute({source:{asset:N,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:N,fee:{amount:.01,asset:N}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],vc=[new ws.AssetRoute({source:{asset:N,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:k,asset:N,fee:{amount:.1,asset:N}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],$o=new ws.ChainRoutes({chain:ut,routes:[...Tc,...vc]});var rn=require("@galacticcouncil/xc-core");var Bc=[new rn.AssetRoute({source:{asset:Ke,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Ke,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:Ke}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Jo=new rn.ChainRoutes({chain:$t,routes:[...Bc]});var cn=require("@galacticcouncil/xc-core");var Pc=[new cn.AssetRoute({source:{asset:he,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:he,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:he}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Qo=new cn.ChainRoutes({chain:Kt,routes:[...Pc]});var mn=require("@galacticcouncil/xc-core");var Ec=[new mn.AssetRoute({source:{asset:xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:xe,fee:{amount:.2,asset:xe}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Yo=new mn.ChainRoutes({chain:zt,routes:[...Ec]});var un=require("@galacticcouncil/xc-core");var Fc=[new un.AssetRoute({source:{asset:Xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Xe,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:Xe}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Zo=new un.ChainRoutes({chain:Ot,routes:[...Fc]});var ln=require("@galacticcouncil/xc-core");var Xc=[new ln.AssetRoute({source:{asset:Se,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Se,fee:{amount:2,asset:Se}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],er=new ln.ChainRoutes({chain:Gt,routes:[...Xc]});var dn=require("@galacticcouncil/xc-core");var Ic=[new dn.AssetRoute({source:{asset:ye,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:ye,fee:{amount:.03,asset:ye}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],tr=new dn.ChainRoutes({chain:Qt,routes:[...Ic]});var fn=require("@galacticcouncil/xc-core");var Rc=[new fn.AssetRoute({source:{asset:He,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:He,fee:{amount:.205,asset:He}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],sr=new fn.ChainRoutes({chain:qt,routes:[...Rc]});var nr=[Zo,Uo,Oo,Ko,No,qo,jo,zo,$o,sr,Jo,Qo,Yo,er,tr];var Cs=require("@galacticcouncil/xc-core");var _c=[new Cs.AssetRoute({source:{asset:j,balance:r().solana().native(),destinationFee:{asset:j,balance:r().solana().native()}},destination:{chain:f,asset:j,fee:{amount:0,asset:j}},program:Js().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]}),new Cs.AssetRoute({source:{asset:oe,balance:r().solana().token(),fee:{asset:j,balance:r().solana().native()},destinationFee:{asset:oe,balance:r().solana().token()}},destination:{chain:f,asset:oe,fee:{amount:0,asset:oe}},program:Js().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})],ar=new Cs.ChainRoutes({chain:Et,routes:[..._c]});var or=[ar];var pn=require("@galacticcouncil/xc-core");var Sc=[new pn.AssetRoute({source:{asset:re,balance:r().sui().native(),destinationFee:{asset:re,balance:r().sui().native()}},destination:{chain:f,asset:re,fee:{amount:0,asset:re}},move:zn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})],rr=new pn.ChainRoutes({chain:Yt,routes:[...Sc]});var ir=[rr];var ks=require("@galacticcouncil/xc-core");var Dc=require("@galacticcouncil/xc-core");var ta=.0015;var Lc=new ks.AssetRoute({source:{asset:F,balance:r().substrate().system().account(),fee:{asset:F,balance:r().substrate().system().account(),extra:ta},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:k,asset:F,fee:{amount:.002,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Hc=new ks.AssetRoute({source:{asset:F,balance:r().substrate().system().account(),fee:{asset:F,balance:r().substrate().system().account(),extra:ta},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:Zt,asset:F,fee:{amount:.0012,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),cr=new ks.ChainRoutes({chain:st,routes:[Hc,Lc]});var Ts=require("@galacticcouncil/xc-core");var Wc="0",us=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===Wc?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),sa=()=>({asset:gs().multiTransactionPayment().accountCurrencyMap(),balance:us()});var Mc=[new Ts.AssetRoute({source:{asset:p,balance:us(),fee:sa(),destinationFee:{balance:us()}},destination:{chain:st,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Vc=[new Ts.AssetRoute({source:{asset:F,balance:us(),fee:sa(),destinationFee:{balance:us()}},destination:{chain:st,asset:F,fee:{amount:.0012,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],mr=new Ts.ChainRoutes({chain:Zt,routes:[...Mc,...Vc]});var ur=[cr,mr];var Oc=[...Mo,...nr,...or,...ir,...ur],lr=new Map(Oc.map(t=>[t.chain.key,t]));var na=require("@galacticcouncil/xc-core");var ls=require("@galacticcouncil/xc-core");var hn=class extends ls.TransferValidation{async validate(e){let{source:s}=e,{chain:n,fee:a,feeBalance:o}=s;if(o.amount<a.amount)throw new ls.TransferValidationError("Insufficient_Fee_Balance",{amount:a.toDecimal(),asset:a.symbol,chain:n.name,error:"fee.insufficientBalance"})}},bn=class extends ls.TransferValidation{async skipFor(e){let{asset:s,source:n}=e,{enabled:a}=n.destinationFeeSwap||{};return s.isEqual(n.destinationFee)||!!a}async validate(e){if(await this.skipFor(e))return;let{source:n}=e,{chain:a,destinationFee:o,destinationFeeBalance:i}=n,m=await this.getMin(a,o),c=o.copyWith({amount:o.amount+m});if(i.amount<c.amount)throw new ls.TransferValidationError("Insufficient_Fee_Balance",{amount:c.toDecimal(),asset:c.symbol,chain:a.name,error:"destFee.insufficientBalance"})}async getMin(e,s){if(e.key==="assethub")return new de(e).getAssetMin(s);let a=e.getAssetMin(s)*10**s.decimals;return BigInt(a)}};var ds=require("@galacticcouncil/xc-core");var yn=class extends ds.TransferValidation{async skipFor(e){let{asset:s,destination:n}=e,a=n.chain;return await new de(a).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain;if(await new de(o).getSystemAccountBalance(n)===0n)throw new ds.TransferValidationError("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:a.chain.name,error:"account.insufficientDeposit"})}},xn=class extends ds.TransferValidation{async validate(e){let{asset:s,sender:n,source:a}=e,o=a.chain;if(await new de(o).checkIfFrozen(n,s))throw new ds.TransferValidationError("Asset_Frozen",{asset:s.originSymbol,chain:a.chain.name,error:"asset.frozen"})}};var fs=require("@galacticcouncil/xc-core");var Uc=12,Kc=1,Nc=18,gn=class extends fs.TransferValidation{async skipFor(e){let{destination:s}=e,n=s.chain,a=new qe(n),o=s.balance.amount>0n,i=await a.checkIfSufficient(s.balance);return o||i}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain,i=new qe(o),m=await i.getFeeAsset(n),c=o.findAssetById(m),l=c.min||Kc,h=c.decimals||Uc,b=l*Math.pow(10,h),A=await i.getAssetBalance(n,m);if(BigInt(b*1.1)>A)throw new fs.TransferValidationError("Insufficient_Ed",{amount:b,asset:c.asset.originSymbol,chain:o.name,error:"account.insufficientDeposit"})}},An=class extends fs.TransferValidation{async skipFor(e){let{source:s,transact:n}=e,{enabled:a}=s.destinationFeeSwap||{};return!(!!n&&n.chain.key==="moonbeam")||!!a}async validate(e){if(await this.skipFor(e))return;let{sender:n,source:a}=e,o=a.chain,i=new qe(o),m=o.getBalanceAssetId(v),c=o.getAssetDecimals(v)||Nc,l=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(n,m.toString())<BigInt(l))throw new fs.TransferValidationError("Insufficient_Ed",{amount:1,asset:v.originSymbol,chain:o.name,error:"destFee.insufficientBalance"})}};var Ee={isAny:()=>!0,isHydration:t=>t instanceof na.Parachain&&t.parachainId===2034,isHub:t=>t instanceof na.Parachain&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},dr=[new hn(Ee.isAny,Ee.isAny),new bn(Ee.isAny,Ee.isAny),new yn(Ee.isAny,Ee.isHub),new xn(Ee.isHub,Ee.isAny),new gn(Ee.isAny,Ee.isHydration),new An(Ee.isHydration,Ee.isAny)];var ia={};Mt(ia,{AssethubDex:()=>ra,HydrationDex:()=>aa});var ps=require("@galacticcouncil/sdk-next"),pr=require("@galacticcouncil/common");var fr=(t,e=new Map)=>s=>{let n;return e.has(s)?e.get(s):(e.set(s,n=t(s)),n)};var{PoolType:wn}=ps.pool,{TradeRouteBuilder:Gc,TradeRouter:qc}=ps.sor,{TxBuilderFactory:jc}=ps.tx,aa=class{chain;client;poolCtx;txBuilder;getCtx=fr(async e=>{console.log("init swap router",e,"\u2705");let s=new qc(this.poolCtx);return s.withFilter({useOnly:[wn.Aave,wn.Omni,wn.Stable,wn.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new qe(this.chain),this.txBuilder=new jc(s.client,s.evm)}async getCalldata(e,s,n,a,o=0){let i=Number(this.chain.getMetadataAssetId(s)),m=Number(this.chain.getMetadataAssetId(n)),c=a.amount,l=await this.getCtx(1),h=await l.getMostLiquidRoute(i,m),b=await l.getBuy(i,m,c,h);return(await(await this.txBuilder.trade(b).withBeneficiary(e).withSlippage(o).build()).get().getEncodedData()).asHex()}async getQuote(e,s,n,a){let o=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(s)),m=n.amount,c=await this.getCtx(1);try{let l=await c.getMostLiquidRoute(o,i),h=await c.getBuy(o,i,m,l);return{amount:h.amountIn,route:Gc.build(h.swaps)}}catch(l){if(a)return{amount:await this.getFallbackPrice(e,n.amount)};throw l}}async getFallbackPrice(e,s){let n=this.chain.getAssetId(e),a=await this.client.api().query.MultiTransactionPayment.AcceptedCurrencies.getValue(Number(e));if(!a)throw new Error(`No price found for asset ${e}`);let o=a*s,i=Math.pow(10,pr.RUNTIME_DECIMALS);return o/BigInt(i)}};var oa=require("@galacticcouncil/common"),ra=class{chain;client;constructor(e){this.chain=e,this.client=new de(this.chain)}async getCalldata(e,s,n,a){throw Error("Not supported for "+this.chain.key)}async getQuote(e,s,n){let a=this.chain.getAssetXcmLocation(e),o=this.chain.getAssetXcmLocation(s),i=await this.client.api().apis.AssetConversionApi.quote_price_tokens_for_exact_tokens((0,oa.encodeLocation)(a),(0,oa.encodeLocation)(o),n.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};var xr=require("@galacticcouncil/xc-core");var hr=require("@galacticcouncil/xc-core");function Cn(t){let{id:e,origin:s,symbol:n}=t,a=n.toLowerCase();return new hr.Asset({key:[a,s,e].join("_"),originSymbol:n})}function br(t){let{decimals:e,id:s}=t;return{asset:Cn(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function yr(t){let{decimals:e,id:s,internalId:n,origin:a}=t;return{asset:Cn(t),decimals:e,id:n,xcmLocation:{parents:1,interior:{type:"X3",value:[{type:"Parachain",value:a},{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}var kn=class extends xr.ConfigService{registerExternal(e){let s=this.getChain("hydration"),n=this.getChain("assethub"),a=o=>!!s.findAssetById(o.internalId.toString());e.filter(o=>!a(o)&&o.origin===1e3).forEach(o=>{let i=Cn(o),m=br(o),c=yr(o);console.log("\u{1F480} Registering "+i.key),n.updateAsset(m),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(n,en(i)),this.updateChainRoute(s,nn(i))})}};0&&(module.exports={HydrationConfigService,assetsMap,builders,chainsMap,clients,dex,routesMap,tags,validations});
|
|
1
|
+
"use strict";var vn=Object.defineProperty;var Ar=Object.getOwnPropertyDescriptor;var wr=Object.getOwnPropertyNames;var Cr=Object.prototype.hasOwnProperty;var Mt=(t,e)=>{for(var s in e)vn(t,s,{get:e[s],enumerable:!0})},kr=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of wr(e))!Cr.call(t,a)&&a!==s&&vn(t,a,{get:()=>e[a],enumerable:!(n=Ar(e,a))||n.enumerable});return t};var Tr=t=>kr(vn({},"__esModule",{value:!0}),t);var zc={};Mt(zc,{HydrationConfigService:()=>kn,assetsMap:()=>ca,builders:()=>$n,chainsMap:()=>Aa,clients:()=>qn,dex:()=>ia,routesMap:()=>lr,tags:()=>Jn,validations:()=>dr});module.exports=Tr(zc);var x=require("@galacticcouncil/xc-core"),Fe=new x.Asset({key:"aave",originSymbol:"AAVE"}),Xe=new x.Asset({key:"ajun",originSymbol:"AJUN"}),L=new x.Asset({key:"astr",originSymbol:"ASTR"}),I=new x.Asset({key:"bnc",originSymbol:"BNC"}),Bn=new x.Asset({key:"bsx",originSymbol:"BSX"}),Ie=new x.Asset({key:"cfg_new",originSymbol:"CFG"}),he=new x.Asset({key:"cru",originSymbol:"CRU"}),be=new x.Asset({key:"dai",originSymbol:"DAI"}),ne=new x.Asset({...be,key:"dai_mwh"}),g=new x.Asset({key:"dot",originSymbol:"DOT"}),H=new x.Asset({key:"eth",originSymbol:"ETH"}),Re=new x.Asset({key:"ena",originSymbol:"ENA"}),v=new x.Asset({key:"glmr",originSymbol:"GLMR"}),$=new x.Asset({key:"hdx",originSymbol:"HDX"}),R=new x.Asset({key:"ibtc",originSymbol:"IBTC"}),M=new x.Asset({key:"intr",originSymbol:"INTR"}),oe=new x.Asset({key:"jitoSol",originSymbol:"jitoSOL"}),F=new x.Asset({key:"ksm",originSymbol:"KSM"}),_e=new x.Asset({key:"ldo",originSymbol:"LDO"}),Se=new x.Asset({key:"laos",originSymbol:"LAOS"}),De=new x.Asset({key:"lbtc",originSymbol:"LBTC"}),ye=new x.Asset({key:"ewt",originSymbol:"EWT"}),Le=new x.Asset({key:"link",originSymbol:"LINK"}),N=new x.Asset({key:"myth",originSymbol:"MYTH"}),He=new x.Asset({key:"neuro",originSymbol:"NEURO"}),xe=new x.Asset({key:"pen",originSymbol:"PEN"}),We=new x.Asset({key:"paxg",originSymbol:"PAXG"}),Me=new x.Asset({key:"sky",originSymbol:"SKY"}),j=new x.Asset({key:"sol",originSymbol:"SOL"}),re=new x.Asset({key:"sui",originSymbol:"SUI"}),Ve=new x.Asset({key:"susde",originSymbol:"sUSDe"}),$e=new x.Asset({key:"susds",originSymbol:"sUSDS"}),Ae=new x.Asset({...$e,key:"susds_mwh"}),Oe=new x.Asset({key:"tbtc",originSymbol:"tBTC"}),Ue=new x.Asset({key:"trac",originSymbol:"TRAC"}),Ke=new x.Asset({key:"unq",originSymbol:"UNQ"}),p=new x.Asset({key:"usdt",originSymbol:"USDT"}),we=new x.Asset({...p,key:"usdt_mwh"}),Bt=new x.Asset({...p,key:"usdt_eth"}),y=new x.Asset({key:"usdc",originSymbol:"USDC"}),Ce=new x.Asset({...y,key:"usdc_mwh"}),Pt=new x.Asset({...y,key:"usdc_eth"}),J=new x.Asset({key:"vastr",originSymbol:"vASTR"}),O=new x.Asset({key:"vdot",originSymbol:"vDOT"}),Vt=new x.Asset({key:"weth",originSymbol:"WETH"}),te=new x.Asset({...Vt,key:"weth_mwh"}),Je=new x.Asset({key:"wbtc",originSymbol:"WBTC"}),ke=new x.Asset({...Je,key:"wbtc_mwh"}),Ne=new x.Asset({key:"wsteth",originSymbol:"wstETH"}),tt=new x.Asset({key:"wud",originSymbol:"WUD"}),vr=[Fe,Xe,L,Bn,Ie,he,I,be,ne,g,Re,H,v,$,R,M,F,_e,Se,De,ye,oe,Le,N,He,We,xe,Me,j,re,Ve,$e,Ae,Ue,Oe,Ke,y,Ce,Pt,p,we,Bt,J,O,Je,ke,Vt,te,Ne,tt],ca=new Map(vr.map(t=>[t.key,t]));var Bs=require("@galacticcouncil/xc-core");var ma=require("viem/chains"),_=new Bs.EvmChain({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:H,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:Fe,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Ie,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Vt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:be,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:Re,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:Ve,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:$e,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Oe,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Je,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:De,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:y,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:p,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:_e,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:Le,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:We,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Me,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:Ue,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:Ne,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:Bs.ChainEcosystem.Ethereum,evmChain:ma.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 ua=[_];var Ps=require("@galacticcouncil/xc-core");var Ot=new Ps.Parachain({assetsData:[{asset:Xe,id:"AJUN",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ps.ChainEcosystem.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});var bs=require("@galacticcouncil/xc-core");var la={assetsData:[{asset:g,decimals:10,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:tt,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:N,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:F,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:bs.ChainEcosystem.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://asset-hub-polkadot-rpc.n.dwellir.com","wss://polkadot-asset-hub-rpc.polkadot.io"]},k=new bs.Parachain({...la,key:"assethub",name:"AssetHub Polkadot"}),mt=new bs.Parachain({...la,key:"assethub_cex",name:"AssetHub (CEX)",usesSignerFee:!0,isTestChain:!0});var Es=require("@galacticcouncil/xc-core");var se=new Es.Parachain({assetsData:[{asset:L,xcmLocation:{parents:0,interior:"Here"}},{asset:g,id:"340282366920938463463374607431768211455",decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:"4294969280",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,id:"4294969281",decimals:6,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:I,id:"18446744073709551623",decimals:12,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:v,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,id:"18446744073709551620",decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:M,id:"18446744073709551621",decimals:10,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:O,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:Es.ChainEcosystem.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});var Fs=require("@galacticcouncil/xc-core");var Br=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],W=new Fs.Parachain({assetsData:[{asset:I,id:{Native:I.originSymbol},xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:O,id:{VToken2:0},decimals:10,min:1e-4,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:J,id:{VToken2:3},decimals:18,min:.01,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:g,id:{Token2:0},decimals:10,min:1e-4,xcmLocation:{parents:1,interior:"Here"}},{asset:p,id:{Token2:2},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:L,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:v,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Fs.ChainEcosystem.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:Br});var Ut=require("@galacticcouncil/xc-core");var Kt=new Ut.Parachain({assetsData:[{asset:he,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ut.ChainEcosystem.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,usesLegacyEnhancer:!0,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"],xcmVersion:Ut.XcmVersion.v3});var Is=require("@galacticcouncil/xc-core"),fa=require("viem");var da=require("@polkadot-api/substrate-bindings"),Pr="ETH\0",Xs=class{async toH160(e){let s=(0,da.getSs58AddressInfo)(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let n=s.publicKey,a=Buffer.from(Pr),o=n.slice(a.length,-8);return"0x"+Buffer.from(o).toString("hex")}};var Er=new Xs,Pn=["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"],En=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],Fr=(0,fa.defineChain)({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Pn,webSocket:En},default:{http:Pn,webSocket:En}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),f=new Is.EvmParachain({assetsData:[{asset:$,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:Fe,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:Xe,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:L,decimals:18,id:9,min:.15,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:I,decimals:12,id:14,min:.069,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ie,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:he,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:g,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ne,decimals:18,id:18,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:H,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:v,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:R,decimals:8,id:11,min:36e-8,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:M,decimals:10,id:17,min:.62,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:oe,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:ye,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:_e,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:F,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:Se,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:De,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:Le,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:We,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:N,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:He,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:xe,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Me,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:j,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:re,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ve,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:$e,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:Ae,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Oe,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:Ue,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:Ke,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:y,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:Ce,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:Pt,decimals:6,id:1000766,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}]}}},{asset:p,decimals:6,id:10,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:we,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:Bt,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:O,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Je,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:ke,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Vt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:te,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:Ne,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:tt,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}}],ecosystem:Is.ChainEcosystem.Polkadot,evmChain:Fr,evmResolver:Er,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:En,rpcs:Pn});var Nt=require("@galacticcouncil/xc-core");var Te=new Nt.Parachain({assetsData:[{asset:M,decimals:10,id:{Token:M.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:R,decimals:8,id:{Token:R.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:g,decimals:10,id:{Token:g.originSymbol},xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:{ForeignAsset:2},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}},{asset:y,decimals:6,id:{ForeignAsset:12},xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:$,decimals:12,id:{ForeignAsset:13},xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:O,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Nt.ChainEcosystem.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain",usesLegacyEnhancer:!0,xcmVersion:Nt.XcmVersion.v3});var Rs=require("@galacticcouncil/xc-core");var Gt=new Rs.Parachain({assetsData:[{asset:Se,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Rs.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 _s=require("@galacticcouncil/xc-core"),pa=require("viem");var Xr=(0,pa.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}),E=new _s.EvmParachain({assetsData:[{asset:v,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ne,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:j,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:oe,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:Ae,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:re,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:Ce,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:we,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:ke,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:te,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:g,decimals:10,id:"0xffffffff1fcacbd218edc0eba20fc2308c778080",xcmLocation:{parents:1,interior:"Here"}},{asset:$,decimals:12,id:"0xffffffff345dc44ddae98df024eb494321e73fcc",xcmLocation:{parents:1,interior:{X2:[{Parachain:2034},{GeneralIndex:0}]}}},{asset:y,decimals:6,id:"0xffffffff7d2b0b761af01ca8e25242976ac0ad7d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:p,decimals:6,id:"0xffffffffea09fb06d082fd1275cd48b191cbcd1d",xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:_s.ChainEcosystem.Polkadot,evmChain:Xr,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 Ss=require("@galacticcouncil/xc-core");var ut=new Ss.Parachain({assetsData:[{asset:N,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ss.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 Ds=require("@galacticcouncil/xc-core");var qt=new Ds.Parachain({assetsData:[{asset:He,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:Ds.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 jt=require("@galacticcouncil/xc-core");var zt=new jt.Parachain({assetsData:[{asset:xe,id:"Native",xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:jt.ChainEcosystem.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,usesLegacyEnhancer:!0,ws:"wss://rpc-pendulum.prd.pendulumchain.tech",xcmVersion:jt.XcmVersion.v3});var Ls=require("@galacticcouncil/xc-core");var Ir={assetsData:[{asset:g,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ls.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"},ha=new Ls.Parachain({...Ir,key:"polkadot"});var Hs=require("@galacticcouncil/xc-core");var $t=new Hs.Parachain({assetsData:[{asset:Ke,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Hs.ChainEcosystem.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});var Jt=require("@galacticcouncil/xc-core");var Qt=new Jt.Parachain({assetsData:[{asset:ye,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Jt.ChainEcosystem.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,usesLegacyEnhancer:!0,ws:"wss://wnp-rpc.mainnet.energywebx.com",xcmVersion:Jt.XcmVersion.v3});var ba=[Ot,k,mt,se,W,Kt,f,Gt,qt,Te,E,ut,zt,ha,$t,Qt];var Ws=require("@galacticcouncil/xc-core");var Et=new Ws.SolanaChain({id:101,key:"solana",name:"Solana",assetsData:[{asset:j,decimals:9},{asset:oe,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:Ws.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 ya=[Et];var Ms=require("@galacticcouncil/xc-core");var Yt=new Ms.SuiChain({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:re,decimals:9}],ecosystem:Ms.ChainEcosystem.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var xa=[Yt];var Vs=require("@galacticcouncil/xc-core");var st=new Vs.Parachain({assetsData:[{asset:F,decimals:12,id:0,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:1984,xcmLocation:{parents:1,interior:{X2:[{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Vs.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 Os=require("@galacticcouncil/xc-core");var Zt=new Os.Parachain({assetsData:[{asset:Bn,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:F,decimals:12,id:1,xcmLocation:{parents:1,interior:"Here"}},{asset:p,decimals:6,id:14,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1984}]}}}],ecosystem:Os.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 ga=[st,Zt];var Rr=[...ua,...ba,...ya,...xa,...ga],Aa=new Map(Rr.map(t=>[t.key,t]));var St=require("@galacticcouncil/xc-core");var $n={};Mt($n,{AssetMinBuilder:()=>lt,BalanceBuilder:()=>r,ContractBuilder:()=>S,ExtrinsicBuilder:()=>u,ExtrinsicDecorator:()=>ot,FeeAmountBuilder:()=>w,FeeAssetBuilder:()=>gs,MoveBuilder:()=>zn,ProgramBuilder:()=>Js,XcmTransferType:()=>me,XcmVersion:()=>at});var Us=require("@galacticcouncil/xc-core");function lt(){return{assetRegistry:_r,assets:Sr}}function _r(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Us.SubstrateQueryConfig({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Us.SubstrateQueryConfig({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Sr(){return{asset:()=>({build:({asset:t})=>new Us.SubstrateQueryConfig({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}var ys=require("@galacticcouncil/xc-core");function wa(){return{erc20:Lr,native:Dr}}function Dr(){return{build:({address:t})=>new ys.ContractConfig({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function Lr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n||typeof n!="string")throw new Error(`Invalid contract address: ${e}`);return new ys.ContractConfig({abi:ys.Abi.Erc20,address:n,args:[t],func:"balanceOf",module:"Erc20"})}}}var es=require("@galacticcouncil/xc-core"),ts=require("@galacticcouncil/common");function Ca(){return{assets:Hr,system:Mr,tokens:Vr,ormlTokens:Or,foreignAssets:Wr}}function Hr(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"Assets",func:"Account",args:[a,t],transform:async o=>BigInt(o?.balance?.toString()??"0")})}})}}function Wr(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getAssetXcmLocation(e);if(!a)throw new Error("Missing asset xcm location for "+e.key);let o=(0,ts.encodeLocation)(a);return new es.SubstrateQueryConfig({module:"ForeignAssets",func:"Account",args:[o,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function Mr(){return{account:()=>({build:({address:t})=>new es.SubstrateQueryConfig({module:"System",func:"Account",args:[t],transform:async e=>{let s=e?.data,n=BigInt(s?.free?.toString()??"0"),a=BigInt((s?.miscFrozen??s?.frozen)?.toString()??"0");return n>=a?n-a:0n}})})}}function Vr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"Tokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}function Or(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=(0,ts.encodeAssetId)(n);return new es.SubstrateQueryConfig({module:"OrmlTokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}var Fn=require("@galacticcouncil/xc-core");function ka(){return{native:Ur,token:Kr}}function Ur(){return{build:({address:t})=>new Fn.SolanaQueryConfig({address:t,func:"rpc_getBalance",module:"Native"})}}function Kr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n)throw new Error(`Invalid token address: ${e}`);return new Fn.SolanaQueryConfig({address:t,token:n.toString(),func:"getBalance",module:"Token"})}}}var Ta=require("@galacticcouncil/xc-core");function va(){return{native:Nr}}function Nr(){return{build:({address:t})=>new Ta.SuiQueryConfig({address:t,func:"sui_getBalance",module:"Native"})}}function r(){return{evm:wa,substrate:Ca,solana:ka,sui:va}}var Ft=require("@galacticcouncil/xc-core"),Ba=require("viem"),Gr=t=>({build:async e=>{let s=await Promise.all(t.map(i=>i.build(e))),n=s.map(i=>i.address),a=[0,0],o=s.map(i=>(0,Ba.encodeFunctionData)({abi:Ft.Abi[i.module],functionName:i.func,args:i.args}));return new Ft.ContractConfig({abi:Ft.Abi.Batch,address:Ft.Precompile.Batch,args:[n,a,o,[]],func:"batchAll",module:"Batch"})}}),Pa=()=>({batchAll:Gr});var ns=require("@galacticcouncil/xc-core");function ss(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function nt(t){return typeof t=="object"?Object.values(t)[0]:t}function Ea(){return{approve:t=>({build:async e=>{let{amount:s,asset:n,source:a,transact:o}=e,i=o?o.chain:a.chain,m=ns.Wormhole.fromChain(i),c=i.getAssetId(n);return new ns.ContractConfig({abi:ns.Abi.Erc20,address:nt(c).toString(),args:[t(m),s],func:"approve",module:"Erc20"})}})}}var Ge=require("@galacticcouncil/xc-core"),Xa=require("@galacticcouncil/common"),{Ss58Addr:Fa}=Ge.addr;function qr(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")}`}function Xn(t,e){let s=t.getAssetId(e);return typeof s=="string"?qr(s):s}function Ia(){return{transferAssetsToPara32:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xn(a.chain,s);return new Ge.ContractConfig({abi:Ge.Abi.PolkadotXcm,address:Ge.Precompile.PolkadotXcm,args:[n.chain.parachainId,Fa.getPubKey(t),[{asset:o,amount:e}],0],func:"transferAssetsToPara32",module:"PolkadotXcm"})}}),transferAssetsToPara32WithFee:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xn(a.chain,s),i=Xn(a.chain,a.destinationFeeBalance),m=Xa.big.toBigInt(n.fee.amount,n.fee.decimals);return new Ge.ContractConfig({abi:Ge.Abi.PolkadotXcm,address:Ge.Precompile.PolkadotXcm,args:[n.chain.parachainId,Fa.getPubKey(t),[{asset:o,amount:e},{asset:i,amount:m}],1],func:"transferAssetsToPara32",module:"PolkadotXcm"})}})}}var dt=require("@galacticcouncil/xc-core");var{Ss58Addr:jr}=dt.addr,zr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o}=t,i=a.chain,m=o.chain,c=dt.Snowbridge.fromChain(i),l=i.getAssetId(n),h=nt(l),b=n.originSymbol==="ETH",A=o.feeBreakdown.bridgeFeeInDot,T=o.fee.amount;return new dt.ContractConfig({abi:dt.Abi.Snowbridge,address:c.getGateway(),args:[h,m.parachainId,[1,jr.getPubKey(e)],A,s],value:b?T+s:T,func:"sendToken",module:"Snowbridge"})}}),Ra=()=>({sendToken:zr});var V=require("@galacticcouncil/xc-core"),In=require("@solana/web3.js"),_a=require("@solana/spl-token");var $r=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,destination:i}=e,m=V.Wormhole.fromChain(o.chain),c=V.Wormhole.fromChain(t.moonchain),l=V.Precompile.Bridge,h=o.chain.getAssetId(a),b=0,A=await V.mrl.createPayload(i.chain,s);return new V.ContractConfig({abi:V.Abi.TokenBridge,address:m.getTokenBridge(),args:[nt(h),n,c.getWormholeId(),c.normalizeAddress(l),b,A.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),Jr=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,destination:o}=e,i=V.Wormhole.fromChain(a.chain),m=V.Wormhole.fromChain(t.moonchain),c=V.Precompile.Bridge,l=0,h=await V.mrl.createPayload(o.chain,s);return new V.ContractConfig({abi:V.Abi.TokenBridge,address:i.getTokenBridge(),args:[m.getWormholeId(),m.normalizeAddress(c),l,h.toHex()],value:n,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),Qr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=V.Wormhole.fromChain(m),h=V.Wormhole.fromChain(c),b=e;if(c.isSolana()){let U=c.getAssetId(n);b=(await(0,_a.getAssociatedTokenAddress)(new In.PublicKey(U),new In.PublicKey(e))).toBase58()}let A=m.getAssetId(n),T=0,X=0;return new V.ContractConfig({abi:V.Abi.TokenBridge,address:l.getTokenBridge(),args:[nt(A),s,h.getWormholeId(),h.normalizeAddress(b),T,X],func:"transferTokens",module:"TokenBridge"})}}),Yr=()=>({build:async t=>{let{address:e,amount:s,source:n,destination:a}=t,o=V.Wormhole.fromChain(n.chain),i=V.Wormhole.fromChain(a.chain),m=0,c=0;return new V.ContractConfig({abi:V.Abi.TokenBridge,address:o.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),m,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Sa=()=>({transferTokens:Qr,transferTokensWithPayload:$r,wrapAndTransferETH:Yr,wrapAndTransferETHWithPayload:Jr});var Xt=require("@galacticcouncil/xc-core");var Zr=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=Xt.Wormhole.fromChain(m),h=Xt.Wormhole.fromChain(c),b=0,A=0,T=m.getAssetId(n);return new Xt.ContractConfig({abi:Xt.Abi.TokenRelayer,address:l.getTokenRelayer(),args:[nt(T),s,b,h.getWormholeId(),h.normalizeAddress(e),A],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Da=()=>({transferTokensWithRelay:Zr});function La(){return{TokenBridge:Sa,TokenRelayer:Da}}function S(){return{Batch:Pa,Erc20:Ea,PolkadotXcm:Ia,Snowbridge:Ra,Wormhole:La}}var Wa=require("@galacticcouncil/xc-core"),Ha="AssetConversion",ei=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:n})=>{let{chain:a}=n,o=n.destinationFeeSwap||n.feeSwap;if(!o)throw new Error("Swap context not found.");let{aIn:i,aOut:m}=o,c=a,l=c.getAssetXcmLocation(i),h=c.getAssetXcmLocation(m),b=i.amount+i.amount*BigInt(t.slippage)/100n,A=m.amount;return new Wa.ExtrinsicConfig({module:Ha,func:e,getTx:T=>T.getUnsafeApi().tx[Ha][e]({path:[l,h],amount_out:A,amount_in_max:b,send_to:s,keep_alive:!0})})}}},Ma=()=>({swapTokensForExactTokens:ei});var Ks=require("@galacticcouncil/descriptors"),Va=require("@galacticcouncil/xc-core"),ti="Assets",si=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:n,destination:a})=>{let o=a.chain,{fee:i}=a,m=s>i.amount?s-i.amount:s,c=o.getMetadataAssetId(e);return new Va.ExtrinsicConfig({module:ti,func:t,getTx:l=>l.getTypedApi(Ks.hub).tx.Assets.transfer({id:Number(c),target:Ks.MultiAddress.Id(n),amount:m})})}}},Oa=()=>({transfer:si});var Ka=require("@galacticcouncil/xc-core"),Ua="Balances",ni=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Ka.ExtrinsicConfig({module:Ua,func:e,getTx:n=>n.getUnsafeApi().tx[Ua][e]({dest:s,keep_alive:t})})}},Na=()=>({transferAll:ni});var Ga=require("@galacticcouncil/descriptors"),qa=require("@galacticcouncil/xc-core"),ai="Router",oi=t=>({build:async({source:s})=>{let{chain:n,destinationFeeSwap:a}=s;if(!a)throw new Error("Swap context not found.");let{aIn:o,aOut:i,route:m}=a,c=n,l=c.getMetadataAssetId(o),h=c.getMetadataAssetId(i),b=i.amount,A=o.amount+o.amount*BigInt(t.slippage)/100n;return new qa.ExtrinsicConfig({module:ai,func:"buy",getTx:T=>T.getTypedApi(Ga.hydration).tx.Router.buy({asset_in:Number(l),asset_out:Number(h),amount_out:b,max_amount_in:A,route:m})})}}),ja=()=>({buy:oi});var $a=require("@galacticcouncil/xc-core"),za="Utility",ri=t=>{let e="batch_all";return{build:async s=>{let n=await Promise.all(t.map(a=>a.build(s)));return new $a.ExtrinsicConfig({module:za,func:e,getTx:a=>{let o=n.map(i=>i.getTx(a).decodedCall);return a.getUnsafeApi().tx[za][e]({calls:o})}})}}},Ja=()=>({batchAll:ri});var Ns=require("@galacticcouncil/xc-core"),Rn=require("polkadot-api"),Ya=require("viem");var at=(o=>(o.v1="V1",o.v2="V2",o.v3="V3",o.v4="V4",o.v5="V5",o))(at||{}),me=(a=>(a.Teleport="Teleport",a.LocalReserve="LocalReserve",a.DestinationReserve="DestinationReserve",a.RemoteReserve="RemoteReserve",a))(me||{});var Qa="EthereumXcm",ii=t=>{let e="transact";return{build:async s=>{let n=await t.build(s),a="V1",o=(0,Ya.encodeFunctionData)({abi:Ns.Abi[n.module],functionName:n.func,args:n.args});return new Ns.ExtrinsicConfig({module:Qa,func:e,getTx:i=>i.getUnsafeApi().tx[Qa][e]({xcm_transaction:{type:a,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Rn.Binary.fromHex(n.address)},value:[0n,0n,0n,0n],input:Rn.Binary.fromHex(o),access_list:void 0}}})})}}},_n=()=>({transact:ii});var pt=require("@galacticcouncil/xc-core"),js=require("@galacticcouncil/common");var rs=require("@galacticcouncil/xc-core"),go=require("polkadot-api"),d=require("@galacticcouncil/descriptors");var Za=require("@galacticcouncil/descriptors"),ue=340282366920938463463374607431768211455n,It="0x0000000000000000000000000000000000000000000000000000000000000000",as={parents:1,interior:Za.XcmV3Junctions.Here()},eo=0,to=1e3,so=1002,no=1,Rt="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var ao="0x0000000000000000000000000000000000000000";var Z=require("@galacticcouncil/descriptors"),po=require("polkadot-api");var oo=require("@galacticcouncil/xc-core"),Sn=require("@galacticcouncil/descriptors"),Dn=require("polkadot-api"),ro=require("@polkadot-api/substrate-bindings"),io=require("@polkadot-api/utils");function q(t){if(t.length===42&&t.startsWith("0x"))return Sn.XcmV3Junction.AccountKey20({key:Dn.FixedSizeBinary.fromHex(t),network:void 0});let s=(0,ro.getSs58AddressInfo)(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return Sn.XcmV3Junction.AccountId32({id:Dn.FixedSizeBinary.fromHex((0,io.toHex)(s.publicKey)),network:void 0})}function os(t,e,s){return oo.acc.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}var Ln=require("@galacticcouncil/xc-core");function co(t,e){let s=Ln.multiloc.findNestedKey(t,"GeneralIndex"),n=Ln.multiloc.findNestedKey(e,"GeneralIndex"),a=s&&s.GeneralIndex,o=n&&n.GeneralIndex;return Number.isNaN(a)||Number.isNaN(o)?!1:Number(a)>Number(o)}function Q(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var Gs={};Mt(Gs,{ETHER_TOKEN_ADDRESS:()=>Wn,erc20Location:()=>mi,erc20LocationReanchored:()=>ui,ethereumLocation:()=>uo,parachainLocation:()=>ci});var ve=require("@galacticcouncil/descriptors"),Hn=require("polkadot-api"),Wn="0x0000000000000000000000000000000000000000",mo=t=>ve.XcmV3Junction.GlobalConsensus(ve.XcmV3JunctionNetworkId.Ethereum({chain_id:BigInt(t)}));function uo(t){return{parents:2,interior:ve.XcmV3Junctions.X1(mo(t))}}function ci(t){return{parents:1,interior:ve.XcmV3Junctions.X1(ve.XcmV3Junction.Parachain(t))}}function mi(t,e){return e===Wn?uo(t):{parents:2,interior:ve.XcmV3Junctions.X2([mo(t),ve.XcmV3Junction.AccountKey20({key:Hn.Binary.fromHex(e)})])}}function ui(t){return t===Wn?{parents:0,interior:{type:"Here"}}:{parents:0,interior:ve.XcmV3Junctions.X1(ve.XcmV3Junction.AccountKey20({key:Hn.Binary.fromHex(t)}))}}var Mn=require("@galacticcouncil/common"),lo=require("@galacticcouncil/xc-core");function Y(t,e){return li(e)>=4?(0,Mn.encodeLocation)(t):di(t)}function li(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function di(t){return{type:"Concrete",value:(0,Mn.encodeLocation)(t)}}var fi=1e3;function pi(t){let{parents:e,interior:s}=t;return e===1&&s==="Here"?!0:e===2&&s&&s!=="Here"?Object.values(s).flat().some(a=>a&&typeof a=="object"&&"GlobalConsensus"in a):!1}function hi(t){if(t)return pi(t)?fi:lo.multiloc.findParachain(t)}function fo(t,e,s,n){let a=e.getAssetXcmLocation(t),o=hi(a),i=n?.parachainId??s.parachainId;if(o&&i!==o)throw new Error(n?`Wrong reserve for "${t.originSymbol}": expected chain ${o}, got ${n.name} (${n.parachainId})`:`Reserve chain ${o} required for "${t.originSymbol}"`)}function Vn(t,e){let s="V4",n=Y(Q(e,t),s),a=po.Binary.fromHex(It);return[Z.XcmV4Instruction.ReserveAssetDeposited([{id:as,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)},{id:n,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)}]),Z.XcmV4Instruction.ClearOrigin(),Z.XcmV4Instruction.BuyExecution({fees:{id:as,fun:Z.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:Z.XcmV3WeightLimit.Unlimited()}),Z.XcmV4Instruction.DepositAsset({assets:Z.XcmV4AssetAssetFilter.Wild(Z.XcmV4AssetWildAsset.AllCounted(2)),beneficiary:{parents:0,interior:Z.XcmV3Junctions.X1(q(Rt))}}),Z.XcmV4Instruction.SetTopic(a)]}var Qe=require("@galacticcouncil/descriptors");function ho(t,e){let s="V4",n=Y(Q(e,t),s),a=qs("V4",q(ao),q(Rt),n,It);return[Qe.XcmV4Instruction.WithdrawAsset([{id:as,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)},{id:n,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)}]),Qe.XcmV4Instruction.ClearOrigin(),Qe.XcmV4Instruction.BuyExecution({fees:{id:as,fun:Qe.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:Qe.XcmV3WeightLimit.Unlimited()}),...a.value]}var P=require("@galacticcouncil/descriptors"),On=require("polkadot-api");function bo(t,e){let s="V4",n=Y(Q(e,t),s),a=On.Binary.fromHex(It);return[P.XcmV4Instruction.WithdrawAsset([{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)}]),P.XcmV4Instruction.ClearOrigin(),P.XcmV4Instruction.BuyExecution({fees:{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:P.XcmV3Junctions.X1(q(Rt))}}),P.XcmV4Instruction.SetTopic(a)]}function Un(t,e){let s="V4",n=Y(Q(e,t),s);return[P.XcmV4Instruction.BuyExecution({fees:{id:n,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:P.XcmV3Junctions.X1(q(Rt))}})]}function yo(t,e,s){let n="V4",a=Y(Q(e,t),n),o=On.Binary.fromHex(It),i=Un(t,s);return[P.XcmV4Instruction.WithdrawAsset([{id:a,fun:P.XcmV3MultiassetFungibility.Fungible(ue)}]),P.XcmV4Instruction.ClearOrigin(),P.XcmV4Instruction.BuyExecution({fees:{id:a,fun:P.XcmV3MultiassetFungibility.Fungible(ue)},weight_limit:P.XcmV3WeightLimit.Unlimited()}),P.XcmV4Instruction.DepositReserveAsset({assets:P.XcmV4AssetAssetFilter.Wild(P.XcmV4AssetWildAsset.AllCounted(1)),dest:{parents:1,interior:P.XcmV3Junctions.X1(P.XcmV3Junction.Parachain(s.parachainId))},xcm:i}),P.XcmV4Instruction.SetTopic(o)]}var xo=[rs.ChainEcosystem.Polkadot,rs.ChainEcosystem.Kusama],bi={parents:1,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.Parachain(1e3))},yi=t=>t.parents===1&&t.interior==="Here",xi=(t,e)=>!t.ecosystem||!e.ecosystem?!1:xo.includes(t.ecosystem)&&xo.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,Ao=t=>{let{interior:e}=t;if(e.type==="X1"&&e.value.type==="GlobalConsensus")return e.value.value.type==="Ethereum";if(e.type==="X2"&&Array.isArray(e.value)){let s=e.value[0];return s.type==="GlobalConsensus"&&s.value.type==="Ethereum"}return!1},Ye=(t,e,s)=>{if(xi(e,s)){let a=s.ecosystem===rs.ChainEcosystem.Polkadot?d.XcmV3JunctionNetworkId.Polkadot():d.XcmV3JunctionNetworkId.Kusama();return{type:t,value:{parents:2,interior:d.XcmV3Junctions.X2([d.XcmV3Junction.GlobalConsensus(a),d.XcmV3Junction.Parachain(s.parachainId)])}}}if(s.parachainId===eo)return{type:t,value:{parents:1,interior:d.XcmV3Junctions.Here()}};let n=s.key==="ethereum"?to:s.parachainId;return{type:t,value:{parents:1,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.Parachain(n))}}},_t=(t,e)=>({type:t,value:{parents:0,interior:d.XcmV3Junctions.X1(e)}}),Kn=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:yi(s)?bi:s}}:{type:e},ft=(t,e)=>({id:t,fun:d.XcmV3MultiassetFungibility.Fungible(e)}),wo=(t,e,s)=>({type:t,value:[d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(s)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]});var qs=(t,e,s,n,a)=>{let o=go.Binary.fromHex(a);return{type:t,value:[d.XcmV4Instruction.SetAppendix([d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.All()),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(s)}})]),d.XcmV4Instruction.InitiateReserveWithdraw({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllOf({id:n,fun:d.XcmV2MultiassetWildFungibility.Fungible()})),reserve:Gs.ethereumLocation(no),xcm:[d.XcmV4Instruction.BuyExecution({fees:{id:gi(n),fun:d.XcmV3MultiassetFungibility.Fungible(1n)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}}),d.XcmV4Instruction.SetTopic(o)]}),d.XcmV4Instruction.SetTopic(o)]}},gi=t=>{let e=rs.multiloc.findNestedKey(t,"key");return e?{parents:0,interior:d.XcmV3Junctions.X1(d.XcmV3Junction.AccountKey20({key:e.key}))}:{parents:0,interior:d.XcmV3Junctions.Here()}},Co=(t,e,s,n,a,o)=>({type:t,value:[d.XcmV4Instruction.WithdrawAsset([{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)}]),d.XcmV4Instruction.BuyExecution({fees:{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.Transact({origin_kind:d.XcmV2OriginKind.SovereignAccount(),require_weight_at_most:{ref_time:o.refTime,proof_size:o.proofSize},call:a}),d.XcmV4Instruction.RefundSurplus(),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]}),ko=(t,e,s,n,a,o)=>({type:t,value:[d.XcmV4Instruction.WithdrawAsset([{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(a)}]),d.XcmV4Instruction.BuyExecution({fees:{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(a)},weight_limit:d.XcmV3WeightLimit.Unlimited()}),d.XcmV4Instruction.TransferAsset({assets:[{id:s,fun:d.XcmV3MultiassetFungibility.Fungible(n)}],beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(o)}}),d.XcmV4Instruction.RefundSurplus(),d.XcmV4Instruction.DepositAsset({assets:d.XcmV4AssetAssetFilter.Wild(d.XcmV4AssetWildAsset.AllCounted(1)),beneficiary:{parents:0,interior:d.XcmV3Junctions.X1(e)}})]});var le="PolkadotXcm",Ai=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=Y(Q(i,n.fee),c),b=ft(l,e),A=ft(h,n.fee.amount),T="limited_reserve_transfer_assets";return new pt.ExtrinsicConfig({module:le,func:T,getTx:X=>{let U=X.getUnsafeApi().tx[le][T];return s.key===n.fee.key?U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):co(l,h)?U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[A,b]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):U({dest:Ye(c,i,m),beneficiary:_t(c,o),assets:{type:c,value:[b,A]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),wi=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="limited_teleport_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Ci=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c=i.xcmVersion??"V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="reserve_transfer_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0})})}}),ki=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=q(t),i=a.chain,m=n.chain,c="V4",l=Y(Q(i,s),c),h=ft(l,e),b=Ye(c,i,m),A=_t(c,o),T={type:c,value:[h]},X="transfer_assets";return new pt.ExtrinsicConfig({module:le,func:X,getTx:U=>U.getUnsafeApi().tx[le][X]({dest:b,beneficiary:A,assets:T,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),Ti=t=>({build:async({address:e,asset:s,amount:n,destination:a,messageId:o,sender:i,source:m,transact:c})=>{let l="V4",h=m.chain,b=a.chain,A=a.fee.amount,T=a.fee;c&&(b=c.chain,A=js.big.toBigInt(c.fee.amount,c.fee.decimals),T=c.fee);let X=q(i),U=c||b.usesCexForwarding?os(h,i,b):e,D=q(U),{transferType:ee}=t,G=Y(Q(h,s),l),C=Y(Q(h,T),l),ze=ft(G,n),vt=ft(C,A),Ze=s.isEqual(T),it=Ye(l,h,b),et={type:l,value:Ze?[ze]:[vt,ze]},ct=Kn(l,ee,G),hs={type:l,value:Ze?G:C},Tn=Kn(l,ee,C),Wt;Ao(G)?Wt=qs(l,D,X,G,o):Wt=wo(l,D,et.value.length);let vs="transfer_assets_using_type_and_then";return new pt.ExtrinsicConfig({module:le,func:vs,getTx:gr=>gr.getUnsafeApi().tx[le][vs]({dest:it,assets:et,assets_transfer_type:ct,remote_fees_id:hs,fees_transfer_type:Tn,custom_xcm_on_dest:Wt,weight_limit:{type:"Unlimited"}})})}}),vi=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:n,source:a,transact:o}=s,i="V4";if(!o)throw new Error("Transact ctx configuration is missing.");let m=a.chain,c=o.chain,l=os(m,n,c),h=q(l),{fee:b}=o,A=Y(Q(c,b),i),T=js.big.toBigInt(e.fee,b.decimals);return new pt.ExtrinsicConfig({module:le,func:t,getTx:X=>X.getUnsafeApi().tx[le][t]({dest:Ye(i,m,c),message:Co(i,h,A,T,o.call,o.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:n,address:a,asset:o,sender:i,source:m,destination:c}=s,l="V4",h=m.chain,b=c.chain,A=os(h,i,b),T=q(A),X=q(a),U=Y(Q(b,o),l),{fee:D}=c,ee=js.big.toBigInt(e.fee,D.decimals),G=n>D.amount?n-(D.amount+ee):n;return new pt.ExtrinsicConfig({module:le,func:t,getTx:C=>C.getUnsafeApi().tx[le][t]({dest:Ye(l,h,b),message:ko(l,T,U,G,ee,X)})})}})}},Nn=()=>({limitedReserveTransferAssets:Ai,limitedTeleportAssets:wi,reserveTransferAssets:Ci,transferAssets:ki,transferAssetsUsingTypeAndThen:Ti,send:vi});var Bo=require("@galacticcouncil/xc-core"),Po=require("@galacticcouncil/common");var xs=require("@galacticcouncil/descriptors"),To=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:xs.XcmV3Junctions.X1(s)}}:{type:t,value:{parents:1,interior:xs.XcmV3Junctions.X2([xs.XcmV3Junction.Parachain(e.parachainId),s])}};var vo="XTokens",Bi=()=>({build:async({address:t,amount:e,asset:s,destination:n,sender:a,source:o})=>{let i=o.chain,m=n.chain,c="V3",l=m.usesCexForwarding?os(i,a,m):t,h=q(l),b=i.getAssetId(s),A=(0,Po.encodeAssetId)(b),T="transfer";return new Bo.ExtrinsicConfig({module:vo,func:T,getTx:X=>X.getUnsafeApi().tx[vo][T]({currency_id:A,amount:e,dest:To(c,m,h),dest_weight_limit:{type:"Unlimited"}})})}}),Gn=()=>({transfer:Bi});function u(){return{assetConversion:Ma,assets:Oa,balances:Na,ethereumXcm:_n,polkadotXcm:Nn,router:ja,utility:Ja,xTokens:Gn}}function ot(t,e){return{prior:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,s]).build(n):s.build(n)}},priorMulti:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,...s]).build(n):u().utility().batchAll([...s]).build(n)}}}}var ht=require("@galacticcouncil/xc-core");var qn={};Mt(qn,{AssethubClient:()=>de,BaseClient:()=>Be,HydrationClient:()=>qe});var Eo=require("@galacticcouncil/common"),zs=require("@galacticcouncil/descriptors"),Be=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??zs.hub}get client(){return this.chain.client}api(){return this.client.getTypedApi(this.descriptor)}get refApi(){return this.api()}async getSystemAccountBalance(e){let n=(await this.refApi.query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async calculateDestinationFee(e,s){let n=await this.refApi.apis.XcmPaymentApi.query_xcm_weight({type:"V4",value:e});if(!n.success)throw Error("Can't query XCM weight.");let a=this.chain.getAssetXcmLocation(s);if(!a)throw Error(`Can't get XCM location for asset ${s.originSymbol}`);let o=(0,Eo.encodeLocation)(a),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(n.value,zs.XcmVersionedAssetId.V4(o));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};var is=require("@galacticcouncil/descriptors"),Fo=require("@galacticcouncil/common"),$s=require("@polkadot-api/substrate-bindings"),Xo=require("@polkadot-api/utils");var de=class extends Be{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=this.chain.getAssetXcmLocation(e),a=(0,Fo.encodeLocation)(n);if(s===0)return!0;let o=s===e.originSymbol?await this.api().query.ForeignAssets.Asset.getValue(a):await this.api().query.Assets.Asset.getValue(Number(s));return o&&o.is_sufficient||!1}async checkIfFrozen(e,s){let n=this.chain.getAssetId(s);if(n===s.originSymbol)return!1;let a=await this.api().query.Assets.Account.getValue(Number(n),e);return a&&a.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:"),n=(0,Xo.toHex)((0,$s.Twox128)(s)),a=await this.client._request("state_getStorage",[n]);if(!a)return e.defaultFee;let o=$s.u128.dec(a);return o===0n?e.defaultFee:o}async calculateDeliveryFee(e,s){let n=is.XcmVersionedLocation.V5({parents:1,interior:is.XcmV5Junctions.X1(is.XcmV5Junction.Parachain(s))}),a=await this.api().apis.XcmPaymentApi.query_delivery_fees(n,{type:"V4",value:e});if(!a.success)throw Error("Can't query XCM delivery fee.");let o=a.value.value.find(m=>{let c=m.id;return c&&c.parents&&c.parents===1&&c.interior.type==="Here"});if(!o)throw Error("Can't find XCM delivery fee in DOT.");let i=o.fun.value;if(typeof i=="bigint")return i;throw Error("Can't parse delivery fee.")}};var Io=require("@galacticcouncil/descriptors");var qe=class extends Be{constructor(e){super(e,Io.hydration)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=Number(s),a=await this.api().query.AssetRegistry.Assets.getValue(n);return a?a.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 n=(await this.api().query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async getTokensAccountsBalance(e,s){let n=Number(s),a=await this.api().query.Tokens.Accounts.getValue(e,n),{free:o,frozen:i}=a;return BigInt(o)-BigInt(i)}};function Pi(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let n=s,a=e,o=ht.Wormhole.fromChain(n),i=ht.Wormhole.fromChain(a),m=n.getAssetId(t),c=n.getAssetDecimals(t);return{amount:await n.evmClient.getProvider().readContract({abi:ht.Abi.TokenRelayer,address:o.getTokenRelayer(),args:[i.getWormholeId(),m,c],functionName:"calculateRelayerFee"})}}})}}function Ei(){return{TokenRelayer:Pi}}function Fi(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:n})=>{let a=n,o=s,i=ht.Snowbridge.fromChain(a),m=new Be(o),c=new de(t.hub),l=Vn(e,o),[h,b]=await Promise.all([m.calculateDestinationFee(l,g),c.calculateDeliveryFee(l,o.parachainId)]),A=b+ss(h,25n),T=a.getAssetId(e);return{amount:await a.evmClient.getProvider().readContract({abi:ht.Abi.Snowbridge,address:i.getGateway(),args:[T,o.parachainId,A],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:A}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:n})=>{let a=n,o=new de(t.hub),i=ho(e,a),m=Vn(e,a),[c,l,h,b,A]=await Promise.all([o.getBridgeDeliveryFee(),o.calculateDeliveryFee(i,so),o.calculateDestinationFee(i,s),o.calculateDeliveryFee(m,a.parachainId),o.calculateDestinationFee(m,s)]);return{amount:c+l+ss(h,25n)+b+ss(A,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:l,assetHubDestinationFee:h,returnToSenderDeliveryFee:b,returnToSenderDestinationFee:A}}}})}}function Xi(){return{calculateDestFee:t=>({build:async({feeAsset:e,source:s,destination:n})=>{let a=s,o=n,i=t?.reserve;if(fo(e,a,o,i),i){let A=new Be(o),T=new Be(i),X=Un(e,o),U=yo(e,i,o),[D,ee]=await Promise.all([A.calculateDestinationFee(X,e),T.calculateDestinationFee(U,e)]),G=ee+D,C=ss(G,20n),ze=C-G;return{amount:C,breakdown:{reserveFee:ee,destinationFee:D,margin:ze}}}let m=new Be(o),c=bo(e,o),l=await m.calculateDestinationFee(c,e),h=ss(l,20n),b=h-l;return{amount:h,breakdown:{totalFee:l,margin:b}}}})}}function w(){return{XcmPaymentApi:Xi,Snowbridge:Fi,Wormhole:Ei}}var Ii="0";function Ri(){return{build:async({address:t,chain:e})=>{let n=await new qe(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),a=n?n.toString():Ii,o=e.findAssetById(a);return o?o.asset:$}}}var _i=()=>({accountCurrencyMap:Ri});function gs(){return{multiTransactionPayment:_i}}var fe=require("@galacticcouncil/xc-core"),ie=require("@solana/spl-token"),je=require("@solana/web3.js"),jn=require("@wormhole-foundation/sdk-connect"),bt=require("@wormhole-foundation/sdk-solana-tokenbridge"),Si=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=fe.Wormhole.fromChain(m),h=fe.Wormhole.fromChain(t.moonchain),b=fe.Precompile.Bridge,A=await fe.mrl.createPayload(i.chain,s),T=new je.PublicKey(o),X=new jn.UniversalAddress(b),U=h.getWormholeId(),D=T,ee=0,G=je.Keypair.generate(),C=je.Keypair.generate(),ze=await(0,ie.getMinimumBalanceForRentExemptAccount)(c.connection),vt=je.SystemProgram.createAccount({fromPubkey:D,newAccountPubkey:C.publicKey,lamports:ze,space:ie.ACCOUNT_SIZE,programId:ie.TOKEN_PROGRAM_ID}),Ze=je.SystemProgram.transfer({fromPubkey:D,lamports:n,toPubkey:C.publicKey}),it=(0,ie.createInitializeAccountInstruction)(C.publicKey,ie.NATIVE_MINT,D),et=(0,bt.createApproveAuthoritySignerInstruction)(l.getTokenBridge(),C.publicKey,D,n),ct=(0,bt.createTransferNativeWithPayloadInstruction)(c.connection,l.getTokenBridge(),l.getCoreBridge(),o,G.publicKey,C.publicKey,ie.NATIVE_MINT,ee,n,X.toUint8Array(),U,A.toU8a()),hs=(0,ie.createCloseAccountInstruction)(C.publicKey,D,D);return new fe.ProgramConfig({instructions:[vt,Ze,it,et,ct,hs],signers:[G,C],func:"TransferNativeWithPayload",module:"TokenBridge",rentReserve:BigInt(ze)})}})}),Di=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,sender:i,destination:m}=e,c=o.chain,l=c,h=fe.Wormhole.fromChain(c),b=fe.Wormhole.fromChain(t.moonchain),A=fe.Precompile.Bridge,T=await fe.mrl.createPayload(m.chain,s),X=new je.PublicKey(i),U=o.chain.getAssetId(a),D=new je.PublicKey(U),ee=await(0,ie.getAssociatedTokenAddress)(D,X),G=new jn.UniversalAddress(A),C=b.getWormholeId();if(await(0,bt.getWrappedMeta)(l.connection,h.getTokenBridge(),D).catch(ct=>null).then(ct=>ct!=null))throw new Error("Wrapped assets not supported yet");let vt=0,Ze=je.Keypair.generate(),it=(0,bt.createApproveAuthoritySignerInstruction)(h.getTokenBridge(),ee,X,n),et=(0,bt.createTransferNativeWithPayloadInstruction)(l.connection,h.getTokenBridge(),h.getCoreBridge(),i,Ze.publicKey,ee,D,vt,n,G.toUint8Array(),C,T.toU8a());return new fe.ProgramConfig({instructions:[it,et],signers:[Ze],func:"TransferWithPayload",module:"TokenBridge"})}})}),Ro=()=>({transferNativeWithPayload:Si,transferTokenWithPayload:Di});function _o(){return{TokenBridge:Ro}}function Js(){return{Wormhole:_o}}var rt=require("@galacticcouncil/xc-core"),So=require("@mysten/sui/transactions"),Qs=require("@mysten/sui/utils"),Do=require("@wormhole-foundation/sdk-connect"),As=require("@wormhole-foundation/sdk-sui"),Li=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=rt.Wormhole.fromChain(m),h=rt.Wormhole.fromChain(t.moonchain),b=0,A=rt.Precompile.Bridge,T=await rt.mrl.createPayload(i.chain,s),X=new Do.UniversalAddress(A),U=h.getWormholeId(),D=Qs.SUI_TYPE_ARG,[ee,G]=await Promise.all([(0,As.getPackageId)(c.client,l.coreBridge),(0,As.getPackageId)(c.client,l.tokenBridge)]),C=new So.Transaction,[ze]=C.splitCoins(C.gas,[C.pure.u64(n)]),[vt]=C.splitCoins(C.gas,[C.pure.u64(i.fee.amount)]),[Ze]=C.moveCall({target:`${G}::state::verified_asset`,arguments:[C.object(l.tokenBridge)],typeArguments:[D]}),it=!1,et=await(async()=>{let Wt=await(0,As.getOldestEmitterCapObjectId)(c.client,ee,o);if(Wt!==null)return C.object(Wt);{let[vs]=C.moveCall({target:`${ee}::emitter::new`,arguments:[C.object(l.coreBridge)]});return it=!0,vs}})(),[ct,hs]=C.moveCall({target:`${G}::transfer_tokens_with_payload::prepare_transfer`,arguments:[et,Ze,ze,C.pure.u16(U),C.pure.vector("u8",X.toUint8Array()),C.pure.vector("u8",T.toU8a()),C.pure.u32(b)],typeArguments:[D]});C.moveCall({target:`${G}::coin_utils::return_nonzero`,arguments:[hs],typeArguments:[D]});let[Tn]=C.moveCall({target:`${G}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[C.object(l.tokenBridge),ct],typeArguments:[D]});return C.moveCall({target:`${ee}::publish_message::publish_message`,arguments:[C.object(l.coreBridge),vt,Tn,C.object(Qs.SUI_CLOCK_OBJECT_ID)]}),it&&C.transferObjects([et],C.pure.address(o)),new rt.MoveConfig({transaction:C,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Lo=()=>({transferNativeWithPayload:Li});function Ho(){return{TokenBridge:Lo}}function zn(){return{Wormhole:Ho}}var Jn={};Mt(Jn,{Tag:()=>yt});var yt=(a=>(a.Wormhole="Wormhole",a.Relayer="Relayer",a.Snowbridge="Snowbridge",a.Mrl="Mrl",a))(yt||{});var Qn=require("@galacticcouncil/xc-core");function cs(t,e){return new Qn.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{asset:t,balance:r().evm().erc20()}},destination:{chain:f,asset:e,fee:{amount:0,asset:e}},contract:S().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})}function ce(t,e){return new Qn.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:f,asset:e,fee:{amount:w().Snowbridge().calculateInboundFee({hub:k}),asset:H}},contract:S().Snowbridge().sendToken(),tags:["Snowbridge"]})}var Hi=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),destinationFee:{asset:H,balance:r().evm().native()}},destination:{chain:f,asset:te,fee:{amount:0,asset:te}},contract:S().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]}),cs(be,ne),cs(Je,ke),cs(y,Ce),cs(p,we),cs($e,Ae)],Wi=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),fee:{asset:H,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:f,asset:H,fee:{amount:w().Snowbridge().calculateInboundFee({hub:k}),asset:H}},contract:S().Snowbridge().sendToken(),tags:["Snowbridge"]}),ce(Fe,Fe),ce(Ie,Ie),ce(Re,Re),ce(We,We),ce(Ve,Ve),ce(Oe,Oe),ce(De,De),ce(_e,_e),ce(Le,Le),ce(Me,Me),ce(Ue,Ue),ce(Ne,Ne),ce(y,Pt),ce(p,Bt)],ff=[new St.AssetRoute({source:{asset:H,balance:r().evm().native(),destinationFee:{asset:H,balance:r().evm().erc20()}},destination:{chain:E,asset:te,fee:{amount:0,asset:te}},contract:S().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new St.AssetRoute({source:{asset:be,balance:r().evm().erc20(),fee:{asset:H,balance:r().evm().native()},destinationFee:{asset:be,balance:r().evm().erc20()}},destination:{chain:E,asset:ne,fee:{amount:0,asset:ne}},contract:S().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Wo=new St.ChainRoutes({chain:_,routes:[...Hi,...Wi]});var Mo=[Wo];var xt=require("@galacticcouncil/xc-core");var Ys=require("@galacticcouncil/xc-core");var Dt=0,Mi=t=>{let{source:e}=t;return!!e.feeSwap},Vi=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Vo=u().assetConversion().swapTokensForExactTokens({slippage:30});function Oi(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:p}},extrinsic:ot(Vi,Vo).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function Zs(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:t,balance:r().substrate().assets().account(),swap:!0},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:ot(Mi,Vo).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function Lt(t,e,s){return new Ys.AssetRoute({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().assets().account()},min:lt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function en(t){return Oi(t,f,.02)}var Ui=[new xt.AssetRoute({source:{asset:g,balance:r().substrate().system().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().system().account()},min:lt().assets().asset()},destination:{chain:f,asset:g,fee:{amount:.001,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new xt.AssetRoute({source:{asset:F,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:f,asset:F,fee:{amount:1e-4,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Lt(p,f,.02),Lt(y,f,.02),en(tt)],Ki=[new xt.AssetRoute({source:{asset:F,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:st,asset:F,fee:{amount:.001,asset:F}},extrinsic:u().polkadotXcm().transferAssets()})],Ni=[Lt(p,E,.25),Lt(y,E,.25)],Gi=[Lt(p,W,.03),Lt(y,W,.03)],qi=[new xt.AssetRoute({source:{asset:N,balance:r().substrate().foreignAssets().account(),fee:{asset:g,balance:r().substrate().system().account(),extra:Dt},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:ut,asset:N,fee:{amount:2.5,asset:N}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Oo=new xt.ChainRoutes({chain:mt,routes:[Zs(p,f,.02),Zs(y,f,.02),Zs(g,f,.001)]}),Uo=new xt.ChainRoutes({chain:k,routes:[...Ui,...Ki,...Ni,...Gi,...qi]});var Pe=require("@galacticcouncil/xc-core");var ji=[new Pe.AssetRoute({source:{asset:L,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:L,fee:{amount:.044306118,asset:L}},extrinsic:u().polkadotXcm().reserveTransferAssets()}),new Pe.AssetRoute({source:{asset:I,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:I,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:I}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:v,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:v,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:E}),asset:v}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:R,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:R,fee:{amount:2e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:M,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:M,fee:{amount:.01,asset:M}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:O,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:O,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:J,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:J,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:W}),asset:J}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:p,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Pe.AssetRoute({source:{asset:y,balance:r().substrate().assets().account(),fee:{asset:L,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:f,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Ko=new Pe.ChainRoutes({chain:se,routes:[...ji]});var pe=require("@galacticcouncil/xc-core");var zi=[new pe.AssetRoute({source:{asset:I,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:I,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:I}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:O,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:O,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:J,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:J,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:J}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:g,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:g,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new pe.AssetRoute({source:{asset:L,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:L,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:se}),asset:L}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:v,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:v,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:E}),asset:v}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:R,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:R,fee:{amount:625e-8,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:p,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:y,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],$i=[new pe.AssetRoute({source:{asset:p,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:k,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new pe.AssetRoute({source:{asset:y,balance:r().substrate().tokens().accounts(),fee:{asset:I,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:k,asset:y,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:y}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],No=new pe.ChainRoutes({chain:W,routes:[...zi,...$i]});var ge=require("@galacticcouncil/xc-core");var Ji="0",B=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===Ji?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),z=()=>({asset:gs().multiTransactionPayment().accountCurrencyMap(),balance:B()});var gt=require("@galacticcouncil/xc-core");var Qi=.9,Yi=1,Zi=1,tn=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},sn=u().router().buy({slippage:30});function K(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(s?{reserve:s}:void 0),asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function ms(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function At(t,e){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})}function nn(t){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:k,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function ec(t,e,s="LocalReserve"){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:e,asset:t,fee:{amount:Zi,asset:v}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:s}))})}function wt(t){return ec(t,E,"DestinationReserve")}function Go(t,e,s,n,a,o){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{asset:t,balance:B()}},destination:{chain:s,asset:e,fee:{amount:n,asset:e}},extrinsic:ot(tn,sn).priorMulti([u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}),u().polkadotXcm().send().transact({fee:Qi})]),transact:{chain:E,fee:{amount:Yi,asset:v,balance:B()},extrinsic:u().ethereumXcm().transact(a)},tags:o})}function Yn(t,e,s){return Go(t,e,s,0,S().Batch().batchAll([S().Erc20().approve(n=>n.getTokenBridge()),S().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function Ct(t,e,s){return Go(t,e,s,w().Wormhole().TokenRelayer().calculateRelayerFee(),S().Batch().batchAll([S().Erc20().approve(n=>n.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function ae(t,e,s){return new gt.AssetRoute({source:{asset:t,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:s,asset:e,fee:{amount:w().Snowbridge().calculateOutboundFee({hub:k}),asset:g}},extrinsic:ot(tn,sn).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var tc=[At(g,k),At(F,k),At(p,k),At(y,k),nn(tt)],sc=[K(L,se),K(I,se,W),K(v,se,E),new ge.AssetRoute({source:{asset:R,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:se,asset:R,fee:{amount:2e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new ge.AssetRoute({source:{asset:M,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:se,asset:M,fee:{amount:.01,asset:M}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),K(O,se,W),K(J,se,W),K(p,se,k),K(y,se,k)],nc=[K(I,W),K(O,W),K(J,W),K(L,W,se),K(v,W,E),new ge.AssetRoute({source:{asset:R,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:W,asset:R,fee:{amount:5e-6,asset:R}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),K(p,W,k),K(y,W,k),new ge.AssetRoute({source:{asset:g,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:W,asset:g,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:k}),asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],ac=[ms(R,Te,62e-8),ms(M,Te,.0019213457),ms($,Te,.5),ms(p,Te,.3),ms(y,Te,.3),new ge.AssetRoute({source:{asset:O,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Te,asset:O,fee:{amount:.01,asset:g}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new ge.AssetRoute({source:{asset:g,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Te,asset:g,fee:{amount:.05,asset:g}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],oc=[K($,E),K(v,E),K(p,E,k),K(y,E,k),wt(ne),wt(Ae),wt(Ce),wt(we),wt(ke),wt(te),wt(j)],rc=[new ge.AssetRoute({source:{asset:N,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:ut,asset:N,fee:{amount:2.5,asset:N}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],ic=[K(Ke,$t)],cc=[new ge.AssetRoute({source:{asset:he,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Kt,asset:he,fee:{amount:.04,asset:he}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],mc=[K(Se,Gt)],uc=[new ge.AssetRoute({source:{asset:ye,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:Qt,asset:ye,fee:{amount:.02,asset:ye}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],lc=[new ge.AssetRoute({source:{asset:xe,balance:B(),fee:z(),destinationFee:{balance:B()}},destination:{chain:zt,asset:xe,fee:{amount:1.1,asset:xe}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],dc=[K(He,qt)],fc=[K(Xe,Ot)],pc=[Ct(ne,be,_),Ct(te,H,_),Ct(ke,Je,_),Ct(we,p,_),Ct(Ce,y,_),Yn(Ae,$e,_)],hc=[ae(H,H,_),ae(Fe,Fe,_),ae(Ie,Ie,_),ae(Re,Re,_),ae(We,We,_),ae(Ve,Ve,_),ae(Oe,Oe,_),ae(Ue,Ue,_),ae(De,De,_),ae(_e,_e,_),ae(Le,Le,_),ae(Me,Me,_),ae(Ne,Ne,_),ae(Pt,y,_),ae(Bt,p,_)],bc=[Ct(j,j,Et),Yn(oe,oe,Et)],yc=[Ct(re,re,Yt)],xc=[At(g,mt),At(p,mt),At(y,mt)],qo=new ge.ChainRoutes({chain:f,routes:[...fc,...tc,...sc,...nc,...xc,...cc,...hc,...pc,...ac,...mc,...uc,...oc,...rc,...dc,...lc,...bc,...yc,...ic]});var Ht=require("@galacticcouncil/xc-core");var Zn=()=>r().substrate().tokens().accounts();function an(t,e){return new Ht.AssetRoute({source:{asset:t,balance:Zn(),fee:{asset:M,balance:Zn()},destinationFee:{balance:Zn()}},destination:{chain:f,asset:t,fee:{amount:w().XcmPaymentApi().calculateDestFee({reserve:e}),asset:t}},extrinsic:u().xTokens().transfer()})}var gc=[new Ht.AssetRoute({source:{asset:M,balance:r().substrate().tokens().accounts(),destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:M,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:M}},extrinsic:u().xTokens().transfer()}),new Ht.AssetRoute({source:{asset:R,balance:r().substrate().tokens().accounts(),fee:{asset:M,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:R,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:M}},extrinsic:u().xTokens().transfer()}),new Ht.AssetRoute({source:{asset:$,balance:r().substrate().tokens().accounts(),fee:{asset:M,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:f,asset:$,fee:{amount:.5,asset:$}},extrinsic:u().xTokens().transfer()}),an(O,W),an(p,k),an(y,k),an(g,k)],jo=new Ht.ChainRoutes({chain:Te,routes:[...gc]});var Tt=require("@galacticcouncil/xc-core");var ea=require("@galacticcouncil/xc-core");function Ac(t,e,s){return new ea.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:S().PolkadotXcm().transferAssetsToPara32()})}function wc(t,e,s){return new ea.AssetRoute({source:{asset:t,balance:r().evm().erc20(),fee:{asset:v,balance:r().evm().erc20()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:S().PolkadotXcm().transferAssetsToPara32()})}function kt(t,e){return Ac(t,f,e)}function on(t,e){return wc(t,f,e)}var Cc=[new Tt.AssetRoute({source:{asset:v,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:v,fee:{amount:.05,asset:v}},contract:S().PolkadotXcm().transferAssetsToPara32()}),on($,.6),on(p,.3),on(y,.3),kt(ne,.004),kt(Ae,.004),kt(Ce,.004),kt(we,.004),kt(ke,1e-7),kt(te,2e-6),kt(j,2e-5)],kc=[new Tt.AssetRoute({source:{asset:p,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:k,asset:p,fee:{amount:.18,asset:p}},contract:S().PolkadotXcm().transferAssetsToPara32()}),new Tt.AssetRoute({source:{asset:y,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:k,asset:y,fee:{amount:.18,asset:y}},contract:S().PolkadotXcm().transferAssetsToPara32()})],Ap=[new Tt.AssetRoute({source:{asset:te,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{asset:te,balance:r().evm().erc20()}},destination:{chain:_,asset:H,fee:{amount:w().Wormhole().TokenRelayer().calculateRelayerFee(),asset:H}},contract:S().Batch().batchAll([S().Erc20().approve(t=>t.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new Tt.AssetRoute({source:{asset:ne,balance:r().evm().erc20(),fee:{asset:v,balance:r().substrate().system().account()},destinationFee:{asset:ne,balance:r().evm().erc20()}},destination:{chain:_,asset:be,fee:{amount:w().Wormhole().TokenRelayer().calculateRelayerFee(),asset:be}},contract:S().Batch().batchAll([S().Erc20().approve(t=>t.getTokenRelayer()),S().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],zo=new Tt.ChainRoutes({chain:E,routes:[...Cc,...kc]});var ws=require("@galacticcouncil/xc-core");var Tc=[new ws.AssetRoute({source:{asset:N,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:N,fee:{amount:.01,asset:N}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],vc=[new ws.AssetRoute({source:{asset:N,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:k,asset:N,fee:{amount:.1,asset:N}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],$o=new ws.ChainRoutes({chain:ut,routes:[...Tc,...vc]});var rn=require("@galacticcouncil/xc-core");var Bc=[new rn.AssetRoute({source:{asset:Ke,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Ke,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:Ke}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Jo=new rn.ChainRoutes({chain:$t,routes:[...Bc]});var cn=require("@galacticcouncil/xc-core");var Pc=[new cn.AssetRoute({source:{asset:he,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:he,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:he}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Qo=new cn.ChainRoutes({chain:Kt,routes:[...Pc]});var mn=require("@galacticcouncil/xc-core");var Ec=[new mn.AssetRoute({source:{asset:xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:xe,fee:{amount:.2,asset:xe}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],Yo=new mn.ChainRoutes({chain:zt,routes:[...Ec]});var un=require("@galacticcouncil/xc-core");var Fc=[new un.AssetRoute({source:{asset:Xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Xe,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:Xe}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Zo=new un.ChainRoutes({chain:Ot,routes:[...Fc]});var ln=require("@galacticcouncil/xc-core");var Xc=[new ln.AssetRoute({source:{asset:Se,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:Se,fee:{amount:2,asset:Se}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],er=new ln.ChainRoutes({chain:Gt,routes:[...Xc]});var dn=require("@galacticcouncil/xc-core");var Ic=[new dn.AssetRoute({source:{asset:ye,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:ye,fee:{amount:.03,asset:ye}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],tr=new dn.ChainRoutes({chain:Qt,routes:[...Ic]});var fn=require("@galacticcouncil/xc-core");var Rc=[new fn.AssetRoute({source:{asset:He,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:f,asset:He,fee:{amount:.205,asset:He}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],sr=new fn.ChainRoutes({chain:qt,routes:[...Rc]});var nr=[Zo,Uo,Oo,Ko,No,qo,jo,zo,$o,sr,Jo,Qo,Yo,er,tr];var Cs=require("@galacticcouncil/xc-core");var _c=[new Cs.AssetRoute({source:{asset:j,balance:r().solana().native(),destinationFee:{asset:j,balance:r().solana().native()}},destination:{chain:f,asset:j,fee:{amount:0,asset:j}},program:Js().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]}),new Cs.AssetRoute({source:{asset:oe,balance:r().solana().token(),fee:{asset:j,balance:r().solana().native()},destinationFee:{asset:oe,balance:r().solana().token()}},destination:{chain:f,asset:oe,fee:{amount:0,asset:oe}},program:Js().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})],ar=new Cs.ChainRoutes({chain:Et,routes:[..._c]});var or=[ar];var pn=require("@galacticcouncil/xc-core");var Sc=[new pn.AssetRoute({source:{asset:re,balance:r().sui().native(),destinationFee:{asset:re,balance:r().sui().native()}},destination:{chain:f,asset:re,fee:{amount:0,asset:re}},move:zn().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:E}),tags:["Mrl","Wormhole"]})],rr=new pn.ChainRoutes({chain:Yt,routes:[...Sc]});var ir=[rr];var ks=require("@galacticcouncil/xc-core");var Dc=require("@galacticcouncil/xc-core");var ta=.0015;var Lc=new ks.AssetRoute({source:{asset:F,balance:r().substrate().system().account(),fee:{asset:F,balance:r().substrate().system().account(),extra:ta},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:k,asset:F,fee:{amount:.002,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),Hc=new ks.AssetRoute({source:{asset:F,balance:r().substrate().system().account(),fee:{asset:F,balance:r().substrate().system().account(),extra:ta},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:Zt,asset:F,fee:{amount:.0012,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),cr=new ks.ChainRoutes({chain:st,routes:[Hc,Lc]});var Ts=require("@galacticcouncil/xc-core");var Wc="0",us=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===Wc?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),sa=()=>({asset:gs().multiTransactionPayment().accountCurrencyMap(),balance:us()});var Mc=[new Ts.AssetRoute({source:{asset:p,balance:us(),fee:sa(),destinationFee:{balance:us()}},destination:{chain:st,asset:p,fee:{amount:w().XcmPaymentApi().calculateDestFee(),asset:p}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Vc=[new Ts.AssetRoute({source:{asset:F,balance:us(),fee:sa(),destinationFee:{balance:us()}},destination:{chain:st,asset:F,fee:{amount:.0012,asset:F}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],mr=new Ts.ChainRoutes({chain:Zt,routes:[...Mc,...Vc]});var ur=[cr,mr];var Oc=[...Mo,...nr,...or,...ir,...ur],lr=new Map(Oc.map(t=>[t.chain.key,t]));var na=require("@galacticcouncil/xc-core");var ls=require("@galacticcouncil/xc-core");var hn=class extends ls.TransferValidation{async validate(e){let{source:s}=e,{chain:n,fee:a,feeBalance:o}=s;if(o.amount<a.amount)throw new ls.TransferValidationError("Insufficient_Fee_Balance",{amount:a.toDecimal(),asset:a.symbol,chain:n.name,error:"fee.insufficientBalance"})}},bn=class extends ls.TransferValidation{async skipFor(e){let{asset:s,source:n}=e,{enabled:a}=n.destinationFeeSwap||{};return s.isEqual(n.destinationFee)||!!a}async validate(e){if(await this.skipFor(e))return;let{source:n}=e,{chain:a,destinationFee:o,destinationFeeBalance:i}=n,m=await this.getMin(a,o),c=o.copyWith({amount:o.amount+m});if(i.amount<c.amount)throw new ls.TransferValidationError("Insufficient_Fee_Balance",{amount:c.toDecimal(),asset:c.symbol,chain:a.name,error:"destFee.insufficientBalance"})}async getMin(e,s){if(e.key==="assethub")return new de(e).getAssetMin(s);let a=e.getAssetMin(s)*10**s.decimals;return BigInt(a)}};var ds=require("@galacticcouncil/xc-core");var yn=class extends ds.TransferValidation{async skipFor(e){let{asset:s,destination:n}=e,a=n.chain;return await new de(a).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain;if(await new de(o).getSystemAccountBalance(n)===0n)throw new ds.TransferValidationError("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:a.chain.name,error:"account.insufficientDeposit"})}},xn=class extends ds.TransferValidation{async validate(e){let{asset:s,sender:n,source:a}=e,o=a.chain;if(await new de(o).checkIfFrozen(n,s))throw new ds.TransferValidationError("Asset_Frozen",{asset:s.originSymbol,chain:a.chain.name,error:"asset.frozen"})}};var fs=require("@galacticcouncil/xc-core");var Uc=12,Kc=1,Nc=18,gn=class extends fs.TransferValidation{async skipFor(e){let{destination:s}=e,n=s.chain,a=new qe(n),o=s.balance.amount>0n,i=await a.checkIfSufficient(s.balance);return o||i}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain,i=new qe(o),m=await i.getFeeAsset(n),c=o.findAssetById(m),l=c.min||Kc,h=c.decimals||Uc,b=l*Math.pow(10,h),A=await i.getAssetBalance(n,m);if(BigInt(b*1.1)>A)throw new fs.TransferValidationError("Insufficient_Ed",{amount:b,asset:c.asset.originSymbol,chain:o.name,error:"account.insufficientDeposit"})}},An=class extends fs.TransferValidation{async skipFor(e){let{source:s,transact:n}=e,{enabled:a}=s.destinationFeeSwap||{};return!(!!n&&n.chain.key==="moonbeam")||!!a}async validate(e){if(await this.skipFor(e))return;let{sender:n,source:a}=e,o=a.chain,i=new qe(o),m=o.getBalanceAssetId(v),c=o.getAssetDecimals(v)||Nc,l=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(n,m.toString())<BigInt(l))throw new fs.TransferValidationError("Insufficient_Ed",{amount:1,asset:v.originSymbol,chain:o.name,error:"destFee.insufficientBalance"})}};var Ee={isAny:()=>!0,isHydration:t=>t instanceof na.Parachain&&t.parachainId===2034,isHub:t=>t instanceof na.Parachain&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},dr=[new hn(Ee.isAny,Ee.isAny),new bn(Ee.isAny,Ee.isAny),new yn(Ee.isAny,Ee.isHub),new xn(Ee.isHub,Ee.isAny),new gn(Ee.isAny,Ee.isHydration),new An(Ee.isHydration,Ee.isAny)];var ia={};Mt(ia,{AssethubDex:()=>ra,HydrationDex:()=>aa});var ps=require("@galacticcouncil/sdk-next"),pr=require("@galacticcouncil/common");var fr=(t,e=new Map)=>s=>{let n;return e.has(s)?e.get(s):(e.set(s,n=t(s)),n)};var{PoolType:wn}=ps.pool,{TradeRouteBuilder:Gc,TradeRouter:qc}=ps.sor,{TxBuilderFactory:jc}=ps.tx,aa=class{chain;client;poolCtx;txBuilder;getCtx=fr(async e=>{console.log("init swap router",e,"\u2705");let s=new qc(this.poolCtx);return s.withFilter({useOnly:[wn.Aave,wn.Omni,wn.Stable,wn.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new qe(this.chain),this.txBuilder=new jc(s.client,s.evm)}async getCalldata(e,s,n,a,o=0){let i=Number(this.chain.getMetadataAssetId(s)),m=Number(this.chain.getMetadataAssetId(n)),c=a.amount,l=await this.getCtx(1),h=await l.getMostLiquidRoute(i,m),b=await l.getBuy(i,m,c,h);return(await(await this.txBuilder.trade(b).withBeneficiary(e).withSlippage(o).build()).get().getEncodedData()).asHex()}async getQuote(e,s,n,a){let o=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(s)),m=n.amount,c=await this.getCtx(1);try{let l=await c.getMostLiquidRoute(o,i),h=await c.getBuy(o,i,m,l);return{amount:h.amountIn,route:Gc.build(h.swaps)}}catch(l){if(a)return{amount:await this.getFallbackPrice(e,n.amount)};throw l}}async getFallbackPrice(e,s){let n=this.chain.getAssetId(e),a=await this.client.api().query.MultiTransactionPayment.AcceptedCurrencies.getValue(Number(e));if(!a)throw new Error(`No price found for asset ${e}`);let o=a*s,i=Math.pow(10,pr.RUNTIME_DECIMALS);return o/BigInt(i)}};var oa=require("@galacticcouncil/common"),ra=class{chain;client;constructor(e){this.chain=e,this.client=new de(this.chain)}async getCalldata(e,s,n,a){throw Error("Not supported for "+this.chain.key)}async getQuote(e,s,n){let a=this.chain.getAssetXcmLocation(e),o=this.chain.getAssetXcmLocation(s),i=await this.client.api().apis.AssetConversionApi.quote_price_tokens_for_exact_tokens((0,oa.encodeLocation)(a),(0,oa.encodeLocation)(o),n.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};var xr=require("@galacticcouncil/xc-core");var hr=require("@galacticcouncil/xc-core");function Cn(t){let{id:e,origin:s,symbol:n}=t,a=n.toLowerCase();return new hr.Asset({key:[a,s,e].join("_"),originSymbol:n})}function br(t){let{decimals:e,id:s}=t;return{asset:Cn(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function yr(t){let{decimals:e,id:s,internalId:n,origin:a}=t;return{asset:Cn(t),decimals:e,id:n,xcmLocation:{parents:1,interior:{type:"X3",value:[{type:"Parachain",value:a},{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}var kn=class extends xr.ConfigService{registerExternal(e){let s=this.getChain("hydration"),n=this.getChain("assethub"),a=o=>!!s.findAssetById(o.internalId.toString());e.filter(o=>!a(o)&&o.origin===1e3).forEach(o=>{let i=Cn(o),m=br(o),c=yr(o);console.log("\u{1F480} Registering "+i.key),n.updateAsset(m),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(n,en(i)),this.updateChainRoute(s,nn(i))})}};0&&(module.exports={HydrationConfigService,assetsMap,builders,chainsMap,clients,dex,routesMap,tags,validations});
|
package/build/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Io=Object.defineProperty;var Kt=(t,e)=>{for(var s in e)Io(t,s,{get:e[s],enumerable:!0})};import{Asset as y}from"@galacticcouncil/xc-core";var Ce=new y({key:"aave",originSymbol:"AAVE"}),ke=new y({key:"ajun",originSymbol:"AJUN"}),S=new y({key:"astr",originSymbol:"ASTR"}),F=new y({key:"bnc",originSymbol:"BNC"}),vs=new y({key:"bsx",originSymbol:"BSX"}),Te=new y({key:"cfg_new",originSymbol:"CFG"}),me=new y({key:"cru",originSymbol:"CRU"}),ue=new y({key:"dai",originSymbol:"DAI"}),ee=new y({...ue,key:"dai_mwh"}),x=new y({key:"dot",originSymbol:"DOT"}),D=new y({key:"eth",originSymbol:"ETH"}),ve=new y({key:"ena",originSymbol:"ENA"}),T=new y({key:"glmr",originSymbol:"GLMR"}),q=new y({key:"hdx",originSymbol:"HDX"}),X=new y({key:"ibtc",originSymbol:"IBTC"}),H=new y({key:"intr",originSymbol:"INTR"}),se=new y({key:"jitoSol",originSymbol:"jitoSOL"}),P=new y({key:"ksm",originSymbol:"KSM"}),Be=new y({key:"ldo",originSymbol:"LDO"}),Pe=new y({key:"laos",originSymbol:"LAOS"}),Ee=new y({key:"lbtc",originSymbol:"LBTC"}),le=new y({key:"ewt",originSymbol:"EWT"}),Fe=new y({key:"link",originSymbol:"LINK"}),O=new y({key:"myth",originSymbol:"MYTH"}),Xe=new y({key:"neuro",originSymbol:"NEURO"}),de=new y({key:"pen",originSymbol:"PEN"}),Ie=new y({key:"paxg",originSymbol:"PAXG"}),Re=new y({key:"sky",originSymbol:"SKY"}),N=new y({key:"sol",originSymbol:"SOL"}),ne=new y({key:"sui",originSymbol:"SUI"}),_e=new y({key:"susde",originSymbol:"sUSDe"}),Oe=new y({key:"susds",originSymbol:"sUSDS"}),pe=new y({...Oe,key:"susds_mwh"}),Se=new y({key:"tbtc",originSymbol:"tBTC"}),De=new y({key:"trac",originSymbol:"TRAC"}),Le=new y({key:"unq",originSymbol:"UNQ"}),f=new y({key:"usdt",originSymbol:"USDT"}),he=new y({...f,key:"usdt_mwh"}),dt=new y({...f,key:"usdt_eth"}),b=new y({key:"usdc",originSymbol:"USDC"}),be=new y({...b,key:"usdc_mwh"}),ft=new y({...b,key:"usdc_eth"}),j=new y({key:"vastr",originSymbol:"vASTR"}),W=new y({key:"vdot",originSymbol:"vDOT"}),Tt=new y({key:"weth",originSymbol:"WETH"}),Y=new y({...Tt,key:"weth_mwh"}),Ue=new y({key:"wbtc",originSymbol:"WBTC"}),ye=new y({...Ue,key:"wbtc_mwh"}),He=new y({key:"wsteth",originSymbol:"wstETH"}),je=new y({key:"wud",originSymbol:"WUD"}),Ro=[Ce,ke,S,vs,Te,me,F,ue,ee,x,ve,D,T,q,X,H,P,Be,Pe,Ee,le,se,Fe,O,Xe,Ie,de,Re,N,ne,_e,Oe,pe,De,Se,Le,b,be,ft,f,he,dt,j,W,Ue,ye,Tt,Y,He,je],_o=new Map(Ro.map(t=>[t.key,t]));import{ChainEcosystem as So,EvmChain as Do}from"@galacticcouncil/xc-core";import{mainnet as Lo}from"viem/chains";var I=new Do({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:D,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:Ce,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Te,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Tt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:ue,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:ve,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:_e,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:Oe,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Se,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Ue,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:Ee,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:b,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:f,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Be,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:Fe,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Ie,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Re,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:De,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:He,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:So.Ethereum,evmChain:Lo,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 on=[I];import{ChainEcosystem as Ho,Parachain as Wo}from"@galacticcouncil/xc-core";var vt=new Wo({assetsData:[{asset:ke,id:"AJUN",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ho.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});import{ChainEcosystem as Mo,Parachain as rn}from"@galacticcouncil/xc-core";var cn={assetsData:[{asset:x,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:b,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:je,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:O,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:P,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Mo.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://asset-hub-polkadot-rpc.n.dwellir.com","wss://polkadot-asset-hub-rpc.polkadot.io"]},C=new rn({...cn,key:"assethub",name:"AssetHub Polkadot"}),tt=new rn({...cn,key:"assethub_cex",name:"AssetHub (CEX)",usesSignerFee:!0,isTestChain:!0});import{ChainEcosystem as Vo,Parachain as Oo}from"@galacticcouncil/xc-core";var Z=new Oo({assetsData:[{asset:S,xcmLocation:{parents:0,interior:"Here"}},{asset:x,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:b,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:T,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,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:W,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:Vo.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});import{ChainEcosystem as Uo,Parachain as Ko}from"@galacticcouncil/xc-core";var No=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],L=new Ko({assetsData:[{asset:F,id:{Native:F.originSymbol},xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:W,id:{VToken2:0},decimals:10,min:1e-4,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:j,id:{VToken2:3},decimals:18,min:.01,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:x,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:b,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:S,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:T,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Uo.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:No});import{ChainEcosystem as Go,Parachain as qo,XcmVersion as jo}from"@galacticcouncil/xc-core";var Bt=new qo({assetsData:[{asset:me,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Go.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,usesLegacyEnhancer:!0,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"],xcmVersion:jo.v3});import{ChainEcosystem as Jo,EvmParachain as Qo}from"@galacticcouncil/xc-core";import{defineChain as Yo}from"viem";import{getSs58AddressInfo as zo}from"@polkadot-api/substrate-bindings";var $o="ETH\0",Qt=class{async toH160(e){let s=zo(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let n=s.publicKey,a=Buffer.from($o),o=n.slice(a.length,-8);return"0x"+Buffer.from(o).toString("hex")}};var Zo=new Qt,Bs=["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"],Ps=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],er=Yo({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Bs,webSocket:Ps},default:{http:Bs,webSocket:Ps}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),d=new Qo({assetsData:[{asset:q,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:Ce,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:ke,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:S,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:Te,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:me,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:x,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ee,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:ve,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:T,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,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:se,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:le,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Be,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:P,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:Pe,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:Ee,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:Fe,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Ie,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:O,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:Xe,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:de,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Re,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:N,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:ne,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:_e,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:Oe,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:pe,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Se,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:De,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:Le,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:b,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:be,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:ft,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:he,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:dt,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:W,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ue,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:ye,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Tt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:Y,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:He,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:je,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}}],ecosystem:Jo.Polkadot,evmChain:er,evmResolver:Zo,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:Ps,rpcs:Bs});import{ChainEcosystem as tr,Parachain as sr,XcmVersion as nr}from"@galacticcouncil/xc-core";var xe=new sr({assetsData:[{asset:H,decimals:10,id:{Token:H.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:X,decimals:8,id:{Token:X.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:x,decimals:10,id:{Token:x.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:b,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:W,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:tr.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain",usesLegacyEnhancer:!0,xcmVersion:nr.v3});import{ChainEcosystem as ar,Parachain as or}from"@galacticcouncil/xc-core";var Pt=new or({assetsData:[{asset:Pe,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:ar.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});import{ChainEcosystem as rr,EvmParachain as ir}from"@galacticcouncil/xc-core";import{defineChain as cr}from"viem";var mr=cr({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}),B=new ir({assetsData:[{asset:T,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ee,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:N,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:se,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:pe,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:ne,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:be,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:he,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:ye,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:Y,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:x,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:b,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:rr.Polkadot,evmChain:mr,explorer:"https://moonbeam.subscan.io",genesisHash:"0xfe58ea77779b7abda7da4ec526d14db9b1e9cd40a217c34892af80a9b332b76d",key:"moonbeam",name:"Moonbeam",parachainId:2004,ss58Format:1284,usesH160Acc:!0,wormhole:{id:16,coreBridge:"0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",tokenBridge:"0xb1731c586ca89a23809861c6103f0b96b3f57d92",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"},ws:"wss://wss.api.moonbeam.network"});import{ChainEcosystem as ur,Parachain as lr}from"@galacticcouncil/xc-core";var st=new lr({assetsData:[{asset:O,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:ur.Polkadot,explorer:"https://mythos.subscan.io",genesisHash:"0xf6ee56e9c5277df5b4ce6ae9983ee88f3cbed27d31beeb98f9f84f997a1ab0b9",key:"mythos",name:"Mythos",parachainId:3369,ss58Format:29972,usesH160Acc:!0,ws:"wss://polkadot-mythos-rpc.polkadot.io"});import{ChainEcosystem as dr,Parachain as fr}from"@galacticcouncil/xc-core";var Et=new fr({assetsData:[{asset:Xe,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:dr.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});import{ChainEcosystem as pr,Parachain as hr,XcmVersion as br}from"@galacticcouncil/xc-core";var Ft=new hr({assetsData:[{asset:de,id:"Native",xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:pr.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,usesLegacyEnhancer:!0,ws:"wss://rpc-pendulum.prd.pendulumchain.tech",xcmVersion:br.v3});import{ChainEcosystem as yr,Parachain as xr}from"@galacticcouncil/xc-core";var gr={assetsData:[{asset:x,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:yr.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"},mn=new xr({...gr,key:"polkadot"});import{ChainEcosystem as Ar,Parachain as wr}from"@galacticcouncil/xc-core";var Xt=new wr({assetsData:[{asset:Le,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ar.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});import{ChainEcosystem as Cr,Parachain as kr,XcmVersion as Tr}from"@galacticcouncil/xc-core";var It=new kr({assetsData:[{asset:le,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Cr.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,usesLegacyEnhancer:!0,ws:"wss://wnp-rpc.mainnet.energywebx.com",xcmVersion:Tr.v3});var un=[vt,C,tt,Z,L,Bt,d,Pt,Et,xe,B,st,Ft,mn,Xt,It];import{ChainEcosystem as vr,SolanaChain as Br}from"@galacticcouncil/xc-core";var pt=new Br({id:101,key:"solana",name:"Solana",assetsData:[{asset:N,decimals:9},{asset:se,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:vr.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 ln=[pt];import{ChainEcosystem as Pr,SuiChain as Er}from"@galacticcouncil/xc-core";var Rt=new Er({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:ne,decimals:9}],ecosystem:Pr.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var dn=[Rt];import{ChainEcosystem as Fr,Parachain as Xr}from"@galacticcouncil/xc-core";var ze=new Xr({assetsData:[{asset:P,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:Fr.Kusama,explorer:"https://assethub-kusama.subscan.io",genesisHash:"0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a",key:"assethub_kusama",name:"AssetHub Kusama",parachainId:1e3,ss58Format:2,treasury:"HWZmQq6zMMk7TxixHfseFT2ewicT6UofPa68VCn3gkXrdJF",usesDeliveryFee:!0,ws:"wss://asset-hub-kusama-rpc.n.dwellir.com"});import{ChainEcosystem as Ir,Parachain as Rr}from"@galacticcouncil/xc-core";var _t=new Rr({assetsData:[{asset:vs,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:P,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}]}}}],ecosystem:Ir.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});var fn=[ze,_t];var _r=[...on,...un,...ln,...dn,...fn],Sr=new Map(_r.map(t=>[t.key,t]));import{AssetRoute as rs,ChainRoutes as im}from"@galacticcouncil/xc-core";var La={};Kt(La,{AssetMinBuilder:()=>nt,BalanceBuilder:()=>r,ContractBuilder:()=>R,ExtrinsicBuilder:()=>u,ExtrinsicDecorator:()=>Qe,FeeAmountBuilder:()=>A,FeeAssetBuilder:()=>zt,MoveBuilder:()=>Js,ProgramBuilder:()=>os,XcmTransferType:()=>oe,XcmVersion:()=>Je});import{SubstrateQueryConfig as Es}from"@galacticcouncil/xc-core";function nt(){return{assetRegistry:Dr,assets:Lr}}function Dr(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Es({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Es({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Lr(){return{asset:()=>({build:({asset:t})=>new Es({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}import{Abi as Hr,ContractConfig as pn}from"@galacticcouncil/xc-core";function hn(){return{erc20:Mr,native:Wr}}function Wr(){return{build:({address:t})=>new pn({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function Mr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n||typeof n!="string")throw new Error(`Invalid contract address: ${e}`);return new pn({abi:Hr.Erc20,address:n,args:[t],func:"balanceOf",module:"Erc20"})}}}import{SubstrateQueryConfig as Nt}from"@galacticcouncil/xc-core";import{encodeAssetId as Fs,encodeLocation as Vr}from"@galacticcouncil/common";function bn(){return{assets:Or,system:Kr,tokens:Nr,ormlTokens:Gr,foreignAssets:Ur}}function Or(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"Assets",func:"Account",args:[a,t],transform:async o=>BigInt(o?.balance?.toString()??"0")})}})}}function Ur(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getAssetXcmLocation(e);if(!a)throw new Error("Missing asset xcm location for "+e.key);let o=Vr(a);return new Nt({module:"ForeignAssets",func:"Account",args:[o,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function Kr(){return{account:()=>({build:({address:t})=>new Nt({module:"System",func:"Account",args:[t],transform:async e=>{let s=e?.data,n=BigInt(s?.free?.toString()??"0"),a=BigInt((s?.miscFrozen??s?.frozen)?.toString()??"0");return n>=a?n-a:0n}})})}}function Nr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"Tokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}function Gr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"OrmlTokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}import{SolanaQueryConfig as yn}from"@galacticcouncil/xc-core";function xn(){return{native:qr,token:jr}}function qr(){return{build:({address:t})=>new yn({address:t,func:"rpc_getBalance",module:"Native"})}}function jr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n)throw new Error(`Invalid token address: ${e}`);return new yn({address:t,token:n.toString(),func:"getBalance",module:"Token"})}}}import{SuiQueryConfig as zr}from"@galacticcouncil/xc-core";function gn(){return{native:$r}}function $r(){return{build:({address:t})=>new zr({address:t,func:"sui_getBalance",module:"Native"})}}function r(){return{evm:hn,substrate:bn,solana:xn,sui:gn}}import{Abi as An,ContractConfig as Jr,Precompile as Qr}from"@galacticcouncil/xc-core";import{encodeFunctionData as Yr}from"viem";var Zr=t=>({build:async e=>{let s=await Promise.all(t.map(i=>i.build(e))),n=s.map(i=>i.address),a=[0,0],o=s.map(i=>Yr({abi:An[i.module],functionName:i.func,args:i.args}));return new Jr({abi:An.Batch,address:Qr.Batch,args:[n,a,o,[]],func:"batchAll",module:"Batch"})}}),wn=()=>({batchAll:Zr});import{Abi as ei,ContractConfig as ti,Wormhole as si}from"@galacticcouncil/xc-core";function St(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function $e(t){return typeof t=="object"?Object.values(t)[0]:t}function Cn(){return{approve:t=>({build:async e=>{let{amount:s,asset:n,source:a,transact:o}=e,i=o?o.chain:a.chain,m=si.fromChain(i),c=i.getAssetId(n);return new ti({abi:ei.Erc20,address:$e(c).toString(),args:[t(m),s],func:"approve",module:"Erc20"})}})}}import{addr as ni,Abi as kn,ContractConfig as Tn,Precompile as vn}from"@galacticcouncil/xc-core";import{big as ai}from"@galacticcouncil/common";var{Ss58Addr:Bn}=ni;function oi(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")}`}function Xs(t,e){let s=t.getAssetId(e);return typeof s=="string"?oi(s):s}function Pn(){return{transferAssetsToPara32:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xs(a.chain,s);return new Tn({abi:kn.PolkadotXcm,address:vn.PolkadotXcm,args:[n.chain.parachainId,Bn.getPubKey(t),[{asset:o,amount:e}],0],func:"transferAssetsToPara32",module:"PolkadotXcm"})}}),transferAssetsToPara32WithFee:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xs(a.chain,s),i=Xs(a.chain,a.destinationFeeBalance),m=ai.toBigInt(n.fee.amount,n.fee.decimals);return new Tn({abi:kn.PolkadotXcm,address:vn.PolkadotXcm,args:[n.chain.parachainId,Bn.getPubKey(t),[{asset:o,amount:e},{asset:i,amount:m}],1],func:"transferAssetsToPara32",module:"PolkadotXcm"})}})}}import{addr as ri,Abi as ii,ContractConfig as ci,Snowbridge as mi}from"@galacticcouncil/xc-core";var{Ss58Addr:ui}=ri,li=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o}=t,i=a.chain,m=o.chain,c=mi.fromChain(i),l=i.getAssetId(n),p=$e(l),h=n.originSymbol==="ETH",g=o.feeBreakdown.bridgeFeeInDot,k=o.fee.amount;return new ci({abi:ii.Snowbridge,address:c.getGateway(),args:[p,m.parachainId,[1,ui.getPubKey(e)],g,s],value:h?k+s:k,func:"sendToken",module:"Snowbridge"})}}),En=()=>({sendToken:li});import{mrl as Xn,Abi as Yt,ContractConfig as Zt,Precompile as In,Wormhole as at}from"@galacticcouncil/xc-core";import{PublicKey as Fn}from"@solana/web3.js";import{getAssociatedTokenAddress as di}from"@solana/spl-token";var fi=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,destination:i}=e,m=at.fromChain(o.chain),c=at.fromChain(t.moonchain),l=In.Bridge,p=o.chain.getAssetId(a),h=0,g=await Xn.createPayload(i.chain,s);return new Zt({abi:Yt.TokenBridge,address:m.getTokenBridge(),args:[$e(p),n,c.getWormholeId(),c.normalizeAddress(l),h,g.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),pi=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,destination:o}=e,i=at.fromChain(a.chain),m=at.fromChain(t.moonchain),c=In.Bridge,l=0,p=await Xn.createPayload(o.chain,s);return new Zt({abi:Yt.TokenBridge,address:i.getTokenBridge(),args:[m.getWormholeId(),m.normalizeAddress(c),l,p.toHex()],value:n,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),hi=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=at.fromChain(m),p=at.fromChain(c),h=e;if(c.isSolana()){let M=c.getAssetId(n);h=(await di(new Fn(M),new Fn(e))).toBase58()}let g=m.getAssetId(n),k=0,E=0;return new Zt({abi:Yt.TokenBridge,address:l.getTokenBridge(),args:[$e(g),s,p.getWormholeId(),p.normalizeAddress(h),k,E],func:"transferTokens",module:"TokenBridge"})}}),bi=()=>({build:async t=>{let{address:e,amount:s,source:n,destination:a}=t,o=at.fromChain(n.chain),i=at.fromChain(a.chain),m=0,c=0;return new Zt({abi:Yt.TokenBridge,address:o.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),m,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Rn=()=>({transferTokens:hi,transferTokensWithPayload:fi,wrapAndTransferETH:bi,wrapAndTransferETHWithPayload:pi});import{Abi as yi,ContractConfig as xi,Wormhole as _n}from"@galacticcouncil/xc-core";var gi=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=_n.fromChain(m),p=_n.fromChain(c),h=0,g=0,k=m.getAssetId(n);return new xi({abi:yi.TokenRelayer,address:l.getTokenRelayer(),args:[$e(k),s,h,p.getWormholeId(),p.normalizeAddress(e),g],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Sn=()=>({transferTokensWithRelay:gi});function Dn(){return{TokenBridge:Rn,TokenRelayer:Sn}}function R(){return{Batch:wn,Erc20:Cn,PolkadotXcm:Pn,Snowbridge:En,Wormhole:Dn}}import{ExtrinsicConfig as Ai}from"@galacticcouncil/xc-core";var Ln="AssetConversion",wi=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:n})=>{let{chain:a}=n,o=n.destinationFeeSwap||n.feeSwap;if(!o)throw new Error("Swap context not found.");let{aIn:i,aOut:m}=o,c=a,l=c.getAssetXcmLocation(i),p=c.getAssetXcmLocation(m),h=i.amount+i.amount*BigInt(t.slippage)/100n,g=m.amount;return new Ai({module:Ln,func:e,getTx:k=>k.getUnsafeApi().tx[Ln][e]({path:[l,p],amount_out:g,amount_in_max:h,send_to:s,keep_alive:!0})})}}},Hn=()=>({swapTokensForExactTokens:wi});import{hub as Ci,MultiAddress as ki}from"@galacticcouncil/descriptors";import{ExtrinsicConfig as Ti}from"@galacticcouncil/xc-core";var vi="Assets",Bi=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:n,destination:a})=>{let o=a.chain,{fee:i}=a,m=s>i.amount?s-i.amount:s,c=o.getMetadataAssetId(e);return new Ti({module:vi,func:t,getTx:l=>l.getTypedApi(Ci).tx.Assets.transfer({id:Number(c),target:ki.Id(n),amount:m})})}}},Wn=()=>({transfer:Bi});import{ExtrinsicConfig as Pi}from"@galacticcouncil/xc-core";var Mn="Balances",Ei=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Pi({module:Mn,func:e,getTx:n=>n.getUnsafeApi().tx[Mn][e]({dest:s,keep_alive:t})})}},Vn=()=>({transferAll:Ei});import{hydration as Fi}from"@galacticcouncil/descriptors";import{ExtrinsicConfig as Xi}from"@galacticcouncil/xc-core";var Ii="Router",Ri=t=>({build:async({source:s})=>{let{chain:n,destinationFeeSwap:a}=s;if(!a)throw new Error("Swap context not found.");let{aIn:o,aOut:i,route:m}=a,c=n,l=c.getMetadataAssetId(o),p=c.getMetadataAssetId(i),h=i.amount,g=o.amount+o.amount*BigInt(t.slippage)/100n;return new Xi({module:Ii,func:"buy",getTx:k=>k.getTypedApi(Fi).tx.Router.buy({asset_in:Number(l),asset_out:Number(p),amount_out:h,max_amount_in:g,route:m})})}}),On=()=>({buy:Ri});import{ExtrinsicConfig as _i}from"@galacticcouncil/xc-core";var Un="Utility",Si=t=>{let e="batch_all";return{build:async s=>{let n=await Promise.all(t.map(a=>a.build(s)));return new _i({module:Un,func:e,getTx:a=>{let o=n.map(i=>i.getTx(a).decodedCall);return a.getUnsafeApi().tx[Un][e]({calls:o})}})}}},Kn=()=>({batchAll:Si});import{Abi as Di,ExtrinsicConfig as Li}from"@galacticcouncil/xc-core";import{Binary as Nn}from"polkadot-api";import{encodeFunctionData as Hi}from"viem";var Je=(o=>(o.v1="V1",o.v2="V2",o.v3="V3",o.v4="V4",o.v5="V5",o))(Je||{}),oe=(a=>(a.Teleport="Teleport",a.LocalReserve="LocalReserve",a.DestinationReserve="DestinationReserve",a.RemoteReserve="RemoteReserve",a))(oe||{});var Gn="EthereumXcm",Wi=t=>{let e="transact";return{build:async s=>{let n=await t.build(s),a="V1",o=Hi({abi:Di[n.module],functionName:n.func,args:n.args});return new Li({module:Gn,func:e,getTx:i=>i.getUnsafeApi().tx[Gn][e]({xcm_transaction:{type:a,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Nn.fromHex(n.address)},value:[0n,0n,0n,0n],input:Nn.fromHex(o),access_list:void 0}}})})}}},Is=()=>({transact:Wi});import{ExtrinsicConfig as gt}from"@galacticcouncil/xc-core";import{big as Gs}from"@galacticcouncil/common";import{multiloc as rc,ChainEcosystem as Us}from"@galacticcouncil/xc-core";import{Binary as ic}from"polkadot-api";import{XcmV3Junctions as fe,XcmV3Junction as jt,XcmV3JunctionNetworkId as ua,XcmV3MultiassetFungibility as yt,XcmV4Instruction as J,XcmV4AssetAssetFilter as Ht,XcmV4AssetWildAsset as Wt,XcmV3WeightLimit as Ks,XcmV2MultiassetWildFungibility as cc,XcmV2OriginKind as mc}from"@galacticcouncil/descriptors";import{XcmV3Junctions as Mi}from"@galacticcouncil/descriptors";var re=340282366920938463463374607431768211455n,ht="0x0000000000000000000000000000000000000000000000000000000000000000",Dt={parents:1,interior:Mi.Here()},qn=0,jn=1e3,zn=1002,$n=1,bt="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var Jn="0x0000000000000000000000000000000000000000";import{XcmV3Junctions as Zi,XcmV3MultiassetFungibility as _s,XcmV3WeightLimit as ec,XcmV4AssetAssetFilter as tc,XcmV4AssetWildAsset as sc,XcmV4Instruction as Gt}from"@galacticcouncil/descriptors";import{Binary as nc}from"polkadot-api";import{acc as Vi}from"@galacticcouncil/xc-core";import{XcmV3Junction as Qn}from"@galacticcouncil/descriptors";import{FixedSizeBinary as Yn}from"polkadot-api";import{getSs58AddressInfo as Oi}from"@polkadot-api/substrate-bindings";import{toHex as Ui}from"@polkadot-api/utils";function K(t){if(t.length===42&&t.startsWith("0x"))return Qn.AccountKey20({key:Yn.fromHex(t),network:void 0});let s=Oi(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return Qn.AccountId32({id:Yn.fromHex(Ui(s.publicKey)),network:void 0})}function Lt(t,e,s){return Vi.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}import{multiloc as Zn}from"@galacticcouncil/xc-core";function ea(t,e){let s=Zn.findNestedKey(t,"GeneralIndex"),n=Zn.findNestedKey(e,"GeneralIndex"),a=s&&s.GeneralIndex,o=n&&n.GeneralIndex;return Number.isNaN(a)||Number.isNaN(o)?!1:Number(a)>Number(o)}function z(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var ss={};Kt(ss,{ETHER_TOKEN_ADDRESS:()=>Rs,erc20Location:()=>Gi,erc20LocationReanchored:()=>qi,ethereumLocation:()=>na,parachainLocation:()=>Ni});import{XcmV3Junctions as es,XcmV3Junction as ts,XcmV3JunctionNetworkId as Ki}from"@galacticcouncil/descriptors";import{Binary as ta}from"polkadot-api";var Rs="0x0000000000000000000000000000000000000000",sa=t=>ts.GlobalConsensus(Ki.Ethereum({chain_id:BigInt(t)}));function na(t){return{parents:2,interior:es.X1(sa(t))}}function Ni(t){return{parents:1,interior:es.X1(ts.Parachain(t))}}function Gi(t,e){return e===Rs?na(t):{parents:2,interior:es.X2([sa(t),ts.AccountKey20({key:ta.fromHex(e)})])}}function qi(t){return t===Rs?{parents:0,interior:{type:"Here"}}:{parents:0,interior:es.X1(ts.AccountKey20({key:ta.fromHex(t)}))}}import{encodeLocation as aa}from"@galacticcouncil/common";import{multiloc as ji}from"@galacticcouncil/xc-core";function $(t,e){return zi(e)>=4?aa(t):$i(t)}function zi(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function $i(t){return{type:"Concrete",value:aa(t)}}var Ji=1e3;function Qi(t){let{parents:e,interior:s}=t;return e===1&&s==="Here"?!0:e===2&&s&&s!=="Here"?Object.values(s).flat().some(a=>a&&typeof a=="object"&&"GlobalConsensus"in a):!1}function Yi(t){if(t)return Qi(t)?Ji:ji.findParachain(t)}function oa(t,e,s,n){let a=e.getAssetXcmLocation(t),o=Yi(a),i=n?.parachainId??s.parachainId;if(o&&i!==o)throw new Error(n?`Wrong reserve for "${t.originSymbol}": expected chain ${o}, got ${n.name} (${n.parachainId})`:`Reserve chain ${o} required for "${t.originSymbol}"`)}function Ss(t,e){let s="V4",n=$(z(e,t),s),a=nc.fromHex(ht);return[Gt.ReserveAssetDeposited([{id:Dt,fun:_s.Fungible(re)},{id:n,fun:_s.Fungible(re)}]),Gt.ClearOrigin(),Gt.BuyExecution({fees:{id:Dt,fun:_s.Fungible(re)},weight_limit:ec.Unlimited()}),Gt.DepositAsset({assets:tc.Wild(sc.AllCounted(2)),beneficiary:{parents:0,interior:Zi.X1(K(bt))}}),Gt.SetTopic(a)]}import{XcmV4Instruction as Ds,XcmV3MultiassetFungibility as Ls,XcmV3WeightLimit as ac}from"@galacticcouncil/descriptors";function ra(t,e){let s="V4",n=$(z(e,t),s),a=ns("V4",K(Jn),K(bt),n,ht);return[Ds.WithdrawAsset([{id:Dt,fun:Ls.Fungible(re)},{id:n,fun:Ls.Fungible(re)}]),Ds.ClearOrigin(),Ds.BuyExecution({fees:{id:Dt,fun:Ls.Fungible(re)},weight_limit:ac.Unlimited()}),...a.value]}import{XcmV3Junctions as Hs,XcmV3Junction as oc,XcmV3MultiassetFungibility as qt,XcmV3WeightLimit as Ws,XcmV4AssetAssetFilter as Ms,XcmV4AssetWildAsset as Vs,XcmV4Instruction as ge}from"@galacticcouncil/descriptors";import{Binary as ia}from"polkadot-api";function ca(t,e){let s="V4",n=$(z(e,t),s),a=ia.fromHex(ht);return[ge.WithdrawAsset([{id:n,fun:qt.Fungible(re)}]),ge.ClearOrigin(),ge.BuyExecution({fees:{id:n,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositAsset({assets:Ms.Wild(Vs.AllCounted(1)),beneficiary:{parents:0,interior:Hs.X1(K(bt))}}),ge.SetTopic(a)]}function Os(t,e){let s="V4",n=$(z(e,t),s);return[ge.BuyExecution({fees:{id:n,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositAsset({assets:Ms.Wild(Vs.AllCounted(1)),beneficiary:{parents:0,interior:Hs.X1(K(bt))}})]}function ma(t,e,s){let n="V4",a=$(z(e,t),n),o=ia.fromHex(ht),i=Os(t,s);return[ge.WithdrawAsset([{id:a,fun:qt.Fungible(re)}]),ge.ClearOrigin(),ge.BuyExecution({fees:{id:a,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositReserveAsset({assets:Ms.Wild(Vs.AllCounted(1)),dest:{parents:1,interior:Hs.X1(oc.Parachain(s.parachainId))},xcm:i}),ge.SetTopic(o)]}var la=[Us.Polkadot,Us.Kusama],uc={parents:1,interior:fe.X1(jt.Parachain(1e3))},lc=t=>t.parents===1&&t.interior==="Here",dc=(t,e)=>!t.ecosystem||!e.ecosystem?!1:la.includes(t.ecosystem)&&la.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,da=t=>{let{interior:e}=t;return e.type==="X1"&&e.value.type==="GlobalConsensus"?e.value.value.type==="Ethereum":!1},Ke=(t,e,s)=>{if(dc(e,s)){let a=s.ecosystem===Us.Polkadot?ua.Polkadot():ua.Kusama();return{type:t,value:{parents:2,interior:fe.X2([jt.GlobalConsensus(a),jt.Parachain(s.parachainId)])}}}if(s.parachainId===qn)return{type:t,value:{parents:1,interior:fe.Here()}};let n=s.key==="ethereum"?jn:s.parachainId;return{type:t,value:{parents:1,interior:fe.X1(jt.Parachain(n))}}},xt=(t,e)=>({type:t,value:{parents:0,interior:fe.X1(e)}}),Ns=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:lc(s)?uc:s}}:{type:e},ot=(t,e)=>({id:t,fun:yt.Fungible(e)}),fa=(t,e,s)=>({type:t,value:[J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(s)),beneficiary:{parents:0,interior:fe.X1(e)}})]});var ns=(t,e,s,n,a)=>{let o=ic.fromHex(a);return{type:t,value:[J.SetAppendix([J.DepositAsset({assets:Ht.Wild(Wt.All()),beneficiary:{parents:0,interior:fe.X1(s)}})]),J.InitiateReserveWithdraw({assets:Ht.Wild(Wt.AllOf({id:n,fun:cc.Fungible()})),reserve:ss.ethereumLocation($n),xcm:[J.BuyExecution({fees:{id:fc(n),fun:yt.Fungible(1n)},weight_limit:Ks.Unlimited()}),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}}),J.SetTopic(o)]}),J.SetTopic(o)]}},fc=t=>{let e=rc.findNestedKey(t,"key");return e?{parents:0,interior:fe.X1(jt.AccountKey20({key:e.key}))}:{parents:0,interior:fe.Here()}},pa=(t,e,s,n,a,o)=>({type:t,value:[J.WithdrawAsset([{id:s,fun:yt.Fungible(n)}]),J.BuyExecution({fees:{id:s,fun:yt.Fungible(n)},weight_limit:Ks.Unlimited()}),J.Transact({origin_kind:mc.SovereignAccount(),require_weight_at_most:{ref_time:o.refTime,proof_size:o.proofSize},call:a}),J.RefundSurplus(),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}})]}),ha=(t,e,s,n,a,o)=>({type:t,value:[J.WithdrawAsset([{id:s,fun:yt.Fungible(a)}]),J.BuyExecution({fees:{id:s,fun:yt.Fungible(a)},weight_limit:Ks.Unlimited()}),J.TransferAsset({assets:[{id:s,fun:yt.Fungible(n)}],beneficiary:{parents:0,interior:fe.X1(o)}}),J.RefundSurplus(),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}})]});var ie="PolkadotXcm",pc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=$(z(i,n.fee),c),h=ot(l,e),g=ot(p,n.fee.amount),k="limited_reserve_transfer_assets";return new gt({module:ie,func:k,getTx:E=>{let M=E.getUnsafeApi().tx[ie][k];return s.key===n.fee.key?M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[h]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):ea(l,p)?M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[g,h]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[h,g]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),hc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="limited_teleport_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),bc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c=i.xcmVersion??"V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="reserve_transfer_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0})})}}),yc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="transfer_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),xc=t=>({build:async({address:e,asset:s,amount:n,destination:a,messageId:o,sender:i,source:m,transact:c})=>{let l="V4",p=m.chain,h=a.chain,g=a.fee.amount,k=a.fee;c&&(h=c.chain,g=Gs.toBigInt(c.fee.amount,c.fee.decimals),k=c.fee);let E=K(i),M=c||h.usesCexForwarding?Lt(p,i,h):e,_=K(M),{transferType:Q}=t,U=$(z(p,s),l),w=$(z(p,k),l),Ve=ot(U,n),lt=ot(w,g),Ge=s.isEqual(k),Ze=Ke(l,p,h),qe={type:l,value:Ge?[Ve]:[lt,Ve]},et=Ns(l,Q,U),Ut={type:l,value:Ge?U:w},Ts=Ns(l,Q,w),kt;da(U)?kt=ns(l,_,E,U,o):kt=fa(l,_,qe.value.length);let Jt="transfer_assets_using_type_and_then";return new gt({module:ie,func:Jt,getTx:Xo=>Xo.getUnsafeApi().tx[ie][Jt]({dest:Ze,assets:qe,assets_transfer_type:et,remote_fees_id:Ut,fees_transfer_type:Ts,custom_xcm_on_dest:kt,weight_limit:{type:"Unlimited"}})})}}),gc=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:n,source:a,transact:o}=s,i="V4";if(!o)throw new Error("Transact ctx configuration is missing.");let m=a.chain,c=o.chain,l=Lt(m,n,c),p=K(l),{fee:h}=o,g=$(z(c,h),i),k=Gs.toBigInt(e.fee,h.decimals);return new gt({module:ie,func:t,getTx:E=>E.getUnsafeApi().tx[ie][t]({dest:Ke(i,m,c),message:pa(i,p,g,k,o.call,o.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:n,address:a,asset:o,sender:i,source:m,destination:c}=s,l="V4",p=m.chain,h=c.chain,g=Lt(p,i,h),k=K(g),E=K(a),M=$(z(h,o),l),{fee:_}=c,Q=Gs.toBigInt(e.fee,_.decimals),U=n>_.amount?n-(_.amount+Q):n;return new gt({module:ie,func:t,getTx:w=>w.getUnsafeApi().tx[ie][t]({dest:Ke(l,p,h),message:ha(l,k,M,U,Q,E)})})}})}},qs=()=>({limitedReserveTransferAssets:pc,limitedTeleportAssets:hc,reserveTransferAssets:bc,transferAssets:yc,transferAssetsUsingTypeAndThen:xc,send:gc});import{ExtrinsicConfig as wc}from"@galacticcouncil/xc-core";import{encodeAssetId as Cc}from"@galacticcouncil/common";import{XcmV3Junctions as ba,XcmV3Junction as Ac}from"@galacticcouncil/descriptors";var ya=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:ba.X1(s)}}:{type:t,value:{parents:1,interior:ba.X2([Ac.Parachain(e.parachainId),s])}};var xa="XTokens",kc=()=>({build:async({address:t,amount:e,asset:s,destination:n,sender:a,source:o})=>{let i=o.chain,m=n.chain,c="V3",l=m.usesCexForwarding?Lt(i,a,m):t,p=K(l),h=i.getAssetId(s),g=Cc(h),k="transfer";return new wc({module:xa,func:k,getTx:E=>E.getUnsafeApi().tx[xa][k]({currency_id:g,amount:e,dest:ya(c,m,p),dest_weight_limit:{type:"Unlimited"}})})}}),js=()=>({transfer:kc});function u(){return{assetConversion:Hn,assets:Wn,balances:Vn,ethereumXcm:Is,polkadotXcm:qs,router:On,utility:Kn,xTokens:js}}function Qe(t,e){return{prior:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,s]).build(n):s.build(n)}},priorMulti:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,...s]).build(n):u().utility().batchAll([...s]).build(n)}}}}import{Abi as wa,Snowbridge as Dc,Wormhole as Aa}from"@galacticcouncil/xc-core";var ga={};Kt(ga,{AssethubClient:()=>ce,BaseClient:()=>Ae,HydrationClient:()=>We});import{encodeLocation as Tc}from"@galacticcouncil/common";import{hub as vc,XcmVersionedAssetId as Bc}from"@galacticcouncil/descriptors";var Ae=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??vc}get client(){return this.chain.client}api(){return this.client.getTypedApi(this.descriptor)}get refApi(){return this.api()}async getSystemAccountBalance(e){let n=(await this.refApi.query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async calculateDestinationFee(e,s){let n=await this.refApi.apis.XcmPaymentApi.query_xcm_weight({type:"V4",value:e});if(!n.success)throw Error("Can't query XCM weight.");let a=this.chain.getAssetXcmLocation(s);if(!a)throw Error(`Can't get XCM location for asset ${s.originSymbol}`);let o=Tc(a),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(n.value,Bc.V4(o));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};import{XcmV5Junctions as Pc,XcmV5Junction as Ec,XcmVersionedLocation as Fc}from"@galacticcouncil/descriptors";import{encodeLocation as Xc}from"@galacticcouncil/common";import{Twox128 as Ic,u128 as Rc}from"@polkadot-api/substrate-bindings";import{toHex as _c}from"@polkadot-api/utils";var ce=class extends Ae{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=this.chain.getAssetXcmLocation(e),a=Xc(n);if(s===0)return!0;let o=s===e.originSymbol?await this.api().query.ForeignAssets.Asset.getValue(a):await this.api().query.Assets.Asset.getValue(Number(s));return o&&o.is_sufficient||!1}async checkIfFrozen(e,s){let n=this.chain.getAssetId(s);if(n===s.originSymbol)return!1;let a=await this.api().query.Assets.Account.getValue(Number(n),e);return a&&a.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:"),n=_c(Ic(s)),a=await this.client._request("state_getStorage",[n]);if(!a)return e.defaultFee;let o=Rc.dec(a);return o===0n?e.defaultFee:o}async calculateDeliveryFee(e,s){let n=Fc.V5({parents:1,interior:Pc.X1(Ec.Parachain(s))}),a=await this.api().apis.XcmPaymentApi.query_delivery_fees(n,{type:"V4",value:e});if(!a.success)throw Error("Can't query XCM delivery fee.");let o=a.value.value.find(m=>{let c=m.id;return c&&c.parents&&c.parents===1&&c.interior.type==="Here"});if(!o)throw Error("Can't find XCM delivery fee in DOT.");let i=o.fun.value;if(typeof i=="bigint")return i;throw Error("Can't parse delivery fee.")}};import{hydration as Sc}from"@galacticcouncil/descriptors";var We=class extends Ae{constructor(e){super(e,Sc)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=Number(s),a=await this.api().query.AssetRegistry.Assets.getValue(n);return a?a.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 n=(await this.api().query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async getTokensAccountsBalance(e,s){let n=Number(s),a=await this.api().query.Tokens.Accounts.getValue(e,n),{free:o,frozen:i}=a;return BigInt(o)-BigInt(i)}};function Lc(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let n=s,a=e,o=Aa.fromChain(n),i=Aa.fromChain(a),m=n.getAssetId(t),c=n.getAssetDecimals(t);return{amount:await n.evmClient.getProvider().readContract({abi:wa.TokenRelayer,address:o.getTokenRelayer(),args:[i.getWormholeId(),m,c],functionName:"calculateRelayerFee"})}}})}}function Hc(){return{TokenRelayer:Lc}}function Wc(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:n})=>{let a=n,o=s,i=Dc.fromChain(a),m=new Ae(o),c=new ce(t.hub),l=Ss(e,o),[p,h]=await Promise.all([m.calculateDestinationFee(l,x),c.calculateDeliveryFee(l,o.parachainId)]),g=h+St(p,25n),k=a.getAssetId(e);return{amount:await a.evmClient.getProvider().readContract({abi:wa.Snowbridge,address:i.getGateway(),args:[k,o.parachainId,g],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:g}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:n})=>{let a=n,o=new ce(t.hub),i=ra(e,a),m=Ss(e,a),[c,l,p,h,g]=await Promise.all([o.getBridgeDeliveryFee(),o.calculateDeliveryFee(i,zn),o.calculateDestinationFee(i,s),o.calculateDeliveryFee(m,a.parachainId),o.calculateDestinationFee(m,s)]);return{amount:c+l+St(p,25n)+h+St(g,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:l,assetHubDestinationFee:p,returnToSenderDeliveryFee:h,returnToSenderDestinationFee:g}}}})}}function Mc(){return{calculateDestFee:t=>({build:async({feeAsset:e,source:s,destination:n})=>{let a=s,o=n,i=t?.reserve;if(oa(e,a,o,i),i){let g=new Ae(o),k=new Ae(i),E=Os(e,o),M=ma(e,i,o),[_,Q]=await Promise.all([g.calculateDestinationFee(E,e),k.calculateDestinationFee(M,e)]),U=Q+_,w=St(U,20n),Ve=w-U;return{amount:w,breakdown:{reserveFee:Q,destinationFee:_,margin:Ve}}}let m=new Ae(o),c=ca(e,o),l=await m.calculateDestinationFee(c,e),p=St(l,20n),h=p-l;return{amount:p,breakdown:{totalFee:l,margin:h}}}})}}function A(){return{XcmPaymentApi:Mc,Snowbridge:Wc,Wormhole:Hc}}var Vc="0";function Oc(){return{build:async({address:t,chain:e})=>{let n=await new We(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),a=n?n.toString():Vc,o=e.findAssetById(a);return o?o.asset:q}}}var Uc=()=>({accountCurrencyMap:Oc});function zt(){return{multiTransactionPayment:Uc}}import{mrl as Ta,Precompile as va,ProgramConfig as Ba,Wormhole as as}from"@galacticcouncil/xc-core";import{ACCOUNT_SIZE as Kc,NATIVE_MINT as Ca,TOKEN_PROGRAM_ID as Nc,createCloseAccountInstruction as Gc,createInitializeAccountInstruction as qc,getMinimumBalanceForRentExemptAccount as jc,getAssociatedTokenAddress as zc}from"@solana/spl-token";import{Keypair as zs,PublicKey as $s,SystemProgram as ka}from"@solana/web3.js";import{UniversalAddress as Pa}from"@wormhole-foundation/sdk-connect";import{createApproveAuthoritySignerInstruction as Ea,createTransferNativeWithPayloadInstruction as Fa,getWrappedMeta as $c}from"@wormhole-foundation/sdk-solana-tokenbridge";var Jc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=as.fromChain(m),p=as.fromChain(t.moonchain),h=va.Bridge,g=await Ta.createPayload(i.chain,s),k=new $s(o),E=new Pa(h),M=p.getWormholeId(),_=k,Q=0,U=zs.generate(),w=zs.generate(),Ve=await jc(c.connection),lt=ka.createAccount({fromPubkey:_,newAccountPubkey:w.publicKey,lamports:Ve,space:Kc,programId:Nc}),Ge=ka.transfer({fromPubkey:_,lamports:n,toPubkey:w.publicKey}),Ze=qc(w.publicKey,Ca,_),qe=Ea(l.getTokenBridge(),w.publicKey,_,n),et=Fa(c.connection,l.getTokenBridge(),l.getCoreBridge(),o,U.publicKey,w.publicKey,Ca,Q,n,E.toUint8Array(),M,g.toU8a()),Ut=Gc(w.publicKey,_,_);return new Ba({instructions:[lt,Ge,Ze,qe,et,Ut],signers:[U,w],func:"TransferNativeWithPayload",module:"TokenBridge",rentReserve:BigInt(Ve)})}})}),Qc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,sender:i,destination:m}=e,c=o.chain,l=c,p=as.fromChain(c),h=as.fromChain(t.moonchain),g=va.Bridge,k=await Ta.createPayload(m.chain,s),E=new $s(i),M=o.chain.getAssetId(a),_=new $s(M),Q=await zc(_,E),U=new Pa(g),w=h.getWormholeId();if(await $c(l.connection,p.getTokenBridge(),_).catch(et=>null).then(et=>et!=null))throw new Error("Wrapped assets not supported yet");let lt=0,Ge=zs.generate(),Ze=Ea(p.getTokenBridge(),Q,E,n),qe=Fa(l.connection,p.getTokenBridge(),p.getCoreBridge(),i,Ge.publicKey,Q,_,lt,n,U.toUint8Array(),w,k.toU8a());return new Ba({instructions:[Ze,qe],signers:[Ge],func:"TransferWithPayload",module:"TokenBridge"})}})}),Xa=()=>({transferNativeWithPayload:Jc,transferTokenWithPayload:Qc});function Ia(){return{TokenBridge:Xa}}function os(){return{Wormhole:Ia}}import{mrl as Yc,MoveConfig as Zc,Precompile as em,Wormhole as Ra}from"@galacticcouncil/xc-core";import{Transaction as tm}from"@mysten/sui/transactions";import{SUI_CLOCK_OBJECT_ID as sm,SUI_TYPE_ARG as nm}from"@mysten/sui/utils";import{UniversalAddress as am}from"@wormhole-foundation/sdk-connect";import{getOldestEmitterCapObjectId as om,getPackageId as _a}from"@wormhole-foundation/sdk-sui";var rm=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=Ra.fromChain(m),p=Ra.fromChain(t.moonchain),h=0,g=em.Bridge,k=await Yc.createPayload(i.chain,s),E=new am(g),M=p.getWormholeId(),_=nm,[Q,U]=await Promise.all([_a(c.client,l.coreBridge),_a(c.client,l.tokenBridge)]),w=new tm,[Ve]=w.splitCoins(w.gas,[w.pure.u64(n)]),[lt]=w.splitCoins(w.gas,[w.pure.u64(i.fee.amount)]),[Ge]=w.moveCall({target:`${U}::state::verified_asset`,arguments:[w.object(l.tokenBridge)],typeArguments:[_]}),Ze=!1,qe=await(async()=>{let kt=await om(c.client,Q,o);if(kt!==null)return w.object(kt);{let[Jt]=w.moveCall({target:`${Q}::emitter::new`,arguments:[w.object(l.coreBridge)]});return Ze=!0,Jt}})(),[et,Ut]=w.moveCall({target:`${U}::transfer_tokens_with_payload::prepare_transfer`,arguments:[qe,Ge,Ve,w.pure.u16(M),w.pure.vector("u8",E.toUint8Array()),w.pure.vector("u8",k.toU8a()),w.pure.u32(h)],typeArguments:[_]});w.moveCall({target:`${U}::coin_utils::return_nonzero`,arguments:[Ut],typeArguments:[_]});let[Ts]=w.moveCall({target:`${U}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[w.object(l.tokenBridge),et],typeArguments:[_]});return w.moveCall({target:`${Q}::publish_message::publish_message`,arguments:[w.object(l.coreBridge),lt,Ts,w.object(sm)]}),Ze&&w.transferObjects([qe],w.pure.address(o)),new Zc({transaction:w,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Sa=()=>({transferNativeWithPayload:rm});function Da(){return{TokenBridge:Sa}}function Js(){return{Wormhole:Da}}var Ha={};Kt(Ha,{Tag:()=>rt});var rt=(a=>(a.Wormhole="Wormhole",a.Relayer="Relayer",a.Snowbridge="Snowbridge",a.Mrl="Mrl",a))(rt||{});import{AssetRoute as Wa}from"@galacticcouncil/xc-core";function Mt(t,e){return new Wa({source:{asset:t,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{asset:t,balance:r().evm().erc20()}},destination:{chain:d,asset:e,fee:{amount:0,asset:e}},contract:R().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})}function ae(t,e){return new Wa({source:{asset:t,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:d,asset:e,fee:{amount:A().Snowbridge().calculateInboundFee({hub:C}),asset:D}},contract:R().Snowbridge().sendToken(),tags:["Snowbridge"]})}var cm=[new rs({source:{asset:D,balance:r().evm().native(),destinationFee:{asset:D,balance:r().evm().native()}},destination:{chain:d,asset:Y,fee:{amount:0,asset:Y}},contract:R().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]}),Mt(ue,ee),Mt(Ue,ye),Mt(b,be),Mt(f,he),Mt(Oe,pe)],mm=[new rs({source:{asset:D,balance:r().evm().native(),fee:{asset:D,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:d,asset:D,fee:{amount:A().Snowbridge().calculateInboundFee({hub:C}),asset:D}},contract:R().Snowbridge().sendToken(),tags:["Snowbridge"]}),ae(Ce,Ce),ae(Te,Te),ae(ve,ve),ae(Ie,Ie),ae(_e,_e),ae(Se,Se),ae(Ee,Ee),ae(Be,Be),ae(Fe,Fe),ae(Re,Re),ae(De,De),ae(He,He),ae(b,ft),ae(f,dt)],ny=[new rs({source:{asset:D,balance:r().evm().native(),destinationFee:{asset:D,balance:r().evm().erc20()}},destination:{chain:B,asset:Y,fee:{amount:0,asset:Y}},contract:R().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new rs({source:{asset:ue,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{asset:ue,balance:r().evm().erc20()}},destination:{chain:B,asset:ee,fee:{amount:0,asset:ee}},contract:R().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Ma=new im({chain:I,routes:[...cm,...mm]});var Va=[Ma];import{AssetRoute as ms,ChainRoutes as Ua}from"@galacticcouncil/xc-core";import{AssetRoute as Qs}from"@galacticcouncil/xc-core";var At=0,um=t=>{let{source:e}=t;return!!e.feeSwap},lm=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Oa=u().assetConversion().swapTokensForExactTokens({slippage:30});function dm(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:f}},extrinsic:Qe(lm,Oa).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function is(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:t,balance:r().substrate().assets().account(),swap:!0},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:Qe(um,Oa).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function wt(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function cs(t){return dm(t,d,.02)}var fm=[new ms({source:{asset:x,balance:r().substrate().system().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().system().account()},min:nt().assets().asset()},destination:{chain:d,asset:x,fee:{amount:.001,asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new ms({source:{asset:P,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:d,asset:P,fee:{amount:1e-4,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),wt(f,d,.02),wt(b,d,.02),cs(je)],pm=[new ms({source:{asset:P,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:ze,asset:P,fee:{amount:.001,asset:P}},extrinsic:u().polkadotXcm().transferAssets()})],hm=[wt(f,B,.25),wt(b,B,.25)],bm=[wt(f,L,.03),wt(b,L,.03)],ym=[new ms({source:{asset:O,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:st,asset:O,fee:{amount:2.5,asset:O}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Ka=new Ua({chain:tt,routes:[is(f,d,.02),is(b,d,.02),is(x,d,.001)]}),Na=new Ua({chain:C,routes:[...fm,...pm,...hm,...bm,...ym]});import{AssetRoute as Ye,ChainRoutes as xm}from"@galacticcouncil/xc-core";var gm=[new Ye({source:{asset:S,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:S,fee:{amount:.044306118,asset:S}},extrinsic:u().polkadotXcm().reserveTransferAssets()}),new Ye({source:{asset:F,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:F,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:F}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:T,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:T,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:B}),asset:T}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:X,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:X,fee:{amount:2e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:H,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:H,fee:{amount:.01,asset:H}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:W,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:W,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:W}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:j,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:j,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:j}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:f,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:b,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Ga=new xm({chain:Z,routes:[...gm]});import{AssetRoute as Me,ChainRoutes as Am}from"@galacticcouncil/xc-core";var wm=[new Me({source:{asset:F,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:F,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:F}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:W,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:W,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:W}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:j,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:j,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:j}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:x,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:x,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new Me({source:{asset:S,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:S,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:Z}),asset:S}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:T,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:T,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:B}),asset:T}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:X,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:X,fee:{amount:625e-8,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:f,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:b,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Cm=[new Me({source:{asset:f,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:C,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:b,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:C,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],qa=new Am({chain:L,routes:[...wm,...Cm]});import{AssetRoute as Ne,ChainRoutes as Em}from"@galacticcouncil/xc-core";var km="0",v=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===km?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),G=()=>({asset:zt().multiTransactionPayment().accountCurrencyMap(),balance:v()});import{AssetRoute as Ct}from"@galacticcouncil/xc-core";var Tm=.9,vm=1,Bm=1,us=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},ls=u().router().buy({slippage:30});function V(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(s?{reserve:s}:void 0),asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function Vt(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function it(t,e){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})}function ds(t){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:C,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function Pm(t,e,s="LocalReserve"){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:Bm,asset:T}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:s}))})}function ct(t){return Pm(t,B,"DestinationReserve")}function ja(t,e,s,n,a,o){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{asset:t,balance:v()}},destination:{chain:s,asset:e,fee:{amount:n,asset:e}},extrinsic:Qe(us,ls).priorMulti([u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}),u().polkadotXcm().send().transact({fee:Tm})]),transact:{chain:B,fee:{amount:vm,asset:T,balance:v()},extrinsic:u().ethereumXcm().transact(a)},tags:o})}function Ys(t,e,s){return ja(t,e,s,0,R().Batch().batchAll([R().Erc20().approve(n=>n.getTokenBridge()),R().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function mt(t,e,s){return ja(t,e,s,A().Wormhole().TokenRelayer().calculateRelayerFee(),R().Batch().batchAll([R().Erc20().approve(n=>n.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function te(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:s,asset:e,fee:{amount:A().Snowbridge().calculateOutboundFee({hub:C}),asset:x}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var Fm=[it(x,C),it(P,C),it(f,C),it(b,C),ds(je)],Xm=[V(S,Z),V(F,Z,L),V(T,Z,B),new Ne({source:{asset:X,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Z,asset:X,fee:{amount:2e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ne({source:{asset:H,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Z,asset:H,fee:{amount:.01,asset:H}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),V(W,Z,L),V(j,Z,L),V(f,Z,C),V(b,Z,C)],Im=[V(F,L),V(W,L),V(j,L),V(S,L,Z),V(T,L,B),new Ne({source:{asset:X,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:L,asset:X,fee:{amount:5e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),V(f,L,C),V(b,L,C),new Ne({source:{asset:x,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:L,asset:x,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],Rm=[Vt(X,xe,62e-8),Vt(H,xe,.0019213457),Vt(q,xe,.5),Vt(f,xe,.3),Vt(b,xe,.3),new Ne({source:{asset:W,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:xe,asset:W,fee:{amount:.01,asset:x}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ne({source:{asset:x,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:xe,asset:x,fee:{amount:.05,asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],_m=[V(q,B),V(T,B),V(f,B,C),V(b,B,C),ct(ee),ct(pe),ct(be),ct(he),ct(ye),ct(Y),ct(N)],Sm=[new Ne({source:{asset:O,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:st,asset:O,fee:{amount:2.5,asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Dm=[V(Le,Xt)],Lm=[new Ne({source:{asset:me,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Bt,asset:me,fee:{amount:.04,asset:me}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Hm=[V(Pe,Pt)],Wm=[new Ne({source:{asset:le,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:It,asset:le,fee:{amount:.02,asset:le}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Mm=[new Ne({source:{asset:de,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Ft,asset:de,fee:{amount:1.1,asset:de}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Vm=[V(Xe,Et)],Om=[V(ke,vt)],Um=[mt(ee,ue,I),mt(Y,D,I),mt(ye,Ue,I),mt(he,f,I),mt(be,b,I),Ys(pe,Oe,I)],Km=[te(D,D,I),te(Ce,Ce,I),te(Te,Te,I),te(ve,ve,I),te(Ie,Ie,I),te(_e,_e,I),te(Se,Se,I),te(De,De,I),te(Ee,Ee,I),te(Be,Be,I),te(Fe,Fe,I),te(Re,Re,I),te(He,He,I),te(ft,b,I),te(dt,f,I)],Nm=[mt(N,N,pt),Ys(se,se,pt)],Gm=[mt(ne,ne,Rt)],qm=[it(x,tt),it(f,tt),it(b,tt)],za=new Em({chain:d,routes:[...Om,...Fm,...Xm,...Im,...qm,...Lm,...Km,...Um,...Rm,...Hm,...Wm,..._m,...Sm,...Vm,...Mm,...Nm,...Gm,...Dm]});import{AssetRoute as ps,ChainRoutes as jm}from"@galacticcouncil/xc-core";var Zs=()=>r().substrate().tokens().accounts();function fs(t,e){return new ps({source:{asset:t,balance:Zs(),fee:{asset:H,balance:Zs()},destinationFee:{balance:Zs()}},destination:{chain:d,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:e}),asset:t}},extrinsic:u().xTokens().transfer()})}var zm=[new ps({source:{asset:H,balance:r().substrate().tokens().accounts(),destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:H,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:H}},extrinsic:u().xTokens().transfer()}),new ps({source:{asset:X,balance:r().substrate().tokens().accounts(),fee:{asset:H,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:X,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:H}},extrinsic:u().xTokens().transfer()}),new ps({source:{asset:q,balance:r().substrate().tokens().accounts(),fee:{asset:H,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:q,fee:{amount:.5,asset:q}},extrinsic:u().xTokens().transfer()}),fs(W,L),fs(f,C),fs(b,C),fs(x,C)],$a=new jm({chain:xe,routes:[...zm]});import{AssetRoute as $t,ChainRoutes as Qm}from"@galacticcouncil/xc-core";import{AssetRoute as Ja}from"@galacticcouncil/xc-core";function $m(t,e,s){return new Ja({source:{asset:t,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:R().PolkadotXcm().transferAssetsToPara32()})}function Jm(t,e,s){return new Ja({source:{asset:t,balance:r().evm().erc20(),fee:{asset:T,balance:r().evm().erc20()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:R().PolkadotXcm().transferAssetsToPara32()})}function ut(t,e){return $m(t,d,e)}function hs(t,e){return Jm(t,d,e)}var Ym=[new $t({source:{asset:T,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:T,fee:{amount:.05,asset:T}},contract:R().PolkadotXcm().transferAssetsToPara32()}),hs(q,.6),hs(f,.3),hs(b,.3),ut(ee,.004),ut(pe,.004),ut(be,.004),ut(he,.004),ut(ye,1e-7),ut(Y,2e-6),ut(N,2e-5)],Zm=[new $t({source:{asset:f,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:C,asset:f,fee:{amount:.18,asset:f}},contract:R().PolkadotXcm().transferAssetsToPara32()}),new $t({source:{asset:b,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:C,asset:b,fee:{amount:.18,asset:b}},contract:R().PolkadotXcm().transferAssetsToPara32()})],gx=[new $t({source:{asset:Y,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{asset:Y,balance:r().evm().erc20()}},destination:{chain:I,asset:D,fee:{amount:A().Wormhole().TokenRelayer().calculateRelayerFee(),asset:D}},contract:R().Batch().batchAll([R().Erc20().approve(t=>t.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new $t({source:{asset:ee,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{asset:ee,balance:r().evm().erc20()}},destination:{chain:I,asset:ue,fee:{amount:A().Wormhole().TokenRelayer().calculateRelayerFee(),asset:ue}},contract:R().Batch().batchAll([R().Erc20().approve(t=>t.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],Qa=new Qm({chain:B,routes:[...Ym,...Zm]});import{AssetRoute as Ya,ChainRoutes as e0}from"@galacticcouncil/xc-core";var t0=[new Ya({source:{asset:O,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:O,fee:{amount:.01,asset:O}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],s0=[new Ya({source:{asset:O,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:C,asset:O,fee:{amount:.1,asset:O}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Za=new e0({chain:st,routes:[...t0,...s0]});import{AssetRoute as n0,ChainRoutes as a0}from"@galacticcouncil/xc-core";var o0=[new n0({source:{asset:Le,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Le,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:Le}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],eo=new a0({chain:Xt,routes:[...o0]});import{AssetRoute as r0,ChainRoutes as i0}from"@galacticcouncil/xc-core";var c0=[new r0({source:{asset:me,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:me,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:me}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],to=new i0({chain:Bt,routes:[...c0]});import{AssetRoute as m0,ChainRoutes as u0}from"@galacticcouncil/xc-core";var l0=[new m0({source:{asset:de,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:de,fee:{amount:.2,asset:de}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],so=new u0({chain:Ft,routes:[...l0]});import{AssetRoute as d0,ChainRoutes as f0}from"@galacticcouncil/xc-core";var p0=[new d0({source:{asset:ke,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:ke,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:ke}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],no=new f0({chain:vt,routes:[...p0]});import{AssetRoute as h0,ChainRoutes as b0}from"@galacticcouncil/xc-core";var y0=[new h0({source:{asset:Pe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Pe,fee:{amount:2,asset:Pe}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],ao=new b0({chain:Pt,routes:[...y0]});import{AssetRoute as x0,ChainRoutes as g0}from"@galacticcouncil/xc-core";var A0=[new x0({source:{asset:le,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:le,fee:{amount:.03,asset:le}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],oo=new g0({chain:It,routes:[...A0]});import{AssetRoute as w0,ChainRoutes as C0}from"@galacticcouncil/xc-core";var k0=[new w0({source:{asset:Xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Xe,fee:{amount:.205,asset:Xe}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],ro=new C0({chain:Et,routes:[...k0]});var io=[no,Na,Ka,Ga,qa,za,$a,Qa,Za,ro,eo,to,so,ao,oo];import{AssetRoute as co,ChainRoutes as T0}from"@galacticcouncil/xc-core";var v0=[new co({source:{asset:N,balance:r().solana().native(),destinationFee:{asset:N,balance:r().solana().native()}},destination:{chain:d,asset:N,fee:{amount:0,asset:N}},program:os().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]}),new co({source:{asset:se,balance:r().solana().token(),fee:{asset:N,balance:r().solana().native()},destinationFee:{asset:se,balance:r().solana().token()}},destination:{chain:d,asset:se,fee:{amount:0,asset:se}},program:os().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})],mo=new T0({chain:pt,routes:[...v0]});var uo=[mo];import{AssetRoute as B0,ChainRoutes as P0}from"@galacticcouncil/xc-core";var E0=[new B0({source:{asset:ne,balance:r().sui().native(),destinationFee:{asset:ne,balance:r().sui().native()}},destination:{chain:d,asset:ne,fee:{amount:0,asset:ne}},move:Js().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})],lo=new P0({chain:Rt,routes:[...E0]});var fo=[lo];import{AssetRoute as po,ChainRoutes as F0}from"@galacticcouncil/xc-core";import{AssetRoute as Og}from"@galacticcouncil/xc-core";var en=.0015;var X0=new po({source:{asset:P,balance:r().substrate().system().account(),fee:{asset:P,balance:r().substrate().system().account(),extra:en},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:C,asset:P,fee:{amount:.002,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),I0=new po({source:{asset:P,balance:r().substrate().system().account(),fee:{asset:P,balance:r().substrate().system().account(),extra:en},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:_t,asset:P,fee:{amount:.0012,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),ho=new F0({chain:ze,routes:[I0,X0]});import{AssetRoute as bo,ChainRoutes as _0}from"@galacticcouncil/xc-core";var R0="0",Ot=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===R0?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),tn=()=>({asset:zt().multiTransactionPayment().accountCurrencyMap(),balance:Ot()});var S0=[new bo({source:{asset:f,balance:Ot(),fee:tn(),destinationFee:{balance:Ot()}},destination:{chain:ze,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],D0=[new bo({source:{asset:P,balance:Ot(),fee:tn(),destinationFee:{balance:Ot()}},destination:{chain:ze,asset:P,fee:{amount:.0012,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],yo=new _0({chain:_t,routes:[...S0,...D0]});var xo=[ho,yo];var L0=[...Va,...io,...uo,...fo,...xo],H0=new Map(L0.map(t=>[t.chain.key,t]));import{Parachain as vo}from"@galacticcouncil/xc-core";import{TransferValidation as go,TransferValidationError as Ao}from"@galacticcouncil/xc-core";var bs=class extends go{async validate(e){let{source:s}=e,{chain:n,fee:a,feeBalance:o}=s;if(o.amount<a.amount)throw new Ao("Insufficient_Fee_Balance",{amount:a.toDecimal(),asset:a.symbol,chain:n.name,error:"fee.insufficientBalance"})}},ys=class extends go{async skipFor(e){let{asset:s,source:n}=e,{enabled:a}=n.destinationFeeSwap||{};return s.isEqual(n.destinationFee)||!!a}async validate(e){if(await this.skipFor(e))return;let{source:n}=e,{chain:a,destinationFee:o,destinationFeeBalance:i}=n,m=await this.getMin(a,o),c=o.copyWith({amount:o.amount+m});if(i.amount<c.amount)throw new Ao("Insufficient_Fee_Balance",{amount:c.toDecimal(),asset:c.symbol,chain:a.name,error:"destFee.insufficientBalance"})}async getMin(e,s){if(e.key==="assethub")return new ce(e).getAssetMin(s);let a=e.getAssetMin(s)*10**s.decimals;return BigInt(a)}};import{TransferValidation as wo,TransferValidationError as Co}from"@galacticcouncil/xc-core";var xs=class extends wo{async skipFor(e){let{asset:s,destination:n}=e,a=n.chain;return await new ce(a).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain;if(await new ce(o).getSystemAccountBalance(n)===0n)throw new Co("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:a.chain.name,error:"account.insufficientDeposit"})}},gs=class extends wo{async validate(e){let{asset:s,sender:n,source:a}=e,o=a.chain;if(await new ce(o).checkIfFrozen(n,s))throw new Co("Asset_Frozen",{asset:s.originSymbol,chain:a.chain.name,error:"asset.frozen"})}};import{TransferValidation as ko,TransferValidationError as To}from"@galacticcouncil/xc-core";var W0=12,M0=1,V0=18,As=class extends ko{async skipFor(e){let{destination:s}=e,n=s.chain,a=new We(n),o=s.balance.amount>0n,i=await a.checkIfSufficient(s.balance);return o||i}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain,i=new We(o),m=await i.getFeeAsset(n),c=o.findAssetById(m),l=c.min||M0,p=c.decimals||W0,h=l*Math.pow(10,p),g=await i.getAssetBalance(n,m);if(BigInt(h*1.1)>g)throw new To("Insufficient_Ed",{amount:h,asset:c.asset.originSymbol,chain:o.name,error:"account.insufficientDeposit"})}},ws=class extends ko{async skipFor(e){let{source:s,transact:n}=e,{enabled:a}=s.destinationFeeSwap||{};return!(!!n&&n.chain.key==="moonbeam")||!!a}async validate(e){if(await this.skipFor(e))return;let{sender:n,source:a}=e,o=a.chain,i=new We(o),m=o.getBalanceAssetId(T),c=o.getAssetDecimals(T)||V0,l=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(n,m.toString())<BigInt(l))throw new To("Insufficient_Ed",{amount:1,asset:T.originSymbol,chain:o.name,error:"destFee.insufficientBalance"})}};var we={isAny:()=>!0,isHydration:t=>t instanceof vo&&t.parachainId===2034,isHub:t=>t instanceof vo&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},O0=[new bs(we.isAny,we.isAny),new ys(we.isAny,we.isAny),new xs(we.isAny,we.isHub),new gs(we.isHub,we.isAny),new As(we.isAny,we.isHydration),new ws(we.isHydration,we.isAny)];var Po={};Kt(Po,{AssethubDex:()=>nn,HydrationDex:()=>sn});import{pool as U0,sor as K0,tx as N0}from"@galacticcouncil/sdk-next";import{RUNTIME_DECIMALS as G0}from"@galacticcouncil/common";import{memoize1 as q0}from"@thi.ng/memoize";var{PoolType:Cs}=U0,{TradeRouteBuilder:j0,TradeRouter:z0}=K0,{TxBuilderFactory:$0}=N0,sn=class{chain;client;poolCtx;txBuilder;getCtx=q0(async e=>{console.log("init swap router",e,"\u2705");let s=new z0(this.poolCtx);return s.withFilter({useOnly:[Cs.Aave,Cs.Omni,Cs.Stable,Cs.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new We(this.chain),this.txBuilder=new $0(s.client,s.evm)}async getCalldata(e,s,n,a,o=0){let i=Number(this.chain.getMetadataAssetId(s)),m=Number(this.chain.getMetadataAssetId(n)),c=a.amount,l=await this.getCtx(1),p=await l.getMostLiquidRoute(i,m),h=await l.getBuy(i,m,c,p);return(await(await this.txBuilder.trade(h).withBeneficiary(e).withSlippage(o).build()).get().getEncodedData()).asHex()}async getQuote(e,s,n,a){let o=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(s)),m=n.amount,c=await this.getCtx(1);try{let l=await c.getMostLiquidRoute(o,i),p=await c.getBuy(o,i,m,l);return{amount:p.amountIn,route:j0.build(p.swaps)}}catch(l){if(a)return{amount:await this.getFallbackPrice(e,n.amount)};throw l}}async getFallbackPrice(e,s){let n=this.chain.getAssetId(e),a=await this.client.api().query.MultiTransactionPayment.AcceptedCurrencies.getValue(Number(e));if(!a)throw new Error(`No price found for asset ${e}`);let o=a*s,i=Math.pow(10,G0);return o/BigInt(i)}};import{encodeLocation as Bo}from"@galacticcouncil/common";var nn=class{chain;client;constructor(e){this.chain=e,this.client=new ce(this.chain)}async getCalldata(e,s,n,a){throw Error("Not supported for "+this.chain.key)}async getQuote(e,s,n){let a=this.chain.getAssetXcmLocation(e),o=this.chain.getAssetXcmLocation(s),i=await this.client.api().apis.AssetConversionApi.quote_price_tokens_for_exact_tokens(Bo(a),Bo(o),n.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};import{ConfigService as Q0}from"@galacticcouncil/xc-core";import{Asset as J0}from"@galacticcouncil/xc-core";function ks(t){let{id:e,origin:s,symbol:n}=t,a=n.toLowerCase();return new J0({key:[a,s,e].join("_"),originSymbol:n})}function Eo(t){let{decimals:e,id:s}=t;return{asset:ks(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function Fo(t){let{decimals:e,id:s,internalId:n,origin:a}=t;return{asset:ks(t),decimals:e,id:n,xcmLocation:{parents:1,interior:{type:"X3",value:[{type:"Parachain",value:a},{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}var an=class extends Q0{registerExternal(e){let s=this.getChain("hydration"),n=this.getChain("assethub"),a=o=>!!s.findAssetById(o.internalId.toString());e.filter(o=>!a(o)&&o.origin===1e3).forEach(o=>{let i=ks(o),m=Eo(o),c=Fo(o);console.log("\u{1F480} Registering "+i.key),n.updateAsset(m),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(n,cs(i)),this.updateChainRoute(s,ds(i))})}};export{an as HydrationConfigService,_o as assetsMap,La as builders,Sr as chainsMap,ga as clients,Po as dex,H0 as routesMap,Ha as tags,O0 as validations};
|
|
1
|
+
var Io=Object.defineProperty;var Kt=(t,e)=>{for(var s in e)Io(t,s,{get:e[s],enumerable:!0})};import{Asset as y}from"@galacticcouncil/xc-core";var Ce=new y({key:"aave",originSymbol:"AAVE"}),ke=new y({key:"ajun",originSymbol:"AJUN"}),S=new y({key:"astr",originSymbol:"ASTR"}),F=new y({key:"bnc",originSymbol:"BNC"}),vs=new y({key:"bsx",originSymbol:"BSX"}),Te=new y({key:"cfg_new",originSymbol:"CFG"}),me=new y({key:"cru",originSymbol:"CRU"}),ue=new y({key:"dai",originSymbol:"DAI"}),ee=new y({...ue,key:"dai_mwh"}),x=new y({key:"dot",originSymbol:"DOT"}),D=new y({key:"eth",originSymbol:"ETH"}),ve=new y({key:"ena",originSymbol:"ENA"}),T=new y({key:"glmr",originSymbol:"GLMR"}),q=new y({key:"hdx",originSymbol:"HDX"}),X=new y({key:"ibtc",originSymbol:"IBTC"}),H=new y({key:"intr",originSymbol:"INTR"}),se=new y({key:"jitoSol",originSymbol:"jitoSOL"}),P=new y({key:"ksm",originSymbol:"KSM"}),Be=new y({key:"ldo",originSymbol:"LDO"}),Pe=new y({key:"laos",originSymbol:"LAOS"}),Ee=new y({key:"lbtc",originSymbol:"LBTC"}),le=new y({key:"ewt",originSymbol:"EWT"}),Fe=new y({key:"link",originSymbol:"LINK"}),O=new y({key:"myth",originSymbol:"MYTH"}),Xe=new y({key:"neuro",originSymbol:"NEURO"}),de=new y({key:"pen",originSymbol:"PEN"}),Ie=new y({key:"paxg",originSymbol:"PAXG"}),Re=new y({key:"sky",originSymbol:"SKY"}),N=new y({key:"sol",originSymbol:"SOL"}),ne=new y({key:"sui",originSymbol:"SUI"}),_e=new y({key:"susde",originSymbol:"sUSDe"}),Oe=new y({key:"susds",originSymbol:"sUSDS"}),pe=new y({...Oe,key:"susds_mwh"}),Se=new y({key:"tbtc",originSymbol:"tBTC"}),De=new y({key:"trac",originSymbol:"TRAC"}),Le=new y({key:"unq",originSymbol:"UNQ"}),f=new y({key:"usdt",originSymbol:"USDT"}),he=new y({...f,key:"usdt_mwh"}),dt=new y({...f,key:"usdt_eth"}),b=new y({key:"usdc",originSymbol:"USDC"}),be=new y({...b,key:"usdc_mwh"}),ft=new y({...b,key:"usdc_eth"}),j=new y({key:"vastr",originSymbol:"vASTR"}),W=new y({key:"vdot",originSymbol:"vDOT"}),Tt=new y({key:"weth",originSymbol:"WETH"}),Y=new y({...Tt,key:"weth_mwh"}),Ue=new y({key:"wbtc",originSymbol:"WBTC"}),ye=new y({...Ue,key:"wbtc_mwh"}),He=new y({key:"wsteth",originSymbol:"wstETH"}),je=new y({key:"wud",originSymbol:"WUD"}),Ro=[Ce,ke,S,vs,Te,me,F,ue,ee,x,ve,D,T,q,X,H,P,Be,Pe,Ee,le,se,Fe,O,Xe,Ie,de,Re,N,ne,_e,Oe,pe,De,Se,Le,b,be,ft,f,he,dt,j,W,Ue,ye,Tt,Y,He,je],_o=new Map(Ro.map(t=>[t.key,t]));import{ChainEcosystem as So,EvmChain as Do}from"@galacticcouncil/xc-core";import{mainnet as Lo}from"viem/chains";var I=new Do({id:1,key:"ethereum",name:"Ethereum",assetsData:[{asset:D,decimals:18,id:"0x0000000000000000000000000000000000000000"},{asset:Ce,decimals:18,id:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"},{asset:Te,decimals:18,id:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"},{asset:Tt,decimals:18,id:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{asset:ue,decimals:18,id:"0x6B175474E89094C44Da98b954EedeAC495271d0F"},{asset:ve,decimals:18,id:"0x57e114b691db790c35207b2e685d4a43181e6061"},{asset:_e,decimals:18,id:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"},{asset:Oe,decimals:18,id:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"},{asset:Se,decimals:18,id:"0x18084fba666a33d37592fa2633fd49a74dd93a88"},{asset:Ue,decimals:8,id:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},{asset:Ee,decimals:8,id:"0x8236a87084f8b84306f72007f36f2618a5634494"},{asset:b,decimals:6,id:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{asset:f,decimals:6,id:"0xdAC17F958D2ee523a2206206994597C13D831ec7"},{asset:Be,decimals:18,id:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"},{asset:Fe,decimals:18,id:"0x514910771af9ca656af840dff83e8264ecf986ca"},{asset:Ie,decimals:18,id:"0x45804880de22913dafe09f4980848ece6ecbaf78"},{asset:Re,decimals:18,id:"0x56072c95faa701256059aa122697b133aded9279"},{asset:De,decimals:18,id:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"},{asset:He,decimals:18,id:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],ecosystem:So.Ethereum,evmChain:Lo,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 on=[I];import{ChainEcosystem as Ho,Parachain as Wo}from"@galacticcouncil/xc-core";var vt=new Wo({assetsData:[{asset:ke,id:"AJUN",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ho.Polkadot,genesisHash:"0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee",key:"ajuna",name:"Ajuna",parachainId:2051,ss58Format:1328,ws:"wss://rpc-para.ajuna.network",explorer:"https://ajuna.subscan.io/"});import{ChainEcosystem as Mo,Parachain as rn}from"@galacticcouncil/xc-core";var cn={assetsData:[{asset:x,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:b,decimals:6,id:1337,min:.7,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:je,decimals:10,id:31337,xcmLocation:{parents:0,interior:{X2:[{PalletInstance:50},{GeneralIndex:31337}]}}},{asset:O,decimals:18,min:3e-8,xcmLocation:{parents:1,interior:{X1:[{Parachain:3369}]}}},{asset:P,decimals:12,min:1e-4,xcmLocation:{parents:2,interior:{X1:[{GlobalConsensus:"Kusama"}]}}}],ecosystem:Mo.Polkadot,explorer:"https://assethub-polkadot.subscan.io",genesisHash:"0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",name:"AssetHub",parachainId:1e3,ss58Format:0,treasury:"14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk",usesDeliveryFee:!0,ws:["wss://asset-hub-polkadot-rpc.n.dwellir.com","wss://polkadot-asset-hub-rpc.polkadot.io"]},C=new rn({...cn,key:"assethub",name:"AssetHub Polkadot"}),tt=new rn({...cn,key:"assethub_cex",name:"AssetHub (CEX)",usesSignerFee:!0,isTestChain:!0});import{ChainEcosystem as Vo,Parachain as Oo}from"@galacticcouncil/xc-core";var Z=new Oo({assetsData:[{asset:S,xcmLocation:{parents:0,interior:"Here"}},{asset:x,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:b,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:T,id:"18446744073709551619",decimals:18,min:.01,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,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:W,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:Vo.Polkadot,explorer:"https://astar.subscan.io",genesisHash:"0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",key:"astar",name:"Astar",parachainId:2006,ss58Format:5,ws:"wss://rpc.astar.network"});import{ChainEcosystem as Uo,Parachain as Ko}from"@galacticcouncil/xc-core";var No=["wss://bifrost-polkadot.ibp.network","wss://eu.bifrost-polkadot-rpc.liebi.com/ws","wss://bifrost-polkadot.dotters.network"],L=new Ko({assetsData:[{asset:F,id:{Native:F.originSymbol},xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:W,id:{VToken2:0},decimals:10,min:1e-4,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:j,id:{VToken2:3},decimals:18,min:.01,xcmLocation:{parents:0,interior:{X1:[{GeneralKey:{length:2,data:"0x0903000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:x,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:b,id:{Token2:5},decimals:6,min:.001,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:S,id:{Token2:3},decimals:18,min:.01,xcmLocation:{parents:1,interior:{X1:{Parachain:2006}}}},{asset:T,id:{Token2:1},decimals:18,min:1e-5,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,id:{Token2:6},decimals:8,min:1e-6,xcmLocation:{parents:1,interior:{X2:[{Parachain:2032},{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:Uo.Polkadot,explorer:"https://bifrost.subscan.io",genesisHash:"0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b",key:"bifrost",name:"Bifrost",parachainId:2030,ss58Format:6,ws:No});import{ChainEcosystem as Go,Parachain as qo,XcmVersion as jo}from"@galacticcouncil/xc-core";var Bt=new qo({assetsData:[{asset:me,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Go.Polkadot,explorer:"https://crust.subscan.io",genesisHash:"0x4319cc49ee79495b57a1fec4d2bd43f59052dcc690276de566c2691d6df4f7b8",key:"crust",name:"Crust network",parachainId:2008,ss58Format:88,usesLegacyEnhancer:!0,ws:["wss://crust-parachain.crustnetwork.app","wss://crust-parachain.crustapps.net"],xcmVersion:jo.v3});import{ChainEcosystem as Jo,EvmParachain as Qo}from"@galacticcouncil/xc-core";import{defineChain as Yo}from"viem";import{getSs58AddressInfo as zo}from"@polkadot-api/substrate-bindings";var $o="ETH\0",Qt=class{async toH160(e){let s=zo(e);if(!s.isValid)throw new Error(`Invalid SS58 address: ${e}`);let n=s.publicKey,a=Buffer.from($o),o=n.slice(a.length,-8);return"0x"+Buffer.from(o).toString("hex")}};var Zo=new Qt,Bs=["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"],Ps=["wss://hydration-rpc.n.dwellir.com","wss://hydration.dotters.network","wss://rpc.helikon.io/hydradx","wss://hydration.ibp.network"],er=Yo({id:222222,name:"Hydration",network:"hydration",nativeCurrency:{decimals:18,name:"WETH",symbol:"WETH"},rpcUrls:{public:{http:Bs,webSocket:Ps},default:{http:Bs,webSocket:Ps}},blockExplorers:{default:{name:"Hydration Explorer",url:"https://hydration.subscan.io"}},testnet:!1}),d=new Qo({assetsData:[{asset:q,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:Ce,decimals:18,id:1000624,min:6e-5,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"}}]}}},{asset:ke,decimals:12,id:32,min:.11,xcmLocation:{parents:1,interior:{X2:[{Parachain:2051},{GeneralKey:{length:4,data:"0x414a554e00000000000000000000000000000000000000000000000000000000"}}]}}},{asset:S,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:Te,decimals:18,id:41,min:.1,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xcccccccccc33d538dbc2ee4feab0a7a1ff4e8a94"}}]}}},{asset:me,decimals:12,id:27,min:.0079,xcmLocation:{parents:1,interior:{X1:{Parachain:2008}}}},{asset:x,decimals:10,id:5,min:.0018,xcmLocation:{parents:1,interior:"Here"}},{asset:ee,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:ve,decimals:18,id:38,min:.037,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x57e114b691db790c35207b2e685d4a43181e6061"}}]}}},{asset:T,decimals:18,id:16,min:.035,xcmLocation:{parents:1,interior:{X2:[{Parachain:2004},{PalletInstance:10}]}}},{asset:X,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:se,decimals:9,id:40,min:27e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:le,decimals:18,id:252525,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3345}}}},{asset:Be,decimals:18,id:1000796,min:.013,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x5a98fcbea516cf06857215779fd812ca3bef1b32"}}]}}},{asset:P,decimals:12,id:1000771,min:35e-5,xcmLocation:{parents:2,interior:{X1:{GlobalConsensus:"Kusama"}}}},{asset:Pe,decimals:18,id:3370,xcmLocation:{parents:1,interior:{X1:{Parachain:3370}}}},{asset:Ee,decimals:8,id:1000851,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x8236a87084f8b84306f72007f36f2618a5634494"}}]}}},{asset:Fe,decimals:18,id:1000794,min:.001,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x514910771af9ca656af840dff83e8264ecf986ca"}}]}}},{asset:Ie,decimals:18,id:39,min:5e-6,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x45804880de22913dafe09f4980848ece6ecbaf78"}}]}}},{asset:O,decimals:18,id:30,min:.022,xcmLocation:{parents:1,interior:{X1:{Parachain:3369}}}},{asset:Xe,decimals:12,id:36,min:.001,xcmLocation:{parents:1,interior:{X1:{Parachain:2043}}}},{asset:de,decimals:12,id:1000081,min:.16,xcmLocation:{parents:1,interior:{X2:[{Parachain:2094},{PalletInstance:10}]}}},{asset:Re,decimals:18,id:1000795,min:.52,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x56072c95faa701256059aa122697b133aded9279"}}]}}},{asset:N,decimals:9,id:1000752,min:47e-6,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x99fec54a5ad36d50a4bba3a41cab983a5bb86a7d"}}]}}},{asset:ne,decimals:9,id:1000753,min:.003,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:_e,decimals:18,id:1000625,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x9d39a5de30e57443bff2a8307a4256c8797a3497"}}]}}},{asset:Oe,decimals:18,id:1000626,min:.01,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xa3931d71877c0e7a3148cb7eb4463524fec27fbd"}}]}}},{asset:pe,decimals:18,id:1000745,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:Se,decimals:18,id:1000765,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x18084fba666a33d37592fa2633fd49a74dd93a88"}}]}}},{asset:De,decimals:18,id:35,min:.028,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"}}]}}},{asset:Le,decimals:18,id:25,min:1.23,xcmLocation:{parents:1,interior:{X1:{Parachain:2037}}}},{asset:b,decimals:6,id:22,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:1337}]}}},{asset:be,decimals:6,id:21,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715fee2d06333043d11f658c8ce934ac61d0c"}}]}}},{asset:ft,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:he,decimals:6,id:23,min:.01,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f"}}]}}},{asset:dt,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:W,decimals:10,id:15,min:.0019,xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}},{asset:Ue,decimals:8,id:1000190,min:23e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}}]}}},{asset:ye,decimals:8,id:19,min:34e-8,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"}}]}}},{asset:Tt,decimals:18,id:1000189,min:61e-7,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}}]}}},{asset:Y,decimals:18,id:20,min:54e-7,xcmLocation:{parents:1,interior:{X3:[{Parachain:2004},{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245b83feb11d15aaffefd7ad465a59817ed"}}]}}},{asset:He,decimals:18,id:1000809,min:635e-8,xcmLocation:{parents:2,interior:{X2:[{GlobalConsensus:{Ethereum:{chain_id:1}}},{AccountKey20:{network:null,key:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}}]}}},{asset:je,decimals:10,id:1000085,min:2e4,xcmLocation:{parents:1,interior:{X3:[{Parachain:1e3},{PalletInstance:50},{GeneralIndex:31337}]}}}],ecosystem:Jo.Polkadot,evmChain:er,evmResolver:Zo,explorer:"https://hydration.subscan.io",genesisHash:"0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d",key:"hydration",name:"Hydration",parachainId:2034,ss58Format:63,ws:Ps,rpcs:Bs});import{ChainEcosystem as tr,Parachain as sr,XcmVersion as nr}from"@galacticcouncil/xc-core";var xe=new sr({assetsData:[{asset:H,decimals:10,id:{Token:H.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0002000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:X,decimals:8,id:{Token:X.originSymbol},xcmLocation:{parents:0,interior:{X1:{GeneralKey:{length:2,data:"0x0001000000000000000000000000000000000000000000000000000000000000"}}}}},{asset:x,decimals:10,id:{Token:x.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:b,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:W,decimals:10,id:{ForeignAsset:3},xcmLocation:{parents:1,interior:{X2:[{Parachain:2030},{GeneralKey:{length:2,data:"0x0900000000000000000000000000000000000000000000000000000000000000"}}]}}}],ecosystem:tr.Polkadot,explorer:"https://interlay.subscan.io",genesisHash:"0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72",key:"interlay",name:"Interlay",parachainId:2032,ss58Format:2032,ws:"wss://api.interlay.io/parachain",usesLegacyEnhancer:!0,xcmVersion:nr.v3});import{ChainEcosystem as ar,Parachain as or}from"@galacticcouncil/xc-core";var Pt=new or({assetsData:[{asset:Pe,id:"Native",xcmLocation:{parents:0,interior:"Here"}}],ecosystem:ar.Polkadot,explorer:"https://laos.statescan.io",genesisHash:"0xe8aecc950e82f1a375cf650fa72d07e0ad9bef7118f49b92283b63e88b1de88b",key:"laos",name:"Laos",parachainId:3370,ss58Format:42,usesH160Acc:!0,ws:"wss://rpc.laos.laosfoundation.io"});import{ChainEcosystem as rr,EvmParachain as ir}from"@galacticcouncil/xc-core";import{defineChain as cr}from"viem";var mr=cr({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}),B=new ir({assetsData:[{asset:T,id:"0x0000000000000000000000000000000000000802",min:.1,xcmLocation:{parents:0,interior:{X1:[{PalletInstance:10}]}}},{asset:ee,decimals:18,id:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x06e605775296e851ff43b4daa541bb0984e9d6fd"}}]}}},{asset:N,decimals:9,id:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d"}}]}}},{asset:se,decimals:9,id:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xe9f9a2e3deae4093c00fbc57b22bb51a4c05ad88"}}]}}},{asset:pe,decimals:18,id:"0xda430218862d3db25de9f61458645dde49a9e9c1",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xda430218862d3db25de9f61458645dde49a9e9c1"}}]}}},{asset:ne,decimals:9,id:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x484ecce6775143d3335ed2c7bcb22151c53b9f49"}}]}}},{asset:be,decimals:6,id:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0x931715FEE2d06333043d11F658C8CE934aC61D0c"}}]}}},{asset:he,decimals:6,id:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f"}}]}}},{asset:ye,decimals:8,id:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D"}}]}}},{asset:Y,decimals:18,id:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",xcmLocation:{parents:0,interior:{X2:[{PalletInstance:110},{AccountKey20:{network:null,key:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD"}}]}}},{asset:x,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:b,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:rr.Polkadot,evmChain:mr,explorer:"https://moonbeam.subscan.io",genesisHash:"0xfe58ea77779b7abda7da4ec526d14db9b1e9cd40a217c34892af80a9b332b76d",key:"moonbeam",name:"Moonbeam",parachainId:2004,ss58Format:1284,usesH160Acc:!0,wormhole:{id:16,coreBridge:"0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",tokenBridge:"0xb1731c586ca89a23809861c6103f0b96b3f57d92",tokenRelayer:"0xCafd2f0A35A4459fA40C0517e17e6fA2939441CA"},ws:"wss://wss.api.moonbeam.network"});import{ChainEcosystem as ur,Parachain as lr}from"@galacticcouncil/xc-core";var st=new lr({assetsData:[{asset:O,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:ur.Polkadot,explorer:"https://mythos.subscan.io",genesisHash:"0xf6ee56e9c5277df5b4ce6ae9983ee88f3cbed27d31beeb98f9f84f997a1ab0b9",key:"mythos",name:"Mythos",parachainId:3369,ss58Format:29972,usesH160Acc:!0,ws:"wss://polkadot-mythos-rpc.polkadot.io"});import{ChainEcosystem as dr,Parachain as fr}from"@galacticcouncil/xc-core";var Et=new fr({assetsData:[{asset:Xe,xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:dr.Polkadot,explorer:"https://neuroweb.subscan.io",genesisHash:"0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174",key:"neuroweb",name:"Neuroweb",parachainId:2043,ss58Format:101,ws:"wss://parachain-rpc.origin-trail.network"});import{ChainEcosystem as pr,Parachain as hr,XcmVersion as br}from"@galacticcouncil/xc-core";var Ft=new hr({assetsData:[{asset:de,id:"Native",xcmLocation:{parents:0,interior:{X1:{PalletInstance:10}}}}],ecosystem:pr.Polkadot,explorer:"https://pendulum.subscan.io",genesisHash:"0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86",key:"pendulum",name:"Pendulum",parachainId:2094,ss58Format:56,usesLegacyEnhancer:!0,ws:"wss://rpc-pendulum.prd.pendulumchain.tech",xcmVersion:br.v3});import{ChainEcosystem as yr,Parachain as xr}from"@galacticcouncil/xc-core";var gr={assetsData:[{asset:x,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:yr.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"},mn=new xr({...gr,key:"polkadot"});import{ChainEcosystem as Ar,Parachain as wr}from"@galacticcouncil/xc-core";var Xt=new wr({assetsData:[{asset:Le,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Ar.Polkadot,explorer:"https://unique.subscan.io",genesisHash:"0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31",key:"unique",name:"Unique network",parachainId:2037,ss58Format:7391,ws:"wss://ws.unique.network"});import{ChainEcosystem as Cr,Parachain as kr,XcmVersion as Tr}from"@galacticcouncil/xc-core";var It=new kr({assetsData:[{asset:le,id:0,xcmLocation:{parents:0,interior:"Here"}}],ecosystem:Cr.Polkadot,explorer:"https://energywebx.subscan.io",genesisHash:"0x5a51e04b88a4784d205091aa7bada002f3e5da3045e5b05655ee4db2589c33b5",key:"energywebx",name:"Energy Web X",parachainId:3345,ss58Format:42,usesLegacyEnhancer:!0,ws:"wss://wnp-rpc.mainnet.energywebx.com",xcmVersion:Tr.v3});var un=[vt,C,tt,Z,L,Bt,d,Pt,Et,xe,B,st,Ft,mn,Xt,It];import{ChainEcosystem as vr,SolanaChain as Br}from"@galacticcouncil/xc-core";var pt=new Br({id:101,key:"solana",name:"Solana",assetsData:[{asset:N,decimals:9},{asset:se,id:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",decimals:9}],ecosystem:vr.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 ln=[pt];import{ChainEcosystem as Pr,SuiChain as Er}from"@galacticcouncil/xc-core";var Rt=new Er({id:"0x35834a8a",key:"sui",name:"Sui",assetsData:[{asset:ne,decimals:9}],ecosystem:Pr.Sui,explorer:"https://suiscan.xyz/",wormhole:{id:21,coreBridge:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",tokenBridge:"0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"}});var dn=[Rt];import{ChainEcosystem as Fr,Parachain as Xr}from"@galacticcouncil/xc-core";var ze=new Xr({assetsData:[{asset:P,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:Fr.Kusama,explorer:"https://assethub-kusama.subscan.io",genesisHash:"0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a",key:"assethub_kusama",name:"AssetHub Kusama",parachainId:1e3,ss58Format:2,treasury:"HWZmQq6zMMk7TxixHfseFT2ewicT6UofPa68VCn3gkXrdJF",usesDeliveryFee:!0,ws:"wss://asset-hub-kusama-rpc.n.dwellir.com"});import{ChainEcosystem as Ir,Parachain as Rr}from"@galacticcouncil/xc-core";var _t=new Rr({assetsData:[{asset:vs,id:0,xcmLocation:{parents:0,interior:"Here"}},{asset:P,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}]}}}],ecosystem:Ir.Kusama,explorer:"https://basilisk.subscan.io",genesisHash:"0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755",key:"basilisk",name:"Basilisk",parachainId:2090,ss58Format:10041,ws:"wss://basilisk-rpc.n.dwellir.com"});var fn=[ze,_t];var _r=[...on,...un,...ln,...dn,...fn],Sr=new Map(_r.map(t=>[t.key,t]));import{AssetRoute as rs,ChainRoutes as im}from"@galacticcouncil/xc-core";var La={};Kt(La,{AssetMinBuilder:()=>nt,BalanceBuilder:()=>r,ContractBuilder:()=>R,ExtrinsicBuilder:()=>u,ExtrinsicDecorator:()=>Qe,FeeAmountBuilder:()=>A,FeeAssetBuilder:()=>zt,MoveBuilder:()=>Js,ProgramBuilder:()=>os,XcmTransferType:()=>oe,XcmVersion:()=>Je});import{SubstrateQueryConfig as Es}from"@galacticcouncil/xc-core";function nt(){return{assetRegistry:Dr,assets:Lr}}function Dr(){let t="AssetRegistry";return{assetMetadatas:()=>({build:({asset:e})=>new Es({module:t,func:"AssetMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})}),currencyMetadatas:()=>({build:({asset:e})=>new Es({module:t,func:"CurrencyMetadatas",args:[e],transform:async s=>BigInt(s?.minimalBalance?.toString()??"0")})})}}function Lr(){return{asset:()=>({build:({asset:t})=>new Es({module:"Assets",func:"Asset",args:[t],transform:async e=>BigInt(e?.minBalance?.toString()??"0")})})}}import{Abi as Hr,ContractConfig as pn}from"@galacticcouncil/xc-core";function hn(){return{erc20:Mr,native:Wr}}function Wr(){return{build:({address:t})=>new pn({abi:[],address:t,args:[],func:"eth_getBalance",module:"Native"})}}function Mr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n||typeof n!="string")throw new Error(`Invalid contract address: ${e}`);return new pn({abi:Hr.Erc20,address:n,args:[t],func:"balanceOf",module:"Erc20"})}}}import{SubstrateQueryConfig as Nt}from"@galacticcouncil/xc-core";import{encodeAssetId as Fs,encodeLocation as Vr}from"@galacticcouncil/common";function bn(){return{assets:Or,system:Kr,tokens:Nr,ormlTokens:Gr,foreignAssets:Ur}}function Or(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"Assets",func:"Account",args:[a,t],transform:async o=>BigInt(o?.balance?.toString()??"0")})}})}}function Ur(){return{account:()=>({build:({address:t,asset:e,chain:s})=>{let a=s.getAssetXcmLocation(e);if(!a)throw new Error("Missing asset xcm location for "+e.key);let o=Vr(a);return new Nt({module:"ForeignAssets",func:"Account",args:[o,t],transform:async i=>BigInt(i?.balance?.toString()??"0")})}})}}function Kr(){return{account:()=>({build:({address:t})=>new Nt({module:"System",func:"Account",args:[t],transform:async e=>{let s=e?.data,n=BigInt(s?.free?.toString()??"0"),a=BigInt((s?.miscFrozen??s?.frozen)?.toString()??"0");return n>=a?n-a:0n}})})}}function Nr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"Tokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}function Gr(){return{accounts:()=>({build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e),a=Fs(n);return new Nt({module:"OrmlTokens",func:"Accounts",args:[t,a],transform:async o=>{let i=BigInt(o?.free?.toString()??"0"),m=BigInt(o?.frozen?.toString()??"0");return i>=m?i-m:0n}})}})}}import{SolanaQueryConfig as yn}from"@galacticcouncil/xc-core";function xn(){return{native:qr,token:jr}}function qr(){return{build:({address:t})=>new yn({address:t,func:"rpc_getBalance",module:"Native"})}}function jr(){return{build:({address:t,asset:e,chain:s})=>{let n=s.getBalanceAssetId(e);if(!n)throw new Error(`Invalid token address: ${e}`);return new yn({address:t,token:n.toString(),func:"getBalance",module:"Token"})}}}import{SuiQueryConfig as zr}from"@galacticcouncil/xc-core";function gn(){return{native:$r}}function $r(){return{build:({address:t})=>new zr({address:t,func:"sui_getBalance",module:"Native"})}}function r(){return{evm:hn,substrate:bn,solana:xn,sui:gn}}import{Abi as An,ContractConfig as Jr,Precompile as Qr}from"@galacticcouncil/xc-core";import{encodeFunctionData as Yr}from"viem";var Zr=t=>({build:async e=>{let s=await Promise.all(t.map(i=>i.build(e))),n=s.map(i=>i.address),a=[0,0],o=s.map(i=>Yr({abi:An[i.module],functionName:i.func,args:i.args}));return new Jr({abi:An.Batch,address:Qr.Batch,args:[n,a,o,[]],func:"batchAll",module:"Batch"})}}),wn=()=>({batchAll:Zr});import{Abi as ei,ContractConfig as ti,Wormhole as si}from"@galacticcouncil/xc-core";function St(t,e){if(e<0||e>100)throw Error(`padPercent ${e} not in range of 0 to 100.`);return t+t*e/100n}function $e(t){return typeof t=="object"?Object.values(t)[0]:t}function Cn(){return{approve:t=>({build:async e=>{let{amount:s,asset:n,source:a,transact:o}=e,i=o?o.chain:a.chain,m=si.fromChain(i),c=i.getAssetId(n);return new ti({abi:ei.Erc20,address:$e(c).toString(),args:[t(m),s],func:"approve",module:"Erc20"})}})}}import{addr as ni,Abi as kn,ContractConfig as Tn,Precompile as vn}from"@galacticcouncil/xc-core";import{big as ai}from"@galacticcouncil/common";var{Ss58Addr:Bn}=ni;function oi(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")}`}function Xs(t,e){let s=t.getAssetId(e);return typeof s=="string"?oi(s):s}function Pn(){return{transferAssetsToPara32:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xs(a.chain,s);return new Tn({abi:kn.PolkadotXcm,address:vn.PolkadotXcm,args:[n.chain.parachainId,Bn.getPubKey(t),[{asset:o,amount:e}],0],func:"transferAssetsToPara32",module:"PolkadotXcm"})}}),transferAssetsToPara32WithFee:()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=Xs(a.chain,s),i=Xs(a.chain,a.destinationFeeBalance),m=ai.toBigInt(n.fee.amount,n.fee.decimals);return new Tn({abi:kn.PolkadotXcm,address:vn.PolkadotXcm,args:[n.chain.parachainId,Bn.getPubKey(t),[{asset:o,amount:e},{asset:i,amount:m}],1],func:"transferAssetsToPara32",module:"PolkadotXcm"})}})}}import{addr as ri,Abi as ii,ContractConfig as ci,Snowbridge as mi}from"@galacticcouncil/xc-core";var{Ss58Addr:ui}=ri,li=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o}=t,i=a.chain,m=o.chain,c=mi.fromChain(i),l=i.getAssetId(n),p=$e(l),h=n.originSymbol==="ETH",g=o.feeBreakdown.bridgeFeeInDot,k=o.fee.amount;return new ci({abi:ii.Snowbridge,address:c.getGateway(),args:[p,m.parachainId,[1,ui.getPubKey(e)],g,s],value:h?k+s:k,func:"sendToken",module:"Snowbridge"})}}),En=()=>({sendToken:li});import{mrl as Xn,Abi as Yt,ContractConfig as Zt,Precompile as In,Wormhole as at}from"@galacticcouncil/xc-core";import{PublicKey as Fn}from"@solana/web3.js";import{getAssociatedTokenAddress as di}from"@solana/spl-token";var fi=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,destination:i}=e,m=at.fromChain(o.chain),c=at.fromChain(t.moonchain),l=In.Bridge,p=o.chain.getAssetId(a),h=0,g=await Xn.createPayload(i.chain,s);return new Zt({abi:Yt.TokenBridge,address:m.getTokenBridge(),args:[$e(p),n,c.getWormholeId(),c.normalizeAddress(l),h,g.toHex()],func:"transferTokensWithPayload",module:"TokenBridge"})}})}),pi=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,destination:o}=e,i=at.fromChain(a.chain),m=at.fromChain(t.moonchain),c=In.Bridge,l=0,p=await Xn.createPayload(o.chain,s);return new Zt({abi:Yt.TokenBridge,address:i.getTokenBridge(),args:[m.getWormholeId(),m.normalizeAddress(c),l,p.toHex()],value:n,func:"wrapAndTransferETHWithPayload",module:"TokenBridge"})}})}),hi=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=at.fromChain(m),p=at.fromChain(c),h=e;if(c.isSolana()){let M=c.getAssetId(n);h=(await di(new Fn(M),new Fn(e))).toBase58()}let g=m.getAssetId(n),k=0,E=0;return new Zt({abi:Yt.TokenBridge,address:l.getTokenBridge(),args:[$e(g),s,p.getWormholeId(),p.normalizeAddress(h),k,E],func:"transferTokens",module:"TokenBridge"})}}),bi=()=>({build:async t=>{let{address:e,amount:s,source:n,destination:a}=t,o=at.fromChain(n.chain),i=at.fromChain(a.chain),m=0,c=0;return new Zt({abi:Yt.TokenBridge,address:o.getTokenBridge(),args:[i.getWormholeId(),i.normalizeAddress(e),m,c],value:s,func:"wrapAndTransferETH",module:"TokenBridge"})}}),Rn=()=>({transferTokens:hi,transferTokensWithPayload:fi,wrapAndTransferETH:bi,wrapAndTransferETHWithPayload:pi});import{Abi as yi,ContractConfig as xi,Wormhole as _n}from"@galacticcouncil/xc-core";var gi=()=>({build:async t=>{let{address:e,amount:s,asset:n,source:a,destination:o,transact:i}=t,m=i?i.chain:a.chain,c=o.chain,l=_n.fromChain(m),p=_n.fromChain(c),h=0,g=0,k=m.getAssetId(n);return new xi({abi:yi.TokenRelayer,address:l.getTokenRelayer(),args:[$e(k),s,h,p.getWormholeId(),p.normalizeAddress(e),g],func:"transferTokensWithRelay",module:"TokenRelayer"})}}),Sn=()=>({transferTokensWithRelay:gi});function Dn(){return{TokenBridge:Rn,TokenRelayer:Sn}}function R(){return{Batch:wn,Erc20:Cn,PolkadotXcm:Pn,Snowbridge:En,Wormhole:Dn}}import{ExtrinsicConfig as Ai}from"@galacticcouncil/xc-core";var Ln="AssetConversion",wi=t=>{let e="swap_tokens_for_exact_tokens";return{build:async({address:s,source:n})=>{let{chain:a}=n,o=n.destinationFeeSwap||n.feeSwap;if(!o)throw new Error("Swap context not found.");let{aIn:i,aOut:m}=o,c=a,l=c.getAssetXcmLocation(i),p=c.getAssetXcmLocation(m),h=i.amount+i.amount*BigInt(t.slippage)/100n,g=m.amount;return new Ai({module:Ln,func:e,getTx:k=>k.getUnsafeApi().tx[Ln][e]({path:[l,p],amount_out:g,amount_in_max:h,send_to:s,keep_alive:!0})})}}},Hn=()=>({swapTokensForExactTokens:wi});import{hub as Ci,MultiAddress as ki}from"@galacticcouncil/descriptors";import{ExtrinsicConfig as Ti}from"@galacticcouncil/xc-core";var vi="Assets",Bi=()=>{let t="transfer";return{build:async({asset:e,amount:s,address:n,destination:a})=>{let o=a.chain,{fee:i}=a,m=s>i.amount?s-i.amount:s,c=o.getMetadataAssetId(e);return new Ti({module:vi,func:t,getTx:l=>l.getTypedApi(Ci).tx.Assets.transfer({id:Number(c),target:ki.Id(n),amount:m})})}}},Wn=()=>({transfer:Bi});import{ExtrinsicConfig as Pi}from"@galacticcouncil/xc-core";var Mn="Balances",Ei=(t=!1)=>{let e="transfer_all";return{build:async({address:s})=>new Pi({module:Mn,func:e,getTx:n=>n.getUnsafeApi().tx[Mn][e]({dest:s,keep_alive:t})})}},Vn=()=>({transferAll:Ei});import{hydration as Fi}from"@galacticcouncil/descriptors";import{ExtrinsicConfig as Xi}from"@galacticcouncil/xc-core";var Ii="Router",Ri=t=>({build:async({source:s})=>{let{chain:n,destinationFeeSwap:a}=s;if(!a)throw new Error("Swap context not found.");let{aIn:o,aOut:i,route:m}=a,c=n,l=c.getMetadataAssetId(o),p=c.getMetadataAssetId(i),h=i.amount,g=o.amount+o.amount*BigInt(t.slippage)/100n;return new Xi({module:Ii,func:"buy",getTx:k=>k.getTypedApi(Fi).tx.Router.buy({asset_in:Number(l),asset_out:Number(p),amount_out:h,max_amount_in:g,route:m})})}}),On=()=>({buy:Ri});import{ExtrinsicConfig as _i}from"@galacticcouncil/xc-core";var Un="Utility",Si=t=>{let e="batch_all";return{build:async s=>{let n=await Promise.all(t.map(a=>a.build(s)));return new _i({module:Un,func:e,getTx:a=>{let o=n.map(i=>i.getTx(a).decodedCall);return a.getUnsafeApi().tx[Un][e]({calls:o})}})}}},Kn=()=>({batchAll:Si});import{Abi as Di,ExtrinsicConfig as Li}from"@galacticcouncil/xc-core";import{Binary as Nn}from"polkadot-api";import{encodeFunctionData as Hi}from"viem";var Je=(o=>(o.v1="V1",o.v2="V2",o.v3="V3",o.v4="V4",o.v5="V5",o))(Je||{}),oe=(a=>(a.Teleport="Teleport",a.LocalReserve="LocalReserve",a.DestinationReserve="DestinationReserve",a.RemoteReserve="RemoteReserve",a))(oe||{});var Gn="EthereumXcm",Wi=t=>{let e="transact";return{build:async s=>{let n=await t.build(s),a="V1",o=Hi({abi:Di[n.module],functionName:n.func,args:n.args});return new Li({module:Gn,func:e,getTx:i=>i.getUnsafeApi().tx[Gn][e]({xcm_transaction:{type:a,value:{gas_limit:[5000000n,0n,0n,0n],fee_payment:{type:"Auto",value:void 0},action:{type:"Call",value:Nn.fromHex(n.address)},value:[0n,0n,0n,0n],input:Nn.fromHex(o),access_list:void 0}}})})}}},Is=()=>({transact:Wi});import{ExtrinsicConfig as gt}from"@galacticcouncil/xc-core";import{big as Gs}from"@galacticcouncil/common";import{multiloc as rc,ChainEcosystem as Us}from"@galacticcouncil/xc-core";import{Binary as ic}from"polkadot-api";import{XcmV3Junctions as fe,XcmV3Junction as jt,XcmV3JunctionNetworkId as ua,XcmV3MultiassetFungibility as yt,XcmV4Instruction as J,XcmV4AssetAssetFilter as Ht,XcmV4AssetWildAsset as Wt,XcmV3WeightLimit as Ks,XcmV2MultiassetWildFungibility as cc,XcmV2OriginKind as mc}from"@galacticcouncil/descriptors";import{XcmV3Junctions as Mi}from"@galacticcouncil/descriptors";var re=340282366920938463463374607431768211455n,ht="0x0000000000000000000000000000000000000000000000000000000000000000",Dt={parents:1,interior:Mi.Here()},qn=0,jn=1e3,zn=1002,$n=1,bt="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";var Jn="0x0000000000000000000000000000000000000000";import{XcmV3Junctions as Zi,XcmV3MultiassetFungibility as _s,XcmV3WeightLimit as ec,XcmV4AssetAssetFilter as tc,XcmV4AssetWildAsset as sc,XcmV4Instruction as Gt}from"@galacticcouncil/descriptors";import{Binary as nc}from"polkadot-api";import{acc as Vi}from"@galacticcouncil/xc-core";import{XcmV3Junction as Qn}from"@galacticcouncil/descriptors";import{FixedSizeBinary as Yn}from"polkadot-api";import{getSs58AddressInfo as Oi}from"@polkadot-api/substrate-bindings";import{toHex as Ui}from"@polkadot-api/utils";function K(t){if(t.length===42&&t.startsWith("0x"))return Qn.AccountKey20({key:Yn.fromHex(t),network:void 0});let s=Oi(t);if(!s.isValid)throw new Error(`Invalid SS58 address: ${t}`);return Qn.AccountId32({id:Yn.fromHex(Ui(s.publicKey)),network:void 0})}function Lt(t,e,s){return Vi.getMultilocationDerivatedAccount(t.parachainId,e,s.parachainId===0?0:1,s.usesH160Acc)}import{multiloc as Zn}from"@galacticcouncil/xc-core";function ea(t,e){let s=Zn.findNestedKey(t,"GeneralIndex"),n=Zn.findNestedKey(e,"GeneralIndex"),a=s&&s.GeneralIndex,o=n&&n.GeneralIndex;return Number.isNaN(a)||Number.isNaN(o)?!1:Number(a)>Number(o)}function z(t,e){let s=t.getAssetXcmLocation(e);if(!s)throw new Error(e.originSymbol+" location config is missing.");return s}var ss={};Kt(ss,{ETHER_TOKEN_ADDRESS:()=>Rs,erc20Location:()=>Gi,erc20LocationReanchored:()=>qi,ethereumLocation:()=>na,parachainLocation:()=>Ni});import{XcmV3Junctions as es,XcmV3Junction as ts,XcmV3JunctionNetworkId as Ki}from"@galacticcouncil/descriptors";import{Binary as ta}from"polkadot-api";var Rs="0x0000000000000000000000000000000000000000",sa=t=>ts.GlobalConsensus(Ki.Ethereum({chain_id:BigInt(t)}));function na(t){return{parents:2,interior:es.X1(sa(t))}}function Ni(t){return{parents:1,interior:es.X1(ts.Parachain(t))}}function Gi(t,e){return e===Rs?na(t):{parents:2,interior:es.X2([sa(t),ts.AccountKey20({key:ta.fromHex(e)})])}}function qi(t){return t===Rs?{parents:0,interior:{type:"Here"}}:{parents:0,interior:es.X1(ts.AccountKey20({key:ta.fromHex(t)}))}}import{encodeLocation as aa}from"@galacticcouncil/common";import{multiloc as ji}from"@galacticcouncil/xc-core";function $(t,e){return zi(e)>=4?aa(t):$i(t)}function zi(t){let e=t.toString().replace("V","").replace("v","");return Number(e)}function $i(t){return{type:"Concrete",value:aa(t)}}var Ji=1e3;function Qi(t){let{parents:e,interior:s}=t;return e===1&&s==="Here"?!0:e===2&&s&&s!=="Here"?Object.values(s).flat().some(a=>a&&typeof a=="object"&&"GlobalConsensus"in a):!1}function Yi(t){if(t)return Qi(t)?Ji:ji.findParachain(t)}function oa(t,e,s,n){let a=e.getAssetXcmLocation(t),o=Yi(a),i=n?.parachainId??s.parachainId;if(o&&i!==o)throw new Error(n?`Wrong reserve for "${t.originSymbol}": expected chain ${o}, got ${n.name} (${n.parachainId})`:`Reserve chain ${o} required for "${t.originSymbol}"`)}function Ss(t,e){let s="V4",n=$(z(e,t),s),a=nc.fromHex(ht);return[Gt.ReserveAssetDeposited([{id:Dt,fun:_s.Fungible(re)},{id:n,fun:_s.Fungible(re)}]),Gt.ClearOrigin(),Gt.BuyExecution({fees:{id:Dt,fun:_s.Fungible(re)},weight_limit:ec.Unlimited()}),Gt.DepositAsset({assets:tc.Wild(sc.AllCounted(2)),beneficiary:{parents:0,interior:Zi.X1(K(bt))}}),Gt.SetTopic(a)]}import{XcmV4Instruction as Ds,XcmV3MultiassetFungibility as Ls,XcmV3WeightLimit as ac}from"@galacticcouncil/descriptors";function ra(t,e){let s="V4",n=$(z(e,t),s),a=ns("V4",K(Jn),K(bt),n,ht);return[Ds.WithdrawAsset([{id:Dt,fun:Ls.Fungible(re)},{id:n,fun:Ls.Fungible(re)}]),Ds.ClearOrigin(),Ds.BuyExecution({fees:{id:Dt,fun:Ls.Fungible(re)},weight_limit:ac.Unlimited()}),...a.value]}import{XcmV3Junctions as Hs,XcmV3Junction as oc,XcmV3MultiassetFungibility as qt,XcmV3WeightLimit as Ws,XcmV4AssetAssetFilter as Ms,XcmV4AssetWildAsset as Vs,XcmV4Instruction as ge}from"@galacticcouncil/descriptors";import{Binary as ia}from"polkadot-api";function ca(t,e){let s="V4",n=$(z(e,t),s),a=ia.fromHex(ht);return[ge.WithdrawAsset([{id:n,fun:qt.Fungible(re)}]),ge.ClearOrigin(),ge.BuyExecution({fees:{id:n,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositAsset({assets:Ms.Wild(Vs.AllCounted(1)),beneficiary:{parents:0,interior:Hs.X1(K(bt))}}),ge.SetTopic(a)]}function Os(t,e){let s="V4",n=$(z(e,t),s);return[ge.BuyExecution({fees:{id:n,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositAsset({assets:Ms.Wild(Vs.AllCounted(1)),beneficiary:{parents:0,interior:Hs.X1(K(bt))}})]}function ma(t,e,s){let n="V4",a=$(z(e,t),n),o=ia.fromHex(ht),i=Os(t,s);return[ge.WithdrawAsset([{id:a,fun:qt.Fungible(re)}]),ge.ClearOrigin(),ge.BuyExecution({fees:{id:a,fun:qt.Fungible(re)},weight_limit:Ws.Unlimited()}),ge.DepositReserveAsset({assets:Ms.Wild(Vs.AllCounted(1)),dest:{parents:1,interior:Hs.X1(oc.Parachain(s.parachainId))},xcm:i}),ge.SetTopic(o)]}var la=[Us.Polkadot,Us.Kusama],uc={parents:1,interior:fe.X1(jt.Parachain(1e3))},lc=t=>t.parents===1&&t.interior==="Here",dc=(t,e)=>!t.ecosystem||!e.ecosystem?!1:la.includes(t.ecosystem)&&la.includes(e.ecosystem)&&t.ecosystem!==e.ecosystem,da=t=>{let{interior:e}=t;if(e.type==="X1"&&e.value.type==="GlobalConsensus")return e.value.value.type==="Ethereum";if(e.type==="X2"&&Array.isArray(e.value)){let s=e.value[0];return s.type==="GlobalConsensus"&&s.value.type==="Ethereum"}return!1},Ke=(t,e,s)=>{if(dc(e,s)){let a=s.ecosystem===Us.Polkadot?ua.Polkadot():ua.Kusama();return{type:t,value:{parents:2,interior:fe.X2([jt.GlobalConsensus(a),jt.Parachain(s.parachainId)])}}}if(s.parachainId===qn)return{type:t,value:{parents:1,interior:fe.Here()}};let n=s.key==="ethereum"?jn:s.parachainId;return{type:t,value:{parents:1,interior:fe.X1(jt.Parachain(n))}}},xt=(t,e)=>({type:t,value:{parents:0,interior:fe.X1(e)}}),Ns=(t,e,s)=>e==="RemoteReserve"?{type:"RemoteReserve",value:{type:t,value:lc(s)?uc:s}}:{type:e},ot=(t,e)=>({id:t,fun:yt.Fungible(e)}),fa=(t,e,s)=>({type:t,value:[J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(s)),beneficiary:{parents:0,interior:fe.X1(e)}})]});var ns=(t,e,s,n,a)=>{let o=ic.fromHex(a);return{type:t,value:[J.SetAppendix([J.DepositAsset({assets:Ht.Wild(Wt.All()),beneficiary:{parents:0,interior:fe.X1(s)}})]),J.InitiateReserveWithdraw({assets:Ht.Wild(Wt.AllOf({id:n,fun:cc.Fungible()})),reserve:ss.ethereumLocation($n),xcm:[J.BuyExecution({fees:{id:fc(n),fun:yt.Fungible(1n)},weight_limit:Ks.Unlimited()}),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}}),J.SetTopic(o)]}),J.SetTopic(o)]}},fc=t=>{let e=rc.findNestedKey(t,"key");return e?{parents:0,interior:fe.X1(jt.AccountKey20({key:e.key}))}:{parents:0,interior:fe.Here()}},pa=(t,e,s,n,a,o)=>({type:t,value:[J.WithdrawAsset([{id:s,fun:yt.Fungible(n)}]),J.BuyExecution({fees:{id:s,fun:yt.Fungible(n)},weight_limit:Ks.Unlimited()}),J.Transact({origin_kind:mc.SovereignAccount(),require_weight_at_most:{ref_time:o.refTime,proof_size:o.proofSize},call:a}),J.RefundSurplus(),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}})]}),ha=(t,e,s,n,a,o)=>({type:t,value:[J.WithdrawAsset([{id:s,fun:yt.Fungible(a)}]),J.BuyExecution({fees:{id:s,fun:yt.Fungible(a)},weight_limit:Ks.Unlimited()}),J.TransferAsset({assets:[{id:s,fun:yt.Fungible(n)}],beneficiary:{parents:0,interior:fe.X1(o)}}),J.RefundSurplus(),J.DepositAsset({assets:Ht.Wild(Wt.AllCounted(1)),beneficiary:{parents:0,interior:fe.X1(e)}})]});var ie="PolkadotXcm",pc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=$(z(i,n.fee),c),h=ot(l,e),g=ot(p,n.fee.amount),k="limited_reserve_transfer_assets";return new gt({module:ie,func:k,getTx:E=>{let M=E.getUnsafeApi().tx[ie][k];return s.key===n.fee.key?M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[h]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):ea(l,p)?M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[g,h]},fee_asset_item:0,weight_limit:{type:"Unlimited"}}):M({dest:Ke(c,i,m),beneficiary:xt(c,o),assets:{type:c,value:[h,g]},fee_asset_item:1,weight_limit:{type:"Unlimited"}})}})}}),hc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="limited_teleport_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),bc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c=i.xcmVersion??"V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="reserve_transfer_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0})})}}),yc=()=>({build:async({address:t,amount:e,asset:s,destination:n,source:a})=>{let o=K(t),i=a.chain,m=n.chain,c="V4",l=$(z(i,s),c),p=ot(l,e),h=Ke(c,i,m),g=xt(c,o),k={type:c,value:[p]},E="transfer_assets";return new gt({module:ie,func:E,getTx:M=>M.getUnsafeApi().tx[ie][E]({dest:h,beneficiary:g,assets:k,fee_asset_item:0,weight_limit:{type:"Unlimited"}})})}}),xc=t=>({build:async({address:e,asset:s,amount:n,destination:a,messageId:o,sender:i,source:m,transact:c})=>{let l="V4",p=m.chain,h=a.chain,g=a.fee.amount,k=a.fee;c&&(h=c.chain,g=Gs.toBigInt(c.fee.amount,c.fee.decimals),k=c.fee);let E=K(i),M=c||h.usesCexForwarding?Lt(p,i,h):e,_=K(M),{transferType:Q}=t,U=$(z(p,s),l),w=$(z(p,k),l),Ve=ot(U,n),lt=ot(w,g),Ge=s.isEqual(k),Ze=Ke(l,p,h),qe={type:l,value:Ge?[Ve]:[lt,Ve]},et=Ns(l,Q,U),Ut={type:l,value:Ge?U:w},Ts=Ns(l,Q,w),kt;da(U)?kt=ns(l,_,E,U,o):kt=fa(l,_,qe.value.length);let Jt="transfer_assets_using_type_and_then";return new gt({module:ie,func:Jt,getTx:Xo=>Xo.getUnsafeApi().tx[ie][Jt]({dest:Ze,assets:qe,assets_transfer_type:et,remote_fees_id:Ut,fees_transfer_type:Ts,custom_xcm_on_dest:kt,weight_limit:{type:"Unlimited"}})})}}),gc=()=>{let t="send";return{transact:e=>({build:async s=>{let{sender:n,source:a,transact:o}=s,i="V4";if(!o)throw new Error("Transact ctx configuration is missing.");let m=a.chain,c=o.chain,l=Lt(m,n,c),p=K(l),{fee:h}=o,g=$(z(c,h),i),k=Gs.toBigInt(e.fee,h.decimals);return new gt({module:ie,func:t,getTx:E=>E.getUnsafeApi().tx[ie][t]({dest:Ke(i,m,c),message:pa(i,p,g,k,o.call,o.weight)})})}}),transferAsset:e=>({build:async s=>{let{amount:n,address:a,asset:o,sender:i,source:m,destination:c}=s,l="V4",p=m.chain,h=c.chain,g=Lt(p,i,h),k=K(g),E=K(a),M=$(z(h,o),l),{fee:_}=c,Q=Gs.toBigInt(e.fee,_.decimals),U=n>_.amount?n-(_.amount+Q):n;return new gt({module:ie,func:t,getTx:w=>w.getUnsafeApi().tx[ie][t]({dest:Ke(l,p,h),message:ha(l,k,M,U,Q,E)})})}})}},qs=()=>({limitedReserveTransferAssets:pc,limitedTeleportAssets:hc,reserveTransferAssets:bc,transferAssets:yc,transferAssetsUsingTypeAndThen:xc,send:gc});import{ExtrinsicConfig as wc}from"@galacticcouncil/xc-core";import{encodeAssetId as Cc}from"@galacticcouncil/common";import{XcmV3Junctions as ba,XcmV3Junction as Ac}from"@galacticcouncil/descriptors";var ya=(t,e,s)=>e.parachainId===0?{type:t,value:{parents:1,interior:ba.X1(s)}}:{type:t,value:{parents:1,interior:ba.X2([Ac.Parachain(e.parachainId),s])}};var xa="XTokens",kc=()=>({build:async({address:t,amount:e,asset:s,destination:n,sender:a,source:o})=>{let i=o.chain,m=n.chain,c="V3",l=m.usesCexForwarding?Lt(i,a,m):t,p=K(l),h=i.getAssetId(s),g=Cc(h),k="transfer";return new wc({module:xa,func:k,getTx:E=>E.getUnsafeApi().tx[xa][k]({currency_id:g,amount:e,dest:ya(c,m,p),dest_weight_limit:{type:"Unlimited"}})})}}),js=()=>({transfer:kc});function u(){return{assetConversion:Hn,assets:Wn,balances:Vn,ethereumXcm:Is,polkadotXcm:qs,router:On,utility:Kn,xTokens:js}}function Qe(t,e){return{prior:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,s]).build(n):s.build(n)}},priorMulti:function(s){return{build:async n=>t(n)?u().utility().batchAll([e,...s]).build(n):u().utility().batchAll([...s]).build(n)}}}}import{Abi as wa,Snowbridge as Dc,Wormhole as Aa}from"@galacticcouncil/xc-core";var ga={};Kt(ga,{AssethubClient:()=>ce,BaseClient:()=>Ae,HydrationClient:()=>We});import{encodeLocation as Tc}from"@galacticcouncil/common";import{hub as vc,XcmVersionedAssetId as Bc}from"@galacticcouncil/descriptors";var Ae=class{chain;descriptor;constructor(e,s){this.chain=e,this.descriptor=s??vc}get client(){return this.chain.client}api(){return this.client.getTypedApi(this.descriptor)}get refApi(){return this.api()}async getSystemAccountBalance(e){let n=(await this.refApi.query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async calculateDestinationFee(e,s){let n=await this.refApi.apis.XcmPaymentApi.query_xcm_weight({type:"V4",value:e});if(!n.success)throw Error("Can't query XCM weight.");let a=this.chain.getAssetXcmLocation(s);if(!a)throw Error(`Can't get XCM location for asset ${s.originSymbol}`);let o=Tc(a),i=await this.refApi.apis.XcmPaymentApi.query_weight_to_asset_fee(n.value,Bc.V4(o));if(!i.success)throw Error(`Can't convert weight to fee in ${s.originSymbol}`);return BigInt(i.value)}};import{XcmV5Junctions as Pc,XcmV5Junction as Ec,XcmVersionedLocation as Fc}from"@galacticcouncil/descriptors";import{encodeLocation as Xc}from"@galacticcouncil/common";import{Twox128 as Ic,u128 as Rc}from"@polkadot-api/substrate-bindings";import{toHex as _c}from"@polkadot-api/utils";var ce=class extends Ae{constructor(e){super(e)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=this.chain.getAssetXcmLocation(e),a=Xc(n);if(s===0)return!0;let o=s===e.originSymbol?await this.api().query.ForeignAssets.Asset.getValue(a):await this.api().query.Assets.Asset.getValue(Number(s));return o&&o.is_sufficient||!1}async checkIfFrozen(e,s){let n=this.chain.getAssetId(s);if(n===s.originSymbol)return!1;let a=await this.api().query.Assets.Account.getValue(Number(n),e);return a&&a.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:"),n=_c(Ic(s)),a=await this.client._request("state_getStorage",[n]);if(!a)return e.defaultFee;let o=Rc.dec(a);return o===0n?e.defaultFee:o}async calculateDeliveryFee(e,s){let n=Fc.V5({parents:1,interior:Pc.X1(Ec.Parachain(s))}),a=await this.api().apis.XcmPaymentApi.query_delivery_fees(n,{type:"V4",value:e});if(!a.success)throw Error("Can't query XCM delivery fee.");let o=a.value.value.find(m=>{let c=m.id;return c&&c.parents&&c.parents===1&&c.interior.type==="Here"});if(!o)throw Error("Can't find XCM delivery fee in DOT.");let i=o.fun.value;if(typeof i=="bigint")return i;throw Error("Can't parse delivery fee.")}};import{hydration as Sc}from"@galacticcouncil/descriptors";var We=class extends Ae{constructor(e){super(e,Sc)}async checkIfSufficient(e){let s=this.chain.getAssetId(e),n=Number(s),a=await this.api().query.AssetRegistry.Assets.getValue(n);return a?a.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 n=(await this.api().query.System.Account.getValue(e)).data,{free:a,frozen:o}=n;return BigInt(a)-BigInt(o)}async getTokensAccountsBalance(e,s){let n=Number(s),a=await this.api().query.Tokens.Accounts.getValue(e,n),{free:o,frozen:i}=a;return BigInt(o)-BigInt(i)}};function Lc(){return{calculateRelayerFee:()=>({build:async({feeAsset:t,destination:e,source:s})=>{let n=s,a=e,o=Aa.fromChain(n),i=Aa.fromChain(a),m=n.getAssetId(t),c=n.getAssetDecimals(t);return{amount:await n.evmClient.getProvider().readContract({abi:wa.TokenRelayer,address:o.getTokenRelayer(),args:[i.getWormholeId(),m,c],functionName:"calculateRelayerFee"})}}})}}function Hc(){return{TokenRelayer:Lc}}function Wc(){return{calculateInboundFee:t=>({build:async({feeAsset:e,destination:s,source:n})=>{let a=n,o=s,i=Dc.fromChain(a),m=new Ae(o),c=new ce(t.hub),l=Ss(e,o),[p,h]=await Promise.all([m.calculateDestinationFee(l,x),c.calculateDeliveryFee(l,o.parachainId)]),g=h+St(p,25n),k=a.getAssetId(e);return{amount:await a.evmClient.getProvider().readContract({abi:wa.Snowbridge,address:i.getGateway(),args:[k,o.parachainId,g],functionName:"quoteSendTokenFee"}),breakdown:{bridgeFeeInDot:g}}}}),calculateOutboundFee:t=>({build:async({transferAsset:e,feeAsset:s,source:n})=>{let a=n,o=new ce(t.hub),i=ra(e,a),m=Ss(e,a),[c,l,p,h,g]=await Promise.all([o.getBridgeDeliveryFee(),o.calculateDeliveryFee(i,zn),o.calculateDestinationFee(i,s),o.calculateDeliveryFee(m,a.parachainId),o.calculateDestinationFee(m,s)]);return{amount:c+l+St(p,25n)+h+St(g,25n),breakdown:{bridgeDeliveryFee:c,bridgeHubDeliveryFee:l,assetHubDestinationFee:p,returnToSenderDeliveryFee:h,returnToSenderDestinationFee:g}}}})}}function Mc(){return{calculateDestFee:t=>({build:async({feeAsset:e,source:s,destination:n})=>{let a=s,o=n,i=t?.reserve;if(oa(e,a,o,i),i){let g=new Ae(o),k=new Ae(i),E=Os(e,o),M=ma(e,i,o),[_,Q]=await Promise.all([g.calculateDestinationFee(E,e),k.calculateDestinationFee(M,e)]),U=Q+_,w=St(U,20n),Ve=w-U;return{amount:w,breakdown:{reserveFee:Q,destinationFee:_,margin:Ve}}}let m=new Ae(o),c=ca(e,o),l=await m.calculateDestinationFee(c,e),p=St(l,20n),h=p-l;return{amount:p,breakdown:{totalFee:l,margin:h}}}})}}function A(){return{XcmPaymentApi:Mc,Snowbridge:Wc,Wormhole:Hc}}var Vc="0";function Oc(){return{build:async({address:t,chain:e})=>{let n=await new We(e).api().query.MultiTransactionPayment.AccountCurrencyMap.getValue(t),a=n?n.toString():Vc,o=e.findAssetById(a);return o?o.asset:q}}}var Uc=()=>({accountCurrencyMap:Oc});function zt(){return{multiTransactionPayment:Uc}}import{mrl as Ta,Precompile as va,ProgramConfig as Ba,Wormhole as as}from"@galacticcouncil/xc-core";import{ACCOUNT_SIZE as Kc,NATIVE_MINT as Ca,TOKEN_PROGRAM_ID as Nc,createCloseAccountInstruction as Gc,createInitializeAccountInstruction as qc,getMinimumBalanceForRentExemptAccount as jc,getAssociatedTokenAddress as zc}from"@solana/spl-token";import{Keypair as zs,PublicKey as $s,SystemProgram as ka}from"@solana/web3.js";import{UniversalAddress as Pa}from"@wormhole-foundation/sdk-connect";import{createApproveAuthoritySignerInstruction as Ea,createTransferNativeWithPayloadInstruction as Fa,getWrappedMeta as $c}from"@wormhole-foundation/sdk-solana-tokenbridge";var Jc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=as.fromChain(m),p=as.fromChain(t.moonchain),h=va.Bridge,g=await Ta.createPayload(i.chain,s),k=new $s(o),E=new Pa(h),M=p.getWormholeId(),_=k,Q=0,U=zs.generate(),w=zs.generate(),Ve=await jc(c.connection),lt=ka.createAccount({fromPubkey:_,newAccountPubkey:w.publicKey,lamports:Ve,space:Kc,programId:Nc}),Ge=ka.transfer({fromPubkey:_,lamports:n,toPubkey:w.publicKey}),Ze=qc(w.publicKey,Ca,_),qe=Ea(l.getTokenBridge(),w.publicKey,_,n),et=Fa(c.connection,l.getTokenBridge(),l.getCoreBridge(),o,U.publicKey,w.publicKey,Ca,Q,n,E.toUint8Array(),M,g.toU8a()),Ut=Gc(w.publicKey,_,_);return new Ba({instructions:[lt,Ge,Ze,qe,et,Ut],signers:[U,w],func:"TransferNativeWithPayload",module:"TokenBridge",rentReserve:BigInt(Ve)})}})}),Qc=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,asset:a,source:o,sender:i,destination:m}=e,c=o.chain,l=c,p=as.fromChain(c),h=as.fromChain(t.moonchain),g=va.Bridge,k=await Ta.createPayload(m.chain,s),E=new $s(i),M=o.chain.getAssetId(a),_=new $s(M),Q=await zc(_,E),U=new Pa(g),w=h.getWormholeId();if(await $c(l.connection,p.getTokenBridge(),_).catch(et=>null).then(et=>et!=null))throw new Error("Wrapped assets not supported yet");let lt=0,Ge=zs.generate(),Ze=Ea(p.getTokenBridge(),Q,E,n),qe=Fa(l.connection,p.getTokenBridge(),p.getCoreBridge(),i,Ge.publicKey,Q,_,lt,n,U.toUint8Array(),w,k.toU8a());return new Ba({instructions:[Ze,qe],signers:[Ge],func:"TransferWithPayload",module:"TokenBridge"})}})}),Xa=()=>({transferNativeWithPayload:Jc,transferTokenWithPayload:Qc});function Ia(){return{TokenBridge:Xa}}function os(){return{Wormhole:Ia}}import{mrl as Yc,MoveConfig as Zc,Precompile as em,Wormhole as Ra}from"@galacticcouncil/xc-core";import{Transaction as tm}from"@mysten/sui/transactions";import{SUI_CLOCK_OBJECT_ID as sm,SUI_TYPE_ARG as nm}from"@mysten/sui/utils";import{UniversalAddress as am}from"@wormhole-foundation/sdk-connect";import{getOldestEmitterCapObjectId as om,getPackageId as _a}from"@wormhole-foundation/sdk-sui";var rm=()=>({viaMrl:t=>({build:async e=>{let{address:s,amount:n,source:a,sender:o,destination:i}=e,m=a.chain,c=m,l=Ra.fromChain(m),p=Ra.fromChain(t.moonchain),h=0,g=em.Bridge,k=await Yc.createPayload(i.chain,s),E=new am(g),M=p.getWormholeId(),_=nm,[Q,U]=await Promise.all([_a(c.client,l.coreBridge),_a(c.client,l.tokenBridge)]),w=new tm,[Ve]=w.splitCoins(w.gas,[w.pure.u64(n)]),[lt]=w.splitCoins(w.gas,[w.pure.u64(i.fee.amount)]),[Ge]=w.moveCall({target:`${U}::state::verified_asset`,arguments:[w.object(l.tokenBridge)],typeArguments:[_]}),Ze=!1,qe=await(async()=>{let kt=await om(c.client,Q,o);if(kt!==null)return w.object(kt);{let[Jt]=w.moveCall({target:`${Q}::emitter::new`,arguments:[w.object(l.coreBridge)]});return Ze=!0,Jt}})(),[et,Ut]=w.moveCall({target:`${U}::transfer_tokens_with_payload::prepare_transfer`,arguments:[qe,Ge,Ve,w.pure.u16(M),w.pure.vector("u8",E.toUint8Array()),w.pure.vector("u8",k.toU8a()),w.pure.u32(h)],typeArguments:[_]});w.moveCall({target:`${U}::coin_utils::return_nonzero`,arguments:[Ut],typeArguments:[_]});let[Ts]=w.moveCall({target:`${U}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[w.object(l.tokenBridge),et],typeArguments:[_]});return w.moveCall({target:`${Q}::publish_message::publish_message`,arguments:[w.object(l.coreBridge),lt,Ts,w.object(sm)]}),Ze&&w.transferObjects([qe],w.pure.address(o)),new Zc({transaction:w,func:"TransferNativeWithPayload",module:"TokenBridge"})}})}),Sa=()=>({transferNativeWithPayload:rm});function Da(){return{TokenBridge:Sa}}function Js(){return{Wormhole:Da}}var Ha={};Kt(Ha,{Tag:()=>rt});var rt=(a=>(a.Wormhole="Wormhole",a.Relayer="Relayer",a.Snowbridge="Snowbridge",a.Mrl="Mrl",a))(rt||{});import{AssetRoute as Wa}from"@galacticcouncil/xc-core";function Mt(t,e){return new Wa({source:{asset:t,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{asset:t,balance:r().evm().erc20()}},destination:{chain:d,asset:e,fee:{amount:0,asset:e}},contract:R().Wormhole().TokenBridge().transferTokensWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})}function ae(t,e){return new Wa({source:{asset:t,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:d,asset:e,fee:{amount:A().Snowbridge().calculateInboundFee({hub:C}),asset:D}},contract:R().Snowbridge().sendToken(),tags:["Snowbridge"]})}var cm=[new rs({source:{asset:D,balance:r().evm().native(),destinationFee:{asset:D,balance:r().evm().native()}},destination:{chain:d,asset:Y,fee:{amount:0,asset:Y}},contract:R().Wormhole().TokenBridge().wrapAndTransferETHWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]}),Mt(ue,ee),Mt(Ue,ye),Mt(b,be),Mt(f,he),Mt(Oe,pe)],mm=[new rs({source:{asset:D,balance:r().evm().native(),fee:{asset:D,balance:r().evm().native()},destinationFee:{balance:r().evm().native()}},destination:{chain:d,asset:D,fee:{amount:A().Snowbridge().calculateInboundFee({hub:C}),asset:D}},contract:R().Snowbridge().sendToken(),tags:["Snowbridge"]}),ae(Ce,Ce),ae(Te,Te),ae(ve,ve),ae(Ie,Ie),ae(_e,_e),ae(Se,Se),ae(Ee,Ee),ae(Be,Be),ae(Fe,Fe),ae(Re,Re),ae(De,De),ae(He,He),ae(b,ft),ae(f,dt)],ny=[new rs({source:{asset:D,balance:r().evm().native(),destinationFee:{asset:D,balance:r().evm().erc20()}},destination:{chain:B,asset:Y,fee:{amount:0,asset:Y}},contract:R().Wormhole().TokenBridge().wrapAndTransferETH(),tags:["Mrl","Wormhole"]}),new rs({source:{asset:ue,balance:r().evm().erc20(),fee:{asset:D,balance:r().evm().native()},destinationFee:{asset:ue,balance:r().evm().erc20()}},destination:{chain:B,asset:ee,fee:{amount:0,asset:ee}},contract:R().Wormhole().TokenBridge().transferTokens(),tags:["Mrl","Wormhole"]})],Ma=new im({chain:I,routes:[...cm,...mm]});var Va=[Ma];import{AssetRoute as ms,ChainRoutes as Ua}from"@galacticcouncil/xc-core";import{AssetRoute as Qs}from"@galacticcouncil/xc-core";var At=0,um=t=>{let{source:e}=t;return!!e.feeSwap},lm=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},Oa=u().assetConversion().swapTokensForExactTokens({slippage:30});function dm(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:f}},extrinsic:Qe(lm,Oa).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function is(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:t,balance:r().substrate().assets().account(),swap:!0},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:Qe(um,Oa).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"}))})}function wt(t,e,s){return new Qs({source:{asset:t,balance:r().substrate().assets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().assets().account()},min:nt().assets().asset()},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})}function cs(t){return dm(t,d,.02)}var fm=[new ms({source:{asset:x,balance:r().substrate().system().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().system().account()},min:nt().assets().asset()},destination:{chain:d,asset:x,fee:{amount:.001,asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),new ms({source:{asset:P,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:d,asset:P,fee:{amount:1e-4,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),wt(f,d,.02),wt(b,d,.02),cs(je)],pm=[new ms({source:{asset:P,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:ze,asset:P,fee:{amount:.001,asset:P}},extrinsic:u().polkadotXcm().transferAssets()})],hm=[wt(f,B,.25),wt(b,B,.25)],bm=[wt(f,L,.03),wt(b,L,.03)],ym=[new ms({source:{asset:O,balance:r().substrate().foreignAssets().account(),fee:{asset:x,balance:r().substrate().system().account(),extra:At},destinationFee:{balance:r().substrate().foreignAssets().account()}},destination:{chain:st,asset:O,fee:{amount:2.5,asset:O}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Ka=new Ua({chain:tt,routes:[is(f,d,.02),is(b,d,.02),is(x,d,.001)]}),Na=new Ua({chain:C,routes:[...fm,...pm,...hm,...bm,...ym]});import{AssetRoute as Ye,ChainRoutes as xm}from"@galacticcouncil/xc-core";var gm=[new Ye({source:{asset:S,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:S,fee:{amount:.044306118,asset:S}},extrinsic:u().polkadotXcm().reserveTransferAssets()}),new Ye({source:{asset:F,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:F,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:F}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:T,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:T,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:B}),asset:T}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:X,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:X,fee:{amount:2e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:H,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:H,fee:{amount:.01,asset:H}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:W,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:W,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:W}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:j,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:j,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:L}),asset:j}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:f,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ye({source:{asset:b,balance:r().substrate().assets().account(),fee:{asset:S,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().assets().account()}},destination:{chain:d,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Ga=new xm({chain:Z,routes:[...gm]});import{AssetRoute as Me,ChainRoutes as Am}from"@galacticcouncil/xc-core";var wm=[new Me({source:{asset:F,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:F,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:F}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:W,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:W,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:W}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:j,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:j,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:j}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:x,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:x,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})}),new Me({source:{asset:S,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:S,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:Z}),asset:S}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:T,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:T,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:B}),asset:T}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:X,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:X,fee:{amount:625e-8,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:f,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:b,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Cm=[new Me({source:{asset:f,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:C,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Me({source:{asset:b,balance:r().substrate().tokens().accounts(),fee:{asset:F,balance:r().substrate().system().account()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:C,asset:b,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:b}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],qa=new Am({chain:L,routes:[...wm,...Cm]});import{AssetRoute as Ne,ChainRoutes as Em}from"@galacticcouncil/xc-core";var km="0",v=()=>({build:({address:t,asset:e,chain:s})=>s.getAssetId(e).toString()===km?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),G=()=>({asset:zt().multiTransactionPayment().accountCurrencyMap(),balance:v()});import{AssetRoute as Ct}from"@galacticcouncil/xc-core";var Tm=.9,vm=1,Bm=1,us=t=>{let{source:e}=t,{enabled:s}=e.destinationFeeSwap||{};return!!s},ls=u().router().buy({slippage:30});function V(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(s?{reserve:s}:void 0),asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function Vt(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})}function it(t,e){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:t}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})}function ds(t){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:C,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().limitedReserveTransferAssets())})}function Pm(t,e,s="LocalReserve"){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:e,asset:t,fee:{amount:Bm,asset:T}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:s}))})}function ct(t){return Pm(t,B,"DestinationReserve")}function ja(t,e,s,n,a,o){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{asset:t,balance:v()}},destination:{chain:s,asset:e,fee:{amount:n,asset:e}},extrinsic:Qe(us,ls).priorMulti([u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"}),u().polkadotXcm().send().transact({fee:Tm})]),transact:{chain:B,fee:{amount:vm,asset:T,balance:v()},extrinsic:u().ethereumXcm().transact(a)},tags:o})}function Ys(t,e,s){return ja(t,e,s,0,R().Batch().batchAll([R().Erc20().approve(n=>n.getTokenBridge()),R().Wormhole().TokenBridge().transferTokens()]),["Mrl","Wormhole"])}function mt(t,e,s){return ja(t,e,s,A().Wormhole().TokenRelayer().calculateRelayerFee(),R().Batch().batchAll([R().Erc20().approve(n=>n.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),["Mrl","Wormhole","Relayer"])}function te(t,e,s){return new Ct({source:{asset:t,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:s,asset:e,fee:{amount:A().Snowbridge().calculateOutboundFee({hub:C}),asset:x}},extrinsic:Qe(us,ls).prior(u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})),tags:["Snowbridge"]})}var Fm=[it(x,C),it(P,C),it(f,C),it(b,C),ds(je)],Xm=[V(S,Z),V(F,Z,L),V(T,Z,B),new Ne({source:{asset:X,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Z,asset:X,fee:{amount:2e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ne({source:{asset:H,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Z,asset:H,fee:{amount:.01,asset:H}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),V(W,Z,L),V(j,Z,L),V(f,Z,C),V(b,Z,C)],Im=[V(F,L),V(W,L),V(j,L),V(S,L,Z),V(T,L,B),new Ne({source:{asset:X,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:L,asset:X,fee:{amount:5e-6,asset:X}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),V(f,L,C),V(b,L,C),new Ne({source:{asset:x,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:L,asset:x,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:C}),asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],Rm=[Vt(X,xe,62e-8),Vt(H,xe,.0019213457),Vt(q,xe,.5),Vt(f,xe,.3),Vt(b,xe,.3),new Ne({source:{asset:W,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:xe,asset:W,fee:{amount:.01,asset:x}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()}),new Ne({source:{asset:x,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:xe,asset:x,fee:{amount:.05,asset:x}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"RemoteReserve"})})],_m=[V(q,B),V(T,B),V(f,B,C),V(b,B,C),ct(ee),ct(pe),ct(be),ct(he),ct(ye),ct(Y),ct(N)],Sm=[new Ne({source:{asset:O,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:st,asset:O,fee:{amount:2.5,asset:O}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Dm=[V(Le,Xt)],Lm=[new Ne({source:{asset:me,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Bt,asset:me,fee:{amount:.04,asset:me}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Hm=[V(Pe,Pt)],Wm=[new Ne({source:{asset:le,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:It,asset:le,fee:{amount:.02,asset:le}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Mm=[new Ne({source:{asset:de,balance:v(),fee:G(),destinationFee:{balance:v()}},destination:{chain:Ft,asset:de,fee:{amount:1.1,asset:de}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],Vm=[V(Xe,Et)],Om=[V(ke,vt)],Um=[mt(ee,ue,I),mt(Y,D,I),mt(ye,Ue,I),mt(he,f,I),mt(be,b,I),Ys(pe,Oe,I)],Km=[te(D,D,I),te(Ce,Ce,I),te(Te,Te,I),te(ve,ve,I),te(Ie,Ie,I),te(_e,_e,I),te(Se,Se,I),te(De,De,I),te(Ee,Ee,I),te(Be,Be,I),te(Fe,Fe,I),te(Re,Re,I),te(He,He,I),te(ft,b,I),te(dt,f,I)],Nm=[mt(N,N,pt),Ys(se,se,pt)],Gm=[mt(ne,ne,Rt)],qm=[it(x,tt),it(f,tt),it(b,tt)],za=new Em({chain:d,routes:[...Om,...Fm,...Xm,...Im,...qm,...Lm,...Km,...Um,...Rm,...Hm,...Wm,..._m,...Sm,...Vm,...Mm,...Nm,...Gm,...Dm]});import{AssetRoute as ps,ChainRoutes as jm}from"@galacticcouncil/xc-core";var Zs=()=>r().substrate().tokens().accounts();function fs(t,e){return new ps({source:{asset:t,balance:Zs(),fee:{asset:H,balance:Zs()},destinationFee:{balance:Zs()}},destination:{chain:d,asset:t,fee:{amount:A().XcmPaymentApi().calculateDestFee({reserve:e}),asset:t}},extrinsic:u().xTokens().transfer()})}var zm=[new ps({source:{asset:H,balance:r().substrate().tokens().accounts(),destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:H,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:H}},extrinsic:u().xTokens().transfer()}),new ps({source:{asset:X,balance:r().substrate().tokens().accounts(),fee:{asset:H,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:X,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:H}},extrinsic:u().xTokens().transfer()}),new ps({source:{asset:q,balance:r().substrate().tokens().accounts(),fee:{asset:H,balance:r().substrate().tokens().accounts()},destinationFee:{balance:r().substrate().tokens().accounts()}},destination:{chain:d,asset:q,fee:{amount:.5,asset:q}},extrinsic:u().xTokens().transfer()}),fs(W,L),fs(f,C),fs(b,C),fs(x,C)],$a=new jm({chain:xe,routes:[...zm]});import{AssetRoute as $t,ChainRoutes as Qm}from"@galacticcouncil/xc-core";import{AssetRoute as Ja}from"@galacticcouncil/xc-core";function $m(t,e,s){return new Ja({source:{asset:t,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:R().PolkadotXcm().transferAssetsToPara32()})}function Jm(t,e,s){return new Ja({source:{asset:t,balance:r().evm().erc20(),fee:{asset:T,balance:r().evm().erc20()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:e,asset:t,fee:{amount:s,asset:t}},contract:R().PolkadotXcm().transferAssetsToPara32()})}function ut(t,e){return $m(t,d,e)}function hs(t,e){return Jm(t,d,e)}var Ym=[new $t({source:{asset:T,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:T,fee:{amount:.05,asset:T}},contract:R().PolkadotXcm().transferAssetsToPara32()}),hs(q,.6),hs(f,.3),hs(b,.3),ut(ee,.004),ut(pe,.004),ut(be,.004),ut(he,.004),ut(ye,1e-7),ut(Y,2e-6),ut(N,2e-5)],Zm=[new $t({source:{asset:f,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:C,asset:f,fee:{amount:.18,asset:f}},contract:R().PolkadotXcm().transferAssetsToPara32()}),new $t({source:{asset:b,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{balance:r().evm().erc20()}},destination:{chain:C,asset:b,fee:{amount:.18,asset:b}},contract:R().PolkadotXcm().transferAssetsToPara32()})],gx=[new $t({source:{asset:Y,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{asset:Y,balance:r().evm().erc20()}},destination:{chain:I,asset:D,fee:{amount:A().Wormhole().TokenRelayer().calculateRelayerFee(),asset:D}},contract:R().Batch().batchAll([R().Erc20().approve(t=>t.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]}),new $t({source:{asset:ee,balance:r().evm().erc20(),fee:{asset:T,balance:r().substrate().system().account()},destinationFee:{asset:ee,balance:r().evm().erc20()}},destination:{chain:I,asset:ue,fee:{amount:A().Wormhole().TokenRelayer().calculateRelayerFee(),asset:ue}},contract:R().Batch().batchAll([R().Erc20().approve(t=>t.getTokenRelayer()),R().Wormhole().TokenRelayer().transferTokensWithRelay()]),tags:["Mrl","Wormhole","Relayer"]})],Qa=new Qm({chain:B,routes:[...Ym,...Zm]});import{AssetRoute as Ya,ChainRoutes as e0}from"@galacticcouncil/xc-core";var t0=[new Ya({source:{asset:O,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:O,fee:{amount:.01,asset:O}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],s0=[new Ya({source:{asset:O,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:C,asset:O,fee:{amount:.1,asset:O}},extrinsic:u().polkadotXcm().limitedTeleportAssets()})],Za=new e0({chain:st,routes:[...t0,...s0]});import{AssetRoute as n0,ChainRoutes as a0}from"@galacticcouncil/xc-core";var o0=[new n0({source:{asset:Le,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Le,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:Le}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],eo=new a0({chain:Xt,routes:[...o0]});import{AssetRoute as r0,ChainRoutes as i0}from"@galacticcouncil/xc-core";var c0=[new r0({source:{asset:me,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:me,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:me}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],to=new i0({chain:Bt,routes:[...c0]});import{AssetRoute as m0,ChainRoutes as u0}from"@galacticcouncil/xc-core";var l0=[new m0({source:{asset:de,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:de,fee:{amount:.2,asset:de}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],so=new u0({chain:Ft,routes:[...l0]});import{AssetRoute as d0,ChainRoutes as f0}from"@galacticcouncil/xc-core";var p0=[new d0({source:{asset:ke,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:ke,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:ke}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],no=new f0({chain:vt,routes:[...p0]});import{AssetRoute as h0,ChainRoutes as b0}from"@galacticcouncil/xc-core";var y0=[new h0({source:{asset:Pe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Pe,fee:{amount:2,asset:Pe}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})})],ao=new b0({chain:Pt,routes:[...y0]});import{AssetRoute as x0,ChainRoutes as g0}from"@galacticcouncil/xc-core";var A0=[new x0({source:{asset:le,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:le,fee:{amount:.03,asset:le}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],oo=new g0({chain:It,routes:[...A0]});import{AssetRoute as w0,ChainRoutes as C0}from"@galacticcouncil/xc-core";var k0=[new w0({source:{asset:Xe,balance:r().substrate().system().account(),destinationFee:{balance:r().substrate().system().account()}},destination:{chain:d,asset:Xe,fee:{amount:.205,asset:Xe}},extrinsic:u().polkadotXcm().reserveTransferAssets()})],ro=new C0({chain:Et,routes:[...k0]});var io=[no,Na,Ka,Ga,qa,za,$a,Qa,Za,ro,eo,to,so,ao,oo];import{AssetRoute as co,ChainRoutes as T0}from"@galacticcouncil/xc-core";var v0=[new co({source:{asset:N,balance:r().solana().native(),destinationFee:{asset:N,balance:r().solana().native()}},destination:{chain:d,asset:N,fee:{amount:0,asset:N}},program:os().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]}),new co({source:{asset:se,balance:r().solana().token(),fee:{asset:N,balance:r().solana().native()},destinationFee:{asset:se,balance:r().solana().token()}},destination:{chain:d,asset:se,fee:{amount:0,asset:se}},program:os().Wormhole().TokenBridge().transferTokenWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})],mo=new T0({chain:pt,routes:[...v0]});var uo=[mo];import{AssetRoute as B0,ChainRoutes as P0}from"@galacticcouncil/xc-core";var E0=[new B0({source:{asset:ne,balance:r().sui().native(),destinationFee:{asset:ne,balance:r().sui().native()}},destination:{chain:d,asset:ne,fee:{amount:0,asset:ne}},move:Js().Wormhole().TokenBridge().transferNativeWithPayload().viaMrl({moonchain:B}),tags:["Mrl","Wormhole"]})],lo=new P0({chain:Rt,routes:[...E0]});var fo=[lo];import{AssetRoute as po,ChainRoutes as F0}from"@galacticcouncil/xc-core";import{AssetRoute as Og}from"@galacticcouncil/xc-core";var en=.0015;var X0=new po({source:{asset:P,balance:r().substrate().system().account(),fee:{asset:P,balance:r().substrate().system().account(),extra:en},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:C,asset:P,fee:{amount:.002,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),I0=new po({source:{asset:P,balance:r().substrate().system().account(),fee:{asset:P,balance:r().substrate().system().account(),extra:en},destinationFee:{balance:r().substrate().system().account()}},destination:{chain:_t,asset:P,fee:{amount:.0012,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"LocalReserve"})}),ho=new F0({chain:ze,routes:[I0,X0]});import{AssetRoute as bo,ChainRoutes as _0}from"@galacticcouncil/xc-core";var R0="0",Ot=()=>({build:({address:t,asset:e,chain:s})=>e.toString()===R0?r().substrate().system().account().build({address:t,asset:e,chain:s}):r().substrate().tokens().accounts().build({address:t,asset:e,chain:s})}),tn=()=>({asset:zt().multiTransactionPayment().accountCurrencyMap(),balance:Ot()});var S0=[new bo({source:{asset:f,balance:Ot(),fee:tn(),destinationFee:{balance:Ot()}},destination:{chain:ze,asset:f,fee:{amount:A().XcmPaymentApi().calculateDestFee(),asset:f}},extrinsic:u().polkadotXcm().limitedReserveTransferAssets()})],D0=[new bo({source:{asset:P,balance:Ot(),fee:tn(),destinationFee:{balance:Ot()}},destination:{chain:ze,asset:P,fee:{amount:.0012,asset:P}},extrinsic:u().polkadotXcm().transferAssetsUsingTypeAndThen({transferType:"DestinationReserve"})})],yo=new _0({chain:_t,routes:[...S0,...D0]});var xo=[ho,yo];var L0=[...Va,...io,...uo,...fo,...xo],H0=new Map(L0.map(t=>[t.chain.key,t]));import{Parachain as vo}from"@galacticcouncil/xc-core";import{TransferValidation as go,TransferValidationError as Ao}from"@galacticcouncil/xc-core";var bs=class extends go{async validate(e){let{source:s}=e,{chain:n,fee:a,feeBalance:o}=s;if(o.amount<a.amount)throw new Ao("Insufficient_Fee_Balance",{amount:a.toDecimal(),asset:a.symbol,chain:n.name,error:"fee.insufficientBalance"})}},ys=class extends go{async skipFor(e){let{asset:s,source:n}=e,{enabled:a}=n.destinationFeeSwap||{};return s.isEqual(n.destinationFee)||!!a}async validate(e){if(await this.skipFor(e))return;let{source:n}=e,{chain:a,destinationFee:o,destinationFeeBalance:i}=n,m=await this.getMin(a,o),c=o.copyWith({amount:o.amount+m});if(i.amount<c.amount)throw new Ao("Insufficient_Fee_Balance",{amount:c.toDecimal(),asset:c.symbol,chain:a.name,error:"destFee.insufficientBalance"})}async getMin(e,s){if(e.key==="assethub")return new ce(e).getAssetMin(s);let a=e.getAssetMin(s)*10**s.decimals;return BigInt(a)}};import{TransferValidation as wo,TransferValidationError as Co}from"@galacticcouncil/xc-core";var xs=class extends wo{async skipFor(e){let{asset:s,destination:n}=e,a=n.chain;return await new ce(a).checkIfSufficient(s)}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain;if(await new ce(o).getSystemAccountBalance(n)===0n)throw new Co("Insufficient_Ed",{amount:"0.1",asset:"DOT",chain:a.chain.name,error:"account.insufficientDeposit"})}},gs=class extends wo{async validate(e){let{asset:s,sender:n,source:a}=e,o=a.chain;if(await new ce(o).checkIfFrozen(n,s))throw new Co("Asset_Frozen",{asset:s.originSymbol,chain:a.chain.name,error:"asset.frozen"})}};import{TransferValidation as ko,TransferValidationError as To}from"@galacticcouncil/xc-core";var W0=12,M0=1,V0=18,As=class extends ko{async skipFor(e){let{destination:s}=e,n=s.chain,a=new We(n),o=s.balance.amount>0n,i=await a.checkIfSufficient(s.balance);return o||i}async validate(e){if(await this.skipFor(e))return;let{address:n,destination:a}=e,o=a.chain,i=new We(o),m=await i.getFeeAsset(n),c=o.findAssetById(m),l=c.min||M0,p=c.decimals||W0,h=l*Math.pow(10,p),g=await i.getAssetBalance(n,m);if(BigInt(h*1.1)>g)throw new To("Insufficient_Ed",{amount:h,asset:c.asset.originSymbol,chain:o.name,error:"account.insufficientDeposit"})}},ws=class extends ko{async skipFor(e){let{source:s,transact:n}=e,{enabled:a}=s.destinationFeeSwap||{};return!(!!n&&n.chain.key==="moonbeam")||!!a}async validate(e){if(await this.skipFor(e))return;let{sender:n,source:a}=e,o=a.chain,i=new We(o),m=o.getBalanceAssetId(T),c=o.getAssetDecimals(T)||V0,l=1*Math.pow(10,c);if(await i.getTokensAccountsBalance(n,m.toString())<BigInt(l))throw new To("Insufficient_Ed",{amount:1,asset:T.originSymbol,chain:o.name,error:"destFee.insufficientBalance"})}};var we={isAny:()=>!0,isHydration:t=>t instanceof vo&&t.parachainId===2034,isHub:t=>t instanceof vo&&t.parachainId===1e3,isEvm:t=>t.isEvmChain()},O0=[new bs(we.isAny,we.isAny),new ys(we.isAny,we.isAny),new xs(we.isAny,we.isHub),new gs(we.isHub,we.isAny),new As(we.isAny,we.isHydration),new ws(we.isHydration,we.isAny)];var Po={};Kt(Po,{AssethubDex:()=>nn,HydrationDex:()=>sn});import{pool as U0,sor as K0,tx as N0}from"@galacticcouncil/sdk-next";import{RUNTIME_DECIMALS as G0}from"@galacticcouncil/common";import{memoize1 as q0}from"@thi.ng/memoize";var{PoolType:Cs}=U0,{TradeRouteBuilder:j0,TradeRouter:z0}=K0,{TxBuilderFactory:$0}=N0,sn=class{chain;client;poolCtx;txBuilder;getCtx=q0(async e=>{console.log("init swap router",e,"\u2705");let s=new z0(this.poolCtx);return s.withFilter({useOnly:[Cs.Aave,Cs.Omni,Cs.Stable,Cs.XYK]}),s});constructor(e,s){this.chain=e,this.poolCtx=s,this.client=new We(this.chain),this.txBuilder=new $0(s.client,s.evm)}async getCalldata(e,s,n,a,o=0){let i=Number(this.chain.getMetadataAssetId(s)),m=Number(this.chain.getMetadataAssetId(n)),c=a.amount,l=await this.getCtx(1),p=await l.getMostLiquidRoute(i,m),h=await l.getBuy(i,m,c,p);return(await(await this.txBuilder.trade(h).withBeneficiary(e).withSlippage(o).build()).get().getEncodedData()).asHex()}async getQuote(e,s,n,a){let o=Number(this.chain.getMetadataAssetId(e)),i=Number(this.chain.getMetadataAssetId(s)),m=n.amount,c=await this.getCtx(1);try{let l=await c.getMostLiquidRoute(o,i),p=await c.getBuy(o,i,m,l);return{amount:p.amountIn,route:j0.build(p.swaps)}}catch(l){if(a)return{amount:await this.getFallbackPrice(e,n.amount)};throw l}}async getFallbackPrice(e,s){let n=this.chain.getAssetId(e),a=await this.client.api().query.MultiTransactionPayment.AcceptedCurrencies.getValue(Number(e));if(!a)throw new Error(`No price found for asset ${e}`);let o=a*s,i=Math.pow(10,G0);return o/BigInt(i)}};import{encodeLocation as Bo}from"@galacticcouncil/common";var nn=class{chain;client;constructor(e){this.chain=e,this.client=new ce(this.chain)}async getCalldata(e,s,n,a){throw Error("Not supported for "+this.chain.key)}async getQuote(e,s,n){let a=this.chain.getAssetXcmLocation(e),o=this.chain.getAssetXcmLocation(s),i=await this.client.api().apis.AssetConversionApi.quote_price_tokens_for_exact_tokens(Bo(a),Bo(o),n.amount,!0);if(!i)throw new Error("Failed to get swap quote");return{amount:i}}};import{ConfigService as Q0}from"@galacticcouncil/xc-core";import{Asset as J0}from"@galacticcouncil/xc-core";function ks(t){let{id:e,origin:s,symbol:n}=t,a=n.toLowerCase();return new J0({key:[a,s,e].join("_"),originSymbol:n})}function Eo(t){let{decimals:e,id:s}=t;return{asset:ks(t),decimals:e,id:s,xcmLocation:{parents:0,interior:{type:"X2",value:[{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}function Fo(t){let{decimals:e,id:s,internalId:n,origin:a}=t;return{asset:ks(t),decimals:e,id:n,xcmLocation:{parents:1,interior:{type:"X3",value:[{type:"Parachain",value:a},{type:"PalletInstance",value:50},{type:"GeneralIndex",value:s}]}}}}var an=class extends Q0{registerExternal(e){let s=this.getChain("hydration"),n=this.getChain("assethub"),a=o=>!!s.findAssetById(o.internalId.toString());e.filter(o=>!a(o)&&o.origin===1e3).forEach(o=>{let i=ks(o),m=Eo(o),c=Fo(o);console.log("\u{1F480} Registering "+i.key),n.updateAsset(m),s.updateAsset(c),this.updateAsset(i),this.updateChainRoute(n,cs(i)),this.updateChainRoute(s,ds(i))})}};export{an as HydrationConfigService,_o as assetsMap,La as builders,Sr as chainsMap,ga as clients,Po as dex,H0 as routesMap,Ha as tags,O0 as validations};
|