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