@galacticcouncil/xc-cfg 0.8.0 → 0.9.0

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