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