@tcswap/toolboxes 4.3.15 → 4.3.16

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.
Files changed (55) hide show
  1. package/dist/cardano/index.cjs +4 -0
  2. package/dist/cardano/index.cjs.map +11 -0
  3. package/dist/cardano/index.js +4 -0
  4. package/dist/cardano/index.js.map +11 -0
  5. package/dist/cosmos/index.cjs +4 -0
  6. package/dist/cosmos/index.cjs.map +20 -0
  7. package/dist/cosmos/index.js +4 -0
  8. package/dist/cosmos/index.js.map +20 -0
  9. package/dist/evm/index.cjs +4 -0
  10. package/dist/evm/index.cjs.map +20 -0
  11. package/dist/evm/index.js +4 -0
  12. package/dist/evm/index.js.map +20 -0
  13. package/dist/index.cjs +5 -0
  14. package/dist/index.cjs.map +67 -0
  15. package/dist/index.js +5 -0
  16. package/dist/index.js.map +67 -0
  17. package/dist/near/index.cjs +4 -0
  18. package/dist/near/index.cjs.map +16 -0
  19. package/dist/near/index.js +4 -0
  20. package/dist/near/index.js.map +16 -0
  21. package/dist/radix/index.cjs +4 -0
  22. package/dist/radix/index.cjs.map +10 -0
  23. package/dist/radix/index.js +4 -0
  24. package/dist/radix/index.js.map +10 -0
  25. package/dist/ripple/index.cjs +4 -0
  26. package/dist/ripple/index.cjs.map +10 -0
  27. package/dist/ripple/index.js +4 -0
  28. package/dist/ripple/index.js.map +10 -0
  29. package/dist/solana/index.cjs +4 -0
  30. package/dist/solana/index.cjs.map +11 -0
  31. package/dist/solana/index.js +4 -0
  32. package/dist/solana/index.js.map +11 -0
  33. package/dist/substrate/index.cjs +4 -0
  34. package/dist/substrate/index.cjs.map +13 -0
  35. package/dist/substrate/index.js +4 -0
  36. package/dist/substrate/index.js.map +13 -0
  37. package/dist/sui/index.cjs +4 -0
  38. package/dist/sui/index.cjs.map +11 -0
  39. package/dist/sui/index.js +4 -0
  40. package/dist/sui/index.js.map +11 -0
  41. package/dist/ton/index.cjs +4 -0
  42. package/dist/ton/index.cjs.map +11 -0
  43. package/dist/ton/index.js +4 -0
  44. package/dist/ton/index.js.map +11 -0
  45. package/dist/tron/index.cjs +4 -0
  46. package/dist/tron/index.cjs.map +13 -0
  47. package/dist/tron/index.js +4 -0
  48. package/dist/tron/index.js.map +13 -0
  49. package/dist/types/solana/toolbox.d.ts.map +1 -1
  50. package/dist/utxo/index.cjs +5 -0
  51. package/dist/utxo/index.cjs.map +21 -0
  52. package/dist/utxo/index.js +5 -0
  53. package/dist/utxo/index.js.map +21 -0
  54. package/package.json +28 -28
  55. package/src/solana/toolbox.ts +14 -1
package/dist/index.cjs ADDED
@@ -0,0 +1,5 @@
1
+ var A2=Object.create;var{getPrototypeOf:F2,defineProperty:CT,getOwnPropertyNames:V5,getOwnPropertyDescriptor:V2}=Object,$5=Object.prototype.hasOwnProperty;function n5(T){return this[T]}var $2,n2,ty=(T,f,N)=>{var y=T!=null&&typeof T==="object";if(y){var x=f?$2??=new WeakMap:n2??=new WeakMap,G=x.get(T);if(G)return G}N=T!=null?A2(F2(T)):{};let L=f||!T||!T.__esModule?CT(N,"default",{value:T,enumerable:!0}):N;for(let X of V5(T))if(!$5.call(L,X))CT(L,X,{get:n5.bind(T,X),enumerable:!0});if(y)x.set(T,L);return L},By=(T)=>{var f=(F5??=new WeakMap).get(T),N;if(f)return f;if(f=CT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function"){for(var y of V5(T))if(!$5.call(f,y))CT(f,y,{get:n5.bind(T,y),enumerable:!(N=V2(T,y))||N.enumerable})}return F5.set(T,f),f},F5;var u2=(T)=>T;function b2(T,f){this[T]=u2.bind(null,f)}var Jy=(T,f)=>{for(var N in f)CT(T,N,{get:f[N],enumerable:!0,configurable:!0,set:b2.bind(f,N)})};var K=(T,f)=>()=>(T&&(f=T(T=0)),f);function b5(){function T(){let f=Date.now(),N=rf||f;return rf=N,f>rf?f:N+1}return j2+T().toString(36)}function TT(T){return async function(N,y=!0){let x=await u5.USwapApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=wT.getChainConfig(T),L=x.map(({identifier:_,value:Z,decimal:q})=>{return new wT.AssetValue({decimal:q||G,identifier:_,value:Z})});if(!L.some((_)=>_.isGasAsset))return[wT.AssetValue.from({chain:T}),...L];return L}}var wT,u5,j2,rf=0;var OT=K(()=>{wT=require("@tcswap/helpers"),u5=require("@tcswap/helpers/api"),j2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function kT(T){return{getBalance:TT(T)}}function h2(T){return T}var ff=K(()=>{OT()});async function my(T,f){let{JsonRpcProvider:N}=await import("ethers");return new N(f||await c.getRPCUrl(T))}function KT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:f,chainIdHex:N,rpcUrls:y}=c.getChainConfig(T);return function(){return T!==c.Chain.Ethereum?{...o2({chain:T}),blockExplorerUrls:[f],chainId:N,rpcUrls:y}:void 0}}function sf(T){return![c.Chain.Arbitrum,c.Chain.BinanceSmartChain].includes(T)}function o2({chain:T}){let{name:f,nativeCurrency:N,baseDecimal:y}=c.getChainConfig(T);return j5.match(T).with(c.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(c.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(c.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(c.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(c.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(c.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:c.Chain.Polygon}})).otherwise(()=>({chainName:f,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var c,j5;var fT=K(()=>{c=require("@tcswap/helpers"),j5=require("ts-pattern")});var h5;var o5=K(()=>{h5=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function GT({chain:T=W.Chain.Ethereum,provider:f,signer:N,isEIP1559Compatible:y=!0}){return{approve:i2({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),approvedAmount:c5({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),createApprovalTx:a2({chain:T,provider:f,signer:N}),createContract:T0({chain:T,provider:f}),createContractTxObject:cy({chain:T,provider:f}),createTransaction:ef({chain:T,provider:f,signer:N}),createTransferTx:ef({chain:T,provider:f,signer:N}),EIP1193SendTransaction:LT(f),estimateCall:i5({provider:f,signer:N}),estimateGasLimit:d2({chain:T,provider:f,signer:N}),estimateGasPrices:iy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:s2({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return N?N.getAddress():void 0},getBalance:kT(T).getBalance,getNetworkParams:af(T),isApproved:c2({chain:T,provider:f}),sendTransaction:g5({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),signMessage:N?(x)=>N.signMessage(x):void 0,transfer:g2({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),validateAddress:(x)=>y0({address:x})}}function y0({address:T}){try{return Yy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Yy.BrowserProvider}function DT(T,f,N){return new Yy.Contract(T,Yy.Interface.from(f),N)}function T0({provider:T}){return function(N,y){return new Yy.Contract(N,Yy.Interface.from(y),T)}}function f0({abi:T,funcName:f}){let N=T.find((y)=>y.name===f);if(!N)throw new W.USwapError("toolbox_evm_no_abi_fragment",{funcName:f});return N.stateMutability&&p2.includes(N.stateMutability)}function t5(T){return Yy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new W.USwapError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:KT(BigInt(N||0))}])}}function m5(T,f){let N=XT(T,f);if(N)return Yy.getAddress(N.toLowerCase());throw new W.USwapError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:f,ticker:N},y){try{let x=T===W.Chain.BinanceSmartChain&&f==="BNB"&&N==="BNB",G=T===y&&f===y&&N===y,L=m2.includes(T)&&f==="ETH"&&N==="ETH";if(G||x||L)return x0[y];return Yy.getAddress(f.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function cy({provider:T}){return async({contractAddress:f,abi:N,funcName:y,funcParams:x=[],txOverrides:G})=>DT(f,N,T).getFunction(y).populateTransaction(...x.concat(G).filter((L)=>typeof L<"u"))}function iy({chain:T,provider:f,isEIP1559Compatible:N=!0}){return p5.match(T).with(W.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:G}=await f.getFeeData();if(!x||G===null)throw new W.USwapError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Average),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(G,W.FeeOption.Average)},[W.FeeOption.Fast]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fast),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(G,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fastest),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(G,W.FeeOption.Fastest)}}}catch(x){throw new W.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(W.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new W.USwapError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{gasPrice:x},[W.FeeOption.Fast]:{gasPrice:x},[W.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new W.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:L}=await f.getFeeData();if(N){if(x===null||G===null)throw new W.USwapError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:G},[W.FeeOption.Fast]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fast),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(G,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fastest),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(G,W.FeeOption.Fastest)}}}if(!L)throw new W.USwapError("toolbox_evm_no_gas_price");return{[W.FeeOption.Average]:{gasPrice:L},[W.FeeOption.Fast]:{gasPrice:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{gasPrice:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fastest)}}}catch(x){throw new W.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function G0({provider:T,isEIP1559Compatible:f,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:z=W.FeeOption.Fast}){let J=G||T;if(!L)throw new W.USwapError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=f0({abi:X,funcName:_});if(Q&&NT(J)&&N){let M=cy({chain:y,provider:J}),I=q?.from||await N?.getAddress(),O=await M({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:I}});return LT(J)(O)}let B=DT(L,X,J);if(Q){if(!N)throw new W.USwapError("toolbox_evm_no_signer");let M=q?.from||await N.getAddress();if(!M)throw new W.USwapError("toolbox_evm_no_signer_address");let I=B.connect(N),O=iy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:V,maxPriorityFeePerGas:A,gasPrice:n}=(await O())[z],g=await B.getFunction(_).estimateGas(...Z,q),Ny=await I[_](...Z,{...q,gasLimit:g,gasPrice:n,maxFeePerGas:V,maxPriorityFeePerGas:A,nonce:q?.nonce||await J.getTransactionCount(M)});return typeof Ny?.hash==="string"?Ny?.hash:Ny}let H=await B[_]?.(...Z);return typeof H?.hash==="string"?H?.hash:H}}function c5({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:x,from:G}){return G0({chain:f,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,x]})}}function c2({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:x,from:G,amount:L=ET}){let X=await c5({chain:f,provider:T})({assetAddress:y,from:G,spenderAddress:x});return W.USwapNumber.fromBigInt(X).gte(W.USwapNumber.fromBigInt(BigInt(L)))}}function i2({signer:T,isEIP1559Compatible:f=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=W.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:q,nonce:z}){let J=[L,BigInt(_||ET)],Q=await T?.getAddress()||q,B={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:Q}};if(NT(N)){let M=cy({chain:y,provider:N}),I=LT(N),O=await M(B);return I(O)}return G0({chain:y,isEIP1559Compatible:f,provider:N,signer:T})({...B,feeOption:X,funcParams:J,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:z}})}}function g2({signer:T,isEIP1559Compatible:f=!0,provider:N}){return async function({assetValue:x,memo:G,recipient:L,feeOptionKey:X=W.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:z}=await import("ethers"),J=x.getBaseValue("bigint"),Q=x.chain,B=_||await T?.getAddress(),H=g5({chain:Q,isEIP1559Compatible:f,provider:N,signer:T});if(!B)throw new W.USwapError("toolbox_evm_no_from_address");if(x.isGasAsset){let n={...Z,data:q(z(G||"")),feeOptionKey:X,from:B,to:L,value:J};return H(n)}if(!XT(x,Q))throw new W.USwapError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:O,gasPrice:V}=(await iy({chain:Q,isEIP1559Compatible:f,provider:N})())[X],A=await ef({chain:Q,provider:N,signer:T})({assetValue:x,data:q(z(G||"")),gasPrice:V,maxFeePerGas:I,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:B});return H(A)}}function i5({provider:T,signer:f}){return function({contractAddress:y,abi:x,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new W.USwapError("toolbox_evm_no_contract_address");let _=DT(y,x,T);return f?_.connect(f).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function d2({provider:T,signer:f}){return async function({assetValue:y,recipient:x,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let z=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return i5({provider:T,signer:f})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:Q,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:L?L:G?Q(B(G)):void 0,from:X,to:x,value:z})}}function g5({provider:T,signer:f,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=W.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...z}=L;if(!f)throw new W.USwapError("toolbox_evm_no_signer");if(!_)throw new W.USwapError("toolbox_evm_no_to_address");let J={...z,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let Q=X||await f.getAddress(),B=L.nonce||await T.getTransactionCount(Q),H=(await T.getNetwork()).chainId,M=r2(J)||N,I=iy({chain:y,isEIP1559Compatible:N,provider:T}),O=M&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[G]).reduce((A,[n,g])=>({...A,[n]:KT(BigInt(g))}),{}):{},V;try{V=KT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(A){throw new W.USwapError("toolbox_evm_error_estimating_gas_limit",{error:A})}try{let A={...J,chainId:H,gasLimit:V,nonce:B,type:M?2:0,...O};try{return(await f.sendTransaction(A)).hash}catch{let n=await f.signTransaction({...A,from:Q});return(await T.broadcastTransaction(n)).hash}}catch(A){throw new W.USwapError("toolbox_evm_error_sending_transaction",{error:A})}}}function ef({provider:T,signer:f}){return async function({assetValue:y,memo:x,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...z}){let J=y.getBaseValue("bigint"),Q=y.chain,B=X||await f?.getAddress();if(!B)throw new W.USwapError("toolbox_evm_no_from_address");if(W.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:O}=await import("ethers");return{...z,data:L||I(O(x||"")),from:B,to:G,value:J}}let H=XT(y,Q);if(!H)throw new W.USwapError("toolbox_evm_no_contract_address");return cy({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:H,funcName:"transfer",funcParams:[G,J],txOverrides:{from:B,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function a2({provider:T,signer:f,chain:N}){return async function({assetAddress:x,spenderAddress:G,amount:L,from:X}){let _=await f?.getAddress()||X,Z=cy({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||ET;return await Z({abi:xT.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function s2({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=W.FeeOption.Fast,chain:x,...G}){let X=await iy({chain:x,isEIP1559Compatible:f,provider:T})(),_=await T.estimateGas(G),Z=W.AssetValue.from({chain:x}),{gasPrice:q,maxFeePerGas:z,maxPriorityFeePerGas:J}=X[y];if(!f&&q)return Z.set(W.USwapNumber.fromBigInt(q*_,Z.decimal));if(z&&J){let Q=(z+J)*_;return Z.set(W.USwapNumber.fromBigInt(Q,Z.decimal))}throw new W.USwapError("toolbox_evm_no_gas_price")}}var W,xT,Yy,p5,ET,p2,t2,x0,m2,r2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=K(()=>{ff();fT();W=require("@tcswap/helpers"),xT=require("@tcswap/helpers/contracts"),Yy=require("ethers"),p5=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");p2=["payable","nonpayable"];t2=W.EVMChains.reduce((T,f)=>{return T[f]="0x0000000000000000000000000000000000000000",T},{}),x0={...t2,[W.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[W.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},m2=[W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Base,W.Chain.Optimism]});async function Gf({provider:T,...f}){let N=await xy(r.Chain.Ethereum)({provider:T,...f});async function y(x,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=r.FeeOption.Fast){let _=await N.createContractTxObject({abi:h5,contractAddress:G,funcName:L,funcParams:[x]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function xy(T){return async function({provider:N,...y}){let{HDNodeWallet:x}=await import("ethers"),G=await r.getRPCUrl(T),L=N||await my(T,G),X=sf(T),_=ST.match(y).with({phrase:ST.P.string},({phrase:q})=>x.fromPhrase(q).connect(L)).with({signer:ST.P.any},({signer:q})=>q).otherwise(()=>{return});return GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_})}}var r,ST,Nf,Lf,Xf,_f,Zf,Jf,d5,qf,zf,Qf,Bf,Yf,Wf,PT,Hf,Mf,If,Rf;var N0=K(()=>{o5();fT();xf();r=require("@tcswap/helpers"),ST=require("ts-pattern");Nf=xy(r.Chain.Arbitrum),Lf=xy(r.Chain.Aurora),Xf=xy(r.Chain.Avalanche),_f=xy(r.Chain.Base),Zf=xy(r.Chain.Berachain),Jf=xy(r.Chain.BinanceSmartChain),d5=xy(r.Chain.Botanix),qf=xy(r.Chain.Core),zf=xy(r.Chain.Corn),Qf=xy(r.Chain.Cronos),Bf=xy(r.Chain.Gnosis),Yf=xy(r.Chain.Hyperevm),Wf=xy(r.Chain.Polygon),PT=xy(r.Chain.Sonic),Hf=xy(r.Chain.Unichain),Mf=xy(r.Chain.XLayer),If=xy(r.Chain.Monad),Rf=xy(r.Chain.MegaETH)});var r5;var a5=K(()=>{r5=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function L0(T){return new Cf.Contract(yx,r5,T)}function s5(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function e5(T){return async function({from:N,to:y,nonce:x,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new i.USwapError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:x?x:N?await T.getTransactionCount(N):0,to:y}).serialized}}function y1(T){return async function(N){let y=L0(T),x=await e5(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function T1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),x=await T.estimateGas(N);return y.mul(x)}}function Tx(T){return async function(N){let y=await y1(T)(N),x=await T1(T)(N);return y.add(x)}}function fx(T){return async function(N){let y=L0(T),x=await e5(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}async function xx(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),x=await s5(T)(),G=y;if(!(f&&N))throw new i.USwapError("toolbox_evm_no_fee_data");return{[i.FeeOption.Average]:{gasPrice:G,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:N},[i.FeeOption.Fast]:{gasPrice:i.applyFeeMultiplierToBigInt(G,i.FeeOption.Fast),l1GasPrice:i.applyFeeMultiplierToBigInt(x||0n,i.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:i.applyFeeMultiplierToBigInt(N,i.FeeOption.Fast)},[i.FeeOption.Fastest]:{gasPrice:i.applyFeeMultiplierToBigInt(G,i.FeeOption.Fastest),l1GasPrice:i.applyFeeMultiplierToBigInt(x||0n,i.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:i.applyFeeMultiplierToBigInt(N,i.FeeOption.Fastest)}}}catch(f){throw new i.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function wf({provider:T,...f}){let N=i.Chain.Optimism,y=await i.getRPCUrl(N),x=T||await my(N,y),G=UT.match(f).with({phrase:UT.P.string},({phrase:_})=>Cf.HDNodeWallet.fromPhrase(_).connect(x)).with({signer:UT.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:x,signer:G}),X=s5(x);return{...L,estimateGasPrices:xx(x),estimateL1Gas:fx(x),estimateL1GasCost:y1(x),estimateL2GasCost:T1(x),estimateTotalGasCost:Tx(x),getBalance:kT(i.Chain.Optimism).getBalance,getL1GasPrice:X}}var i,Cf,UT,yx="0x420000000000000000000000000000000000000f";var X0=K(()=>{ff();a5();fT();xf();i=require("@tcswap/helpers"),Cf=require("ethers"),UT=require("ts-pattern")});var G1={};Jy(G1,{toChecksumAddress:()=>t5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>x1,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>m5,evmValidateAddress:()=>y0,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>If,MEGAETHToolbox:()=>Rf,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>Bf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>zf,COREToolbox:()=>qf,BotanixToolbox:()=>d5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function x1(T,f){let N={...f,provider:f?.provider||await my(T)};return f1.match(T).returnType().with(s.Chain.Arbitrum,()=>Nf(N)).with(s.Chain.Aurora,()=>Lf(N)).with(s.Chain.Avalanche,()=>Xf(N)).with(s.Chain.Base,()=>_f(N)).with(s.Chain.Berachain,()=>Zf(N)).with(s.Chain.BinanceSmartChain,()=>Jf(N)).with(s.Chain.Botanix,()=>PT(N)).with(s.Chain.Core,()=>qf(N)).with(s.Chain.Corn,()=>zf(N)).with(s.Chain.Cronos,()=>Qf(N)).with(s.Chain.Ethereum,()=>Gf(N)).with(s.Chain.Gnosis,()=>Bf(N)).with(s.Chain.Hyperevm,()=>Yf(N)).with(s.Chain.Optimism,()=>wf(N)).with(s.Chain.Polygon,()=>Wf(N)).with(s.Chain.Sonic,()=>PT(N)).with(s.Chain.Unichain,()=>Hf(N)).with(s.Chain.XLayer,()=>Mf(N)).with(s.Chain.Monad,()=>If(N)).with(s.Chain.MegaETH,()=>Rf(N)).exhaustive()}var s,f1;var _0=K(()=>{fT();N0();X0();s=require("@tcswap/helpers"),f1=require("ts-pattern");xf();N0();X0()});var N1;var L1=K(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(N1||={})});var X1={};Jy(X1,{toHexString:()=>KT,toChecksumAddress:()=>t5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>my,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>x1,getEvmApi:()=>kT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>m5,evmValidateAddress:()=>y0,createCustomEvmApi:()=>h2,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>If,MEGAETHToolbox:()=>Rf,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>Bf,EthNetwork:()=>N1,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>zf,COREToolbox:()=>qf,BotanixToolbox:()=>d5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=By(X1);var _1=K(()=>{ff();fT();_0();L1()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function Nx(T){try{let{MeshWallet:f}=await import("@meshsdk/core"),N=await Z0(),y=new f({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),G=[];for(let L of x)if(L.unit===Gx){let{baseDecimal:X}=e.getChainConfig(e.Chain.Cardano);G.push(e.AssetValue.from({chain:e.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(e.AssetValue.from({asset:`${e.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[e.AssetValue.from({chain:e.Chain.Cardano})];return G}catch(f){let N=f instanceof Error?f.message:String(f);return console.error(`Cardano balance fetch error: ${N}`),[e.AssetValue.from({chain:e.Chain.Cardano})]}}async function Z1(){let{deserializeAddress:T}=await import("@meshsdk/core");return(f)=>{try{return T(f),!0}catch{return!1}}}async function Lx(T){let f=await Z1(),N=await vT.match(T).with({phrase:vT.P.string},async({phrase:q})=>{let{MeshWallet:z}=await import("@meshsdk/core"),J=await Z0(),Q=new z({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await Q.init(),Q}).with({signer:vT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function x(){return y||""}function G(q){let z=q||x();if(!z)throw new e.USwapError("core_wallet_connection_not_found");return Nx(z)}function L(){return Promise.resolve(e.AssetValue.from({chain:e.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:z,memo:J}){if(!N||!("getChangeAddress"in N))throw new e.USwapError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,B]=z.symbol.split("-");if(!z.isGasAsset&&!B)throw new e.USwapError("core_wallet_connection_not_found");let H=new Q({initiator:N});if(H.sendAssets({address:q},[{quantity:z.getBaseValue("string"),unit:z.isGasAsset?"lovelace":z.symbol}]),J)H.setMetadata(0,J);let M=await H.build();return{tx:H,unsignedTx:M}}function _(q){if(!N||!("getChangeAddress"in N))throw new e.USwapError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:z,memo:J}){if(!N||!("getChangeAddress"in N))throw new e.USwapError("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:z,memo:J,recipient:q}),B=await _(Q);return await(await Z0()).submitTx(B)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:G,signTransaction:_,transfer:Z,validateAddress:f}}var e,vT,Gx="lovelace";var J1=K(()=>{e=require("@tcswap/helpers"),vT=require("ts-pattern")});var J0={};Jy(J0,{getCardanoToolbox:()=>Lx,getCardanoAddressValidator:()=>Z1});module.exports=By(J0);var q0=K(()=>{J1()});function lT(T){return vy.base64.encode(Uint8Array.from(vy.bech32.fromWords(vy.bech32.decode(T).words)))}function AT(T,f="thor"){return vy.bech32.encode(f,vy.bech32.toWords(vy.base64.decode(T)))}function Xx(T){return Of.fromByteArray(T)}function _x(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new q1.USwapError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Of.toByteArray(T)}var vy,q1,Of;var z0=K(()=>{vy=require("@scure/base"),q1=require("@tcswap/helpers"),Of=require("base64-js")});function Sy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return B1;case E.Chain.Noble:return Y1;default:return Q1}}async function Py(T){let f=await import("@cosmjs/stargate"),N=f.StargateClient??f.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.uswap.dev",referrer:"https://sdk.uswap.dev"};return N.connect({headers:y,url:T})}async function ZT(T,f,N={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return x.connectWithSigner(T,f,{gasPrice:G.fromString(L),...X})}async function B0(T,f){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,f)}async function Y0({sender:T,recipient:f,assetValue:N,memo:y="",feeRate:x,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await E.getRPCUrl(X),z=await(await Py(Z)).getAccount(T);if(!z)throw new E.USwapError("toolbox_cosmos_account_not_found",{sender:T});let J=E.AssetValue.from({chain:X}),Q=Dy(J.symbol),B=Sy(X),H=Q&&x?{amount:[{amount:x.toString(),denom:Q}],gas:B.gas}:B,M={amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:L??z.accountNumber,chainId:_,fee:H,memo:y,msgs:[{typeUrl:Zx(X),value:M}],sequence:G??z.sequence}}var E,Q0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",z1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Q1,B1,Y1,Dy=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Q0;case"uYUM":case"YUM":return z1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:f})=>{if(f===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(f===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return Dy(T,!1)},Zx=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.USwapError("toolbox_cosmos_not_supported",{chain:T})}},Jx,W0=(T,f)=>{let N=Jx[T.toLowerCase()];if(!N)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:x,decimals:G}=N,L=y?{chain:y}:{asset:x};return E.AssetValue.from({...L,fromBaseDecimal:G,value:f})};var FT=K(()=>{E=require("@tcswap/helpers"),Q1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Y1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Jx={atom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},uatom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},ukuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},usdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},uusdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},[Q0.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var W1={};Jy(W1,{$root:()=>C});var Xy,l,Hy,k,C;var H1=K(()=>{Xy=ty(require("protobufjs/minimal.js")),l=Xy.default.Reader,Hy=Xy.default.Writer,k=Xy.default.util,C=Xy.default.roots.default||(Xy.default.roots.default={});C.common=(()=>{let T={};return T.Asset=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.Asset;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.chain=y.string();break;case 2:L.symbol=y.string();break;case 3:L.ticker=y.string();break;case 4:L.synth=y.bool();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!k.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!k.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Asset)return y;let x=new C.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=k.Long?k.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))C.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=C.common.Asset.decode(y,y.uint32());break;case 2:L.amount=y.string();break;case 3:L.decimals=y.int64();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=C.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!k.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!k.isInteger(y.decimals)&&!(y.decimals&&k.isInteger(y.decimals.low)&&k.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Coin)return y;let x=new C.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=C.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(k.Long)(x.decimals=k.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)if(G.asset=null,G.amount="",k.Long){let L=new k.Long(0,0,!1);G.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else G.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=C.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=x.longs===String?String(y.decimals):y.decimals;else G.decimals=x.longs===String?k.Long.prototype.toString.call(y.decimals):x.longs===Number?new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.PubKeySet;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.secp256k1=y.string();break;case 2:L.ed25519=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!k.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!k.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.PubKeySet)return y;let x=new C.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=k.emptyArray,f.prototype.gas=k.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)C.common.Coin.encode(y.gas[G],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.Tx;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.id=y.string();break;case 2:L.chain=y.string();break;case 3:L.fromAddress=y.string();break;case 4:L.toAddress=y.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(C.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!k.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!k.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!k.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=C.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let G=C.common.Coin.verify(y.gas[x]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Tx)return y;let x=new C.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[G]=C.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)x.memo=String(y.memo);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[],G.gas=[];if(x.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=C.common.Coin.toObject(y.coins[L],x)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=C.common.Coin.toObject(y.gas[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=k.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=C.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!k.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Fee)return y;let x=new C.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=C.common.Coin.toObject(y.coins[L],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.common.ProtoUint;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.value=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!k.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.ProtoUint)return y;let x=new C.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T})();C.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=k.emptyArray,f.prototype.memo="",f.prototype.signer=k.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:L.memo=y.string();break;case 3:L.signer=y.bytes();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=C.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||k.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof C.types.MsgDeposit)return y;let x=new C.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")k.base64.decode(y.signer,x.signer=k.newBuffer(k.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults){if(G.memo="",x.bytes===String)G.signer="";else if(G.signer=[],x.bytes!==Array)G.signer=k.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=C.common.Coin.toObject(y.coins[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=x.bytes===String?k.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(N){if(this.amount=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.fromAddress=k.newBuffer([]),f.prototype.toAddress=k.newBuffer([]),f.prototype.amount=k.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Hy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)C.cosmos.base.v1beta1.Coin.encode(y.amount[G],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof l))y=l.create(y);let G=x===void 0?y.len:y.pos+x,L=new C.types.MsgSend;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.fromAddress=y.bytes();break;case 2:L.toAddress=y.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(C.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof l))y=new l(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||k.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||k.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let G=C.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(G)return"amount."+G}}return null},f.fromObject=function(y){if(y instanceof C.types.MsgSend)return y;let x=new C.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")k.base64.decode(y.fromAddress,x.fromAddress=k.newBuffer(k.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")k.base64.decode(y.toAddress,x.toAddress=k.newBuffer(k.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[G]=C.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.amount=[];if(x.defaults){if(x.bytes===String)G.fromAddress="";else if(G.fromAddress=[],x.bytes!==Array)G.fromAddress=k.newBuffer(G.fromAddress);if(x.bytes===String)G.toAddress="";else if(G.toAddress=[],x.bytes!==Array)G.toAddress=k.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=x.bytes===String?k.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=x.bytes===String?k.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let L=0;L<y.amount.length;++L)G.amount[L]=C.cosmos.base.v1beta1.Coin.toObject(y.amount[L],x)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},f})(),T})();C.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Hy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof l))G=l.create(G);let X=L===void 0?G.len:G.pos+L,_=new C.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof l))G=new l(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.Coin)return G;let L=new C.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Hy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof l))G=l.create(G);let X=L===void 0?G.len:G.pos+L,_=new C.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof l))G=new l(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecCoin)return G;let L=new C.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Hy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof l))G=l.create(G);let X=L===void 0?G.len:G.pos+L,_=new C.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof l))G=new l(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!k.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.IntProto)return G;let L=new C.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Hy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof l))G=l.create(G);let X=L===void 0?G.len:G.pos+L,_=new C.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof l))G=new l(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!k.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecProto)return G;let L=new C.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,Xy.default.util.toJSONOptions)},y})(),N})(),f})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (H1(),W1)),f=await import("@cosmjs/proto-signing"),N=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...x,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function ly(T){let f=await import("@cosmjs/stargate"),N=f.AminoTypes??f.default?.AminoTypes,y=T===M1.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...G})=>({...G,signer:lT(x)}),toAmino:({signer:x,...G})=>({...G,signer:AT(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:G,...L})=>({...L,fromAddress:lT(x),toAddress:lT(G)}),toAmino:({fromAddress:x,toAddress:G,...L})=>({...L,from_address:AT(x),to_address:AT(G)})}})}var M1;var H0=K(()=>{z0();M1=require("@tcswap/helpers")});function R0(T){return function(N){let{assetValue:y,recipient:x,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(x)return R1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:x,sender:L});return C1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function Fy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let N=My.AssetValue.from({asset:f.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),x=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function VT({chain:T,memo:f,msgs:N}){let y=await gy(),x=await ly(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:N.map((L)=>x.fromAmino(L))}};return y.encode(G)}var My,qx,zx,M0=({sender:T,recipient:f,assetValue:N})=>{return{type:`${N.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol,!0)}],from_address:T,to_address:f}}},I0=({sender:T,assetValue:f,memo:N=""})=>{return{type:`${f.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_T(f)}],memo:N,signer:T}}},kf=({sender:T,recipient:f,assetValue:N,memo:y})=>{return!f?I0({assetValue:N,memo:y,sender:T}):M0({assetValue:N,recipient:f,sender:T})},Ay=async(T,f)=>{return(await ly(f)).fromAmino(T)},I1=async({rpcUrl:T,sender:f})=>{let y=await(await Py(T)).getAccount(f);if(!y)throw new My.USwapError("toolbox_cosmos_account_not_found",{sender:f});return y},R1=(T)=>async({sender:f,recipient:N,assetValue:y,memo:x="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await I1({rpcUrl:T,sender:f}),q=y.chain,{chainId:z}=My.getChainConfig(q),J=M0({assetValue:y,recipient:N,sender:f}),Q=G?await Ay(L?J:Fy(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:z,fee:Sy(q),memo:x,msgs:[Q],sequence:X||Z.sequence}},C1=(T)=>async({sender:f,assetValue:N,memo:y="",asSignable:x=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await I1({rpcUrl:T,sender:f}),Z=N.chain,{chainId:q}=My.getChainConfig(Z),z=I0({assetValue:N,memo:y,sender:f}),J=x?await Ay(G?z:Fy(z),Z):z;return{accountNumber:X||_.accountNumber,chainId:q,fee:Sy(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var w1=K(()=>{FT();H0();My=require("@tcswap/helpers"),qx=Sy(My.Chain.THORChain).gas,zx=Sy(My.Chain.Maya).gas});var O1=()=>{};var k1=K(()=>{O1()});var C0=K(()=>{z0();w1();H0();k1()});async function E0(T,f){try{let y=(await K0.USwapApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}async function k0({phrase:T,prefix:f,...N}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${D.DerivationPath[N.chain]}/${N.index}`;return x.fromMnemonic(T,{hdPaths:[L(X)],prefix:f})}async function Qx({privateKey:T,prefix:f}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,f)}function D1(T){return async function({signature:N,message:y,address:x}){let G=await T(x);if(!G?.pubkey)throw new D.USwapError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Vy.base64.decode(N));return _.verifySignature(Z,Vy.base64.decode(y),G.pubkey.value)}}async function nT({chain:T,...f}){let N=await D.getRPCUrl(T),y=D.CosmosChainPrefixes[T],x="index"in f?f.index||0:0,G=D.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:D.updateDerivationPath(D.NetworkDerivationPath[T],{index:x})),L=await $T.match(f).with({phrase:$T.P.string},({phrase:J})=>k0({derivationPath:G,phrase:J,prefix:y})).with({signer:$T.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await Py(N)).getAccount(J)}async function _(){let[J]=await L?.getAccounts()||[];return J?.address}async function Z(){let[J]=await L?.getAccounts()||[];if(!J?.pubkey)throw new D.USwapError("toolbox_cosmos_signer_not_defined");return Vy.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:Q,memo:B="",feeRate:H,feeOptionKey:M=D.FeeOption.Fast}){let I=await _();if(!(L&&I))throw new D.USwapError("toolbox_cosmos_signer_not_defined");let O=D.AssetValue.from({chain:T}),V=_T(O),A=H||K1((await O0(T,w0[T]))[M],V),n=await ZT(N,L),g=Dy(Q.symbol),Ny=Q.getBaseValue("string"),{TxRaw:zy}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),v={amount:[{amount:Ny,denom:g}],fromAddress:I,toAddress:J},F=await n.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:v}],A,B),Y=zy.encode(F).finish();return Buffer.from(Y).toString("hex")}async function z({recipient:J,assetValue:Q,memo:B="",feeRate:H,feeOptionKey:M=D.FeeOption.Fast,dryRun:I=!1}){if(I)return q({assetValue:Q,feeOptionKey:M,feeRate:H,memo:B,recipient:J});let O=await _();if(!(L&&O))throw new D.USwapError("toolbox_cosmos_signer_not_defined");let V=D.AssetValue.from({chain:T}),A=_T(V),n=H||K1((await O0(T,w0[T]))[M],A),g=await ZT(N,L),Ny=Dy(Q.symbol),zy=[{amount:Q.getBaseValue("string"),denom:Ny}],{transactionHash:v}=await g.sendTokens(O,J,zy,n,B);return v}return{createPrivateKeyFromPhrase:Hx(G),createTransaction:Y0,fetchFeeRateFromSwapKit:E0,getAccount:X,getAddress:_,getBalance:async(J,Q)=>{let B=await E1(N)(J),H=await Promise.all(B.filter(({denom:M})=>M&&!M.includes("IBC/")&&!([D.Chain.THORChain,D.Chain.Maya].includes(T)&&M.split("-").length>2)).map(({denom:M,amount:I})=>{let O=[D.Chain.THORChain,D.Chain.Maya].includes(T)&&(M.includes("/")||M.includes("˜"))?`${T}.${M}`:M;return W0(O,I)}));if(H.length===0)return[D.AssetValue.from({chain:T})];return H},getBalanceAsDenoms:E1(N),getFees:()=>O0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:Q})=>k0({derivationPath:D.derivationPathToString(Q),index:x,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:z,validateAddress:S1(T),verifySignature:D1(X)}}async function Bx(T,f){try{let y=(await K0.USwapApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}function Yx({assetValue:{chain:T}}){return D.AssetValue.from({chain:T,value:Wx(T)})}async function O0(T,f){let{chainId:N,baseDecimal:y}=D.getChainConfig(T),x=await E0(N,f);return{average:D.USwapNumber.fromBigInt(BigInt(x),y),fast:D.USwapNumber.fromBigInt(BigInt(D.applyFeeMultiplier(x,D.FeeOption.Fast,!0)),y),fastest:D.USwapNumber.fromBigInt(BigInt(D.applyFeeMultiplier(x,D.FeeOption.Fastest,!0)),y)}}function K1(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function Wx(T){return{[D.Chain.Cosmos]:0.007,[D.Chain.Kujira]:0.02,[D.Chain.Noble]:0.01,[D.Chain.THORChain]:0.02,[D.Chain.Maya]:0.02,[D.Chain.Harbor]:0.02}[T]||0}function S1(T){let f=D.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(f))return!1;try{let{prefix:x,words:G}=Vy.bech32.decode(y);return Vy.bech32.encode(x,G)===y.toLocaleLowerCase()}catch{return!1}}}function E1(T){return async function(N){return(await(await Py(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function Hx(T){return async function(N){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,L=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(N),q=await _.mnemonicToSeed(Z),{privkey:z}=L.derivePath(G.Secp256k1,q,x(T));return z}}var Vy,D,K0,$T,w0;var Kf=K(()=>{FT();Vy=require("@scure/base"),D=require("@tcswap/helpers"),K0=require("@tcswap/helpers/api"),$T=require("ts-pattern");w0={[D.Chain.Cosmos]:1000,[D.Chain.Kujira]:1000,[D.Chain.Noble]:1000,[D.Chain.THORChain]:5000000,[D.Chain.Maya]:5000000,[D.Chain.Harbor]:5000000}});function Mx({prefix:T,derivationPath:f}){return async function(y,x=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(y,{hdPaths:[_(`${f}/${x}`)],prefix:T})}}function Ix(T){return $y.base64.encode(T)}function Rx(T){return async function({wallet:N,tx:y}){let{msgs:x,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",z=await ly(T),J=await gy(),Q=await B0(N,{aminoTypes:z,registry:J}),B=[];for(let I of x){let O=await Ay(I,T);B.push(O)}let{signatures:[H]}=await Q.sign(q,B,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await VT({chain:T,memo:Z,msgs:x.map(Fy)}),signature:Ix(H)}}}function Cx({prefix:T,rpcUrl:f}){return async function(y,x,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:z,fee:J}=JSON.parse(y),Q=await P1(G,L),B=x.map((I)=>[Z(_($y.base64.decode(I.pubKey)),T),$y.base64.decode(I.signature)]),H=await Py(f),{transactionHash:M}=await H.broadcastTx(q(Q,z,J,X,new Map(B)));return M}}async function P1(T,f,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>x($y.base64.decode(G))),f,N)}function wx(T){return $y.base64.decode(T)}async function Ox({privateKey:T,message:f}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature($y.base64.decode(f),T);return $y.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...f}){let N=await m.getRPCUrl(T),{nodeUrl:y}=m.getChainConfig(T),{isStagenet:x}=m.USwapConfig.get("envs"),G=T===m.Chain.THORChain,L=`${x?"s":""}${m.CosmosChainPrefixes[T]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:X}),Z=await nT({chain:T,...f}),q=await uT.match(f).with({phrase:uT.P.string},({phrase:B})=>Z.getSignerFromPhrase({derivationPath:_,phrase:B})).with({signer:uT.P.any},({signer:B})=>B).otherwise(()=>{return}),z=Sy(T);async function J(){let B,H=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await m.RequestClient.get(H);if(!M||Number.isNaN(M)||M<0)throw new m.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});B=new m.USwapNumber(M)}catch{B=new m.USwapNumber({decimal:m.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[m.FeeOption.Average]:B,[m.FeeOption.Fast]:B,[m.FeeOption.Fastest]:B}}async function Q({assetValue:B,memo:H="",recipient:M}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await q?.getAccounts())?.[0]?.address;if(!(O&&q))throw new m.USwapError("toolbox_cosmos_no_signer");let V="signAmino"in q,A=await gy(),n=await ly(T),g=await ZT(N,q,{aminoTypes:n,registry:A}),Ny=kf({assetValue:B,memo:H,recipient:M,sender:O});if(V){let Y=await Ay(Ny,T),{signatures:R,authInfoBytes:w}=await g.sign(O,[Y],z,H),$=I.encode({authInfoBytes:w,bodyBytes:await VT({chain:T,memo:H,msgs:[Ny].map(Fy)}),signatures:R}).finish();return(await g.broadcastTx($)).transactionHash}let zy=Fy(Ny),v=await Ay(zy,T);return(await g.signAndBroadcast(O,[v],z,H)).transactionHash}return{...Z,broadcastMultisigTx:Cx({prefix:L,rpcUrl:N}),buildAminoMsg:kf,buildEncodedTxBody:VT,convertToSignable:Ay,createDefaultAminoTypes:()=>ly(T),createDefaultRegistry:gy,createMultisig:P1,createTransaction:R0(N),deposit:Q,getFees:J,importSignature:wx,parseAminoMessageForDirectSigning:Fy,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:H}=(await import("@cosmjs/amino")).default;return H(B,L)},secp256k1HdWalletFromMnemonic:Mx({derivationPath:m.derivationPathToString(_),prefix:L}),signMultisigTx:Rx(T),signWithPrivateKey:Ox,transfer:Q}}var $y,m,uT;var S0=K(()=>{C0();FT();Kf();$y=require("@scure/base"),m=require("@tcswap/helpers"),uT=require("ts-pattern")});var ny,kx=(T,f)=>{switch(T){case ny.Chain.Cosmos:case ny.Chain.Kujira:case ny.Chain.Noble:return nT({chain:T,...f});case ny.Chain.Maya:case ny.Chain.THORChain:return D0({chain:T,...f});default:throw new ny.USwapError("toolbox_cosmos_not_supported",{chain:T})}};var U1=K(()=>{Kf();S0();ny=require("@tcswap/helpers");Kf();S0()});var Ef={};Jy(Ef,{verifySignature:()=>D1,transferMsgAmino:()=>M0,toBase64:()=>Xx,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>Qx,getSignerFromPhrase:()=>k0,getMsgSendDenom:()=>Dy,getFeeRateFromSwapKit:()=>Bx,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Sy,getCreateTransaction:()=>R0,getCosmosValidateAddress:()=>S1,getCosmosToolbox:()=>kx,getAssetFromDenom:()=>W0,fromBase64:()=>_x,fetchFeeRateFromSwapKit:()=>E0,estimateTransactionFee:()=>Yx,depositMsgAmino:()=>I0,createThorchainToolbox:()=>D0,createStargateClient:()=>Py,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>B0,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>ly,createCosmosToolbox:()=>nT,cosmosCreateTransaction:()=>Y0,convertToSignable:()=>Ay,buildTransferTx:()=>R1,buildEncodedTxBody:()=>VT,buildDepositTx:()=>C1,buildAminoMsg:()=>kf,bech32ToBase64:()=>lT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>z1,USK_KUJIRA_FACTORY_DENOM:()=>Q0,THORCHAIN_GAS_VALUE:()=>qx,MAYA_GAS_VALUE:()=>zx,DEFAULT_NOBLE_FEE_MAINNET:()=>Y1,DEFAULT_KUJI_FEE_MAINNET:()=>B1,DEFAULT_COSMOS_FEE_MAINNET:()=>Q1});module.exports=By(Ef);var Df=K(()=>{C0();U1();FT()});async function l1(T){let f=b.AssetValue.from({address:T,chain:b.Chain.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:T,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(N);if(!y.ok)return null;let x=await y.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===T)||null}catch{return null}}async function Kx(T){let f=await dy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new N(T),{baseDecimal:G}=b.getChainConfig(b.Chain.Solana),L=await f.getBalance(x),X=[b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:G,value:L||0})],_=await f.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:Z}of _.value){let q=Z.data.parsed.info,z=q.mint,J=q.tokenAmount.amount;if(Number(J)===0)continue;let Q=await l1(z),B=Q?.symbol||"UNKNOWN",H=Q?.decimals||q.tokenAmount.decimals;X.push(b.AssetValue.from({asset:`${b.Chain.Solana}.${B}-${z}`,fromBaseDecimal:H,value:J}))}return X}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let N=new T(f);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function Ex(T){let f=T&&"index"in T?T.index||0:0,N=b.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Solana],{index:f})),y=await bT.match(T).with({phrase:bT.P.string},({phrase:L})=>U0({derivationPath:N,phrase:L})).with({signer:bT.P.any},({signer:L})=>L).otherwise(()=>{return});function x(){return y?.publicKey?v1(y.publicKey):""}function G(L){let X=L||x();if(!X)throw new b.USwapError("core_wallet_connection_not_found");return Kx(X)}return{broadcastTransaction:P0(dy),createKeysForPath:U0,createTransaction:l0(dy),createTransactionFromInstructions:Ux,estimateTransactionFee:Dx(dy),getAddress:x,getAddressFromPubKey:v1,getAddressValidator:v0,getBalance:G,getConnection:dy,getPubkeyFromAddress:A0,signTransaction:lx(dy,y),transfer:vx(dy,y)}}function Dx(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let L=await T(),_=(await l0(T)({assetValue:N,isProgramDerivedAddress:x,memo:y,recipient:f,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new b.USwapError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=b.getChainConfig(b.Chain.Solana);return b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),f=await b.getRPCUrl(b.Chain.Solana);return new T(f,"confirmed")}function Sx(T){return async({assetValue:f,recipient:N,sender:y,isProgramDerivedAddress:x})=>{let G=await T(),L=await A0(y);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(N)}))}if(f.address)return Px({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:N,tokenAddress:f.address});return}}async function Px({tokenAddress:T,recipient:f,from:N,connection:y,amount:x,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:z,PublicKey:J}=await import("@solana/web3.js"),Q=new z,B=new J(T),H=await X(B,N),M=new J(f),I=await X(B,M,L),O=!1;try{await _(y,I),O=!0}catch{}if(!O)Q.add(Z(N,I,M,B));return Q.add(q(H,B,I,N,x,G)),Q}function l0(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await A0(G),_=await v0();if(!(x||_(f)))throw new b.USwapError("core_transaction_invalid_recipient_address");let Z=await T(),q=await Sx(T)({assetValue:N,isProgramDerivedAddress:x,recipient:f,sender:G});if(!q)throw new b.USwapError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let z=await Z.getLatestBlockhash();return q.recentBlockhash=z.blockhash,q.feePayer=X,q}}async function Ux({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),N=new f().add(...T);if(!N)throw new b.USwapError("core_transaction_invalid_sender_address");return N}function vx(T,f){return async({recipient:N,assetValue:y,memo:x,isProgramDerivedAddress:G})=>{if(!f)throw new b.USwapError("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await l0(T)({assetValue:y,isProgramDerivedAddress:G,memo:x,recipient:N,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return P0(T)(_)}return X.sign(f),P0(T)(X)}}function P0(T){return async(f)=>{let N=await T();try{return await N.sendRawTransaction(f.serialize())}catch(y){let{SendTransactionError:x}=await import("@solana/web3.js");if(y instanceof x){let G=await y.getLogs(N),L=G?.some((X)=>X.includes("insufficient lamports"));throw new b.USwapError(L?"core_transaction_deposit_insufficient_funds_error":"toolbox_solana_broadcast_failed",{logs:G,message:y.message})}throw y}}}function lx(T,f){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new b.USwapError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(N);return await N.sign([f]),N}}async function U0({phrase:T,derivationPath:f=b.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return x.fromSeed(L.derive(f,!0).privateKey)}function v1(T){return T.toString()}async function A0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var b,bT;var A1=K(()=>{b=require("@tcswap/helpers"),bT=require("ts-pattern")});var F0={};Jy(F0,{getSolanaToolbox:()=>Ex,getSolanaAddressValidator:()=>v0,fetchTokenMetaData:()=>l1,createKeysForPath:()=>U0});module.exports=By(F0);var V0=K(()=>{A1()});async function F1(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function Ax({provider:T,...f}={}){let N=await F1(),y=await jT.match(f).with({phrase:jT.P.string},async({phrase:z})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(z)}).with({signer:jT.P.any},({signer:z})=>z).otherwise(()=>{return});async function x(z=T){let{SuiClient:J,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new J({url:z||Q("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(z){let J=z||G();if(!J)throw new Ty.USwapError("toolbox_sui_address_required");let{baseDecimal:Q,chain:B}=Ty.getChainConfig(Ty.Chain.Sui);try{let H=await x(),{totalBalance:M}=await H.getBalance({owner:J}),I=[Ty.AssetValue.from({chain:B,fromBaseDecimal:Q,value:M})],O=await H.getAllBalances({owner:J});for(let{coinType:V,totalBalance:A}of O){if(V==="0x2::sui::SUI")continue;if(Number(A)>0){let n=V.split("::").pop()?.toUpperCase()||"UNKNOWN",g=`${B}.${n}-${V}`;I.push(Ty.AssetValue.from({asset:g,fromBaseDecimal:Q,value:A}))}}return I}catch{return[Ty.AssetValue.from({chain:B})]}}async function X(z){let J=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!z)return J;try{let Q=await x(),{txBytes:B}=await _(z),{effects:{status:H,gasUsed:M}}=await Q.dryRunTransactionBlock({transactionBlock:B});if(H.status!=="success")return J;let I=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:z,assetValue:J,gasBudget:Q,sender:B}){let{Transaction:H}=await import("@mysten/sui/transactions"),M=B||G();if(!M)throw new Ty.USwapError("toolbox_sui_no_sender");try{let I=new H;if(I.setSender(M),J.isGasAsset||J.symbol==="SUI"){let[A]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([A],z)}else throw new Ty.USwapError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)I.setGasBudget(Q);let O=await x(),V=await I.build({client:O});return{tx:I,txBytes:V}}catch(I){throw new Ty.USwapError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(z){if(!y)throw new Ty.USwapError("toolbox_sui_no_signer");if(z instanceof Uint8Array)return y.signTransaction(z);let{txBytes:J}="tx"in z?z:await _(z);return y.signTransaction(J)}async function q({assetValue:z,gasBudget:J,recipient:Q}){if(!y)throw new Ty.USwapError("toolbox_sui_no_signer");let B=y.toSuiAddress()||G();if(!B)throw new Ty.USwapError("toolbox_sui_no_sender");let{txBytes:H}=await _({assetValue:z,gasBudget:J,recipient:Q,sender:B}),M=await x(),{digest:I}=await M.signAndExecuteTransaction({signer:y,transaction:H});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var Ty,jT;var V1=K(()=>{Ty=require("@tcswap/helpers"),jT=require("ts-pattern")});var Sf={};Jy(Sf,{getSuiToolbox:()=>Ax,getSuiAddressValidator:()=>F1});module.exports=By(Sf);var Pf=K(()=>{V1()});async function Fx(T={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),G=await $1(),L,X,_=await hT.match(T).with({phrase:hT.P.string},async({phrase:I})=>f(I.split(" "))).with({signer:hT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=yy.getChainConfig(yy.Chain.Ton),[O]=I;if(!L||L.parameters.endpoint!==O)L=new y({endpoint:O});return L}function q(I){if(!X||I){let O=Z(),V=I||_;if(!V)throw new yy.USwapError("core_wallet_connection_not_found");let A=x.create({publicKey:V.publicKey,workchain:0});X=O.open(A)}return X}async function z(I){let O=Z(),{baseDecimal:V}=yy.getChainConfig(yy.Chain.Ton);try{let A=await O.getBalance(N.parse(I));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.USwapNumber.fromBigInt(A,V)})]}catch{return[yy.AssetValue.from({chain:yy.Chain.Ton})]}}async function J({assetValue:I,recipient:O,memo:V}){let A=q();if(!A||!_)throw new yy.USwapError("core_wallet_connection_not_found");let{toNano:n,comment:g,internal:Ny}=await import("@ton/ton"),zy=await A.getSeqno(),v=n(I.getValue("string")),F=V?g(V):void 0;return A.createTransfer({messages:[Ny({body:F,to:O,value:v})],secretKey:_.secretKey,seqno:zy})}async function Q({assetValue:I,recipient:O,memo:V}){let A=q();if(!A||!_)throw new yy.USwapError("core_wallet_connection_not_found");let n=await J({assetValue:I,memo:V,recipient:O});return await A.send(n),n.hash().toString()}async function B(I){let O=q();if(!O)throw new yy.USwapError("core_wallet_connection_not_found");try{return await O.send(I),I.hash().toString("hex")}catch(V){throw new yy.USwapError("core_wallet_connection_not_found",{error:V})}}function H(){return q().address.toString()}function M(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:M,getAddress:H,getBalance:z,sendTransaction:B,transfer:Q,validateAddress:G}}async function $1(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var yy,hT;var n1=K(()=>{yy=require("@tcswap/helpers"),hT=require("ts-pattern")});var Uf={};Jy(Uf,{getTONToolbox:()=>Fx,getTONAddressValidator:()=>$1});module.exports=By(Uf);var vf=K(()=>{n1()});var JT;var $0=K(()=>{JT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function b1(T){let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${Vx}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(y){throw new u1.USwapError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var u1,Vx="https://api.trongrid.io";var j1=K(()=>{u1=require("@tcswap/helpers")});async function n0(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(N)=>{return f.isAddress(N)}}async function o1({phrase:T,derivationPath:f,index:N}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:N||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=x.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new P.USwapError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function jx({phrase:T,derivationPath:f,tronWeb:N}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),G=x(T),X=y.fromMasterSeed(G).derive(f);if(!X.privateKey)throw new P.USwapError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(q)=>{return await N.trx.sign(q,_)}}}var P,oT,$x=268,nx=13000,ux=345,h1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",bx="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",p1=async(T={})=>{let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),x=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L})),_=await oT.match(T).with({phrase:oT.P.string},async({phrase:v})=>jx({derivationPath:X,phrase:v,tronWeb:G})).with({signer:oT.P.any},({signer:v})=>Promise.resolve(v)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},z=async()=>{try{let v=await G.trx.getChainParameters(),F={};for(let Y of v)F[Y.key]=Y.value;return{bandwidthFee:F.getTransactionFee||1000,createAccountFee:F.getCreateAccountFee||1e5,energyFee:F.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(v)=>{try{let F=await G.trx.getAccount(v);return F&&Object.keys(F).length>0}catch{return!1}},Q=async(v)=>{try{let F=await G.trx.getAccountResources(v);return{bandwidth:{free:F.freeNetLimit-F.freeNetUsed,total:F.NetLimit||0,used:F.NetUsed||0},energy:{total:F.EnergyLimit||0,used:F.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(v,F)=>{try{let Y=G.contract(JT,F);if(!Y.methods?.balanceOf)return 0n;let[R]=await Y.methods.balanceOf(v).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(Y){let R=Y instanceof Error?Y.message:String(Y);return console.warn(`balanceOf() failed for ${F}: ${R}`),0n}},H=async(v,F)=>{try{G.setAddress(F);let Y=G.contract(JT,v),[R,w]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(w??18),symbol:R??"UNKNOWN"}}catch(Y){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${v}: ${Y instanceof Error?Y.message:Y}`}),null}},M=async(v,F=!0)=>{let Y=[P.AssetValue.from({chain:P.Chain.Tron})];try{let R=await b1(v);if(R){let w=[];w.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let $ of R.trc20){let[o,h]=Object.entries($)[0]||[];if(!(o&&h))continue;let j=await H(o,v);if(!j)continue;w.push(P.AssetValue.from({asset:`TRON.${j.symbol}-${o}`,fromBaseDecimal:j.decimals,value:BigInt(h||0)}))}return w}return Y}catch(R){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let w=[],$=await G.trx.getBalance(v);if($&&Number($)>0)w.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:$}));let o=await B(v,h1);if(o)w.push(P.AssetValue.from({asset:`TRON.USDT-${h1}`,fromBaseDecimal:6,value:o}));if(w.length===0)return Y;return w}catch(w){let $=w instanceof Error?w.message:String(w);return console.error(`Tron balance fetch failed: ${$}`),Y}}},I=async({recipient:v,assetValue:F,memo:Y,expiration:R})=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");let w=await Z();G.setAddress(w);let $=await V({assetValue:F,expiration:R,memo:Y,recipient:v,sender:w}),o=await _.signTransaction($),{txid:h}=await G.trx.sendRawTransaction(o);if(!h)throw new P.USwapError("toolbox_tron_token_transfer_failed");return h},O=async({assetValue:v,recipient:F,sender:Y})=>{let R=v.isGasAsset;try{let w=Y?Y:_?await Z():void 0;if(!w)return R?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let $=await z(),h=await J(F)?0:$.createAccountFee,j=await Q(w);if(R){let py=$x,eT=j.bandwidth.free+(j.bandwidth.total-j.bandwidth.used),yf=0;if(py>eT)yf=(py-eT)*$.bandwidthFee;let Tf=h+yf;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:Tf})}let d=ux,Ly=nx,qy=j.bandwidth.free+(j.bandwidth.total-j.bandwidth.used),Qy=j.energy.total-j.energy.used,oy=0;if(d>qy)oy=(d-qy)*$.bandwidthFee;let sT=0;if(Ly>Qy)sT=(Ly-Qy)*$.energyFee;let df=h+oy+sT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:df})}catch(w){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${w instanceof Error?w.message:w}`}),new P.USwapError("toolbox_tron_fee_estimation_failed",{error:w})}},V=async(v)=>{let{recipient:F,assetValue:Y,memo:R,sender:w,expiration:$}=v,o=Y.isGasAsset,h=async({transaction:d,memo:Ly,expiration:qy})=>{let Qy=Ly?await G.transactionBuilder.addUpdateData(d,Ly,"utf8"):d;return qy?await G.transactionBuilder.extendExpiration(Qy,qy):Qy};if(o){let d=await G.transactionBuilder.sendTrx(F,Y.getBaseValue("number"),w);return h({expiration:$,memo:R,transaction:d})}G.setAddress(w);let j=Y.address;if(!j)throw new P.USwapError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let Ly=[{type:"address",value:F},{type:"uint256",value:Y.getBaseValue("string")}],qy={callValue:0,feeLimit:q()},{transaction:Qy}=await G.transactionBuilder.triggerSmartContract(j,"transfer(address,uint256)",qy,Ly,w);return h({expiration:$,memo:R,transaction:Qy})}catch(d){throw new P.USwapError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:d instanceof Error?d.message:String(d)})}},A=async(v)=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");return await _.signTransaction(v)},n=async(v)=>{let{txid:F}=await G.trx.sendRawTransaction(v);return F},g=async({assetAddress:v,spenderAddress:F,from:Y})=>{try{let R=G.contract(JT,v);if(!R.methods?.allowance)throw new P.USwapError("toolbox_tron_invalid_token_contract");let[w]=await R.methods.allowance(Y,F).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(R){throw new P.USwapError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:v,spenderAddress:F,amount:Y,from:R})=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");let w=R||await Z(),$=Y!==void 0?BigInt(Y).toString():bx,o="approve(address,uint256)",h=[{type:"address",value:F},{type:"uint256",value:$}],d={callValue:0,feeLimit:q()};try{let{transaction:Ly}=await G.transactionBuilder.triggerSmartContract(v,o,d,h,w),qy=await _.signTransaction(Ly),{txid:Qy}=await G.trx.sendRawTransaction(qy);if(!Qy)throw new P.USwapError("toolbox_tron_approve_failed");return Qy}catch(Ly){throw new P.USwapError("toolbox_tron_approve_failed",{error:Ly})}},broadcastTransaction:n,createTransaction:V,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:g,getBalance:M,isApproved:async({assetAddress:v,spenderAddress:F,from:Y,amount:R})=>{let w=await g({assetAddress:v,from:Y,spenderAddress:F});if(!R)return w>0n;let $=BigInt(R);return w>=$},signTransaction:A,transfer:I,tronWeb:G,validateAddress:await n0()}};var t1=K(()=>{$0();j1();P=require("@tcswap/helpers"),oT=require("ts-pattern")});var u0={};Jy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>o1,getTronAddressValidator:()=>n0,createTronToolbox:()=>p1});module.exports=By(u0);var b0=K(()=>{$0();t1()});async function hx({chain:T,txHash:f}){let N=`${lf(T)}/push/transaction`,y=JSON.stringify({data:f});try{let x=await u.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new u.USwapError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let G=await u.getRPCUrl(T);if(G){let L=JSON.stringify({id:b5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await u.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new u.USwapError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new u.USwapError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function lf(T){return`https://api.blockchair.com/${ox(T)}`}function m1(T){switch(T){case u.Chain.Bitcoin:return 5;case u.Chain.Dogecoin:return 1e4;case u.Chain.Litecoin:return 1;case u.Chain.Zcash:return 1;default:return 2}}function ox(T){switch(T){case u.Chain.BitcoinCash:return"bitcoin-cash";case u.Chain.Litecoin:return"litecoin";case u.Chain.Dash:return"dash";case u.Chain.Dogecoin:return"dogecoin";case u.Chain.Zcash:return"zcash";case u.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function px(T){try{let{feePerKb:f}=await u.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=f/1000;return Math.max(N,m1(T))}catch{return m1(T)}}async function j0(T,f){let N=await u.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!N||N.context.code!==200)throw new u.USwapError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function d1({address:T,chain:f,apiKey:N}){if(!T)throw new u.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${lf(f)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function tx({address:T,chain:f,apiKey:N}){return(await d1({address:T,apiKey:N,chain:f}))?.address.balance||0}async function r1({chain:T,apiKey:f,txHash:N}){if(!N)throw new u.USwapError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${lf(T)}/raw/transaction/${N}`,f))?.[N]?.raw_transaction||""}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${x}`),""}}async function mx({chain:T,address:f,apiKey:N,offset:y=0,limit:x=30}){return(await j0(`${lf(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,N)).map(({is_spent:_,script_hex:Z,block_id:q,transaction_hash:z,index:J,value:Q,spending_signature_hex:B})=>({hash:z,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:B,value:Q}))}function cx(T){return T.reduce((f,N)=>f+N.value,0)}function c1(T,f){let N=[...T].sort((y,x)=>x.value-y.value);if(f){let y=[],x=0;for(let G of N)if(y.push(G),x+=G.value,x>=f)break;return y}return N}async function a1({chain:T,address:f,apiKey:N,targetValue:y,accumulativeValue:x=0,offset:G=0,limit:L=30}){if(!f)throw new u.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await mx({address:f,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:M})=>!M),z=cx(q),J=x+z,Q=y&&J>=y;if(Z||Q)return c1(q,y);let B=await a1({accumulativeValue:J,address:f,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),H=[...q,...B];return c1(H,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function ix({address:T,chain:f,apiKey:N,fetchTxHex:y=!0,targetValue:x}){let G=await a1({address:T,apiKey:N,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let z;if(y)z=await r1({apiKey:N,chain:f,txHash:X});L.push({address:T,hash:X,index:_,txHex:z,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Wy(T){let f=u.USwapConfig.get("apiKeys").blockchair||"";return u.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>hx({chain:T,txHash:N}),getAddressData:(N)=>d1({address:N,apiKey:f,chain:T}),getBalance:(N)=>tx({address:N,apiKey:f,chain:T}),getRawTx:(N)=>r1({apiKey:f,chain:T,txHash:N}),getSuggestedTxFee:()=>px(T),getUtxos:(N)=>ix({...N,apiKey:f,chain:T})}}function gx(T){return T}function wy(){return function(f){switch(f){case u.Chain.Bitcoin:return g1.networks.bitcoin;case u.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case u.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case u.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case u.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case u.Chain.Zcash:return i1.networks.zcash;default:throw new u.USwapError("toolbox_utxo_not_supported",{chain:f})}}}var i1,u,g1,qT;var s1=K(()=>{OT();i1=require("@bitgo/utxo-lib"),u=require("@tcswap/helpers"),g1=require("bitcoinjs-lib"),qT=ty(require("coininfo"))});function m0(T){try{return Af(T),!0}catch{return!1}}function c0(T){return Af(T)?.network}function zT(T){let f=Af(T);if(f?.format==="legacy")return T;return ax(f)}function pT(T){let f=Af(T);return sx(f)}function Af(T){try{let f=dx(T);if(f)return f}catch{}try{let f=rx(T);if(f)return f}catch{}throw new h0.USwapError("toolbox_utxo_invalid_address",{address:T})}function dx(T){try{let f=o0.default.decode(T);if(f.length!==21)throw new h0.USwapError("toolbox_utxo_invalid_address",{address:T});let N=f[0],y=Array.prototype.slice.call(f,1);switch(N){case ry.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case ry.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case ry.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case ry.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case ry.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case ry.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function rx(T){if(T.indexOf(":")!==-1)try{return e1(T)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let N of f)try{return e1(`${N}:${T}`)}catch{}}return}function e1(T){try{let{hash:f,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function ax(T){let f=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=f,N.set(T.hash,1),o0.default.encode(N)}function sx(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(f,N,y)}var h0,o0,p0,t0,ry;var y2=K(()=>{h0=require("@tcswap/helpers"),o0=ty(require("bs58check")),p0=ty(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(t0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Oy(T){let f=Buffer.from(T,"utf8");return $f.script.compile([$f.opcodes.OP_RETURN,f])}var T2,$f,ex=1000,nf=10,f2=10,yG=41,TG=107,uf,Ff,Vf,tT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new T2.USwapError("toolbox_utxo_invalid_address",{address:T})},QT=({inputs:T,outputs:f,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",x=T.filter((L)=>L.value>=Ff["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+uy(X),0),G=f?.reduce((L,X)=>L+mT(X),0)||Vf[y];return nf+x+G},uy=(T)=>{if("type"in T)return Ff[T.type];if("address"in T&&T.address)return Ff[tT(T.address)];return yG+TG},mT=(T,f)=>{if(T?.script)return f2+T.script.length+(T.script.length>=74?2:1);if(f)return Vf[f];return Vf.P2PKH};var i0=K(()=>{T2=require("@tcswap/helpers"),$f=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Ff={["P2PKH"]:148,["P2WPKH"]:68},Vf={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case ky.Chain.Bitcoin:case ky.Chain.BitcoinCash:return 550;case ky.Chain.Dash:case ky.Chain.Litecoin:return 5500;case ky.Chain.Dogecoin:return 1e5;case ky.Chain.Zcash:return 546;default:throw new ky.USwapError("toolbox_utxo_not_supported",{chain:T})}}function Ky({inputs:T,outputs:f,feeRate:N=1,chain:y=ky.Chain.Bitcoin,changeAddress:x=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",X=T.filter((Q)=>uy(Q)*G<=Q.value),_=nf+f.reduce((Q,B)=>Q+mT(B,L),0),Z=f.reduce((Q,B)=>Q+B.value,0),q=_*G,z=0,J=[];for(let Q of X){let B=uy(Q),H=G*B;q+=H,z+=Q.value,J.push(Q);let M=q+Z;if(z<M)continue;let I=z-M,O=G*mT({address:"",value:0},L);if(I>O){let V=O+q,A=z-(Z+V);if(A>Math.max(uy({})*G,bf(y)))return{fee:V,inputs:J,outputs:f.concat({address:x,value:A})}}return{fee:q,inputs:J,outputs:f}}return{fee:G*QT({feeRate:G,inputs:T,outputs:f})}}var ky;var x2=K(()=>{i0();ky=require("@tcswap/helpers")});var BT=K(()=>{s1();y2();x2();i0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let f=ay(T);return m0(f)&&c0(f)==="mainnet"}function YT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=jf.networks.zcash;try{return jf.address.toOutputScript(T,f),!0}catch{let N=G2.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var jf,G2;var cT=K(()=>{BT();jf=require("@bitgo/utxo-lib"),G2=ty(require("bs58check"))});function X2({inputs:T,outputs:f,chain:N,psbt:y,sender:x,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!iT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=iT.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};y.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};Ey.initEccLib(hf.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function _2({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,fetchTxHex:G=!1}){let L=T.chain,X=N?await Oy(N):null,_=await q2({assetValue:T,fetchTxHex:G,memo:N,recipient:f,sender:x}),{inputs:Z,outputs:q}=Ky({..._,chain:L,feeRate:y});if(!(Z&&q))throw new U.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let z=await wy(),J=new Ey.Psbt({network:z(L)});if(L===U.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:Q,inputs:B}=await X2({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:x});return{inputs:B,psbt:Q,utxos:_.inputs}}async function Z2(){let T=await wy();return function({address:N,chain:y}){if(y===U.Chain.BitcoinCash)return by(N);if(y===U.Chain.Zcash)return YT(N);try{return Ey.initEccLib(hf.default),Ey.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function fG({chain:T,phrase:f,derivationPath:N}){let y=(await gT(T))({derivationPath:N,phrase:f});async function x(L){return await L.signAllInputs(y),L}function G(){return d0(T)(y)}return{getAddress:G,signTransaction:x}}async function sy({chain:T,...f}){let N="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,x=U.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:U.updateDerivationPath(U.NetworkDerivationPath[T],{index:y})),G=N?await fG({chain:T,derivationPath:x,phrase:N}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await Z2(),_=await gT(T);return{accumulative:Ky,broadcastTx:(Z)=>Wy(T).broadcastTx(Z),calculateTxSize:QT,createKeysForPath:_,createTransaction:_2,estimateMaxSendableAmount:xG(T),estimateTransactionFee:GG(T),getAddress:L,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>dT(T),getInputsOutputsFee:J2,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:NG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function J2({assetValue:T,feeOptionKey:f=U.FeeOption.Fast,feeRate:N,memo:y,sender:x,recipient:G}){let L=T.chain,X=await q2({assetValue:T,memo:y,recipient:G,sender:x}),_=N?Math.floor(N):(await dT(L))[f];return Ky({...X,chain:L,feeRate:_})}function xG(T){return async function({from:N,memo:y,feeRate:x,feeOptionKey:G=U.FeeOption.Fast,recipients:L=1}){let X=await Wy(T).getAddressData(N),_=x?Math.ceil(x):(await dT(T))[G],Z=X?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(bf(T),uy(B)*_));if(!Z?.length)return U.AssetValue.from({chain:T});let q=U.AssetValue.from({chain:T,value:Z.reduce((B,H)=>B+H.value,0)}),z=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let B=await Oy(y);z.push({address:N,script:B,value:0})}let Q=QT({feeRate:_,inputs:Z,outputs:z})*_;return q.sub(Q)}}function GG(T){return async(f)=>{let N=await J2(f);return U.AssetValue.from({chain:T,value:U.USwapNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gT(T){let f=await wy();switch(T){case U.Chain.BitcoinCash:return function({phrase:y,derivationPath:x=`${U.DerivationPath.BCH}/0`,wif:G}){let L=f(T);if(G)return of.ECPair.fromWIF(G,L);if(!y)throw new U.USwapError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return of.HDNode.fromSeedBuffer(Buffer.from(g0.mnemonicToSeedSync(y)),L).derivePath(x).keyPair};case U.Chain.Bitcoin:case U.Chain.Dogecoin:case U.Chain.Litecoin:case U.Chain.Zcash:case U.Chain.Dash:return function({phrase:y,wif:x,derivationPath:G}){if(!(x||y))throw new U.USwapError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=L2.ECPairFactory(hf.default),X=f(T);if(x)return L.fromWIF(x,X);let _=g0.mnemonicToSeedSync(y),Z=N2.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new U.USwapError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new U.USwapError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let f=wy();return function(y){if(!y)throw new U.USwapError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=iT.includes(T)?Ey.payments.p2pkh:Ey.payments.p2wpkh,{address:G}=x({network:f(T),pubkey:y.publicKey});if(!G)throw new U.USwapError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function NG(T){return async function({memo:N,recipient:y,feeOptionKey:x,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new U.USwapError("toolbox_utxo_no_signer");if(!y)throw new U.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await dT(_))[x||U.FeeOption.Fast],{psbt:q}=await _2({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),z=await T.signTransaction(q);return z.finalizeAllInputs(),Wy(_).broadcastTx(z.extractTransaction().toHex())}}async function dT(T){let f=await Wy(T).getSuggestedTxFee();return{[U.FeeOption.Average]:f,[U.FeeOption.Fast]:U.applyFeeMultiplier(f,U.FeeOption.Fast),[U.FeeOption.Fastest]:U.applyFeeMultiplier(f,U.FeeOption.Fastest)}}async function q2({assetValue:T,recipient:f,memo:N,sender:y,fetchTxHex:x=!1}){let G=T.chain,L=(await dT(G))[U.FeeOption.Fastest],X=x||iT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Wy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...N?[{address:"",script:await Oy(N),value:0}]:[]]}}var hf,of,N2,g0,U,Ey,L2,iT;var rT=K(()=>{OT();BT();cT();hf=ty(require("@bitcoinerlab/secp256k1")),of=require("@psf/bitcoincashjs-lib"),N2=require("@scure/bip32"),g0=require("@scure/bip39"),U=require("@tcswap/helpers"),Ey=require("bitcoinjs-lib"),L2=require("ecpair"),iT=[U.Chain.Dash,U.Chain.Dogecoin,U.Chain.Zcash,U.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function LG(T){function f({builder:y,utxos:x}){return x.forEach((G,L)=>{y.sign(L,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:f}}async function r0(T){let f="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=_y.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:_y.updateDerivationPath(_y.NetworkDerivationPath[Iy],{index:N})),x=f?(await gT(Iy))({derivationPath:y,phrase:f}):void 0,G=x?LG(x):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Iy});function z(J,Q=!0){return X(ay(pT(J)))}return{...q,broadcastTx:Z,buildTx:_G,createTransaction:Q2,getAddress:L,getAddressFromKeys:ZG,getBalance:z,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:XG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:by}}async function Q2({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x}){if(!by(f))throw new _y.USwapError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Wy(Iy).getUtxos({address:ey(x),fetchTxHex:!0,targetValue:G}),X=N?await Oy(N):null,_=[];_.push({address:f,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=Ky({chain:Iy,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new _y.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let z=await wy(),J=new WT.TransactionBuilder(z(Iy));await Promise.all(Z.map(async(Q)=>{let B=await Wy(Iy).getRawTx(Q.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(B,"hex")),Q.index)}));for(let Q of q){let B="address"in Q&&Q.address?Q.address:zT(x),H=await wy(),M=WT.address.toOutputScript(zT(B),H(Iy));J.addOutput(M,Q.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function XG({broadcastTx:T,getFeeRates:f,signer:N}){return async function({recipient:x,assetValue:G,feeOptionKey:L=_y.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new _y.USwapError("toolbox_utxo_no_signer");if(!x)throw new _y.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:q,utxos:z}=await Q2({...X,assetValue:G,feeRate:Z,recipient:x,sender:_}),Q=(await N.signTransaction({builder:q,utxos:z})).toHex();return T(Q)}}async function _G({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,setSigHashType:G}){let L=pT(f);if(!by(L))throw new _y.USwapError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Wy(Iy).getUtxos({address:ey(x),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await Oy(N):null,z=[];if(z.push({address:zT(f),value:T.getBaseValue("number")}),q)z.push({script:q,value:0});let{inputs:J,outputs:Q}=Ky({chain:Iy,feeRate:Z,inputs:_,outputs:z});if(!(J&&Q))throw new _y.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let B=await wy(),H=new z2.Psbt({network:B(Iy)});for(let{hash:M,index:I,witnessUtxo:O}of J)H.addInput({hash:M,index:I,sighashType:G?65:void 0,witnessUtxo:O});for(let M of Q){let I="address"in M&&M.address?M.address:zT(x),O=M.script?q?{script:q,value:0}:void 0:{address:I,value:M.value};if(O)H.addOutput(O)}return{inputs:J,psbt:H,utxos:_}}function ZG(T){let f=T.getAddress(0);return ey(f)}var WT,_y,z2,Iy;var pf=K(()=>{BT();rT();cT();WT=require("@psf/bitcoincashjs-lib"),_y=require("@tcswap/helpers"),z2=require("bitcoinjs-lib"),Iy=_y.Chain.BitcoinCash});function s0(){return Ry.networks.zcash}function W2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function JG({phrase:T,derivationPath:f}){let N=y5.mnemonicToSeedSync(T),x=e0.HDKey.fromMasterSeed(N).derive(f);if(!x.privateKey)throw new fy.USwapError("toolbox_utxo_invalid_params");let G=W2(),L=Ry.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:G}),X=Ry.crypto.hash160(L.publicKey),{isStagenet:_}=fy.USwapConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),z=Y2.default.encode(q);return{getAddress:()=>Promise.resolve(z),signTransaction:(J)=>{let Q=J.signAllInputs(L);return Promise.resolve(Q)}}}function qG({inputs:T,outputs:f,psbt:N,sender:y,compiledMemo:x}){for(let G of T){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of f){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:Ry.address.toOutputScript(L,s0()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function B2(T){let{assetValue:f,recipient:N,memo:y,feeRate:x,sender:G,fetchTxHex:L}=T,X=y?Oy(y):null,_=await Wy(fy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:z}=Ky({chain:fy.Chain.Zcash,changeAddress:G,feeRate:x,inputs:_,outputs:Z});if(!(q&&z))throw new fy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let J=Ry.bitgo.createPsbtForNetwork({network:s0()},{version:a0.ZcashTransaction.VERSION4_BRANCH_NU6_1}),{psbt:Q,inputs:B}=await qG({compiledMemo:X,inputs:q,outputs:z,psbt:J,sender:G});return Q.setDefaultsForVersion(s0(),a0.ZcashTransaction.VERSION4_BRANCH_NU6_1),{inputs:B,outputs:z,psbt:Q}}async function T5(T){let f=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:HT.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||fy.NetworkDerivationPath[fy.Chain.Zcash]||[44,133,0,0,0],q=fy.updateDerivationPath(Z,{index:_}),z=fy.derivationPathToString(q);return JG({derivationPath:z,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:fy.Chain.Zcash,signer:f});async function y({recipient:L,assetValue:X,feeOptionKey:_=fy.FeeOption.Fast,...Z}){let q=await f?.getAddress();if(!(f&&q))throw new fy.USwapError("toolbox_utxo_no_signer");let z=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await B2({...Z,assetValue:X,feeRate:z,recipient:L,sender:q}),Q=await f.signTransaction(J);Q.validateSignaturesOfAllInputs(),Q.finalizeAllInputs();let H=Q.extractTransaction().toHex();return N.broadcastTx(H)}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=y5.mnemonicToSeedSync(L),q=e0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new fy.USwapError("toolbox_utxo_invalid_params");let z=W2();return Ry.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:z})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:x,createTransaction:B2,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:YT}}var Ry,a0,e0,y5,fy,Y2,HT;var f5=K(()=>{BT();rT();cT();Ry=require("@bitgo/utxo-lib"),a0=require("@bitgo/utxo-lib/dist/src/bitgo"),e0=require("@scure/bip32"),y5=require("@scure/bip39"),fy=require("@tcswap/helpers"),Y2=ty(require("bs58check")),HT=require("ts-pattern")});async function zG(T,f){switch(T){case Uy.Chain.BitcoinCash:return await r0(f||{});case Uy.Chain.Zcash:return await T5(f);case Uy.Chain.Bitcoin:case Uy.Chain.Dogecoin:case Uy.Chain.Litecoin:case Uy.Chain.Dash:return await sy({chain:T,...f});default:throw new Uy.USwapError("toolbox_utxo_not_supported",{chain:T})}}var Uy;var H2=K(()=>{pf();rT();f5();pf();cT();Uy=require("@tcswap/helpers")});var x5={};Jy(x5,{validateZcashAddress:()=>YT,toLegacyAddress:()=>zT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>iT,isValidAddress:()=>m0,getUtxoToolbox:()=>zG,getUtxoNetwork:()=>wy,getUtxoApi:()=>Wy,getUTXOAddressValidator:()=>Z2,getScriptTypeForAddress:()=>tT,getOutputSize:()=>mT,getInputSize:()=>uy,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>c0,createZcashToolbox:()=>T5,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>gx,createBCHToolbox:()=>r0,compileMemo:()=>Oy,calculateTxSize:()=>QT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>X2,accumulative:()=>Ky,UtxoNetwork:()=>t0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>Vf,OP_RETURN_OVERHEAD:()=>f2,MIN_TX_FEE:()=>ex,InputSizes:()=>Ff});module.exports=By(x5);var G5=K(()=>{BT();H2();pf();rT();f5()});async function mf(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&N.test(f)}}}async function cf(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,x=T.derivationPath?tf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=f(T.phrase,x),L=N.fromString(G);return R2(L)}async function N5(T){let{KeyPair:f}=await import("@near-js/crypto"),N=f.fromString(T);return R2(N)}function R2(T){return new I2(T)}async function gf(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!y)throw new tf.USwapError("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),G=x.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var M2,tf,I2;var L5=K(()=>{M2=require("@near-js/signers"),tf=require("@tcswap/helpers");I2=class I2 extends M2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function X5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function _5(T){return"contractId"in T&&"methodName"in T}function Z5(T){return"actions"in T}function J5(T){return"newAccountId"in T}function q5(T){return"contractCode"in T}function z5(T){return"customEstimator"in T}function Q5(T){let f=0;for(let N of T)switch(N.enum){case"transfer":f+=Number(Zy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(Zy.CONTRACT_CALL);break;case"createAccount":f+=Number(Zy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(Zy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(Zy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(Zy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(Zy.STAKE);break;default:f+=Number(Zy.CONTRACT_CALL)}return f.toString()}function B5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Zy.TOKEN_TRANSFER;if(T==="storage_deposit")return Zy.STORAGE_DEPOSIT;return Zy.CONTRACT_CALL}function QG(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function BG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Zy;var Y5=K(()=>{Zy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function W5({account:T,contractId:f,viewMethods:N,changeMethods:y}){let{Contract:x}=await import("@near-js/accounts");return new x(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function YG(T){let{P:f,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),x=await N(T).with({phrase:f.string},async(Y)=>{return await cf(Y)}).with({signer:f.any},({signer:Y})=>Y).otherwise(()=>{return}),G=await p.getRPCUrl(p.Chain.Near),L=new y({url:G});async function X(Y){let{Account:R}=await import("@near-js/accounts"),w=Y||await _();return new R(w,L,x)}async function _(){if(!x)throw new p.USwapError("toolbox_near_no_signer");return await x.getAddress()}async function Z(Y){return(await Ny({changeMethods:[],contractId:Y.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Y.accountId})}async function q(Y){let w=[await H({args:{account_id:Y.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await H({args:{amount:Y.assetValue.getBaseValue("string"),memo:Y.memo||null,receiver_id:Y.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return zy({actions:w,receiverId:Y.contractId})}async function z(Y){if(!x)throw new p.USwapError("toolbox_near_no_signer");let{assetValue:R,recipient:w,memo:$}=Y,o=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:w,contractId:R.address}))return q({assetValue:R,contractId:R.address,memo:$,recipient:w})}let h=await J({...Y,sender:o});return O(h)}async function J(Y){let{recipient:R,assetValue:w,memo:$,attachedDeposit:o,sender:h,functionCall:j}=Y,d=await mf();if(!d(R))throw new p.USwapError("toolbox_near_invalid_address",{recipient:R});if(!d(h))throw new p.USwapError("toolbox_near_invalid_address",{signerId:h});if(j)return B({...j,sender:h});if(!w.isGasAsset){let Tf=w.address;if(!Tf)throw new p.USwapError("toolbox_near_missing_contract_address");return B({args:{amount:w.getBaseValue("string"),memo:$||null,receiver_id:R},attachedDeposit:o||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:Ly,nonce:qy}=await gf(L,h),Qy=w.getBaseValue("bigint"),{actionCreators:oy,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),py=[oy.transfer(Qy)];if($&&o)py.push(oy.functionCall("memo",{memo:$},BigInt("250000000000000"),BigInt(o)));let eT=await L.block({finality:"final"}),yf=df(eT.header.hash);return sT(h,Ly,R,qy+1,py,yf)}function Q(Y){let R=Y.encode();return Buffer.from(R).toString("base64")}async function B(Y){let{sender:R}=Y,{publicKey:w,nonce:$}=await gf(L,R),{createTransaction:o,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:j}=await import("@near-js/utils"),d=await L.block({finality:"final"}),Ly=j(d.header.hash),qy=[h.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))];return o(R,w,Y.contractId,$+1,qy,Ly)}async function H(Y){let{actionCreators:R}=await import("@near-js/transactions");return R.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))}async function M(Y){if(!x)throw new p.USwapError("toolbox_near_no_signer");let[R,w]=await x.signTransaction(Y);return w}async function I(Y){return(await L.sendTransaction(Y)).transaction.hash}async function O(Y){if(!x)throw new p.USwapError("toolbox_near_no_signer");try{let R=await M(Y);return await I(R)}catch{return x.signAndSendTransactions?.({transactions:[Y]})}}async function V(Y){if("assetValue"in Y){let o=BigInt("115123062500")+BigInt("108059500000"),h=await A(),j=o*BigInt(h.toString()),{baseDecimal:d}=p.getChainConfig(p.Chain.Near);return p.AssetValue.from({chain:p.Chain.Near,fromBaseDecimal:d,value:j.toString()})}let R=x?await X():void 0;return v(Y,R)}async function A(){try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function n(Y,R,w){if(!x)throw new p.USwapError("toolbox_near_no_signer");let $=await X(),{formatNearAmount:o}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),j=o(w)||"0";return(await $.createAccount(Y,h.fromString(R),BigInt(j))).transaction.hash}async function g(Y){try{if(!x)throw new p.USwapError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:w,methodName:$,args:o,deposit:h}=Y,j=await X(),d=await v({args:o||{},contractId:w,methodName:$}),Ly=R.functionCall($,o||{},d.getBaseValue("bigint"),BigInt(h||"1"));return(await j.signAndSendTransaction({actions:[Ly],receiverId:w})).transaction_outcome.id}catch(R){throw new p.USwapError("toolbox_near_transfer_failed",{error:R})}}async function Ny(Y){let R=await X();return W5({account:R,changeMethods:Y.changeMethods,contractId:Y.contractId,viewMethods:Y.viewMethods})}async function zy(Y){if(!x)throw new p.USwapError("toolbox_near_no_signer");if(Y.actions.length===0)throw new p.USwapError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:Y.actions,receiverId:Y.receiverId})).transaction.hash}async function v(Y,R){let{baseDecimal:w}=p.getChainConfig(p.Chain.Near),$=await N(Y).when(X5,()=>Zy.SIMPLE_TRANSFER).when(_5,(j)=>B5(j.methodName)).when(Z5,(j)=>Q5(j.actions)).when(J5,()=>Zy.ACCOUNT_CREATION).when(q5,()=>Zy.CONTRACT_DEPLOYMENT).when(z5,(j)=>{if(!R)throw new p.USwapError("toolbox_near_no_account");return j.customEstimator(R)}).otherwise(()=>{throw new p.USwapError("toolbox_near_invalid_gas_params")}),h=BigInt($)*BigInt(1000000000000);return p.AssetValue.from({chain:p.Chain.Near,fromBaseDecimal:w,value:h})}async function F(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:g,createAction:H,createContract:Ny,createContractFunctionCall:B,createSubAccount:n,createTransaction:J,estimateGas:v,estimateTransactionFee:V,executeBatchTransaction:zy,getAddress:_,getBalance:TT(p.Chain.Near),getGasPrice:F,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(Y)=>cf(Y),getSignerFromPrivateKey:N5,provider:L,serializeTransaction:Q,signAndSendTransaction:O,signTransaction:M,transfer:z,validateAddress:await mf()}}var p;var H5=K(()=>{OT();L5();Y5();p=require("@tcswap/helpers")});var C2=K(()=>{H5()});var M5={};Jy(M5,{tgasToGas:()=>QG,isSimpleTransfer:()=>X5,isCustomEstimator:()=>z5,isContractDeployment:()=>q5,isContractCall:()=>_5,isBatchTransaction:()=>Z5,isAccountCreation:()=>J5,getValidateNearAddress:()=>mf,getNearToolbox:()=>YG,getNearSignerFromPrivateKey:()=>N5,getNearSignerFromPhrase:()=>cf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>B5,gasToTGas:()=>BG,estimateBatchGas:()=>Q5,createNearContract:()=>W5,GAS_COSTS:()=>Zy});module.exports=By(M5);var I5=K(()=>{L5();Y5();H5();C2()});var R5={};Jy(R5,{radixValidateAddress:()=>w2,RadixToolbox:()=>RG});module.exports=By(R5);function w2(T){return T.startsWith("account_rdx1")&&T.length===66}function WG({networkApi:T}){return async function(N){let y=await HG({address:N,networkApi:T}),x=await MG({networkApi:T,resources:y});if(!x.some((L)=>L.isGasAsset))return[Cy.AssetValue.from({chain:Cy.Chain.Radix}),...x];return x}}async function HG({address:T,networkApi:f}){let N=!0,y,x=[],G=await IG(f);while(N){let L={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)y=X.next_cursor;else N=!1}return x}async function MG({resources:T,networkApi:f}){let N=[],y=50,x=[];for(let G=0;G<T.length;G+=50)x.push(T.slice(G,G+50));for(let G of x){let L=G.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let q=Z.metadata?.items.find((J)=>J.key==="symbol"),z=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:z})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},z=Cy.AssetValue.from({asset:q.symbol!==Cy.Chain.Radix?`${Cy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(z)}}return N}function IG(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var Cy,RG=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Cy.USwapConfig.get("integrations").radix,x=f({...y,networkId:y.network?.networkId||1}),G=N.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:WG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new Cy.USwapError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:w2}};var C5=K(()=>{Cy=require("@tcswap/helpers")});var O5={};Jy(O5,{rippleValidateAddress:()=>w5,hashes:()=>k2.hashes,getRippleToolbox:()=>wG});module.exports=By(O5);function O2(T){let f=jy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(N)=>Promise.resolve(f.sign(N))}}function w5(T){return jy.isValidAddress(T)}var t,jy,k2,CG,wG=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?O2(T.phrase):void 0,N=await t.getRPCUrl(t.Chain.Ripple);if(!N)throw new t.USwapError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:t.Chain.Ripple}});let y=new jy.Client(N);await y.connect();let x=()=>{if(!f)throw new t.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(J)=>{let Q=J||await x(),{baseDecimal:B}=t.getChainConfig(t.Chain.Ripple);try{let M=(await y.request({account:Q,command:"account_info"})).result.account_data.Balance;return[t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:B,value:M})]}catch(H){if(H.data.error_code===CG.ACCOUNT_NOT_FOUND)return[t.AssetValue.from({chain:t.Chain.Ripple,value:0})];throw new t.USwapError("toolbox_ripple_get_balance_error",{info:{address:Q,error:H}})}},L=async()=>{let Q=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=t.getChainConfig(t.Chain.Ripple);return t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:B,value:t.USwapNumber.fromBigInt(BigInt(Q),B)})},X=async({assetValue:J,recipient:Q,memo:B,sender:H})=>{if(!w5(Q))throw new t.USwapError({errorKey:"core_transaction_invalid_recipient_address"});let M=H||await x();if(!J.isGasAsset||J.chain!==t.Chain.Ripple)throw new t.USwapError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:M,Amount:jy.xrpToDrops(J.getValue("string")),Destination:Q,TransactionType:"Payment"};if(B)I.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!f)throw new t.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(J)},Z=async(J)=>{let B=(await y.submitAndWait(J)).result;if(B.validated)return B.hash;throw new t.USwapError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:O2,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:G,signer:f,signTransaction:_,transfer:async(J)=>{if(!f)throw new t.USwapError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await f.getAddress(),B=await X({...J,sender:Q}),H=await _(B);return Z(H.tx_blob)},validateAddress:w5}};var k5=K(()=>{t=require("@tcswap/helpers"),jy=require("xrpl"),k2=require("xrpl"),CG={ACCOUNT_NOT_FOUND:19}});async function OG(T,f,N){try{let y=await T.query.system?.account?.(N);if(!y)return[f.set(0)];let{data:{free:x}}=y,G=yT.USwapNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${x}`),[f.set(0)]}}async function kG(T,f,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[f.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let G=yT.USwapNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${x}`),[f.set(0)]}}function K2(T,f){return function(y){let x=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return kG(f,x,y);default:return OG(f,x,y)}}}var yT;var E2=K(()=>{yT=require("@tcswap/helpers")});var KG,EG,DG,hy;var K5=K(()=>{KG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},EG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},DG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:KG,FLIP:EG,GENERIC:DG}});function SG(T,f){switch(T){case a.Chain.Chainflip:return S2(f);case a.Chain.Polkadot:return D2(f);default:throw new a.USwapError("toolbox_substrate_not_supported",{chain:T})}}function MT(T){return"address"in T}async function D5(T,f){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new N({ss58Format:f,type:"sr25519"}).addFromUri(T)}function VG(T,f){let N=RT.decodeAddress(T);return RT.encodeAddress(N,f)}function P2(T,f){return IT.isHex(T)?IT.hexToU8a(T):RT.decodeAddress(T,void 0,f)}function U2(T,f="ss58",N){if(f==="hex")return IT.u8aToHex(T);return RT.encodeAddress(T,N)}async function U5({generic:T,chain:f,...N}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),G=await a.getRPCUrl(f),L=new x(G),X=await y.create({noInitWarn:!0,provider:L}),_=a.AssetValue.from({chain:f}),Z=T?hy.GENERIC:hy[f],q=await aT.match(N).with({phrase:aT.P.string},({phrase:z})=>D5(z,hy[f].prefix)).with({signer:aT.P.any},({signer:z})=>z).otherwise(()=>{return});return v2({api:X,chain:f,gasAsset:_,network:Z,signer:q})}var IT,RT,a,aT,D2=({generic:T=!1,...f}={})=>{return U5({chain:a.Chain.Polkadot,generic:T,...f})},S2=async({generic:T=!1,...f}={})=>{return{...await U5({chain:a.Chain.Chainflip,generic:T,...f})}},S5=(T,f)=>T.rpc.system.accountNextIndex(f),E5=(T,f)=>{try{let N=P2(T,f);return U2(N,"ss58",f),!0}catch{return!1}},P5=(T,{recipient:f,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(f,N.getBaseValue("number")),PG=async(T,f,{recipient:N,assetValue:y,sender:x})=>{let G=P5(T,{assetValue:y,recipient:N});if(!G)throw new a.USwapError("toolbox_substrate_transfer_error");let L=MT(f),X=L?f.address:x;if(!X)throw new a.USwapError("core_transaction_invalid_sender_address");let _=await S5(T,X);return(await G.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},UG=async(T,f,N,{recipient:y,assetValue:x,sender:G})=>{let L=P5(T,{assetValue:x,recipient:y}),X=MT(f)?f.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await S5(T,X)})||{partialFee:0};return N.set(a.USwapNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},vG=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},lG=async(T,f)=>{return await f.signAsync(T)},AG=(T,f,N)=>{if(N)return f.signAndSend(T,N);return f.signAndSend(T).toString()},FG=async({signer:T,address:f,tx:N,callback:y,api:x})=>{let G=await S5(x,f);if(y)N.signAndSend(f,{nonce:G,signer:T},y);return N.signAndSend(f,{nonce:G,signer:T}).toString()},v2=({api:T,network:f,gasAsset:N,signer:y,chain:x})=>({api:T,broadcast:vG,convertAddress:VG,createKeyring:(G)=>D5(G,f.prefix),createTransaction:(G)=>P5(T,G),decodeAddress:P2,encodeAddress:U2,estimateTransactionFee:(G)=>{if(!y)throw new a.USwapError("core_wallet_not_keypair_wallet");return UG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new a.USwapError("core_wallet_not_keypair_wallet");return MT(L)?L.address:void 0},getBalance:K2(x||a.Chain.Polkadot,T),network:f,sign:(G)=>{if(!y)throw new a.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return lG(y,G);throw new a.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!y)throw new a.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return AG(y,G,L);if(X)return FG({address:X,api:T,callback:L,signer:y,tx:G});throw new a.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new a.USwapError("core_wallet_not_keypair_wallet");return PG(T,y,G)},validateAddress:(G)=>E5(G,f.prefix)}),$G=({address:T,chain:f})=>{let{prefix:N}=f===a.Chain.Polkadot?hy.DOT:hy.FLIP;return E5(T,N)||E5(T,hy.GENERIC.prefix)};var l2=K(()=>{E2();K5();IT=require("@polkadot/util"),RT=require("@polkadot/util-crypto"),a=require("@tcswap/helpers"),aT=require("ts-pattern")});var v5={};Jy(v5,{substrateValidateAddress:()=>$G,isKeyringPair:()=>MT,getSubstrateToolbox:()=>SG,createSubstrateToolbox:()=>U5,createKeyring:()=>D5,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>D2,ChainflipToolbox:()=>S2,BaseSubstrateToolbox:()=>v2});module.exports=By(v5);var l5=K(()=>{l2();K5()});var bG={};Jy(bG,{getToolbox:()=>A5,getFeeEstimator:()=>uG,getAddressValidator:()=>nG});module.exports=By(bG);var S=require("@tcswap/helpers");async function nG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (_1(),X1)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),Ef)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (V0(),F0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Pf(),Sf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),Uf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (G5(),x5)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (I5(),M5)),{radixValidateAddress:q}=await Promise.resolve().then(() => (C5(),R5)),{rippleValidateAddress:z}=await Promise.resolve().then(() => (k5(),O5)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (l5(),v5)),Q=await N(),B=await Z(),H=await x(),M=await G(),I=await L(),O=await X(),V=await _();return function({address:n,chain:g}){return T(g).with(...S.EVMChains,()=>f({address:n})).with(...S.UTXOChains,()=>V({address:n,chain:g})).with(S.Chain.Cosmos,S.Chain.Kujira,S.Chain.Noble,S.Chain.Maya,S.Chain.THORChain,(zy)=>{return y(zy)(n)}).with(S.Chain.Chainflip,S.Chain.Polkadot,()=>J({address:n,chain:g})).with(S.Chain.Radix,()=>q(n)).with(S.Chain.Near,()=>B(n)).with(S.Chain.Ripple,()=>z(n)).with(S.Chain.Solana,()=>H(n)).with(S.Chain.Sui,()=>M(n)).with(S.Chain.Ton,()=>I(n)).with(S.Chain.Tron,()=>O(n)).with(S.Chain.Cardano,()=>Q(n)).otherwise(()=>!1)}}function uG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...S.EVMChains,async(x)=>{let G=await A5(x),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:x,feeOption:N.feeOptionKey||S.FeeOption.Fast})}).with(S.Chain.Bitcoin,S.Chain.BitcoinCash,S.Chain.Dogecoin,S.Chain.Dash,S.Chain.Litecoin,S.Chain.Polkadot,S.Chain.Solana,S.Chain.Ripple,S.Chain.Tron,S.Chain.Near,S.Chain.Cardano,async(x)=>{return(await A5(x)).estimateTransactionFee(N)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Pf(),Sf));return(await x()).estimateTransactionFee(N)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (vf(),Uf));return(await x()).estimateTransactionFee()}).with(...S.CosmosChains,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Df(),Ef));return x(N)}).otherwise(async()=>S.AssetValue.from({chain:T}))}}async function A5(T,f){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...S.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),G1));return await y(T,f)}).with(...S.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (G5(),x5));return await y(T,f)}).with(...S.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),Ef));return await y(T,f)}).with(...S.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (l5(),v5));return await y(T,f)}).with(S.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C5(),R5));return await y(f)}).with(S.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (k5(),O5));return await y(f)}).with(S.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (V0(),F0));return await y(f)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Pf(),Sf));return await y(f)}).with(S.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(f)}).with(S.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (I5(),M5));return await y(f)}).with(S.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(f)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (vf(),Uf));return await y(f)}).otherwise(()=>{throw new S.USwapError("toolbox_not_supported",{chain:T})})}
3
+
4
+ //# debugId=7DCE20BEAB8C0B6364756E2164756E21
5
+ //# sourceMappingURL=index.cjs.map