@galacticcouncil/xc-cfg 0.7.2 → 0.8.0

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