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