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