@galacticcouncil/xc-cfg 0.1.0 → 0.2.0

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