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