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