@uswap/toolboxes 4.3.10 → 4.3.11

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 (138) hide show
  1. package/dist/src/cardano/index.cjs.map +2 -2
  2. package/dist/src/cardano/index.js.map +2 -2
  3. package/dist/src/cosmos/index.cjs +2 -2
  4. package/dist/src/cosmos/index.cjs.map +8 -8
  5. package/dist/src/cosmos/index.js +2 -2
  6. package/dist/src/cosmos/index.js.map +8 -8
  7. package/dist/src/evm/index.cjs +2 -2
  8. package/dist/src/evm/index.cjs.map +5 -5
  9. package/dist/src/evm/index.js +2 -2
  10. package/dist/src/evm/index.js.map +5 -5
  11. package/dist/src/index.cjs +3 -3
  12. package/dist/src/index.cjs.map +32 -32
  13. package/dist/src/index.js +3 -3
  14. package/dist/src/index.js.map +32 -32
  15. package/dist/src/near/index.cjs +2 -2
  16. package/dist/src/near/index.cjs.map +5 -5
  17. package/dist/src/near/index.js +2 -2
  18. package/dist/src/near/index.js.map +5 -5
  19. package/dist/src/radix/index.cjs +2 -2
  20. package/dist/src/radix/index.cjs.map +3 -3
  21. package/dist/src/radix/index.js +2 -2
  22. package/dist/src/radix/index.js.map +3 -3
  23. package/dist/src/ripple/index.cjs +2 -2
  24. package/dist/src/ripple/index.cjs.map +3 -3
  25. package/dist/src/ripple/index.js +2 -2
  26. package/dist/src/ripple/index.js.map +3 -3
  27. package/dist/src/solana/index.cjs.map +2 -2
  28. package/dist/src/solana/index.js.map +2 -2
  29. package/dist/src/substrate/index.cjs +2 -2
  30. package/dist/src/substrate/index.cjs.map +4 -4
  31. package/dist/src/substrate/index.js +2 -2
  32. package/dist/src/substrate/index.js.map +4 -4
  33. package/dist/src/sui/index.cjs.map +2 -2
  34. package/dist/src/sui/index.js.map +2 -2
  35. package/dist/src/ton/index.cjs +2 -2
  36. package/dist/src/ton/index.cjs.map +3 -3
  37. package/dist/src/ton/index.js +2 -2
  38. package/dist/src/ton/index.js.map +3 -3
  39. package/dist/src/tron/index.cjs.map +3 -3
  40. package/dist/src/tron/index.js.map +3 -3
  41. package/dist/src/utxo/index.cjs +3 -3
  42. package/dist/src/utxo/index.cjs.map +11 -11
  43. package/dist/src/utxo/index.js +3 -3
  44. package/dist/src/utxo/index.js.map +11 -11
  45. package/dist/types/cardano/toolbox.d.ts +0 -2
  46. package/dist/types/cardano/toolbox.d.ts.map +1 -1
  47. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts +0 -2
  48. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
  49. package/dist/types/cosmos/thorchainUtils/messages.d.ts +0 -2
  50. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
  51. package/dist/types/cosmos/toolbox/cosmos.d.ts +4 -6
  52. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
  53. package/dist/types/cosmos/toolbox/index.d.ts +0 -2
  54. package/dist/types/cosmos/toolbox/index.d.ts.map +1 -1
  55. package/dist/types/cosmos/toolbox/thorchain.d.ts +4 -6
  56. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
  57. package/dist/types/cosmos/util.d.ts +0 -2
  58. package/dist/types/cosmos/util.d.ts.map +1 -1
  59. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +0 -2
  60. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  61. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  62. package/dist/types/evm/toolbox/op.d.ts +0 -2
  63. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  64. package/dist/types/index.d.ts +0 -2
  65. package/dist/types/index.d.ts.map +1 -1
  66. package/dist/types/near/helpers/core.d.ts +0 -2
  67. package/dist/types/near/helpers/core.d.ts.map +1 -1
  68. package/dist/types/near/toolbox.d.ts +0 -2
  69. package/dist/types/near/toolbox.d.ts.map +1 -1
  70. package/dist/types/radix/index.d.ts +2 -4
  71. package/dist/types/radix/index.d.ts.map +1 -1
  72. package/dist/types/ripple/index.d.ts +0 -2
  73. package/dist/types/ripple/index.d.ts.map +1 -1
  74. package/dist/types/solana/toolbox.d.ts +0 -2
  75. package/dist/types/solana/toolbox.d.ts.map +1 -1
  76. package/dist/types/substrate/balance.d.ts +3 -0
  77. package/dist/types/substrate/balance.d.ts.map +1 -1
  78. package/dist/types/substrate/substrate.d.ts +0 -2
  79. package/dist/types/substrate/substrate.d.ts.map +1 -1
  80. package/dist/types/sui/toolbox.d.ts +0 -2
  81. package/dist/types/sui/toolbox.d.ts.map +1 -1
  82. package/dist/types/ton/toolbox.d.ts +0 -2
  83. package/dist/types/ton/toolbox.d.ts.map +1 -1
  84. package/dist/types/tron/helpers/trongrid.d.ts +0 -2
  85. package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
  86. package/dist/types/tron/toolbox.d.ts +0 -2
  87. package/dist/types/tron/toolbox.d.ts.map +1 -1
  88. package/dist/types/utils.d.ts +3 -0
  89. package/dist/types/utils.d.ts.map +1 -1
  90. package/dist/types/utxo/helpers/api.d.ts +0 -2
  91. package/dist/types/utxo/helpers/api.d.ts.map +1 -1
  92. package/dist/types/utxo/helpers/bchaddrjs.d.ts +0 -2
  93. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
  94. package/dist/types/utxo/helpers/coinselect.d.ts +0 -2
  95. package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
  96. package/dist/types/utxo/helpers/txSize.d.ts +0 -2
  97. package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
  98. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +0 -2
  99. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
  100. package/dist/types/utxo/toolbox/index.d.ts +0 -2
  101. package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
  102. package/dist/types/utxo/toolbox/utxo.d.ts +0 -2
  103. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
  104. package/dist/types/utxo/toolbox/zcash.d.ts +0 -2
  105. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
  106. package/package.json +5 -11
  107. package/src/cardano/toolbox.ts +0 -2
  108. package/src/cosmos/thorchainUtils/addressFormat.ts +0 -2
  109. package/src/cosmos/thorchainUtils/messages.ts +0 -2
  110. package/src/cosmos/toolbox/cosmos.ts +9 -11
  111. package/src/cosmos/toolbox/index.ts +0 -2
  112. package/src/cosmos/toolbox/thorchain.ts +6 -8
  113. package/src/cosmos/util.ts +1 -3
  114. package/src/evm/__tests__/ethereum.test.ts +6 -2
  115. package/src/evm/toolbox/baseEVMToolbox.ts +4 -6
  116. package/src/evm/toolbox/op.ts +0 -2
  117. package/src/index.ts +0 -2
  118. package/src/near/helpers/core.ts +0 -2
  119. package/src/near/toolbox.ts +0 -2
  120. package/src/radix/index.ts +3 -5
  121. package/src/ripple/index.ts +2 -4
  122. package/src/solana/toolbox.ts +0 -2
  123. package/src/substrate/balance.ts +9 -5
  124. package/src/substrate/substrate.ts +2 -4
  125. package/src/sui/toolbox.ts +0 -2
  126. package/src/ton/toolbox.ts +2 -4
  127. package/src/tron/__tests__/toolbox.test.ts +6 -2
  128. package/src/tron/helpers/trongrid.ts +0 -2
  129. package/src/tron/toolbox.ts +1 -3
  130. package/src/utils.ts +6 -2
  131. package/src/utxo/helpers/api.ts +2 -4
  132. package/src/utxo/helpers/bchaddrjs.ts +0 -2
  133. package/src/utxo/helpers/coinselect.ts +0 -2
  134. package/src/utxo/helpers/txSize.ts +0 -2
  135. package/src/utxo/toolbox/bitcoinCash.ts +0 -2
  136. package/src/utxo/toolbox/index.ts +0 -2
  137. package/src/utxo/toolbox/utxo.ts +2 -4
  138. package/src/utxo/toolbox/zcash.ts +2 -4
@@ -1,5 +1,5 @@
1
- var v2=Object.create;var{getPrototypeOf:A2,defineProperty:RT,getOwnPropertyNames:n5,getOwnPropertyDescriptor:F2}=Object,V5=Object.prototype.hasOwnProperty;var W=(T,x,G)=>{G=T!=null?v2(A2(T)):{};let y=x||!T||!T.__esModule?RT(G,"default",{value:T,enumerable:!0}):G;for(let f of n5(T))if(!V5.call(y,f))RT(y,f,{get:()=>T[f],enumerable:!0});return y},F5=new WeakMap,Yy=(T)=>{var x=F5.get(T),G;if(x)return x;if(x=RT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")n5(T).map((y)=>!V5.call(x,y)&&RT(x,y,{get:()=>T[y],enumerable:!(G=F2(T,y))||G.enumerable}));return F5.set(T,x),x};var By=(T,x)=>{for(var G in x)RT(T,G,{get:x[G],enumerable:!0,configurable:!0,set:(y)=>x[G]=()=>y})};var E=(T,x)=>()=>(T&&(x=T(T=0)),x);function u5(){function T(){let x=Date.now(),G=rf||x;return rf=G,x>rf?x:G+1}return n2+T().toString(36)}function TT(T){return async function(G,y=!0){let f=await $5.SwapKitApi.getChainBalance({address:G,chain:T,scamFilter:y}),{baseDecimal:L}=CT.getChainConfig(T),N=f.map(({identifier:_,value:Z,decimal:B})=>{return new CT.AssetValue({decimal:B||L,identifier:_,value:Z})});if(!N.some((_)=>_.isGasAsset))return[CT.AssetValue.from({chain:T}),...N];return N}}var CT,$5,n2,rf=0;var OT=E(()=>{CT=require("@uswap/helpers"),$5=require("@uswap/helpers/api"),n2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function kT(T){return{getBalance:TT(T)}}function V2(T){return T}var ff=E(()=>{OT()});async function cy(T,x){let{JsonRpcProvider:G}=await import("ethers");return new G(x||await i.getRPCUrl(T))}function KT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:x,chainIdHex:G,rpcUrls:y}=i.getChainConfig(T);return function(){return T!==i.Chain.Ethereum?{...$2({chain:T}),blockExplorerUrls:[x],chainId:G,rpcUrls:y}:void 0}}function sf(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function $2({chain:T}){let{name:x,nativeCurrency:G,baseDecimal:y}=i.getChainConfig(T);return b5.match(T).with(i.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(i.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(i.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(i.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(i.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(i.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:i.Chain.Polygon}})).otherwise(()=>({chainName:x,nativeCurrency:{decimals:y,name:G,symbol:G}}))}var i,b5;var fT=E(()=>{i=require("@uswap/helpers"),b5=require("ts-pattern")});var j5;var o5=E(()=>{j5=[{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 LT({chain:T=H.Chain.Ethereum,provider:x,signer:G,isEIP1559Compatible:y=!0}){return{approve:h2({chain:T,isEIP1559Compatible:y,provider:x,signer:G}),approvedAmount:c5({chain:T,provider:x}),broadcastTransaction:x.broadcastTransaction,call:L0({chain:T,isEIP1559Compatible:y,provider:x,signer:G}),createApprovalTx:m2({chain:T,provider:x,signer:G}),createContract:T0({chain:T,provider:x}),createContractTxObject:my({chain:T,provider:x}),createTransaction:ef({chain:T,provider:x,signer:G}),createTransferTx:ef({chain:T,provider:x,signer:G}),EIP1193SendTransaction:NT(x),estimateCall:m5({provider:x,signer:G}),estimateGasLimit:t2({chain:T,provider:x,signer:G}),estimateGasPrices:iy({chain:T,isEIP1559Compatible:y,provider:x}),estimateTransactionFee:i2({chain:T,isEIP1559Compatible:y,provider:x}),getAddress:()=>{return G?G.getAddress():void 0},getBalance:kT(T).getBalance,getNetworkParams:af(T),isApproved:o2({chain:T,provider:x}),sendTransaction:i5({chain:T,isEIP1559Compatible:y,provider:x,signer:G}),signMessage:G?(f)=>G.signMessage(f):void 0,transfer:p2({chain:T,isEIP1559Compatible:y,provider:x,signer:G}),validateAddress:(f)=>y0({address:f})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function GT(T){return T instanceof Wy.BrowserProvider}function DT(T,x,G){return new Wy.Contract(T,Wy.Interface.from(x),G)}function T0({provider:T}){return function(G,y){return new Wy.Contract(G,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:x}){let G=T.find((y)=>y.name===x);if(!G)throw new H.USwapError("toolbox_evm_no_abi_fragment",{funcName:x});return G.stateMutability&&u2.includes(G.stateMutability)}function p5(T){return Wy.getAddress(T)}function NT(T){return function({value:G,...y}){if(!GT(T))throw new H.USwapError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:L,maxFeePerGas:N,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:KT(BigInt(G||0))}])}}function t5(T,x){let G=XT(T,x);if(G)return Wy.getAddress(G.toLowerCase());throw new H.USwapError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:x,ticker:G},y){try{let f=T===H.Chain.BinanceSmartChain&&x==="BNB"&&G==="BNB",L=T===y&&x===y&&G===y,N=j2.includes(T)&&x==="ETH"&&G==="ETH";if(L||f||N)return x0[y];return Wy.getAddress(x.slice(G.length+1).replace(/^0X/,""))}catch{return null}}function my({provider:T}){return async({contractAddress:x,abi:G,funcName:y,funcParams:f=[],txOverrides:L})=>DT(x,G,T).getFunction(y).populateTransaction(...f.concat(L).filter((N)=>typeof N<"u"))}function iy({chain:T,provider:x,isEIP1559Compatible:G=!0}){return h5.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:L}=await x.getFeeData();if(!f||L===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await x.getFeeData();if(!f)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:f},[H.FeeOption.Fast]:{gasPrice:f},[H.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:L,gasPrice:N}=await x.getFeeData();if(G){if(f===null||L===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:L},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}if(!N)throw new H.USwapError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:N},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(N,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(N,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function L0({provider:T,isEIP1559Compatible:x,signer:G,chain:y}){return async function({callProvider:L,contractAddress:N,abi:X,funcName:_,funcParams:Z=[],txOverrides:B={},feeOption:q=H.FeeOption.Fast}){let J=L||T;if(!N)throw new H.USwapError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=f0({abi:X,funcName:_});if(Q&&GT(J)&&G){let w=my({chain:y,provider:J}),I=B?.from||await G?.getAddress(),k=await w({abi:X,contractAddress:N,funcName:_,funcParams:Z,txOverrides:{...B,from:I}});return NT(J)(k)}let z=DT(N,X,J);if(Q){if(!G)throw new H.USwapError("toolbox_evm_no_signer");let w=B?.from||await G.getAddress();if(!w)throw new H.USwapError("toolbox_evm_no_signer_address");let I=z.connect(G),k=iy({chain:y,isEIP1559Compatible:x,provider:T}),{maxFeePerGas:V,maxPriorityFeePerGas:F,gasPrice:u}=(await k())[q],d=await z.getFunction(_).estimateGas(...Z,B),Ny=await I[_](...Z,{...B,gasLimit:d,gasPrice:u,maxFeePerGas:V,maxPriorityFeePerGas:F,nonce:B?.nonce||await J.getTransactionCount(w)});return typeof Ny?.hash==="string"?Ny?.hash:Ny}let M=await z[_]?.(...Z);return typeof M?.hash==="string"?M?.hash:M}}function c5({provider:T,chain:x}){return function({assetAddress:y,spenderAddress:f,from:L}){return L0({chain:x,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[L,f]})}}function o2({provider:T,chain:x}){return async function({assetAddress:y,spenderAddress:f,from:L,amount:N=ET}){let X=await c5({chain:x,provider:T})({assetAddress:y,from:L,spenderAddress:f});return H.SwapKitNumber.fromBigInt(X).gte(H.SwapKitNumber.fromBigInt(BigInt(N)))}}function h2({signer:T,isEIP1559Compatible:x=!0,provider:G,chain:y}){return async function({assetAddress:L,spenderAddress:N,feeOptionKey:X=H.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:B,nonce:q}){let J=[N,BigInt(_||ET)],Q=await T?.getAddress()||B,z={abi:xT.erc20ABI,contractAddress:L,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:Q}};if(GT(G)){let w=my({chain:y,provider:G}),I=NT(G),k=await w(z);return I(k)}return L0({chain:y,isEIP1559Compatible:x,provider:G,signer:T})({...z,feeOption:X,funcParams:J,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:q}})}}function p2({signer:T,isEIP1559Compatible:x=!0,provider:G}){return async function({assetValue:f,memo:L,recipient:N,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:B,toUtf8Bytes:q}=await import("ethers"),J=f.getBaseValue("bigint"),Q=f.chain,z=_||await T?.getAddress(),M=i5({chain:Q,isEIP1559Compatible:x,provider:G,signer:T});if(!z)throw new H.USwapError("toolbox_evm_no_from_address");if(f.isGasAsset){let u={...Z,data:B(q(L||"")),feeOptionKey:X,from:z,to:N,value:J};return M(u)}if(!XT(f,Q))throw new H.USwapError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:k,gasPrice:V}=(await iy({chain:Q,isEIP1559Compatible:x,provider:G})())[X],F=await ef({chain:Q,provider:G,signer:T})({assetValue:f,data:B(q(L||"")),gasPrice:V,maxFeePerGas:I,maxPriorityFeePerGas:k,memo:L,recipient:N,sender:z});return M(F)}}function m5({provider:T,signer:x}){return function({contractAddress:y,abi:f,funcName:L,funcParams:N=[],txOverrides:X}){if(!y)throw new H.USwapError("toolbox_evm_no_contract_address");let _=DT(y,f,T);return x?_.connect(x).getFunction(L).estimateGas(...N,X):_.getFunction(L).estimateGas(...N,X)}}function t2({provider:T,signer:x}){return async function({assetValue:y,recipient:f,memo:L,data:N,sender:X,funcName:_,funcParams:Z,txOverrides:B}){let q=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return m5({provider:T,signer:x})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:B});let{hexlify:Q,toUtf8Bytes:z}=await import("ethers");return T.estimateGas({data:N?N:L?Q(z(L)):void 0,from:X,to:f,value:q})}}function i5({provider:T,signer:x,isEIP1559Compatible:G=!0,chain:y}){return async function({feeOptionKey:L=H.FeeOption.Fast,...N}){let{from:X,to:_,data:Z,value:B,...q}=N;if(!x)throw new H.USwapError("toolbox_evm_no_signer");if(!_)throw new H.USwapError("toolbox_evm_no_to_address");let J={...q,data:Z||"0x",from:X,to:_,value:BigInt(B||0)};if(GT(T))return NT(T)(J);let Q=X||await x.getAddress(),z=N.nonce||await T.getTransactionCount(Q),M=(await T.getNetwork()).chainId,w=c2(J)||G,I=iy({chain:y,isEIP1559Compatible:G,provider:T}),k=w&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[L]).reduce((F,[u,d])=>({...F,[u]:KT(BigInt(d))}),{}):{},V;try{V=KT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(F){throw new H.USwapError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...J,chainId:M,gasLimit:V,nonce:z,type:w?2:0,...k};try{return(await x.sendTransaction(F)).hash}catch{let u=await x.signTransaction({...F,from:Q});return(await T.broadcastTransaction(u)).hash}}catch(F){throw new H.USwapError("toolbox_evm_error_sending_transaction",{error:F})}}}function ef({provider:T,signer:x}){return async function({assetValue:y,memo:f,recipient:L,data:N,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:B,...q}){let J=y.getBaseValue("bigint"),Q=y.chain,z=X||await x?.getAddress();if(!z)throw new H.USwapError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:k}=await import("ethers");return{...q,data:N||I(k(f||"")),from:z,to:L,value:J}}let M=XT(y,Q);if(!M)throw new H.USwapError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[L,J],txOverrides:{from:z,gasPrice:B,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function m2({provider:T,signer:x,chain:G}){return async function({assetAddress:f,spenderAddress:L,amount:N,from:X}){let _=await x?.getAddress()||X,Z=my({chain:G,provider:T}),B=["bigint","number"].includes(typeof N)?N:N||ET;return await Z({abi:xT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[L,BigInt(B)],txOverrides:{from:_}})}}function i2({provider:T,isEIP1559Compatible:x=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:f,...L}){let X=await iy({chain:f,isEIP1559Compatible:x,provider:T})(),_=await T.estimateGas(L),Z=H.AssetValue.from({chain:f}),{gasPrice:B,maxFeePerGas:q,maxPriorityFeePerGas:J}=X[y];if(!x&&B)return Z.set(H.SwapKitNumber.fromBigInt(B*_,Z.decimal));if(q&&J){let Q=(q+J)*_;return Z.set(H.SwapKitNumber.fromBigInt(Q,Z.decimal))}throw new H.USwapError("toolbox_evm_no_gas_price")}}var H,xT,Wy,h5,ET,u2,b2,x0,j2,c2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=E(()=>{ff();fT();H=require("@uswap/helpers"),xT=require("@uswap/helpers/contracts"),Wy=require("ethers"),h5=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");u2=["payable","nonpayable"];b2=H.EVMChains.reduce((T,x)=>{return T[x]="0x0000000000000000000000000000000000000000",T},{}),x0={...b2,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},j2=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Lf({provider:T,...x}){let G=await Ly(a.Chain.Ethereum)({provider:T,...x});async function y(f,L="0x5ba1e12693dc8f9c48aad8770482f4739beed696",N="aggregate",X=a.FeeOption.Fast){let _=await G.createContractTxObject({abi:j5,contractAddress:L,funcName:N,funcParams:[f]});return G.sendTransaction({..._,feeOptionKey:X})}return{...G,multicall:y}}function Ly(T){return async function({provider:G,...y}){let{HDNodeWallet:f}=await import("ethers"),L=await a.getRPCUrl(T),N=G||await cy(T,L),X=sf(T),_=ST.match(y).with({phrase:ST.P.string},({phrase:B})=>f.fromPhrase(B).connect(N)).with({signer:ST.P.any},({signer:B})=>B).otherwise(()=>{return});return LT({chain:T,isEIP1559Compatible:X,provider:N,signer:_})}}var a,ST,Gf,Nf,Xf,_f,Zf,Jf,g5,Bf,qf,Qf,zf,Yf,Wf,UT,Hf,Mf,wf,If;var G0=E(()=>{o5();fT();xf();a=require("@uswap/helpers"),ST=require("ts-pattern");Gf=Ly(a.Chain.Arbitrum),Nf=Ly(a.Chain.Aurora),Xf=Ly(a.Chain.Avalanche),_f=Ly(a.Chain.Base),Zf=Ly(a.Chain.Berachain),Jf=Ly(a.Chain.BinanceSmartChain),g5=Ly(a.Chain.Botanix),Bf=Ly(a.Chain.Core),qf=Ly(a.Chain.Corn),Qf=Ly(a.Chain.Cronos),zf=Ly(a.Chain.Gnosis),Yf=Ly(a.Chain.Hyperevm),Wf=Ly(a.Chain.Polygon),UT=Ly(a.Chain.Sonic),Hf=Ly(a.Chain.Unichain),Mf=Ly(a.Chain.XLayer),wf=Ly(a.Chain.Monad),If=Ly(a.Chain.MegaETH)});var d5;var r5=E(()=>{d5=[{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 N0(T){return new Rf.Contract(d2,d5,T)}function a5(T){return async function(){let G=N0(T);if(G&&"l1BaseFee"in G)return await G?.l1BaseFee();return}}function s5(T){return async function({from:G,to:y,nonce:f,...L}){let{Transaction:N}=await import("ethers");if(!y)throw new g.USwapError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return N.from({...L,authorizationList:L.authorizationList,nonce:f?f:G?await T.getTransactionCount(G):0,to:y}).serialized}}function e5(T){return async function(G){let y=N0(T),f=await s5(T)(G);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function y1(T){return async function(G){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(G);return y.mul(f)}}function r2(T){return async function(G){let y=await e5(T)(G),f=await y1(T)(G);return y.add(f)}}function a2(T){return async function(G){let y=N0(T),f=await s5(T)(G);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}async function s2(T){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:y}=await T.getFeeData(),f=await a5(T)(),L=y;if(!(x&&G))throw new g.USwapError("toolbox_evm_no_fee_data");return{[g.FeeOption.Average]:{gasPrice:L,l1GasPrice:f,maxFeePerGas:x,maxPriorityFeePerGas:G},[g.FeeOption.Fast]:{gasPrice:g.applyFeeMultiplierToBigInt(L,g.FeeOption.Fast),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fast),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fast)},[g.FeeOption.Fastest]:{gasPrice:g.applyFeeMultiplierToBigInt(L,g.FeeOption.Fastest),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fastest),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fastest)}}}catch(x){throw new g.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}async function Cf({provider:T,...x}){let G=g.Chain.Optimism,y=await g.getRPCUrl(G),f=T||await cy(G,y),L=PT.match(x).with({phrase:PT.P.string},({phrase:_})=>Rf.HDNodeWallet.fromPhrase(_).connect(f)).with({signer:PT.P.any},({signer:_})=>_).otherwise(()=>{return}),N=LT({provider:f,signer:L}),X=a5(f);return{...N,estimateGasPrices:s2(f),estimateL1Gas:a2(f),estimateL1GasCost:e5(f),estimateL2GasCost:y1(f),estimateTotalGasCost:r2(f),getBalance:kT(g.Chain.Optimism).getBalance,getL1GasPrice:X}}var g,Rf,PT,d2="0x420000000000000000000000000000000000000f";var X0=E(()=>{ff();r5();fT();xf();g=require("@uswap/helpers"),Rf=require("ethers"),PT=require("ts-pattern")});var x1={};By(x1,{toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>GT,getTokenAddress:()=>XT,getEvmToolbox:()=>f1,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>NT,getCreateContractTxObject:()=>my,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,evmValidateAddress:()=>y0,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>UT,OPToolbox:()=>Cf,MONADToolbox:()=>wf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>zf,ETHToolbox:()=>Lf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>qf,COREToolbox:()=>Bf,BotanixToolbox:()=>g5,BaseEVMToolbox:()=>LT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Nf,ARBToolbox:()=>Gf});async function f1(T,x){let G={...x,provider:x?.provider||await cy(T)};return T1.match(T).returnType().with(e.Chain.Arbitrum,()=>Gf(G)).with(e.Chain.Aurora,()=>Nf(G)).with(e.Chain.Avalanche,()=>Xf(G)).with(e.Chain.Base,()=>_f(G)).with(e.Chain.Berachain,()=>Zf(G)).with(e.Chain.BinanceSmartChain,()=>Jf(G)).with(e.Chain.Botanix,()=>UT(G)).with(e.Chain.Core,()=>Bf(G)).with(e.Chain.Corn,()=>qf(G)).with(e.Chain.Cronos,()=>Qf(G)).with(e.Chain.Ethereum,()=>Lf(G)).with(e.Chain.Gnosis,()=>zf(G)).with(e.Chain.Hyperevm,()=>Yf(G)).with(e.Chain.Optimism,()=>Cf(G)).with(e.Chain.Polygon,()=>Wf(G)).with(e.Chain.Sonic,()=>UT(G)).with(e.Chain.Unichain,()=>Hf(G)).with(e.Chain.XLayer,()=>Mf(G)).with(e.Chain.Monad,()=>wf(G)).with(e.Chain.MegaETH,()=>If(G)).exhaustive()}var e,T1;var _0=E(()=>{fT();G0();X0();e=require("@uswap/helpers"),T1=require("ts-pattern");xf();G0();X0()});var L1;var G1=E(()=>{((G)=>{G.Test="goerli";G.Main="homestead"})(L1||={})});var N1={};By(N1,{toHexString:()=>KT,toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>GT,getTokenAddress:()=>XT,getProvider:()=>cy,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>f1,getEvmApi:()=>kT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>NT,getCreateContractTxObject:()=>my,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,evmValidateAddress:()=>y0,createCustomEvmApi:()=>V2,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>UT,OPToolbox:()=>Cf,MONADToolbox:()=>wf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>zf,EthNetwork:()=>L1,ETHToolbox:()=>Lf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>qf,COREToolbox:()=>Bf,BotanixToolbox:()=>g5,BaseEVMToolbox:()=>LT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Nf,ARBToolbox:()=>Gf});module.exports=Yy(N1);var X1=E(()=>{ff();fT();_0();G1()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),x="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function yx(T){try{let{MeshWallet:x}=await import("@meshsdk/core"),G=await Z0(),y=new x({fetcher:G,key:{address:T,type:"address"},networkId:1});await y.init();let f=await y.getBalance(),L=[];for(let N of f)if(N.unit===e2){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);L.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:N.quantity}))}else L.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${N.unit}`,value:N.quantity}));if(L.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return L}catch(x){let G=x instanceof Error?x.message:String(x);return console.error(`Cardano balance fetch error: ${G}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function _1(){let{deserializeAddress:T}=await import("@meshsdk/core");return(x)=>{try{return T(x),!0}catch{return!1}}}async function Tx(T){let x=await _1(),G=await lT.match(T).with({phrase:lT.P.string},async({phrase:B})=>{let{MeshWallet:q}=await import("@meshsdk/core"),J=await Z0(),Q=new q({fetcher:J,key:{type:"mnemonic",words:B.split(" ")},networkId:1,submitter:J});return await Q.init(),Q}).with({signer:lT.P.any},({signer:B})=>B).otherwise(()=>{return}),y=G&&"getChangeAddress"in G?await G.getChangeAddress():"";function f(){return y||""}function L(B){let q=B||f();if(!q)throw new yy.USwapError("core_wallet_connection_not_found");return yx(q)}function N(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:B,assetValue:q,memo:J}){if(!G||!("getChangeAddress"in G))throw new yy.USwapError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,z]=q.symbol.split("-");if(!q.isGasAsset&&!z)throw new yy.USwapError("core_wallet_connection_not_found");let M=new Q({initiator:G});if(M.sendAssets({address:B},[{quantity:q.getBaseValue("string"),unit:q.isGasAsset?"lovelace":q.symbol}]),J)M.setMetadata(0,J);let w=await M.build();return{tx:M,unsignedTx:w}}function _(B){if(!G||!("getChangeAddress"in G))throw new yy.USwapError("core_wallet_connection_not_found");return G.signTx(B)}async function Z({recipient:B,assetValue:q,memo:J}){if(!G||!("getChangeAddress"in G))throw new yy.USwapError("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:q,memo:J,recipient:B}),z=await _(Q);return await(await Z0()).submitTx(z)}return{createTransaction:X,estimateTransactionFee:N,getAddress:f,getBalance:L,signTransaction:_,transfer:Z,validateAddress:x}}var yy,lT,e2="lovelace";var Z1=E(()=>{yy=require("@uswap/helpers"),lT=require("ts-pattern")});var J0={};By(J0,{getCardanoToolbox:()=>Tx,getCardanoAddressValidator:()=>_1});module.exports=Yy(J0);var B0=E(()=>{Z1()});function vT(T){return vy.base64.encode(Uint8Array.from(vy.bech32.fromWords(vy.bech32.decode(T).words)))}function AT(T,x="thor"){return vy.bech32.encode(x,vy.bech32.toWords(vy.base64.decode(T)))}function fx(T){return Of.fromByteArray(T)}function xx(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new J1.USwapError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Of.toByteArray(T)}var vy,J1,Of;var q0=E(()=>{vy=require("@scure/base"),J1=require("@uswap/helpers"),Of=require("base64-js")});function Uy(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return Q1;case D.Chain.Noble:return z1;default:return q1}}async function Py(T){let x=await import("@cosmjs/stargate"),G=x.StargateClient??x.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return G.connect({headers:y,url:T})}async function ZT(T,x,G={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,L=y.GasPrice??y.default?.GasPrice,N=typeof G==="string"?G:"0.0003uatom",X=typeof G==="string"?{}:G;return f.connectWithSigner(T,x,{gasPrice:L.fromString(N),...X})}async function z0(T,x){let G=await import("@cosmjs/stargate");return(G.SigningStargateClient??G.default?.SigningStargateClient).offline(T,x)}async function Y0({sender:T,recipient:x,assetValue:G,memo:y="",feeRate:f,sequence:L,accountNumber:N}){let{chain:X,chainId:_}=G,Z=await D.getRPCUrl(X),q=await(await Py(Z)).getAccount(T);if(!q)throw new D.USwapError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),Q=Sy(J.symbol),z=Uy(X),M=Q&&f?{amount:[{amount:f.toString(),denom:Q}],gas:z.gas}:z,w={amount:[{amount:G.getBaseValue("string"),denom:Sy(G.symbol)}],fromAddress:T,toAddress:x};return{accountNumber:N??q.accountNumber,chainId:_,fee:M,memo:y,msgs:[{typeUrl:Lx(X),value:w}],sequence:L??q.sequence}}var D,Q0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",B1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",q1,Q1,z1,Sy=(T,x=!1)=>{if(x)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Q0;case"uYUM":case"YUM":return B1;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:x})=>{if(x===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(x===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Sy(T,!1)},Lx=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.USwapError("toolbox_cosmos_not_supported",{chain:T})}},Gx,W0=(T,x)=>{let G=Gx[T.toLowerCase()];if(!G)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:x});let{chain:y,asset:f,decimals:L}=G,N=y?{chain:y}:{asset:f};return D.AssetValue.from({...N,fromBaseDecimal:L,value:x})};var FT=E(()=>{D=require("@uswap/helpers"),q1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Q1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},z1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Gx={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[Q0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var Y1={};By(Y1,{$root:()=>C});var _y,A,My,K,C;var W1=E(()=>{_y=W(require("protobufjs/minimal.js")),A=_y.default.Reader,My=_y.default.Writer,K=_y.default.util,C=_y.default.roots.default||(_y.default.roots.default={});C.common=(()=>{let T={};return T.Asset=(()=>{function x(G){if(G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.chain="",x.prototype.symbol="",x.prototype.ticker="",x.prototype.synth=!1,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.Asset;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.chain=y.string();break;case 2:N.symbol=y.string();break;case 3:N.ticker=y.string();break;case 4:N.synth=y.bool();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof C.common.Asset)return y;let f=new C.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.defaults)L.chain="",L.symbol="",L.ticker="",L.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))L.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))L.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))L.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))L.synth=y.synth;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Coin=(()=>{function x(G){if(G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.asset=null,x.prototype.amount="",x.prototype.decimals=K.Long?K.Long.fromBits(0,0,!1):0,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))C.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.Coin;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.asset=C.common.Asset.decode(y,y.uint32());break;case 2:N.amount=y.string();break;case 3:N.decimals=y.int64();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=C.common.Asset.verify(y.asset);if(f)return"asset."+f}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},x.fromObject=function(y){if(y instanceof C.common.Coin)return y;let f=new C.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=C.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(K.Long)(f.decimals=K.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.defaults)if(L.asset=null,L.amount="",K.Long){let N=new K.Long(0,0,!1);L.decimals=f.longs===String?N.toString():f.longs===Number?N.toNumber():N}else L.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))L.asset=C.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))L.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")L.decimals=f.longs===String?String(y.decimals):y.decimals;else L.decimals=f.longs===String?K.Long.prototype.toString.call(y.decimals):f.longs===Number?new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.PubKeySet=(()=>{function x(G){if(G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.secp256k1="",x.prototype.ed25519="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.PubKeySet;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.secp256k1=y.string();break;case 2:N.ed25519=y.string();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof C.common.PubKeySet)return y;let f=new C.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.defaults)L.secp256k1="",L.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))L.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))L.ed25519=y.ed25519;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Tx=(()=>{function x(G){if(this.coins=[],this.gas=[],G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.id="",x.prototype.chain="",x.prototype.fromAddress="",x.prototype.toAddress="",x.prototype.coins=K.emptyArray,x.prototype.gas=K.emptyArray,x.prototype.memo="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let L=0;L<y.coins.length;++L)C.common.Coin.encode(y.coins[L],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let L=0;L<y.gas.length;++L)C.common.Coin.encode(y.gas[L],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.Tx;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.id=y.string();break;case 2:N.chain=y.string();break;case 3:N.fromAddress=y.string();break;case 4:N.toAddress=y.string();break;case 5:if(!N.coins?.length)N.coins=[];N.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 6:if(!N.gas?.length)N.gas=[];N.gas.push(C.common.Coin.decode(y,y.uint32()));break;case 7:N.memo=y.string();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let L=C.common.Coin.verify(y.coins[f]);if(L)return"coins."+L}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let L=C.common.Coin.verify(y.gas[f]);if(L)return"gas."+L}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!K.isString(y.memo))return"memo: string expected"}return null},x.fromObject=function(y){if(y instanceof C.common.Tx)return y;let f=new C.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[L]=C.common.Coin.fromObject(y.coins[L])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let L=0;L<y.gas.length;++L){if(typeof y.gas[L]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[L]=C.common.Coin.fromObject(y.gas[L])}}if(y.memo!=null)f.memo=String(y.memo);return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.arrays||f.defaults)L.coins=[],L.gas=[];if(f.defaults)L.id="",L.chain="",L.fromAddress="",L.toAddress="",L.memo="";if(y.id!=null&&y.hasOwnProperty("id"))L.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))L.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))L.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))L.toAddress=y.toAddress;if(y.coins?.length){L.coins=[];for(let N=0;N<y.coins.length;++N)L.coins[N]=C.common.Coin.toObject(y.coins[N],f)}if(y.gas?.length){L.gas=[];for(let N=0;N<y.gas.length;++N)L.gas[N]=C.common.Coin.toObject(y.gas[N],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))L.memo=y.memo;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Fee=(()=>{function x(G){if(this.coins=[],G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.poolDeduct="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let L=0;L<y.coins.length;++L)C.common.Coin.encode(y.coins[L],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.Fee;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:if(!N.coins?.length)N.coins=[];N.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:N.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let L=C.common.Coin.verify(y.coins[f]);if(L)return"coins."+L}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!K.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},x.fromObject=function(y){if(y instanceof C.common.Fee)return y;let f=new C.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[L]=C.common.Coin.fromObject(y.coins[L])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.arrays||f.defaults)L.coins=[];if(f.defaults)L.poolDeduct="";if(y.coins?.length){L.coins=[];for(let N=0;N<y.coins.length;++N)L.coins[N]=C.common.Coin.toObject(y.coins[N],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))L.poolDeduct=y.poolDeduct;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.ProtoUint=(()=>{function x(G){if(G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.value="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.common.ProtoUint;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.value=y.string();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof C.common.ProtoUint)return y;let f=new C.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.defaults)L.value="";if(y.value!=null&&y.hasOwnProperty("value"))L.value=y.value;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();C.types=(()=>{let T={};return T.MsgDeposit=(()=>{function x(G){if(this.coins=[],G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.memo="",x.prototype.signer=K.newBuffer([]),x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let L=0;L<y.coins.length;++L)C.common.Coin.encode(y.coins[L],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.types.MsgDeposit;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:if(!N.coins?.length)N.coins=[];N.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:N.memo=y.string();break;case 3:N.signer=y.bytes();break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let L=C.common.Coin.verify(y.coins[f]);if(L)return"coins."+L}}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},x.fromObject=function(y){if(y instanceof C.types.MsgDeposit)return y;let f=new C.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[L]=C.common.Coin.fromObject(y.coins[L])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")K.base64.decode(y.signer,f.signer=K.newBuffer(K.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.arrays||f.defaults)L.coins=[];if(f.defaults){if(L.memo="",f.bytes===String)L.signer="";else if(L.signer=[],f.bytes!==Array)L.signer=K.newBuffer(L.signer)}if(y.coins?.length){L.coins=[];for(let N=0;N<y.coins.length;++N)L.coins[N]=C.common.Coin.toObject(y.coins[N],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))L.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))L.signer=f.bytes===String?K.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.MsgSend=(()=>{function x(G){if(this.amount=[],G){for(let y=Object.keys(G),f=0;f<y.length;++f)if(G[y[f]]!=null)this[y[f]]=G[y[f]]}}return x.prototype.fromAddress=K.newBuffer([]),x.prototype.toAddress=K.newBuffer([]),x.prototype.amount=K.emptyArray,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let L=0;L<y.amount.length;++L)C.cosmos.base.v1beta1.Coin.encode(y.amount[L],f.uint32(26).fork()).ldelim();return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let L=f===void 0?y.len:y.pos+f,N=new C.types.MsgSend;while(y.pos<L){let X=y.uint32();switch(X>>>3){case 1:N.fromAddress=y.bytes();break;case 2:N.toAddress=y.bytes();break;case 3:if(!N.amount?.length)N.amount=[];N.amount.push(C.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return N},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.amount.length;++f){let L=C.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(L)return"amount."+L}}return null},x.fromObject=function(y){if(y instanceof C.types.MsgSend)return y;let f=new C.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")K.base64.decode(y.fromAddress,f.fromAddress=K.newBuffer(K.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")K.base64.decode(y.toAddress,f.toAddress=K.newBuffer(K.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let L=0;L<y.amount.length;++L){if(typeof y.amount[L]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[L]=C.cosmos.base.v1beta1.Coin.fromObject(y.amount[L])}}return f},x.toObject=function(y,f){if(!f)f={};let L={};if(f.arrays||f.defaults)L.amount=[];if(f.defaults){if(f.bytes===String)L.fromAddress="";else if(L.fromAddress=[],f.bytes!==Array)L.fromAddress=K.newBuffer(L.fromAddress);if(f.bytes===String)L.toAddress="";else if(L.toAddress=[],f.bytes!==Array)L.toAddress=K.newBuffer(L.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))L.fromAddress=f.bytes===String?K.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))L.toAddress=f.bytes===String?K.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){L.amount=[];for(let N=0;N<y.amount.length;++N)L.amount[N]=C.cosmos.base.v1beta1.Coin.toObject(y.amount[N],f)}return L},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();C.cosmos=(()=>{let T={};return T.base=(()=>{let x={};return x.v1beta1=(()=>{let G={};return G.Coin=(()=>{function y(f){if(f){for(let L=Object.keys(f),N=0;N<L.length;++N)if(f[L[N]]!=null)this[L[N]]=f[L[N]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(L){return new y(L)},y.encode=function(L,N){if(!N)N=My.create();if(L.denom!=null&&Object.hasOwnProperty.call(L,"denom"))N.uint32(10).string(L.denom);if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))N.uint32(18).string(L.amount);return N},y.encodeDelimited=function(L,N){return this.encode(L,N).ldelim()},y.decode=function(L,N){if(!(L instanceof A))L=A.create(L);let X=N===void 0?L.len:L.pos+N,_=new C.cosmos.base.v1beta1.Coin;while(L.pos<X){let Z=L.uint32();switch(Z>>>3){case 1:_.denom=L.string();break;case 2:_.amount=L.string();break;default:L.skipType(Z&7);break}}return _},y.decodeDelimited=function(L){if(!(L instanceof A))L=new A(L);return this.decode(L,L.uint32())},y.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.denom!=null&&L.hasOwnProperty("denom")){if(!K.isString(L.denom))return"denom: string expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!K.isString(L.amount))return"amount: string expected"}return null},y.fromObject=function(L){if(L instanceof C.cosmos.base.v1beta1.Coin)return L;let N=new C.cosmos.base.v1beta1.Coin;if(L.denom!=null)N.denom=String(L.denom);if(L.amount!=null)N.amount=String(L.amount);return N},y.toObject=function(L,N){if(!N)N={};let X={};if(N.defaults)X.denom="",X.amount="";if(L.denom!=null&&L.hasOwnProperty("denom"))X.denom=L.denom;if(L.amount!=null&&L.hasOwnProperty("amount"))X.amount=L.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),G.DecCoin=(()=>{function y(f){if(f){for(let L=Object.keys(f),N=0;N<L.length;++N)if(f[L[N]]!=null)this[L[N]]=f[L[N]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(L){return new y(L)},y.encode=function(L,N){if(!N)N=My.create();if(L.denom!=null&&Object.hasOwnProperty.call(L,"denom"))N.uint32(10).string(L.denom);if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))N.uint32(18).string(L.amount);return N},y.encodeDelimited=function(L,N){return this.encode(L,N).ldelim()},y.decode=function(L,N){if(!(L instanceof A))L=A.create(L);let X=N===void 0?L.len:L.pos+N,_=new C.cosmos.base.v1beta1.DecCoin;while(L.pos<X){let Z=L.uint32();switch(Z>>>3){case 1:_.denom=L.string();break;case 2:_.amount=L.string();break;default:L.skipType(Z&7);break}}return _},y.decodeDelimited=function(L){if(!(L instanceof A))L=new A(L);return this.decode(L,L.uint32())},y.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.denom!=null&&L.hasOwnProperty("denom")){if(!K.isString(L.denom))return"denom: string expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!K.isString(L.amount))return"amount: string expected"}return null},y.fromObject=function(L){if(L instanceof C.cosmos.base.v1beta1.DecCoin)return L;let N=new C.cosmos.base.v1beta1.DecCoin;if(L.denom!=null)N.denom=String(L.denom);if(L.amount!=null)N.amount=String(L.amount);return N},y.toObject=function(L,N){if(!N)N={};let X={};if(N.defaults)X.denom="",X.amount="";if(L.denom!=null&&L.hasOwnProperty("denom"))X.denom=L.denom;if(L.amount!=null&&L.hasOwnProperty("amount"))X.amount=L.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),G.IntProto=(()=>{function y(f){if(f){for(let L=Object.keys(f),N=0;N<L.length;++N)if(f[L[N]]!=null)this[L[N]]=f[L[N]]}}return y.prototype.int="",y.create=function(L){return new y(L)},y.encode=function(L,N){if(!N)N=My.create();if(L.int!=null&&Object.hasOwnProperty.call(L,"int"))N.uint32(10).string(L.int);return N},y.encodeDelimited=function(L,N){return this.encode(L,N).ldelim()},y.decode=function(L,N){if(!(L instanceof A))L=A.create(L);let X=N===void 0?L.len:L.pos+N,_=new C.cosmos.base.v1beta1.IntProto;while(L.pos<X){let Z=L.uint32();switch(Z>>>3){case 1:_.int=L.string();break;default:L.skipType(Z&7);break}}return _},y.decodeDelimited=function(L){if(!(L instanceof A))L=new A(L);return this.decode(L,L.uint32())},y.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.int!=null&&L.hasOwnProperty("int")){if(!K.isString(L.int))return"int: string expected"}return null},y.fromObject=function(L){if(L instanceof C.cosmos.base.v1beta1.IntProto)return L;let N=new C.cosmos.base.v1beta1.IntProto;if(L.int!=null)N.int=String(L.int);return N},y.toObject=function(L,N){if(!N)N={};let X={};if(N.defaults)X.int="";if(L.int!=null&&L.hasOwnProperty("int"))X.int=L.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),G.DecProto=(()=>{function y(f){if(f){for(let L=Object.keys(f),N=0;N<L.length;++N)if(f[L[N]]!=null)this[L[N]]=f[L[N]]}}return y.prototype.dec="",y.create=function(L){return new y(L)},y.encode=function(L,N){if(!N)N=My.create();if(L.dec!=null&&Object.hasOwnProperty.call(L,"dec"))N.uint32(10).string(L.dec);return N},y.encodeDelimited=function(L,N){return this.encode(L,N).ldelim()},y.decode=function(L,N){if(!(L instanceof A))L=A.create(L);let X=N===void 0?L.len:L.pos+N,_=new C.cosmos.base.v1beta1.DecProto;while(L.pos<X){let Z=L.uint32();switch(Z>>>3){case 1:_.dec=L.string();break;default:L.skipType(Z&7);break}}return _},y.decodeDelimited=function(L){if(!(L instanceof A))L=new A(L);return this.decode(L,L.uint32())},y.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.dec!=null&&L.hasOwnProperty("dec")){if(!K.isString(L.dec))return"dec: string expected"}return null},y.fromObject=function(L){if(L instanceof C.cosmos.base.v1beta1.DecProto)return L;let N=new C.cosmos.base.v1beta1.DecProto;if(L.dec!=null)N.dec=String(L.dec);return N},y.toObject=function(L,N){if(!N)N={};let X={};if(N.defaults)X.dec="";if(L.dec!=null&&L.hasOwnProperty("dec"))X.dec=L.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),G})(),x})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (W1(),Y1)),x=await import("@cosmjs/proto-signing"),G=x.Registry??x.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new G([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ay(T){let x=await import("@cosmjs/stargate"),G=x.AminoTypes??x.default?.AminoTypes,y=T===H1.Chain.THORChain?"thorchain":"mayachain";return new G({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...L})=>({...L,signer:vT(f)}),toAmino:({signer:f,...L})=>({...L,signer:AT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:L,...N})=>({...N,fromAddress:vT(f),toAddress:vT(L)}),toAmino:({fromAddress:f,toAddress:L,...N})=>({...N,from_address:AT(f),to_address:AT(L)})}})}var H1;var H0=E(()=>{q0();H1=require("@uswap/helpers")});function I0(T){return function(G){let{assetValue:y,recipient:f,memo:L,sender:N,asSignable:X,asAminoMessage:_}=G;if(f)return w1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:L,recipient:f,sender:N});return I1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:L,sender:N})}}function ny(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((x)=>{let G=wy.AssetValue.from({asset:x.asset}),y=(G.isSynthetic?G.symbol.split("/")?.[1]:G.symbol)?.toUpperCase(),f=(G.isSynthetic?G.symbol.split("/")?.[0]:G.chain)?.toUpperCase();return{...x,asset:{chain:f,symbol:y,synth:G.isSynthetic,ticker:G.ticker}}})}}}async function nT({chain:T,memo:x,msgs:G}){let y=await gy(),f=await Ay(T),L={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:x,messages:G.map((N)=>f.fromAmino(N))}};return y.encode(L)}var wy,Nx,Xx,M0=({sender:T,recipient:x,assetValue:G})=>{return{type:`${G.chain===wy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:G.getBaseValue("string"),denom:Sy(G.symbol,!0)}],from_address:T,to_address:x}}},w0=({sender:T,assetValue:x,memo:G=""})=>{return{type:`${x.chain===wy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:x.getBaseValue("string"),asset:_T(x)}],memo:G,signer:T}}},kf=({sender:T,recipient:x,assetValue:G,memo:y})=>{return!x?w0({assetValue:G,memo:y,sender:T}):M0({assetValue:G,recipient:x,sender:T})},Fy=async(T,x)=>{return(await Ay(x)).fromAmino(T)},M1=async({rpcUrl:T,sender:x})=>{let y=await(await Py(T)).getAccount(x);if(!y)throw new wy.USwapError("toolbox_cosmos_account_not_found",{sender:x});return y},w1=(T)=>async({sender:x,recipient:G,assetValue:y,memo:f="",asSignable:L=!0,asAminoMessage:N=!1,sequence:X,accountNumber:_})=>{let Z=await M1({rpcUrl:T,sender:x}),B=y.chain,{chainId:q}=wy.getChainConfig(B),J=M0({assetValue:y,recipient:G,sender:x}),Q=L?await Fy(N?J:ny(J),B):J;return{accountNumber:_||Z.accountNumber,chainId:q,fee:Uy(B),memo:f,msgs:[Q],sequence:X||Z.sequence}},I1=(T)=>async({sender:x,assetValue:G,memo:y="",asSignable:f=!0,asAminoMessage:L=!1,sequence:N,accountNumber:X})=>{let _=await M1({rpcUrl:T,sender:x}),Z=G.chain,{chainId:B}=wy.getChainConfig(Z),q=w0({assetValue:G,memo:y,sender:x}),J=f?await Fy(L?q:ny(q),Z):q;return{accountNumber:X||_.accountNumber,chainId:B,fee:Uy(Z),memo:y,msgs:[J],sequence:N||_.sequence}};var R1=E(()=>{FT();H0();wy=require("@uswap/helpers"),Nx=Uy(wy.Chain.THORChain).gas,Xx=Uy(wy.Chain.Maya).gas});var C1=()=>{};var O1=E(()=>{C1()});var R0=E(()=>{q0();R1();H0();O1()});async function E0(T,x){try{let y=(await K0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}async function k0({phrase:T,prefix:x,...G}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,L=await import("@cosmjs/crypto"),N=L.stringToPath??L.default?.stringToPath,X="derivationPath"in G?G.derivationPath:`${P.DerivationPath[G.chain]}/${G.index}`;return f.fromMnemonic(T,{hdPaths:[N(X)],prefix:x})}async function _x({privateKey:T,prefix:x}){let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(T,x)}function E1(T){return async function({signature:G,message:y,address:f}){let L=await T(f);if(!L?.pubkey)throw new P.USwapError("toolbox_cosmos_verify_signature_no_pubkey");let N=await import("@cosmjs/crypto"),X=N.Secp256k1Signature??N.default?.Secp256k1Signature,_=N.Secp256k1??N.default?.Secp256k1,Z=X.fromFixedLength(Vy.base64.decode(G));return _.verifySignature(Z,Vy.base64.decode(y),L.pubkey.value)}}async function $T({chain:T,...x}){let G=await P.getRPCUrl(T),y=P.CosmosChainPrefixes[T],f="index"in x?x.index||0:0,L=P.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[T],{index:f})),N=await VT.match(x).with({phrase:VT.P.string},({phrase:J})=>k0({derivationPath:L,phrase:J,prefix:y})).with({signer:VT.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await Py(G)).getAccount(J)}async function _(){let[J]=await N?.getAccounts()||[];return J?.address}async function Z(){let[J]=await N?.getAccounts()||[];if(!J?.pubkey)throw new P.USwapError("toolbox_cosmos_signer_not_defined");return Vy.base64.encode(J?.pubkey)}async function B({recipient:J,assetValue:Q,memo:z="",feeRate:M,feeOptionKey:w=P.FeeOption.Fast}){let I=await _();if(!(N&&I))throw new P.USwapError("toolbox_cosmos_signer_not_defined");let k=P.AssetValue.from({chain:T}),V=_T(k),F=M||k1((await O0(T,C0[T]))[w],V),u=await ZT(G,N),d=Sy(Q.symbol),Ny=Q.getBaseValue("string"),{TxRaw:Qy}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),v={amount:[{amount:Ny,denom:d}],fromAddress:I,toAddress:J},n=await u.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:v}],F,z),Y=Qy.encode(n).finish();return Buffer.from(Y).toString("hex")}async function q({recipient:J,assetValue:Q,memo:z="",feeRate:M,feeOptionKey:w=P.FeeOption.Fast,dryRun:I=!1}){if(I)return B({assetValue:Q,feeOptionKey:w,feeRate:M,memo:z,recipient:J});let k=await _();if(!(N&&k))throw new P.USwapError("toolbox_cosmos_signer_not_defined");let V=P.AssetValue.from({chain:T}),F=_T(V),u=M||k1((await O0(T,C0[T]))[w],F),d=await ZT(G,N),Ny=Sy(Q.symbol),Qy=[{amount:Q.getBaseValue("string"),denom:Ny}],{transactionHash:v}=await d.sendTokens(k,J,Qy,u,z);return v}return{createPrivateKeyFromPhrase:qx(L),createTransaction:Y0,fetchFeeRateFromSwapKit:E0,getAccount:X,getAddress:_,getBalance:async(J,Q)=>{let z=await K1(G)(J),M=await Promise.all(z.filter(({denom:w})=>w&&!w.includes("IBC/")).map(({denom:w,amount:I})=>{let k=[P.Chain.THORChain,P.Chain.Maya].includes(T)&&(w.includes("/")||w.includes("˜"))?`${T}.${w}`:w;return W0(k,I)}));if(M.length===0)return[P.AssetValue.from({chain:T})];return M},getBalanceAsDenoms:K1(G),getFees:()=>O0(T,C0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:Q})=>k0({derivationPath:P.derivationPathToString(Q),index:f,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:B,transfer:q,validateAddress:D1(T),verifySignature:E1(X)}}async function Zx(T,x){try{let y=(await K0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}function Jx({assetValue:{chain:T}}){return P.AssetValue.from({chain:T,value:Bx(T)})}async function O0(T,x){let{chainId:G,baseDecimal:y}=P.getChainConfig(T),f=await E0(G,x);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),y),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),y),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),y)}}function k1(T,x){return{amount:[{amount:T.getBaseValue("string"),denom:x}],gas:"200000"}}function Bx(T){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[T]||0}function D1(T){let x=P.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(x))return!1;try{let{prefix:f,words:L}=Vy.bech32.decode(y);return Vy.bech32.encode(f,L)===y.toLocaleLowerCase()}catch{return!1}}}function K1(T){return async function(G){return(await(await Py(T)).getAllBalances(G)).map((N)=>({...N,denom:N.denom.includes("/")?N.denom.toUpperCase():N.denom}))}}function qx(T){return async function(G){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,L=y.Slip10Curve??y.default?.Slip10Curve,N=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(G),B=await _.mnemonicToSeed(Z),{privkey:q}=N.derivePath(L.Secp256k1,B,f(T));return q}}var Vy,P,K0,VT,C0;var Kf=E(()=>{FT();Vy=require("@scure/base"),P=require("@uswap/helpers"),K0=require("@uswap/helpers/api"),VT=require("ts-pattern");C0={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function Qx({prefix:T,derivationPath:x}){return async function(y,f=0){let L=await import("@cosmjs/amino"),N=L.Secp256k1HdWallet??L.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return N.fromMnemonic(y,{hdPaths:[_(`${x}/${f}`)],prefix:T})}}function zx(T){return $y.base64.encode(T)}function Yx(T){return async function({wallet:G,tx:y}){let{msgs:f,accountNumber:L,sequence:N,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,B=(await G.getAccounts())?.[0]?.address||"",q=await Ay(T),J=await gy(),Q=await z0(G,{aminoTypes:q,registry:J}),z=[];for(let I of f){let k=await Fy(I,T);z.push(k)}let{signatures:[M]}=await Q.sign(B,z,_,Z,{accountNumber:L,chainId:X,sequence:N});return{bodyBytes:await nT({chain:T,memo:Z,msgs:f.map(ny)}),signature:zx(M)}}}function Wx({prefix:T,rpcUrl:x}){return async function(y,f,L,N,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:J}=JSON.parse(y),Q=await S1(L,N),z=f.map((I)=>[Z(_($y.base64.decode(I.pubKey)),T),$y.base64.decode(I.signature)]),M=await Py(x),{transactionHash:w}=await M.broadcastTx(B(Q,q,J,X,new Map(z)));return w}}async function S1(T,x,G=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((L)=>f($y.base64.decode(L))),x,G)}function Hx(T){return $y.base64.decode(T)}async function Mx({privateKey:T,message:x}){let{Secp256k1:G}=(await import("@cosmjs/crypto")).default,y=await G.createSignature($y.base64.decode(x),T);return $y.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...x}){let G=await m.getRPCUrl(T),{nodeUrl:y}=m.getChainConfig(T),{isStagenet:f}=m.SKConfig.get("envs"),L=T===m.Chain.THORChain,N=`${f?"s":""}${m.CosmosChainPrefixes[T]}`,X="index"in x?x.index||0:0,_="derivationPath"in x&&x.derivationPath?x.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:X}),Z=await $T({chain:T,...x}),B=await uT.match(x).with({phrase:uT.P.string},({phrase:z})=>Z.getSignerFromPhrase({derivationPath:_,phrase:z})).with({signer:uT.P.any},({signer:z})=>z).otherwise(()=>{return}),q=Uy(T);async function J(){let z,M=`${y}/${L?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:w}}=await m.RequestClient.get(M);if(!w||Number.isNaN(w)||w<0)throw new m.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});z=new m.SwapKitNumber(w)}catch{z=new m.SwapKitNumber({decimal:m.getChainConfig(T).baseDecimal,value:L?0.02:1})}return{[m.FeeOption.Average]:z,[m.FeeOption.Fast]:z,[m.FeeOption.Fastest]:z}}async function Q({assetValue:z,memo:M="",recipient:w}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),k=(await B?.getAccounts())?.[0]?.address;if(!(k&&B))throw new m.USwapError("toolbox_cosmos_no_signer");let V="signAmino"in B,F=await gy(),u=await Ay(T),d=await ZT(G,B,{aminoTypes:u,registry:F}),Ny=kf({assetValue:z,memo:M,recipient:w,sender:k});if(V){let Y=await Fy(Ny,T),{signatures:R,authInfoBytes:O}=await d.sign(k,[Y],q,M),$=I.encode({authInfoBytes:O,bodyBytes:await nT({chain:T,memo:M,msgs:[Ny].map(ny)}),signatures:R}).finish();return(await d.broadcastTx($)).transactionHash}let Qy=ny(Ny),v=await Fy(Qy,T);return(await d.signAndBroadcast(k,[v],q,M)).transactionHash}return{...Z,broadcastMultisigTx:Wx({prefix:N,rpcUrl:G}),buildAminoMsg:kf,buildEncodedTxBody:nT,convertToSignable:Fy,createDefaultAminoTypes:()=>Ay(T),createDefaultRegistry:gy,createMultisig:S1,createTransaction:I0(G),deposit:Q,getFees:J,importSignature:Hx,parseAminoMessageForDirectSigning:ny,pubkeyToAddress:async(z)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(z,N)},secp256k1HdWalletFromMnemonic:Qx({derivationPath:m.derivationPathToString(_),prefix:N}),signMultisigTx:Yx(T),signWithPrivateKey:Mx,transfer:Q}}var $y,m,uT;var S0=E(()=>{R0();FT();Kf();$y=require("@scure/base"),m=require("@uswap/helpers"),uT=require("ts-pattern")});var uy,wx=(T,x)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return $T({chain:T,...x});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...x});default:throw new uy.USwapError("toolbox_cosmos_not_supported",{chain:T})}};var U1=E(()=>{Kf();S0();uy=require("@uswap/helpers");Kf();S0()});var Ef={};By(Ef,{verifySignature:()=>E1,transferMsgAmino:()=>M0,toBase64:()=>fx,parseAminoMessageForDirectSigning:()=>ny,getSignerFromPrivateKey:()=>_x,getSignerFromPhrase:()=>k0,getMsgSendDenom:()=>Sy,getFeeRateFromSwapKit:()=>Zx,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Uy,getCreateTransaction:()=>I0,getCosmosValidateAddress:()=>D1,getCosmosToolbox:()=>wx,getAssetFromDenom:()=>W0,fromBase64:()=>xx,fetchFeeRateFromSwapKit:()=>E0,estimateTransactionFee:()=>Jx,depositMsgAmino:()=>w0,createThorchainToolbox:()=>D0,createStargateClient:()=>Py,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>z0,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>Ay,createCosmosToolbox:()=>$T,cosmosCreateTransaction:()=>Y0,convertToSignable:()=>Fy,buildTransferTx:()=>w1,buildEncodedTxBody:()=>nT,buildDepositTx:()=>I1,buildAminoMsg:()=>kf,bech32ToBase64:()=>vT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>B1,USK_KUJIRA_FACTORY_DENOM:()=>Q0,THORCHAIN_GAS_VALUE:()=>Nx,MAYA_GAS_VALUE:()=>Xx,DEFAULT_NOBLE_FEE_MAINNET:()=>z1,DEFAULT_KUJI_FEE_MAINNET:()=>Q1,DEFAULT_COSMOS_FEE_MAINNET:()=>q1});module.exports=Yy(Ef);var Df=E(()=>{R0();U1();FT()});async function l1(T){let x=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(x.symbol!=="UNKNOWN")return{decimals:x.decimal||0,id:T,logoURI:x.getIconUrl(),name:x.symbol,symbol:x.ticker};let G=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(G);if(!y.ok)return null;let f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((N)=>N.id===T)||null}catch{return null}}async function Ix(T){let x=await dy(),{PublicKey:G}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new G(T),{baseDecimal:L}=j.getChainConfig(j.Chain.Solana),N=await x.getBalance(f),X=[j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:L,value:N||0})],_=await x.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:Z}of _.value){let B=Z.data.parsed.info,q=B.mint,J=B.tokenAmount.amount;if(Number(J)===0)continue;let Q=await l1(q),z=Q?.symbol||"UNKNOWN",M=Q?.decimals||B.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${z}-${q}`,fromBaseDecimal:M,value:J}))}return X}async function l0(){let{PublicKey:T}=await import("@solana/web3.js");return(x)=>{try{let G=new T(x);return T.isOnCurve(G.toBytes())}catch{return!1}}}async function Rx(T){let x=T&&"index"in T?T.index||0:0,G=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:x})),y=await bT.match(T).with({phrase:bT.P.string},({phrase:N})=>P0({derivationPath:G,phrase:N})).with({signer:bT.P.any},({signer:N})=>N).otherwise(()=>{return});function f(){return y?.publicKey?P1(y.publicKey):""}function L(N){let X=N||f();if(!X)throw new j.USwapError("core_wallet_connection_not_found");return Ix(X)}return{broadcastTransaction:U0(dy),createKeysForPath:P0,createTransaction:v0(dy),createTransactionFromInstructions:Kx,estimateTransactionFee:Cx(dy),getAddress:f,getAddressFromPubKey:P1,getAddressValidator:l0,getBalance:L,getConnection:dy,getPubkeyFromAddress:A0,signTransaction:Dx(dy,y),transfer:Ex(dy,y)}}function Cx(T){return async({recipient:x,assetValue:G,memo:y,isProgramDerivedAddress:f,sender:L})=>{let N=await T(),_=(await v0(T)({assetValue:G,isProgramDerivedAddress:f,memo:y,recipient:x,sender:L})).compileMessage(),Z=await N.getFeeForMessage(_);if(Z.value===null)throw new j.USwapError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:B}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:B,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),x=await j.getRPCUrl(j.Chain.Solana);return new T(x,"confirmed")}function Ox(T){return async({assetValue:x,recipient:G,sender:y,isProgramDerivedAddress:f})=>{let L=await T(),N=await A0(y);if(x.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:N,lamports:x.getBaseValue("number"),toPubkey:new Z(G)}))}if(x.address)return kx({amount:x.getBaseValue("number"),connection:L,decimals:x.decimal,from:N,isProgramDerivedAddress:f,recipient:G,tokenAddress:x.address});return}}async function kx({tokenAddress:T,recipient:x,from:G,connection:y,amount:f,decimals:L,isProgramDerivedAddress:N}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:q,PublicKey:J}=await import("@solana/web3.js"),Q=new q,z=new J(T),M=await X(z,G),w=new J(x),I=await X(z,w,N),k=!1;try{await _(y,I),k=!0}catch{}if(!k)Q.add(Z(G,I,w,z));return Q.add(B(M,z,I,G,f,L)),Q}function v0(T){return async({recipient:x,assetValue:G,memo:y,isProgramDerivedAddress:f,sender:L})=>{let{createMemoInstruction:N}=await import("@solana/spl-memo"),X=await A0(L),_=await l0();if(!(f||_(x)))throw new j.USwapError("core_transaction_invalid_recipient_address");let Z=await T(),B=await Ox(T)({assetValue:G,isProgramDerivedAddress:f,recipient:x,sender:L});if(!B)throw new j.USwapError("core_transaction_invalid_sender_address");if(y)B.add(N(y));let q=await Z.getLatestBlockhash();return B.recentBlockhash=q.blockhash,B.feePayer=X,B}}async function Kx({instructions:T}){let{Transaction:x}=await import("@solana/web3.js"),G=new x().add(...T);if(!G)throw new j.USwapError("core_transaction_invalid_sender_address");return G}function Ex(T,x){return async({recipient:G,assetValue:y,memo:f,isProgramDerivedAddress:L})=>{if(!x)throw new j.USwapError("core_transaction_invalid_sender_address");let N=x.publicKey?.toString()??(await x.connect()).publicKey.toString(),X=await v0(T)({assetValue:y,isProgramDerivedAddress:L,memo:f,recipient:G,sender:N});if("signTransaction"in x){let _=await x.signTransaction(X);return U0(T)(_)}return X.sign(x),U0(T)(X)}}function U0(T){return async(x)=>{return(await T()).sendRawTransaction(x.serialize())}}function Dx(T,x){return async(G)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!x)throw new j.USwapError("toolbox_solana_no_signer");if(!(G instanceof y)){let L=await(await T()).getLatestBlockhash();G.recentBlockhash=L.blockhash,G.feePayer=x.publicKey||void 0}if("connect"in x)return await x.signTransaction(G);return await G.sign([x]),G}}async function P0({phrase:T,derivationPath:x=j.DerivationPath.SOL}){let{HDKey:G}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),L=y(T),N=G.fromMasterSeed(L);return f.fromSeed(N.derive(x,!0).privateKey)}function P1(T){return T.toString()}async function A0(T){let{PublicKey:x}=await import("@solana/web3.js");return new x(T)}var j,bT;var v1=E(()=>{j=require("@uswap/helpers"),bT=require("ts-pattern")});var F0={};By(F0,{getSolanaToolbox:()=>Rx,getSolanaAddressValidator:()=>l0,fetchTokenMetaData:()=>l1,createKeysForPath:()=>P0});module.exports=Yy(F0);var n0=E(()=>{v1()});async function A1(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(G){try{return T(G)}catch{return!1}}}async function Sx({provider:T,...x}={}){let G=await A1(),y=await jT.match(x).with({phrase:jT.P.string},async({phrase:q})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(q)}).with({signer:jT.P.any},({signer:q})=>q).otherwise(()=>{return});async function f(q=T){let{SuiClient:J,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new J({url:q||Q("mainnet")})}function L(){return y?.toSuiAddress()||""}async function N(q){let J=q||L();if(!J)throw new fy.USwapError("toolbox_sui_address_required");let{baseDecimal:Q,chain:z}=fy.getChainConfig(fy.Chain.Sui);try{let M=await f(),{totalBalance:w}=await M.getBalance({owner:J}),I=[fy.AssetValue.from({chain:z,fromBaseDecimal:Q,value:w})],k=await M.getAllBalances({owner:J});for(let{coinType:V,totalBalance:F}of k){if(V==="0x2::sui::SUI")continue;if(Number(F)>0){let u=V.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${z}.${u}-${V}`;I.push(fy.AssetValue.from({asset:d,fromBaseDecimal:Q,value:F}))}}return I}catch{return[fy.AssetValue.from({chain:z})]}}async function X(q){let J=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!q)return J;try{let Q=await f(),{txBytes:z}=await _(q),{effects:{status:M,gasUsed:w}}=await Q.dryRunTransactionBlock({transactionBlock:z});if(M.status!=="success")return J;let I=Number(w.computationCost)+Number(w.storageCost)-Number(w.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:q,assetValue:J,gasBudget:Q,sender:z}){let{Transaction:M}=await import("@mysten/sui/transactions"),w=z||L();if(!w)throw new fy.USwapError("toolbox_sui_no_sender");try{let I=new M;if(I.setSender(w),J.isGasAsset||J.symbol==="SUI"){let[F]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([F],q)}else throw new fy.USwapError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)I.setGasBudget(Q);let k=await f(),V=await I.build({client:k});return{tx:I,txBytes:V}}catch(I){throw new fy.USwapError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(q){if(!y)throw new fy.USwapError("toolbox_sui_no_signer");if(q instanceof Uint8Array)return y.signTransaction(q);let{txBytes:J}="tx"in q?q:await _(q);return y.signTransaction(J)}async function B({assetValue:q,gasBudget:J,recipient:Q}){if(!y)throw new fy.USwapError("toolbox_sui_no_signer");let z=y.toSuiAddress()||L();if(!z)throw new fy.USwapError("toolbox_sui_no_sender");let{txBytes:M}=await _({assetValue:q,gasBudget:J,recipient:Q,sender:z}),w=await f(),{digest:I}=await w.signAndExecuteTransaction({signer:y,transaction:M});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:L,getBalance:N,signTransaction:Z,transfer:B,validateAddress:G}}var fy,jT;var F1=E(()=>{fy=require("@uswap/helpers"),jT=require("ts-pattern")});var Sf={};By(Sf,{getSuiToolbox:()=>Sx,getSuiAddressValidator:()=>A1});module.exports=Yy(Sf);var Uf=E(()=>{F1()});async function Ux(T={}){let{mnemonicToWalletKey:x}=await import("@ton/crypto"),{Address:G,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),L=await n1(),N,X,_=await oT.match(T).with({phrase:oT.P.string},async({phrase:I})=>x(I.split(" "))).with({signer:oT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=Ty.getChainConfig(Ty.Chain.Ton),[k]=I;if(!N||N.parameters.endpoint!==k)N=new y({endpoint:k});return N}function B(I){if(!X||I){let k=Z(),V=I||_;if(!V)throw new Ty.USwapError("core_wallet_connection_not_found");let F=f.create({publicKey:V.publicKey,workchain:0});X=k.open(F)}return X}async function q(I){let k=Z(),{baseDecimal:V}=Ty.getChainConfig(Ty.Chain.Ton);try{let F=await k.getBalance(G.parse(I));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.SwapKitNumber.fromBigInt(F,V)})]}catch{return[Ty.AssetValue.from({chain:Ty.Chain.Ton})]}}async function J({assetValue:I,recipient:k,memo:V}){let F=B();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:Ny}=await import("@ton/ton"),Qy=await F.getSeqno(),v=u(I.getValue("string")),n=V?d(V):void 0;return F.createTransfer({messages:[Ny({body:n,to:k,value:v})],secretKey:_.secretKey,seqno:Qy})}async function Q({assetValue:I,recipient:k,memo:V}){let F=B();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let u=await J({assetValue:I,memo:V,recipient:k});return await F.send(u),u.hash().toString()}async function z(I){let k=B();if(!k)throw new Ty.USwapError("core_wallet_connection_not_found");try{return await k.send(I),I.hash().toString("hex")}catch(V){throw new Ty.USwapError("core_wallet_connection_not_found",{error:V})}}function M(){return B().address.toString()}function w(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:w,getAddress:M,getBalance:q,sendTransaction:z,transfer:Q,validateAddress:L}}async function n1(){let{Address:T}=await import("@ton/ton");return function(G){try{return T.parse(G),!0}catch{return!1}}}var Ty,oT;var V1=E(()=>{Ty=require("@uswap/helpers"),oT=require("ts-pattern")});var Pf={};By(Pf,{getTONToolbox:()=>Ux,getTONAddressValidator:()=>n1});module.exports=Yy(Pf);var lf=E(()=>{V1()});var JT;var V0=E(()=>{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 u1(T){let x=await import("tronweb"),G=x.TronWeb??x.default?.TronWeb;try{let y=await fetch(`${Px}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.data.length===0)throw Error("Invalid response from TronGrid API");let L;try{L=G.address.toHex(T).toLowerCase()}catch{L=T.toLowerCase()}let N=f.data.find((X)=>{return X.address.toLowerCase()===L});if(!N)return;return{balance:N.balance,trc20:N.trc20||[]}}catch(y){throw new $1.USwapError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var $1,Px="https://api.trongrid.io";var b1=E(()=>{$1=require("@uswap/helpers")});async function $0(){let T=await import("tronweb"),x=T.TronWeb??T.default?.TronWeb;return(G)=>{return x.isAddress(G)}}async function o1({phrase:T,derivationPath:x,index:G}){let y=x||U.derivationPathToString(U.updateDerivationPath(U.NetworkDerivationPath[U.Chain.Tron],{index:G||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),N=L(T),_=f.fromMasterSeed(N).derive(y);if(!_.privateKey)throw new U.USwapError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function nx({phrase:T,derivationPath:x,tronWeb:G}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),L=f(T),X=y.fromMasterSeed(L).derive(x);if(!X.privateKey)throw new U.USwapError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");G.setPrivateKey(_);let Z=G?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(B)=>{return await G.trx.sign(B,_)}}}var U,hT,lx=268,vx=13000,Ax=345,j1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fx="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",h1=async(T={})=>{let x=await import("tronweb"),G=x.TronWeb??x.default?.TronWeb,y=await U.getRPCUrl(U.Chain.Tron),f=void 0,L=new G({fullHost:y,headers:void 0}),N="index"in T?T.index||0:0,X=U.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:U.updateDerivationPath(U.NetworkDerivationPath[U.Chain.Tron],{index:N})),_=await hT.match(T).with({phrase:hT.P.string},async({phrase:v})=>nx({derivationPath:X,phrase:v,tronWeb:L})).with({signer:hT.P.any},({signer:v})=>Promise.resolve(v)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");return await _.getAddress()},B=()=>{return 1e8},q=async()=>{try{let v=await L.trx.getChainParameters(),n={};for(let Y of v)n[Y.key]=Y.value;return{bandwidthFee:n.getTransactionFee||1000,createAccountFee:n.getCreateAccountFee||1e5,energyFee:n.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(v)=>{try{let n=await L.trx.getAccount(v);return n&&Object.keys(n).length>0}catch{return!1}},Q=async(v)=>{try{let n=await L.trx.getAccountResources(v);return{bandwidth:{free:n.freeNetLimit-n.freeNetUsed,total:n.NetLimit||0,used:n.NetUsed||0},energy:{total:n.EnergyLimit||0,used:n.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},z=async(v,n)=>{try{let Y=L.contract(JT,n);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 ${n}: ${R}`),0n}},M=async(v,n)=>{try{L.setAddress(n);let Y=L.contract(JT,v),[R,O]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:R??"UNKNOWN"}}catch(Y){return U.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}},w=async(v,n=!0)=>{let Y=[U.AssetValue.from({chain:U.Chain.Tron})];try{let R=await u1(v);if(R){let O=[];O.push(U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let $ of R.trc20){let[p,h]=Object.entries($)[0]||[];if(!(p&&h))continue;let o=await M(p,v);if(!o)continue;O.push(U.AssetValue.from({asset:`TRON.${o.symbol}-${p}`,fromBaseDecimal:o.decimals,value:BigInt(h||0)}))}return O}return Y}catch(R){U.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let O=[],$=await L.trx.getBalance(v);if($&&Number($)>0)O.push(U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:6,value:$}));let p=await z(v,j1);if(p)O.push(U.AssetValue.from({asset:`TRON.USDT-${j1}`,fromBaseDecimal:6,value:p}));if(O.length===0)return Y;return O}catch(O){let $=O instanceof Error?O.message:String(O);return console.error(`Tron balance fetch failed: ${$}`),Y}}},I=async({recipient:v,assetValue:n,memo:Y,expiration:R})=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");let O=await Z();L.setAddress(O);let $=await V({assetValue:n,expiration:R,memo:Y,recipient:v,sender:O}),p=await _.signTransaction($),{txid:h}=await L.trx.sendRawTransaction(p);if(!h)throw new U.USwapError("toolbox_tron_token_transfer_failed");return h},k=async({assetValue:v,recipient:n,sender:Y})=>{let R=v.isGasAsset;try{let O=Y?Y:_?await Z():void 0;if(!O)return R?U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:0,value:0.1}):U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:0,value:15});let $=await q(),h=await J(n)?0:$.createAccountFee,o=await Q(O);if(R){let ty=lx,eT=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),yf=0;if(ty>eT)yf=(ty-eT)*$.bandwidthFee;let Tf=h+yf;return U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:U.BaseDecimal.TRON,value:Tf})}let r=Ax,Xy=vx,qy=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),zy=o.energy.total-o.energy.used,py=0;if(r>qy)py=(r-qy)*$.bandwidthFee;let sT=0;if(Xy>zy)sT=(Xy-zy)*$.energyFee;let df=h+py+sT;return U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:U.BaseDecimal.TRON,value:df})}catch(O){throw U.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new U.USwapError("toolbox_tron_fee_estimation_failed",{error:O})}},V=async(v)=>{let{recipient:n,assetValue:Y,memo:R,sender:O,expiration:$}=v,p=Y.isGasAsset,h=async({transaction:r,memo:Xy,expiration:qy})=>{let zy=Xy?await L.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return qy?await L.transactionBuilder.extendExpiration(zy,qy):zy};if(p){let r=await L.transactionBuilder.sendTrx(n,Y.getBaseValue("number"),O);return h({expiration:$,memo:R,transaction:r})}L.setAddress(O);let o=Y.address;if(!o)throw new U.USwapError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let Xy=[{type:"address",value:n},{type:"uint256",value:Y.getBaseValue("string")}],qy={callValue:0,feeLimit:B()},{transaction:zy}=await L.transactionBuilder.triggerSmartContract(o,"transfer(address,uint256)",qy,Xy,O);return h({expiration:$,memo:R,transaction:zy})}catch(r){throw new U.USwapError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},F=async(v)=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");return await _.signTransaction(v)},u=async(v)=>{let{txid:n}=await L.trx.sendRawTransaction(v);return n},d=async({assetAddress:v,spenderAddress:n,from:Y})=>{try{let R=L.contract(JT,v);if(!R.methods?.allowance)throw new U.USwapError("toolbox_tron_invalid_token_contract");let[O]=await R.methods.allowance(Y,n).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(R){throw new U.USwapError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:v,spenderAddress:n,amount:Y,from:R})=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");let O=R||await Z(),$=Y!==void 0?BigInt(Y).toString():Fx,p="approve(address,uint256)",h=[{type:"address",value:n},{type:"uint256",value:$}],r={callValue:0,feeLimit:B()};try{let{transaction:Xy}=await L.transactionBuilder.triggerSmartContract(v,p,r,h,O),qy=await _.signTransaction(Xy),{txid:zy}=await L.trx.sendRawTransaction(qy);if(!zy)throw new U.USwapError("toolbox_tron_approve_failed");return zy}catch(Xy){throw new U.USwapError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:V,estimateTransactionFee:k,getAddress:Z,getApprovedAmount:d,getBalance:w,isApproved:async({assetAddress:v,spenderAddress:n,from:Y,amount:R})=>{let O=await d({assetAddress:v,from:Y,spenderAddress:n});if(!R)return O>0n;let $=BigInt(R);return O>=$},signTransaction:F,transfer:I,tronWeb:L,validateAddress:await $0()}};var p1=E(()=>{V0();b1();U=require("@uswap/helpers"),hT=require("ts-pattern")});var u0={};By(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>o1,getTronAddressValidator:()=>$0,createTronToolbox:()=>h1});module.exports=Yy(u0);var b0=E(()=>{V0();p1()});async function Vx({chain:T,txHash:x}){let G=`${vf(T)}/push/transaction`,y=JSON.stringify({data:x});try{let f=await b.RequestClient.post(G,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||x}catch(f){let L=await b.getRPCUrl(T);if(L){let N=JSON.stringify({id:u5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[x]}),X=await b.RequestClient.post(L,{body:N,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.USwapError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw f}}function vf(T){return`https://api.blockchair.com/${$x(T)}`}function t1(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function $x(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function ux(T){try{let{feePerKb:x}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),G=x/1000;return Math.max(G,t1(T))}catch{return t1(T)}}async function j0(T,x){let G=await b.RequestClient.get(`${T}${x?`${T.includes("?")?"&":"?"}key=${x}`:""}`);if(!G||G.context.code!==200)throw new b.USwapError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return G.data}async function g1({address:T,chain:x,apiKey:G}){if(!T)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${vf(x)}/dashboards/address/${T}?transaction_details=true`,G))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function bx({address:T,chain:x,apiKey:G}){return(await g1({address:T,apiKey:G,chain:x}))?.address.balance||0}async function d1({chain:T,apiKey:x,txHash:G}){if(!G)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${vf(T)}/raw/transaction/${G}`,x))?.[G]?.raw_transaction||""}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function jx({chain:T,address:x,apiKey:G,offset:y=0,limit:f=30}){return(await j0(`${vf(T)}/outputs?q=recipient(${x}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${y}`,G)).map(({is_spent:_,script_hex:Z,block_id:B,transaction_hash:q,index:J,value:Q,spending_signature_hex:z})=>({hash:q,index:J,is_confirmed:B!==-1,is_spent:_,script_hex:Z,txHex:z,value:Q}))}function ox(T){return T.reduce((x,G)=>x+G.value,0)}function c1(T,x){let G=[...T].sort((y,f)=>f.value-y.value);if(x){let y=[],f=0;for(let L of G)if(y.push(L),f+=L.value,f>=x)break;return y}return G}async function r1({chain:T,address:x,apiKey:G,targetValue:y,accumulativeValue:f=0,offset:L=0,limit:N=30}){if(!x)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await jx({address:x,apiKey:G,chain:T,limit:N,offset:L,targetValue:y}),Z=X.length<N,B=X.filter(({is_spent:w})=>!w),q=ox(B),J=f+q,Q=y&&J>=y;if(Z||Q)return c1(B,y);let z=await r1({accumulativeValue:J,address:x,apiKey:G,chain:T,limit:N,offset:L+N,targetValue:y}),M=[...B,...z];return c1(M,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function hx({address:T,chain:x,apiKey:G,fetchTxHex:y=!0,targetValue:f}){let L=await r1({address:T,apiKey:G,chain:x,targetValue:f}),N=[];for(let{hash:X,index:_,script_hex:Z,value:B}of L){let q;if(y)q=await d1({apiKey:G,chain:x,txHash:X});N.push({address:T,hash:X,index:_,txHex:q,value:B,witnessUtxo:{script:Buffer.from(Z,"hex"),value:B}})}return N}function Hy(T){let x=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!x,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>Vx({chain:T,txHash:G}),getAddressData:(G)=>g1({address:G,apiKey:x,chain:T}),getBalance:(G)=>bx({address:G,apiKey:x,chain:T}),getRawTx:(G)=>d1({apiKey:x,chain:T,txHash:G}),getSuggestedTxFee:()=>ux(T),getUtxos:(G)=>hx({...G,apiKey:x,chain:T})}}function px(T){return T}function Oy(){return function(x){switch(x){case b.Chain.Bitcoin:return i1.networks.bitcoin;case b.Chain.BitcoinCash:return BT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return BT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return BT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let G={private:70615956,public:70617039},y=BT.default.dogecoin.test;return y.versions.bip32=G,BT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return m1.networks.zcash;default:throw new b.USwapError("toolbox_utxo_not_supported",{chain:x})}}}var m1,b,i1,BT;var a1=E(()=>{OT();m1=require("@bitgo/utxo-lib"),b=require("@uswap/helpers"),i1=require("bitcoinjs-lib"),BT=W(require("coininfo"))});function c0(T){try{return Af(T),!0}catch{return!1}}function m0(T){return Af(T)?.network}function qT(T){let x=Af(T);if(x?.format==="legacy")return T;return mx(x)}function pT(T){let x=Af(T);return ix(x)}function Af(T){try{let x=tx(T);if(x)return x}catch{}try{let x=cx(T);if(x)return x}catch{}throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T})}function tx(T){try{let x=h0.default.decode(T);if(x.length!==21)throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T});let G=x[0],y=Array.prototype.slice.call(x,1);switch(G){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 cx(T){if(T.indexOf(":")!==-1)try{return s1(T)}catch{}else{let x=["bitcoincash","bchtest","bchreg"];for(let G of x)try{return s1(`${G}:${T}`)}catch{}}return}function s1(T){try{let{hash:x,prefix:G,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(x,0),network:G==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function mx(T){let x=ry.legacy[T.network][T.type],G=Buffer.alloc(1+T.hash.length);return G[0]=x,G.set(T.hash,1),h0.default.encode(G)}function ix(T){let x=T.network==="mainnet"?"bitcoincash":"bchtest",G=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(x,G,y)}var o0,h0,p0,t0,ry;var e1=E(()=>{o0=require("@uswap/helpers"),h0=W(require("bs58check")),p0=W(require("cashaddrjs"));((G)=>{G.Mainnet="mainnet";G.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 ky(T){let x=Buffer.from(T,"utf8");return Vf.script.compile([Vf.opcodes.OP_RETURN,x])}var y2,Vf,gx=1000,$f=10,T2=10,dx=41,rx=107,uf,Ff,nf,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 y2.USwapError("toolbox_utxo_invalid_address",{address:T})},QT=({inputs:T,outputs:x,feeRate:G})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",f=T.filter((N)=>N.value>=Ff["type"in N?N.type:"P2PKH"]*Math.ceil(G)).reduce((N,X)=>N+by(X),0),L=x?.reduce((N,X)=>N+cT(X),0)||nf[y];return $f+f+L},by=(T)=>{if("type"in T)return Ff[T.type];if("address"in T&&T.address)return Ff[tT(T.address)];return dx+rx},cT=(T,x)=>{if(T?.script)return T2+T.script.length+(T.script.length>=74?2:1);if(x)return nf[x];return nf.P2PKH};var i0=E(()=>{y2=require("@uswap/helpers"),Vf=require("bitcoinjs-lib");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(uf||={});Ff={["P2PKH"]:148,["P2WPKH"]:68},nf={["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 Ey({inputs:T,outputs:x,feeRate:G=1,chain:y=Ky.Chain.Bitcoin,changeAddress:f=""}){let L=Math.ceil(G),N=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",X=T.filter((Q)=>by(Q)*L<=Q.value),_=$f+x.reduce((Q,z)=>Q+cT(z,N),0),Z=x.reduce((Q,z)=>Q+z.value,0),B=_*L,q=0,J=[];for(let Q of X){let z=by(Q),M=L*z;B+=M,q+=Q.value,J.push(Q);let w=B+Z;if(q<w)continue;let I=q-w,k=L*cT({address:"",value:0},N);if(I>k){let V=k+B,F=q-(Z+V);if(F>Math.max(by({})*L,bf(y)))return{fee:V,inputs:J,outputs:x.concat({address:f,value:F})}}return{fee:B,inputs:J,outputs:x}}return{fee:L*QT({feeRate:L,inputs:T,outputs:x})}}var Ky;var f2=E(()=>{i0();Ky=require("@uswap/helpers")});var zT=E(()=>{a1();e1();f2();i0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let x=ay(T);return c0(x)&&m0(x)==="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 x=jf.networks.zcash;try{return jf.address.toOutputScript(T,x),!0}catch{let G=x2.default.decode(T);if(G.length<21)return!1;let y=G[0];return y===x.pubKeyHash||y===x.scriptHash}}catch{return!1}}var jf,x2;var mT=E(()=>{zT();jf=require("@bitgo/utxo-lib"),x2=W(require("bs58check"))});function N2({inputs:T,outputs:x,chain:G,psbt:y,sender:f,compiledMemo:L}){for(let N of T){let X=!!N.witnessUtxo&&!iT.includes(G)&&{witnessUtxo:N.witnessUtxo},_=iT.includes(G)&&{nonWitnessUtxo:N.txHex?Buffer.from(N.txHex,"hex"):void 0};y.addInput({hash:N.hash,index:N.index,...X,..._})}for(let N of x){let X="address"in N&&N.address?N.address:f,_=N.script;if(_&&!L)continue;let Z=_?{script:L,value:0}:{address:X,value:N.value};Dy.initEccLib(of.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function X2({assetValue:T,recipient:x,memo:G,feeRate:y,sender:f,fetchTxHex:L=!1}){let N=T.chain,X=G?await ky(G):null,_=await J2({assetValue:T,fetchTxHex:L,memo:G,recipient:x,sender:f}),{inputs:Z,outputs:B}=Ey({..._,chain:N,feeRate:y});if(!(Z&&B))throw new l.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let q=await Oy(),J=new Dy.Psbt({network:q(N)});if(N===l.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:Q,inputs:z}=await N2({chain:N,compiledMemo:X,inputs:Z,outputs:B,psbt:J,sender:f});return{inputs:z,psbt:Q,utxos:_.inputs}}async function _2(){let T=await Oy();return function({address:G,chain:y}){if(y===l.Chain.BitcoinCash)return jy(G);if(y===l.Chain.Zcash)return YT(G);try{return Dy.initEccLib(of.default),Dy.address.toOutputScript(G,T(y)),!0}catch{return!1}}}async function ax({chain:T,phrase:x,derivationPath:G}){let y=(await gT(T))({derivationPath:G,phrase:x});async function f(N){return await N.signAllInputs(y),N}function L(){return d0(T)(y)}return{getAddress:L,signTransaction:f}}async function sy({chain:T,...x}){let G="phrase"in x?x.phrase:void 0,y="index"in x?x.index||0:0,f=l.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[T],{index:y})),L=G?await ax({chain:T,derivationPath:f,phrase:G}):("signer"in x)?x.signer:void 0;function N(){return Promise.resolve(L?.getAddress())}let X=await _2(),_=await gT(T);return{accumulative:Ey,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:QT,createKeysForPath:_,createTransaction:X2,estimateMaxSendableAmount:sx(T),estimateTransactionFee:ex(T),getAddress:N,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>dT(T),getInputsOutputsFee:Z2,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yL(L),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Z2({assetValue:T,feeOptionKey:x=l.FeeOption.Fast,feeRate:G,memo:y,sender:f,recipient:L}){let N=T.chain,X=await J2({assetValue:T,memo:y,recipient:L,sender:f}),_=G?Math.floor(G):(await dT(N))[x];return Ey({...X,chain:N,feeRate:_})}function sx(T){return async function({from:G,memo:y,feeRate:f,feeOptionKey:L=l.FeeOption.Fast,recipients:N=1}){let X=await Hy(T).getAddressData(G),_=f?Math.ceil(f):(await dT(T))[L],Z=X?.utxo.map((z)=>({...z,hash:"",type:"P2PKH"})).filter((z)=>z.value>Math.max(bf(T),by(z)*_));if(!Z?.length)return l.AssetValue.from({chain:T});let B=l.AssetValue.from({chain:T,value:Z.reduce((z,M)=>z+M.value,0)}),q=typeof N==="number"?Array.from({length:N},()=>({address:G,value:0})):N;if(y){let z=await ky(y);q.push({address:G,script:z,value:0})}let Q=QT({feeRate:_,inputs:Z,outputs:q})*_;return B.sub(Q)}}function ex(T){return async(x)=>{let G=await Z2(x);return l.AssetValue.from({chain:T,value:l.SwapKitNumber.fromBigInt(BigInt(G.fee),8).getValue("string")})}}async function gT(T){let x=await Oy();switch(T){case l.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${l.DerivationPath.BCH}/0`,wif:L}){let N=x(T);if(L)return hf.ECPair.fromWIF(L,N);if(!y)throw new l.USwapError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return hf.HDNode.fromSeedBuffer(Buffer.from(g0.mnemonicToSeedSync(y)),N).derivePath(f).keyPair};case l.Chain.Bitcoin:case l.Chain.Dogecoin:case l.Chain.Litecoin:case l.Chain.Zcash:case l.Chain.Dash:return function({phrase:y,wif:f,derivationPath:L}){if(!(f||y))throw new l.USwapError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let N=G2.ECPairFactory(of.default),X=x(T);if(f)return N.fromWIF(f,X);let _=g0.mnemonicToSeedSync(y),Z=L2.HDKey.fromMasterSeed(_,X).derive(L);if(!Z.privateKey)throw new l.USwapError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return N.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new l.USwapError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let x=Oy();return function(y){if(!y)throw new l.USwapError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=iT.includes(T)?Dy.payments.p2pkh:Dy.payments.p2wpkh,{address:L}=f({network:x(T),pubkey:y.publicKey});if(!L)throw new l.USwapError("toolbox_utxo_invalid_address",{error:"Address not defined"});return L}}function yL(T){return async function({memo:G,recipient:y,feeOptionKey:f,feeRate:L,assetValue:N}){let X=await T?.getAddress(),_=N.chain;if(!(T&&X))throw new l.USwapError("toolbox_utxo_no_signer");if(!y)throw new l.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=L||(await dT(_))[f||l.FeeOption.Fast],{psbt:B}=await X2({assetValue:N,feeRate:Z,memo:G,recipient:y,sender:X}),q=await T.signTransaction(B);return q.finalizeAllInputs(),Hy(_).broadcastTx(q.extractTransaction().toHex())}}async function dT(T){let x=await Hy(T).getSuggestedTxFee();return{[l.FeeOption.Average]:x,[l.FeeOption.Fast]:l.applyFeeMultiplier(x,l.FeeOption.Fast),[l.FeeOption.Fastest]:l.applyFeeMultiplier(x,l.FeeOption.Fastest)}}async function J2({assetValue:T,recipient:x,memo:G,sender:y,fetchTxHex:f=!1}){let L=T.chain,N=(await dT(L))[l.FeeOption.Fastest],X=f||iT.includes(L),_=T.getBaseValue("number"),Z=Math.ceil(_+N*5000);return{inputs:await Hy(L).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:x,value:_},...G?[{address:"",script:await ky(G),value:0}]:[]]}}var of,hf,L2,g0,l,Dy,G2,iT;var rT=E(()=>{OT();zT();mT();of=W(require("@bitcoinerlab/secp256k1")),hf=require("@psf/bitcoincashjs-lib"),L2=require("@scure/bip32"),g0=require("@scure/bip39"),l=require("@uswap/helpers"),Dy=require("bitcoinjs-lib"),G2=require("ecpair"),iT=[l.Chain.Dash,l.Chain.Dogecoin,l.Chain.Zcash,l.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function TL(T){function x({builder:y,utxos:f}){return f.forEach((L,N)=>{y.sign(N,T,void 0,65,L.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:x}}async function r0(T){let x="phrase"in T?T.phrase:void 0,G="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Iy],{index:G})),f=x?(await gT(Iy))({derivationPath:y,phrase:x}):void 0,L=f?TL(f):("signer"in T)?T.signer:void 0;function N(){return Promise.resolve(L?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...B}=await sy({chain:Iy});function q(J,Q=!0){return X(ay(pT(J)))}return{...B,broadcastTx:Z,buildTx:xL,createTransaction:q2,getAddress:N,getAddressFromKeys:LL,getBalance:q,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fL({broadcastTx:Z,getFeeRates:_,signer:L}),validateAddress:jy}}async function q2({assetValue:T,recipient:x,memo:G,feeRate:y,sender:f}){if(!jy(x))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:x});let L=Math.ceil(T.getBaseValue("number")+y*7500),N=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:L}),X=G?await ky(G):null,_=[];_.push({address:x,value:T.getBaseValue("number")});let{inputs:Z,outputs:B}=Ey({chain:Iy,feeRate:y,inputs:N,outputs:_});if(!(Z&&B))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let q=await Oy(),J=new WT.TransactionBuilder(q(Iy));await Promise.all(Z.map(async(Q)=>{let z=await Hy(Iy).getRawTx(Q.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(z,"hex")),Q.index)}));for(let Q of B){let z="address"in Q&&Q.address?Q.address:qT(f),M=await Oy(),w=WT.address.toOutputScript(qT(z),M(Iy));J.addOutput(w,Q.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fL({broadcastTx:T,getFeeRates:x,signer:G}){return async function({recipient:f,assetValue:L,feeOptionKey:N=Zy.FeeOption.Fast,...X}){let _=await G?.getAddress();if(!(G&&_))throw new Zy.USwapError("toolbox_utxo_no_signer");if(!f)throw new Zy.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await x())[N],{builder:B,utxos:q}=await q2({...X,assetValue:L,feeRate:Z,recipient:f,sender:_}),Q=(await G.signTransaction({builder:B,utxos:q})).toHex();return T(Q)}}async function xL({assetValue:T,recipient:x,memo:G,feeRate:y,sender:f,setSigHashType:L}){let N=pT(x);if(!jy(N))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:N});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),B=G?await ky(G):null,q=[];if(q.push({address:qT(x),value:T.getBaseValue("number")}),B)q.push({script:B,value:0});let{inputs:J,outputs:Q}=Ey({chain:Iy,feeRate:Z,inputs:_,outputs:q});if(!(J&&Q))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let z=await Oy(),M=new B2.Psbt({network:z(Iy)});for(let{hash:w,index:I,witnessUtxo:k}of J)M.addInput({hash:w,index:I,sighashType:L?65:void 0,witnessUtxo:k});for(let w of Q){let I="address"in w&&w.address?w.address:qT(f),k=w.script?B?{script:B,value:0}:void 0:{address:I,value:w.value};if(k)M.addOutput(k)}return{inputs:J,psbt:M,utxos:_}}function LL(T){let x=T.getAddress(0);return ey(x)}var WT,Zy,B2,Iy;var pf=E(()=>{zT();rT();mT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@uswap/helpers"),B2=require("bitcoinjs-lib"),Iy=Zy.Chain.BitcoinCash});function s0(){return Ry.networks.zcash}function Y2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function GL({phrase:T,derivationPath:x}){let G=y5.mnemonicToSeedSync(T),f=e0.HDKey.fromMasterSeed(G).derive(x);if(!f.privateKey)throw new xy.USwapError("toolbox_utxo_invalid_params");let L=Y2(),N=Ry.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:L}),X=Ry.crypto.hash160(N.publicKey),{isStagenet:_}=xy.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),B=Buffer.concat([Z,X]),q=z2.default.encode(B);return{getAddress:()=>Promise.resolve(q),signTransaction:(J)=>{let Q=J.signAllInputs(N);return Promise.resolve(Q)}}}function NL({inputs:T,outputs:x,psbt:G,sender:y,compiledMemo:f}){for(let L of T){let N=!!L.witnessUtxo&&{witnessUtxo:{...L.witnessUtxo,value:BigInt(L.value)}},X=!L.witnessUtxo&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};G.addInput({hash:L.hash,index:L.index,...N,...X})}for(let L of x){let N="address"in L&&L.address?L.address:y,X=L.script;if(X&&!f)continue;let _=X?{script:f,value:0n}:{script:Ry.address.toOutputScript(N,s0()),value:BigInt(L.value)};G.addOutput(_)}return{inputs:T,psbt:G}}async function Q2(T){let{assetValue:x,recipient:G,memo:y,feeRate:f,sender:L,fetchTxHex:N}=T,X=y?ky(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:L,fetchTxHex:N!==!1}),Z=[{address:G,value:Number(x.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:B,outputs:q}=Ey({chain:xy.Chain.Zcash,changeAddress:L,feeRate:f,inputs:_,outputs:Z});if(!(B&&q))throw new xy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:x,sender:L});let J=Ry.bitgo.createPsbtForNetwork({network:s0()},{version:a0.ZcashTransaction.VERSION4_BRANCH_NU6_1}),{psbt:Q,inputs:z}=await NL({compiledMemo:X,inputs:B,outputs:q,psbt:J,sender:L});return Q.setDefaultsForVersion(s0(),a0.ZcashTransaction.VERSION4_BRANCH_NU6_1),{inputs:z,outputs:q,psbt:Q}}async function T5(T){let x=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:N})=>Promise.resolve(N)).with({phrase:HT.P.string},({phrase:N,derivationPath:X,index:_=0})=>{let Z=X||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],B=xy.updateDerivationPath(Z,{index:_}),q=xy.derivationPathToString(B);return GL({derivationPath:q,phrase:N})}).otherwise(()=>Promise.resolve(void 0)),G=await sy({chain:xy.Chain.Zcash,signer:x});async function y({recipient:N,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let B=await x?.getAddress();if(!(x&&B))throw new xy.USwapError("toolbox_utxo_no_signer");let q=Z.feeRate||(await G.getFeeRates())[_],{psbt:J}=await Q2({...Z,assetValue:X,feeRate:q,recipient:N,sender:B}),Q=await x.signTransaction(J);Q.validateSignaturesOfAllInputs(),Q.finalizeAllInputs();let M=Q.extractTransaction().toHex();return G.broadcastTx(M)}function f({phrase:N,derivationPath:X="m/44'/133'/0'/0/0"}){let _=y5.mnemonicToSeedSync(N),B=e0.HDKey.fromMasterSeed(_).derive(X);if(!B.privateKey)throw new xy.USwapError("toolbox_utxo_invalid_params");let q=Y2();return Ry.ECPair.fromPrivateKey(Buffer.from(B.privateKey),{network:q})}function L({phrase:N,derivationPath:X="m/44'/133'/0'/0/0"}){return f({derivationPath:X,phrase:N}).toWIF()}return{...G,createKeysForPath:f,createTransaction:Q2,getPrivateKeyFromMnemonic:L,transfer:y,validateAddress:YT}}var Ry,a0,e0,y5,xy,z2,HT;var f5=E(()=>{zT();rT();mT();Ry=require("@bitgo/utxo-lib"),a0=require("@bitgo/utxo-lib/dist/src/bitgo"),e0=require("@scure/bip32"),y5=require("@scure/bip39"),xy=require("@uswap/helpers"),z2=W(require("bs58check")),HT=require("ts-pattern")});async function XL(T,x){switch(T){case ly.Chain.BitcoinCash:return await r0(x||{});case ly.Chain.Zcash:return await T5(x);case ly.Chain.Bitcoin:case ly.Chain.Dogecoin:case ly.Chain.Litecoin:case ly.Chain.Dash:return await sy({chain:T,...x});default:throw new ly.USwapError("toolbox_utxo_not_supported",{chain:T})}}var ly;var W2=E(()=>{pf();rT();f5();pf();mT();ly=require("@uswap/helpers")});var x5={};By(x5,{validateZcashAddress:()=>YT,toLegacyAddress:()=>qT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>iT,isValidAddress:()=>c0,getUtxoToolbox:()=>XL,getUtxoNetwork:()=>Oy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>_2,getScriptTypeForAddress:()=>tT,getOutputSize:()=>cT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>m0,createZcashToolbox:()=>T5,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>px,createBCHToolbox:()=>r0,compileMemo:()=>ky,calculateTxSize:()=>QT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>N2,accumulative:()=>Ey,UtxoNetwork:()=>t0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>$f,OutputSizes:()=>nf,OP_RETURN_OVERHEAD:()=>T2,MIN_TX_FEE:()=>gx,InputSizes:()=>Ff});module.exports=Yy(x5);var L5=E(()=>{zT();W2();pf();rT();f5()});async function cf(){let{validateAccountId:T}=await import("near-sdk-js");return(x)=>{try{return T(x)}catch{let G=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return x.length>=2&&x.length<=64&&G.test(x)}}}async function mf(T){let{parseSeedPhrase:x}=await import("near-seed-phrase"),{KeyPair:G}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?tf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:L}=x(T.phrase,f),N=G.fromString(L);return w2(N)}async function G5(T){let{KeyPair:x}=await import("@near-js/crypto"),G=x.fromString(T);return w2(G)}function w2(T){return new M2(T)}async function gf(T,x){let y=(await T.query({account_id:x,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:f}=await import("@near-js/crypto"),L=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:L}}var H2,tf,M2;var N5=E(()=>{H2=require("@near-js/signers"),tf=require("@uswap/helpers");M2=class M2 extends H2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),x=Buffer.from(T.data).toString("hex");return Promise.resolve(x)}}});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 B5(T){return"contractCode"in T}function q5(T){return"customEstimator"in T}function Q5(T){let x=0;for(let G of T)switch(G.enum){case"transfer":x+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":x+=Number(Jy.CONTRACT_CALL);break;case"createAccount":x+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":x+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":x+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":x+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":x+=Number(Jy.STAKE);break;default:x+=Number(Jy.CONTRACT_CALL)}return x.toString()}function z5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _L(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZL(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var Y5=E(()=>{Jy={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:x,viewMethods:G,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,x,{changeMethods:y,useLocalViewExecution:!0,viewMethods:G})}async function JL(T){let{P:x,match:G}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await G(T).with({phrase:x.string},async(Y)=>{return await mf(Y)}).with({signer:x.any},({signer:Y})=>Y).otherwise(()=>{return}),L=await t.getRPCUrl(t.Chain.Near),N=new y({url:L});async function X(Y){let{Account:R}=await import("@near-js/accounts"),O=Y||await _();return new R(O,N,f)}async function _(){if(!f)throw new t.USwapError("toolbox_near_no_signer");return await f.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 B(Y){let O=[await M({args:{account_id:Y.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await M({args:{amount:Y.assetValue.getBaseValue("string"),memo:Y.memo||null,receiver_id:Y.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Qy({actions:O,receiverId:Y.contractId})}async function q(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let{assetValue:R,recipient:O,memo:$}=Y,p=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:O,contractId:R.address}))return B({assetValue:R,contractId:R.address,memo:$,recipient:O})}let h=await J({...Y,sender:p});return k(h)}async function J(Y){let{recipient:R,assetValue:O,memo:$,attachedDeposit:p,sender:h,functionCall:o}=Y,r=await cf();if(!r(R))throw new t.USwapError("toolbox_near_invalid_address",{recipient:R});if(!r(h))throw new t.USwapError("toolbox_near_invalid_address",{signerId:h});if(o)return z({...o,sender:h});if(!O.isGasAsset){let Tf=O.address;if(!Tf)throw new t.USwapError("toolbox_near_missing_contract_address");return z({args:{amount:O.getBaseValue("string"),memo:$||null,receiver_id:R},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:Xy,nonce:qy}=await gf(N,h),zy=O.getBaseValue("bigint"),{actionCreators:py,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),ty=[py.transfer(zy)];if($&&p)ty.push(py.functionCall("memo",{memo:$},BigInt("250000000000000"),BigInt(p)));let eT=await N.block({finality:"final"}),yf=df(eT.header.hash);return sT(h,Xy,R,qy+1,ty,yf)}function Q(Y){let R=Y.encode();return Buffer.from(R).toString("base64")}async function z(Y){let{sender:R}=Y,{publicKey:O,nonce:$}=await gf(N,R),{createTransaction:p,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:o}=await import("@near-js/utils"),r=await N.block({finality:"final"}),Xy=o(r.header.hash),qy=[h.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))];return p(R,O,Y.contractId,$+1,qy,Xy)}async function M(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 w(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let[R,O]=await f.signTransaction(Y);return O}async function I(Y){return(await N.sendTransaction(Y)).transaction.hash}async function k(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");try{let R=await w(Y);return await I(R)}catch{return f.signAndSendTransactions?.({transactions:[Y]})}}async function V(Y){if("assetValue"in Y){let p=BigInt("115123062500")+BigInt("108059500000"),h=await F(),o=p*BigInt(h.toString()),{baseDecimal:r}=t.getChainConfig(t.Chain.Near);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:r,value:o.toString()})}let R=f?await X():void 0;return v(Y,R)}async function F(){try{return await N.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function u(Y,R,O){if(!f)throw new t.USwapError("toolbox_near_no_signer");let $=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),o=p(O)||"0";return(await $.createAccount(Y,h.fromString(R),BigInt(o))).transaction.hash}async function d(Y){try{if(!f)throw new t.USwapError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:O,methodName:$,args:p,deposit:h}=Y,o=await X(),r=await v({args:p||{},contractId:O,methodName:$}),Xy=R.functionCall($,p||{},r.getBaseValue("bigint"),BigInt(h||"1"));return(await o.signAndSendTransaction({actions:[Xy],receiverId:O})).transaction_outcome.id}catch(R){throw new t.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 Qy(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");if(Y.actions.length===0)throw new t.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:O}=t.getChainConfig(t.Chain.Near),$=await G(Y).when(X5,()=>Jy.SIMPLE_TRANSFER).when(_5,(o)=>z5(o.methodName)).when(Z5,(o)=>Q5(o.actions)).when(J5,()=>Jy.ACCOUNT_CREATION).when(B5,()=>Jy.CONTRACT_DEPLOYMENT).when(q5,(o)=>{if(!R)throw new t.USwapError("toolbox_near_no_account");return o.customEstimator(R)}).otherwise(()=>{throw new t.USwapError("toolbox_near_invalid_gas_params")}),h=BigInt($)*BigInt(1000000000000);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:O,value:h})}async function n(){try{return(await N.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:d,createAction:M,createContract:Ny,createContractFunctionCall:z,createSubAccount:u,createTransaction:J,estimateGas:v,estimateTransactionFee:V,executeBatchTransaction:Qy,getAddress:_,getBalance:TT(t.Chain.Near),getGasPrice:n,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Y)=>mf(Y),getSignerFromPrivateKey:G5,provider:N,serializeTransaction:Q,signAndSendTransaction:k,signTransaction:w,transfer:q,validateAddress:await cf()}}var t;var H5=E(()=>{OT();N5();Y5();t=require("@uswap/helpers")});var I2=E(()=>{H5()});var M5={};By(M5,{tgasToGas:()=>_L,isSimpleTransfer:()=>X5,isCustomEstimator:()=>q5,isContractDeployment:()=>B5,isContractCall:()=>_5,isBatchTransaction:()=>Z5,isAccountCreation:()=>J5,getValidateNearAddress:()=>cf,getNearToolbox:()=>JL,getNearSignerFromPrivateKey:()=>G5,getNearSignerFromPhrase:()=>mf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>z5,gasToTGas:()=>ZL,estimateBatchGas:()=>Q5,createNearContract:()=>W5,GAS_COSTS:()=>Jy});module.exports=Yy(M5);var w5=E(()=>{N5();Y5();H5();I2()});var I5={};By(I5,{radixValidateAddress:()=>R2,RadixToolbox:()=>YL});module.exports=Yy(I5);function R2(T){return T.startsWith("account_rdx1")&&T.length===66}function BL({networkApi:T}){return async function(G){let y=await qL({address:G,networkApi:T}),f=await QL({networkApi:T,resources:y});if(!f.some((N)=>N.isGasAsset))return[Cy.AssetValue.from({chain:Cy.Chain.Radix}),...f];return f}}async function qL({address:T,networkApi:x}){let G=!0,y,f=[],L=await zL(x);while(G){let N={address:T,at_ledger_state:{state_version:L},cursor:y,limit_per_page:100},X=await x.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:N});if(f=f.concat(X.items),X.next_cursor)y=X.next_cursor;else G=!1}return f}async function QL({resources:T,networkApi:x}){let G=[],y=50,f=[];for(let L=0;L<T.length;L+=50)f.push(T.slice(L,L+50));for(let L of f){let N=L.map((Z)=>Z.resource_address),X=await x.state.getEntityDetailsVaultAggregated(N),_=new Map;for(let Z of X)if(Z.details!==void 0){let B=Z.metadata?.items.find((J)=>J.key==="symbol"),q=B?.value.typed.type==="String"?B.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:q})}for(let Z of L)if(Z.aggregation_level==="Global"){let B=_.get(Z.resource_address)||{decimals:0,symbol:"?"},q=Cy.AssetValue.from({asset:B.symbol!==Cy.Chain.Radix?`${Cy.Chain.Radix}.${B.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});G.push(q)}}return G}function zL(T){return T.status.getCurrent().then((x)=>x.ledger_state.state_version)}var Cy,YL=async({dappConfig:T}={})=>{let{RadixDappToolkit:x}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:G}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Cy.SKConfig.get("integrations").radix,f=x({...y,networkId:y.network?.networkId||1}),L=G.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:BL({networkApi:L}),networkApi:L,signAndBroadcast:()=>{throw new Cy.USwapError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:R2}};var R5=E(()=>{Cy=require("@uswap/helpers")});var O5={};By(O5,{rippleValidateAddress:()=>C5,hashes:()=>O2.hashes,getRippleToolbox:()=>HL});module.exports=Yy(O5);function C2(T){let x=oy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(x.address),signTransaction:(G)=>Promise.resolve(x.sign(G))}}function C5(T){return oy.isValidAddress(T)}var c,oy,O2,WL,HL=async(T={})=>{let x="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?C2(T.phrase):void 0,G=await c.getRPCUrl(c.Chain.Ripple);if(!G)throw new c.USwapError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let y=new oy.Client(G);await y.connect();let f=()=>{if(!x)throw new c.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.getAddress()},L=async(J)=>{let Q=J||await f(),{baseDecimal:z}=c.getChainConfig(c.Chain.Ripple);try{let w=(await y.request({account:Q,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:z,value:w})]}catch(M){if(M.data.error_code===WL.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.USwapError("toolbox_ripple_get_balance_error",{info:{address:Q,error:M}})}},N=async()=>{let Q=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:z}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:z,value:c.SwapKitNumber.fromBigInt(BigInt(Q),z)})},X=async({assetValue:J,recipient:Q,memo:z,sender:M})=>{if(!C5(Q))throw new c.USwapError({errorKey:"core_transaction_invalid_recipient_address"});let w=M||await f();if(!J.isGasAsset||J.chain!==c.Chain.Ripple)throw new c.USwapError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:w,Amount:oy.xrpToDrops(J.getValue("string")),Destination:Q,TransactionType:"Payment"};if(z)I.Memos=[{Memo:{MemoData:Buffer.from(z).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!x)throw new c.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.signTransaction(J)},Z=async(J)=>{let z=(await y.submitAndWait(J)).result;if(z.validated)return z.hash;throw new c.USwapError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:C2,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:N,getAddress:f,getBalance:L,signer:x,signTransaction:_,transfer:async(J)=>{if(!x)throw new c.USwapError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await x.getAddress(),z=await X({...J,sender:Q}),M=await _(z);return Z(M.tx_blob)},validateAddress:C5}};var k5=E(()=>{c=require("@uswap/helpers"),oy=require("xrpl"),O2=require("xrpl"),WL={ACCOUNT_NOT_FOUND:19}});async function ML(T,x,G){try{let y=await T.query.system?.account?.(G);if(!y)return[x.set(0)];let{data:{free:f}}=y,L=yT.SwapKitNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(L)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${f}`),[x.set(0)]}}async function wL(T,x,G){try{let y=await T.query.flip?.account?.(G);if(!y)return[x.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[x.set(0)];let L=yT.SwapKitNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(L)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${f}`),[x.set(0)]}}function k2(T,x){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return wL(x,f,y);default:return ML(x,f,y)}}}var yT;var K2=E(()=>{yT=require("@uswap/helpers")});var IL,RL,CL,hy;var K5=E(()=>{IL={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},RL={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},CL={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:IL,FLIP:RL,GENERIC:CL}});function OL(T,x){switch(T){case s.Chain.Chainflip:return D2(x);case s.Chain.Polkadot:return E2(x);default:throw new s.USwapError("toolbox_substrate_not_supported",{chain:T})}}function MT(T){return"address"in T}async function D5(T,x){let{Keyring:G}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new G({ss58Format:x,type:"sr25519"}).addFromUri(T)}function PL(T,x){let G=IT.decodeAddress(T);return IT.encodeAddress(G,x)}function S2(T,x){return wT.isHex(T)?wT.hexToU8a(T):IT.decodeAddress(T,void 0,x)}function U2(T,x="ss58",G){if(x==="hex")return wT.u8aToHex(T);return IT.encodeAddress(T,G)}async function P5({generic:T,chain:x,...G}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),L=await s.getRPCUrl(x),N=new f(L),X=await y.create({noInitWarn:!0,provider:N}),_=s.AssetValue.from({chain:x}),Z=T?hy.GENERIC:hy[x],B=await aT.match(G).with({phrase:aT.P.string},({phrase:q})=>D5(q,hy[x].prefix)).with({signer:aT.P.any},({signer:q})=>q).otherwise(()=>{return});return P2({api:X,chain:x,gasAsset:_,network:Z,signer:B})}var wT,IT,s,aT,E2=({generic:T=!1,...x}={})=>{return P5({chain:s.Chain.Polkadot,generic:T,...x})},D2=async({generic:T=!1,...x}={})=>{return{...await P5({chain:s.Chain.Chainflip,generic:T,...x})}},S5=(T,x)=>T.rpc.system.accountNextIndex(x),E5=(T,x)=>{try{let G=S2(T,x);return U2(G,"ss58",x),!0}catch{return!1}},U5=(T,{recipient:x,assetValue:G})=>T.tx.balances?.transferAllowDeath?.(x,G.getBaseValue("number")),kL=async(T,x,{recipient:G,assetValue:y,sender:f})=>{let L=U5(T,{assetValue:y,recipient:G});if(!L)throw new s.USwapError("toolbox_substrate_transfer_error");let N=MT(x),X=N?x.address:f;if(!X)throw new s.USwapError("core_transaction_invalid_sender_address");let _=await S5(T,X);return(await L.signAndSend(N?x:X,{nonce:_,signer:N?void 0:x})).toString()},KL=async(T,x,G,{recipient:y,assetValue:f,sender:L})=>{let N=U5(T,{assetValue:f,recipient:y}),X=MT(x)?x.address:L;if(!X)return;let _=await N?.paymentInfo(X,{nonce:await S5(T,X)})||{partialFee:0};return G.set(s.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),G.decimal).getValue("string"))},EL=async(T,x)=>{if(x)return T.send(x);return(await T.send()).toString()},DL=async(T,x)=>{return await x.signAsync(T)},SL=(T,x,G)=>{if(G)return x.signAndSend(T,G);return x.signAndSend(T).toString()},UL=async({signer:T,address:x,tx:G,callback:y,api:f})=>{let L=await S5(f,x);if(y)G.signAndSend(x,{nonce:L,signer:T},y);return G.signAndSend(x,{nonce:L,signer:T}).toString()},P2=({api:T,network:x,gasAsset:G,signer:y,chain:f})=>({api:T,broadcast:EL,convertAddress:PL,createKeyring:(L)=>D5(L,x.prefix),createTransaction:(L)=>U5(T,L),decodeAddress:S2,encodeAddress:U2,estimateTransactionFee:(L)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return KL(T,y,G,L)},gasAsset:G,getAddress:(L)=>{let N=L||y;if(!N)throw new s.USwapError("core_wallet_not_keypair_wallet");return MT(N)?N.address:void 0},getBalance:k2(f||s.Chain.Polkadot,T),network:x,sign:(L)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return DL(y,L);throw new s.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:L,callback:N,address:X})=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return SL(y,L,N);if(X)return UL({address:X,api:T,callback:N,signer:y,tx:L});throw new s.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(L)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return kL(T,y,L)},validateAddress:(L)=>E5(L,x.prefix)}),lL=({address:T,chain:x})=>{let{prefix:G}=x===s.Chain.Polkadot?hy.DOT:hy.FLIP;return E5(T,G)||E5(T,hy.GENERIC.prefix)};var l2=E(()=>{K2();K5();wT=require("@polkadot/util"),IT=require("@polkadot/util-crypto"),s=require("@uswap/helpers"),aT=require("ts-pattern")});var l5={};By(l5,{substrateValidateAddress:()=>lL,isKeyringPair:()=>MT,getSubstrateToolbox:()=>OL,createSubstrateToolbox:()=>P5,createKeyring:()=>D5,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>E2,ChainflipToolbox:()=>D2,BaseSubstrateToolbox:()=>P2});module.exports=Yy(l5);var v5=E(()=>{l2();K5()});var FL={};By(FL,{getToolbox:()=>A5,getFeeEstimator:()=>AL,getAddressValidator:()=>vL});module.exports=Yy(FL);var S=require("@uswap/helpers");async function vL(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:x}=await Promise.resolve().then(() => (X1(),N1)),{getCardanoAddressValidator:G}=await Promise.resolve().then(() => (B0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),Ef)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (n0(),F0)),{getSuiAddressValidator:L}=await Promise.resolve().then(() => (Uf(),Sf)),{getTONAddressValidator:N}=await Promise.resolve().then(() => (lf(),Pf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (L5(),x5)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (w5(),M5)),{radixValidateAddress:B}=await Promise.resolve().then(() => (R5(),I5)),{rippleValidateAddress:q}=await Promise.resolve().then(() => (k5(),O5)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (v5(),l5)),Q=await G(),z=await Z(),M=await f(),w=await L(),I=await N(),k=await X(),V=await _();return function({address:u,chain:d}){return T(d).with(...S.EVMChains,()=>x({address:u})).with(...S.UTXOChains,()=>V({address:u,chain:d})).with(S.Chain.Cosmos,S.Chain.Kujira,S.Chain.Noble,S.Chain.Maya,S.Chain.THORChain,(Qy)=>{return y(Qy)(u)}).with(S.Chain.Chainflip,S.Chain.Polkadot,()=>J({address:u,chain:d})).with(S.Chain.Radix,()=>B(u)).with(S.Chain.Near,()=>z(u)).with(S.Chain.Ripple,()=>q(u)).with(S.Chain.Solana,()=>M(u)).with(S.Chain.Sui,()=>w(u)).with(S.Chain.Ton,()=>I(u)).with(S.Chain.Tron,()=>k(u)).with(S.Chain.Cardano,()=>Q(u)).otherwise(()=>!1)}}function AL(T){return async function(G){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...S.EVMChains,async(f)=>{let L=await A5(f),N=await L.createTransaction(G);return L.estimateTransactionFee({...N,chain:f,feeOption:G.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(f)=>{return(await A5(f)).estimateTransactionFee(G)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Uf(),Sf));return(await f()).estimateTransactionFee(G)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (lf(),Pf));return(await f()).estimateTransactionFee()}).with(...S.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Df(),Ef));return f(G)}).otherwise(async()=>S.AssetValue.from({chain:T}))}}async function A5(T,x){let{match:G}=await import("ts-pattern");return G(T).returnType().with(...S.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),x1));return await y(T,x)}).with(...S.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (L5(),x5));return await y(T,x)}).with(...S.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),Ef));return await y(T,x)}).with(...S.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (v5(),l5));return await y(T,x)}).with(S.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (R5(),I5));return await y(x)}).with(S.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (k5(),O5));return await y(x)}).with(S.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (n0(),F0));return await y(x)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Uf(),Sf));return await y(x)}).with(S.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(x)}).with(S.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (w5(),M5));return await y(x)}).with(S.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (B0(),J0));return await y(x)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (lf(),Pf));return await y(x)}).otherwise(()=>{throw new S.USwapError("toolbox_not_supported",{chain:T})})}
1
+ var l2=Object.create;var{getPrototypeOf:A2,defineProperty:CT,getOwnPropertyNames:V5,getOwnPropertyDescriptor:F2}=Object,$5=Object.prototype.hasOwnProperty;var W=(T,x,N)=>{N=T!=null?l2(A2(T)):{};let y=x||!T||!T.__esModule?CT(N,"default",{value:T,enumerable:!0}):N;for(let f of V5(T))if(!$5.call(y,f))CT(y,f,{get:()=>T[f],enumerable:!0});return y},F5=new WeakMap,Yy=(T)=>{var x=F5.get(T),N;if(x)return x;if(x=CT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")V5(T).map((y)=>!$5.call(x,y)&&CT(x,y,{get:()=>T[y],enumerable:!(N=F2(T,y))||N.enumerable}));return F5.set(T,x),x};var qy=(T,x)=>{for(var N in x)CT(T,N,{get:x[N],enumerable:!0,configurable:!0,set:(y)=>x[N]=()=>y})};var E=(T,x)=>()=>(T&&(x=T(T=0)),x);function u5(){function T(){let x=Date.now(),N=rf||x;return rf=N,x>rf?x:N+1}return V2+T().toString(36)}function TT(T){return async function(N,y=!0){let f=await n5.USwapApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=wT.getChainConfig(T),L=f.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,n5,V2,rf=0;var OT=E(()=>{wT=require("@uswap/helpers"),n5=require("@uswap/helpers/api"),V2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function kT(T){return{getBalance:TT(T)}}function $2(T){return T}var ff=E(()=>{OT()});async function my(T,x){let{JsonRpcProvider:N}=await import("ethers");return new N(x||await i.getRPCUrl(T))}function KT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:x,chainIdHex:N,rpcUrls:y}=i.getChainConfig(T);return function(){return T!==i.Chain.Ethereum?{...n2({chain:T}),blockExplorerUrls:[x],chainId:N,rpcUrls:y}:void 0}}function sf(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function n2({chain:T}){let{name:x,nativeCurrency:N,baseDecimal:y}=i.getChainConfig(T);return b5.match(T).with(i.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(i.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(i.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(i.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(i.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(i.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:i.Chain.Polygon}})).otherwise(()=>({chainName:x,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var i,b5;var fT=E(()=>{i=require("@uswap/helpers"),b5=require("ts-pattern")});var j5;var o5=E(()=>{j5=[{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=H.Chain.Ethereum,provider:x,signer:N,isEIP1559Compatible:y=!0}){return{approve:h2({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),approvedAmount:m5({chain:T,provider:x}),broadcastTransaction:x.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),createApprovalTx:c2({chain:T,provider:x,signer:N}),createContract:T0({chain:T,provider:x}),createContractTxObject:cy({chain:T,provider:x}),createTransaction:ef({chain:T,provider:x,signer:N}),createTransferTx:ef({chain:T,provider:x,signer:N}),EIP1193SendTransaction:LT(x),estimateCall:c5({provider:x,signer:N}),estimateGasLimit:t2({chain:T,provider:x,signer:N}),estimateGasPrices:iy({chain:T,isEIP1559Compatible:y,provider:x}),estimateTransactionFee:i2({chain:T,isEIP1559Compatible:y,provider:x}),getAddress:()=>{return N?N.getAddress():void 0},getBalance:kT(T).getBalance,getNetworkParams:af(T),isApproved:o2({chain:T,provider:x}),sendTransaction:i5({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),signMessage:N?(f)=>N.signMessage(f):void 0,transfer:p2({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),validateAddress:(f)=>y0({address:f})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Wy.BrowserProvider}function DT(T,x,N){return new Wy.Contract(T,Wy.Interface.from(x),N)}function T0({provider:T}){return function(N,y){return new Wy.Contract(N,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:x}){let N=T.find((y)=>y.name===x);if(!N)throw new H.USwapError("toolbox_evm_no_abi_fragment",{funcName:x});return N.stateMutability&&u2.includes(N.stateMutability)}function p5(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.USwapError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:KT(BigInt(N||0))}])}}function t5(T,x){let N=XT(T,x);if(N)return Wy.getAddress(N.toLowerCase());throw new H.USwapError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:x,ticker:N},y){try{let f=T===H.Chain.BinanceSmartChain&&x==="BNB"&&N==="BNB",G=T===y&&x===y&&N===y,L=j2.includes(T)&&x==="ETH"&&N==="ETH";if(G||f||L)return x0[y];return Wy.getAddress(x.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function cy({provider:T}){return async({contractAddress:x,abi:N,funcName:y,funcParams:f=[],txOverrides:G})=>DT(x,N,T).getFunction(y).populateTransaction(...f.concat(G).filter((L)=>typeof L<"u"))}function iy({chain:T,provider:x,isEIP1559Compatible:N=!0}){return h5.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:G}=await x.getFeeData();if(!f||G===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await x.getFeeData();if(!f)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:f},[H.FeeOption.Fast]:{gasPrice:f},[H.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:G,gasPrice:L}=await x.getFeeData();if(N){if(f===null||G===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:G},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}if(!L)throw new H.USwapError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function G0({provider:T,isEIP1559Compatible:x,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:z=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.USwapError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=f0({abi:X,funcName:_});if(Q&&NT(J)&&N){let I=cy({chain:y,provider:J}),R=q?.from||await N?.getAddress(),k=await I({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:R}});return LT(J)(k)}let B=DT(L,X,J);if(Q){if(!N)throw new H.USwapError("toolbox_evm_no_signer");let I=q?.from||await N.getAddress();if(!I)throw new H.USwapError("toolbox_evm_no_signer_address");let R=B.connect(N),k=iy({chain:y,isEIP1559Compatible:x,provider:T}),{maxFeePerGas:$,maxPriorityFeePerGas:F,gasPrice:u}=(await k())[z],d=await B.getFunction(_).estimateGas(...Z,q),Ly=await R[_](...Z,{...q,gasLimit:d,gasPrice:u,maxFeePerGas:$,maxPriorityFeePerGas:F,nonce:q?.nonce||await J.getTransactionCount(I)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let M=await B[_]?.(...Z);return typeof M?.hash==="string"?M?.hash:M}}function m5({provider:T,chain:x}){return function({assetAddress:y,spenderAddress:f,from:G}){return G0({chain:x,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,f]})}}function o2({provider:T,chain:x}){return async function({assetAddress:y,spenderAddress:f,from:G,amount:L=ET}){let X=await m5({chain:x,provider:T})({assetAddress:y,from:G,spenderAddress:f});return H.USwapNumber.fromBigInt(X).gte(H.USwapNumber.fromBigInt(BigInt(L)))}}function h2({signer:T,isEIP1559Compatible:x=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=H.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 I=cy({chain:y,provider:N}),R=LT(N),k=await I(B);return R(k)}return G0({chain:y,isEIP1559Compatible:x,provider:N,signer:T})({...B,feeOption:X,funcParams:J,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:z}})}}function p2({signer:T,isEIP1559Compatible:x=!0,provider:N}){return async function({assetValue:f,memo:G,recipient:L,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:z}=await import("ethers"),J=f.getBaseValue("bigint"),Q=f.chain,B=_||await T?.getAddress(),M=i5({chain:Q,isEIP1559Compatible:x,provider:N,signer:T});if(!B)throw new H.USwapError("toolbox_evm_no_from_address");if(f.isGasAsset){let u={...Z,data:q(z(G||"")),feeOptionKey:X,from:B,to:L,value:J};return M(u)}if(!XT(f,Q))throw new H.USwapError("toolbox_evm_no_contract_address");let{maxFeePerGas:R,maxPriorityFeePerGas:k,gasPrice:$}=(await iy({chain:Q,isEIP1559Compatible:x,provider:N})())[X],F=await ef({chain:Q,provider:N,signer:T})({assetValue:f,data:q(z(G||"")),gasPrice:$,maxFeePerGas:R,maxPriorityFeePerGas:k,memo:G,recipient:L,sender:B});return M(F)}}function c5({provider:T,signer:x}){return function({contractAddress:y,abi:f,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.USwapError("toolbox_evm_no_contract_address");let _=DT(y,f,T);return x?_.connect(x).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function t2({provider:T,signer:x}){return async function({assetValue:y,recipient:f,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 c5({provider:T,signer:x})({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:f,value:z})}}function i5({provider:T,signer:x,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=H.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...z}=L;if(!x)throw new H.USwapError("toolbox_evm_no_signer");if(!_)throw new H.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 x.getAddress(),B=L.nonce||await T.getTransactionCount(Q),M=(await T.getNetwork()).chainId,I=m2(J)||N,R=iy({chain:y,isEIP1559Compatible:N,provider:T}),k=I&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await R())[G]).reduce((F,[u,d])=>({...F,[u]:KT(BigInt(d))}),{}):{},$;try{$=KT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(F){throw new H.USwapError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...J,chainId:M,gasLimit:$,nonce:B,type:I?2:0,...k};try{return(await x.sendTransaction(F)).hash}catch{let u=await x.signTransaction({...F,from:Q});return(await T.broadcastTransaction(u)).hash}}catch(F){throw new H.USwapError("toolbox_evm_error_sending_transaction",{error:F})}}}function ef({provider:T,signer:x}){return async function({assetValue:y,memo:f,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...z}){let J=y.getBaseValue("bigint"),Q=y.chain,B=X||await x?.getAddress();if(!B)throw new H.USwapError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:R,toUtf8Bytes:k}=await import("ethers");return{...z,data:L||R(k(f||"")),from:B,to:G,value:J}}let M=XT(y,Q);if(!M)throw new H.USwapError("toolbox_evm_no_contract_address");return cy({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[G,J],txOverrides:{from:B,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function c2({provider:T,signer:x,chain:N}){return async function({assetAddress:f,spenderAddress:G,amount:L,from:X}){let _=await x?.getAddress()||X,Z=cy({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||ET;return await Z({abi:xT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function i2({provider:T,isEIP1559Compatible:x=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:f,...G}){let X=await iy({chain:f,isEIP1559Compatible:x,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:f}),{gasPrice:q,maxFeePerGas:z,maxPriorityFeePerGas:J}=X[y];if(!x&&q)return Z.set(H.USwapNumber.fromBigInt(q*_,Z.decimal));if(z&&J){let Q=(z+J)*_;return Z.set(H.USwapNumber.fromBigInt(Q,Z.decimal))}throw new H.USwapError("toolbox_evm_no_gas_price")}}var H,xT,Wy,h5,ET,u2,b2,x0,j2,m2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=E(()=>{ff();fT();H=require("@uswap/helpers"),xT=require("@uswap/helpers/contracts"),Wy=require("ethers"),h5=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");u2=["payable","nonpayable"];b2=H.EVMChains.reduce((T,x)=>{return T[x]="0x0000000000000000000000000000000000000000",T},{}),x0={...b2,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},j2=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Gf({provider:T,...x}){let N=await Gy(a.Chain.Ethereum)({provider:T,...x});async function y(f,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await N.createContractTxObject({abi:j5,contractAddress:G,funcName:L,funcParams:[f]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function Gy(T){return async function({provider:N,...y}){let{HDNodeWallet:f}=await import("ethers"),G=await a.getRPCUrl(T),L=N||await my(T,G),X=sf(T),_=ST.match(y).with({phrase:ST.P.string},({phrase:q})=>f.fromPhrase(q).connect(L)).with({signer:ST.P.any},({signer:q})=>q).otherwise(()=>{return});return GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_})}}var a,ST,Nf,Lf,Xf,_f,Zf,Jf,g5,qf,zf,Qf,Bf,Yf,Wf,PT,Hf,Mf,If,Rf;var N0=E(()=>{o5();fT();xf();a=require("@uswap/helpers"),ST=require("ts-pattern");Nf=Gy(a.Chain.Arbitrum),Lf=Gy(a.Chain.Aurora),Xf=Gy(a.Chain.Avalanche),_f=Gy(a.Chain.Base),Zf=Gy(a.Chain.Berachain),Jf=Gy(a.Chain.BinanceSmartChain),g5=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),zf=Gy(a.Chain.Corn),Qf=Gy(a.Chain.Cronos),Bf=Gy(a.Chain.Gnosis),Yf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),PT=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Mf=Gy(a.Chain.XLayer),If=Gy(a.Chain.Monad),Rf=Gy(a.Chain.MegaETH)});var d5;var r5=E(()=>{d5=[{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(d2,d5,T)}function a5(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function s5(T){return async function({from:N,to:y,nonce:f,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new g.USwapError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:f?f:N?await T.getTransactionCount(N):0,to:y}).serialized}}function e5(T){return async function(N){let y=L0(T),f=await s5(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function y1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(N);return y.mul(f)}}function r2(T){return async function(N){let y=await e5(T)(N),f=await y1(T)(N);return y.add(f)}}function a2(T){return async function(N){let y=L0(T),f=await s5(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}async function s2(T){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),f=await a5(T)(),G=y;if(!(x&&N))throw new g.USwapError("toolbox_evm_no_fee_data");return{[g.FeeOption.Average]:{gasPrice:G,l1GasPrice:f,maxFeePerGas:x,maxPriorityFeePerGas:N},[g.FeeOption.Fast]:{gasPrice:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fast),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fast),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(N,g.FeeOption.Fast)},[g.FeeOption.Fastest]:{gasPrice:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fastest),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fastest),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(N,g.FeeOption.Fastest)}}}catch(x){throw new g.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}async function wf({provider:T,...x}){let N=g.Chain.Optimism,y=await g.getRPCUrl(N),f=T||await my(N,y),G=UT.match(x).with({phrase:UT.P.string},({phrase:_})=>Cf.HDNodeWallet.fromPhrase(_).connect(f)).with({signer:UT.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:f,signer:G}),X=a5(f);return{...L,estimateGasPrices:s2(f),estimateL1Gas:a2(f),estimateL1GasCost:e5(f),estimateL2GasCost:y1(f),estimateTotalGasCost:r2(f),getBalance:kT(g.Chain.Optimism).getBalance,getL1GasPrice:X}}var g,Cf,UT,d2="0x420000000000000000000000000000000000000f";var X0=E(()=>{ff();r5();fT();xf();g=require("@uswap/helpers"),Cf=require("ethers"),UT=require("ts-pattern")});var x1={};qy(x1,{toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>f1,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,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:()=>g5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function f1(T,x){let N={...x,provider:x?.provider||await my(T)};return T1.match(T).returnType().with(e.Chain.Arbitrum,()=>Nf(N)).with(e.Chain.Aurora,()=>Lf(N)).with(e.Chain.Avalanche,()=>Xf(N)).with(e.Chain.Base,()=>_f(N)).with(e.Chain.Berachain,()=>Zf(N)).with(e.Chain.BinanceSmartChain,()=>Jf(N)).with(e.Chain.Botanix,()=>PT(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>zf(N)).with(e.Chain.Cronos,()=>Qf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Bf(N)).with(e.Chain.Hyperevm,()=>Yf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>PT(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Mf(N)).with(e.Chain.Monad,()=>If(N)).with(e.Chain.MegaETH,()=>Rf(N)).exhaustive()}var e,T1;var _0=E(()=>{fT();N0();X0();e=require("@uswap/helpers"),T1=require("ts-pattern");xf();N0();X0()});var G1;var N1=E(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(G1||={})});var L1={};qy(L1,{toHexString:()=>KT,toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>my,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>f1,getEvmApi:()=>kT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,evmValidateAddress:()=>y0,createCustomEvmApi:()=>$2,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>If,MEGAETHToolbox:()=>Rf,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>Bf,EthNetwork:()=>G1,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>zf,COREToolbox:()=>qf,BotanixToolbox:()=>g5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=Yy(L1);var X1=E(()=>{ff();fT();_0();N1()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),x="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function yx(T){try{let{MeshWallet:x}=await import("@meshsdk/core"),N=await Z0(),y=new x({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let f=await y.getBalance(),G=[];for(let L of f)if(L.unit===e2){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);G.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return G}catch(x){let N=x instanceof Error?x.message:String(x);return console.error(`Cardano balance fetch error: ${N}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function _1(){let{deserializeAddress:T}=await import("@meshsdk/core");return(x)=>{try{return T(x),!0}catch{return!1}}}async function Tx(T){let x=await _1(),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 f(){return y||""}function G(q){let z=q||f();if(!z)throw new yy.USwapError("core_wallet_connection_not_found");return yx(z)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:z,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.USwapError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,B]=z.symbol.split("-");if(!z.isGasAsset&&!B)throw new yy.USwapError("core_wallet_connection_not_found");let M=new Q({initiator:N});if(M.sendAssets({address:q},[{quantity:z.getBaseValue("string"),unit:z.isGasAsset?"lovelace":z.symbol}]),J)M.setMetadata(0,J);let I=await M.build();return{tx:M,unsignedTx:I}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.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 yy.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:f,getBalance:G,signTransaction:_,transfer:Z,validateAddress:x}}var yy,vT,e2="lovelace";var Z1=E(()=>{yy=require("@uswap/helpers"),vT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>Tx,getCardanoAddressValidator:()=>_1});module.exports=Yy(J0);var q0=E(()=>{Z1()});function lT(T){return ly.base64.encode(Uint8Array.from(ly.bech32.fromWords(ly.bech32.decode(T).words)))}function AT(T,x="thor"){return ly.bech32.encode(x,ly.bech32.toWords(ly.base64.decode(T)))}function fx(T){return Of.fromByteArray(T)}function xx(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new J1.USwapError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Of.toByteArray(T)}var ly,J1,Of;var z0=E(()=>{ly=require("@scure/base"),J1=require("@uswap/helpers"),Of=require("base64-js")});function Py(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return Q1;case D.Chain.Noble:return B1;default:return z1}}async function Uy(T){let x=await import("@cosmjs/stargate"),N=x.StargateClient??x.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,x,N={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return f.connectWithSigner(T,x,{gasPrice:G.fromString(L),...X})}async function B0(T,x){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,x)}async function Y0({sender:T,recipient:x,assetValue:N,memo:y="",feeRate:f,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),z=await(await Uy(Z)).getAccount(T);if(!z)throw new D.USwapError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),Q=Sy(J.symbol),B=Py(X),M=Q&&f?{amount:[{amount:f.toString(),denom:Q}],gas:B.gas}:B,I={amount:[{amount:N.getBaseValue("string"),denom:Sy(N.symbol)}],fromAddress:T,toAddress:x};return{accountNumber:L??z.accountNumber,chainId:_,fee:M,memo:y,msgs:[{typeUrl:Gx(X),value:I}],sequence:G??z.sequence}}var D,Q0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",q1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",z1,Q1,B1,Sy=(T,x=!1)=>{if(x)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Q0;case"uYUM":case"YUM":return q1;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:x})=>{if(x===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(x===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Sy(T,!1)},Gx=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.USwapError("toolbox_cosmos_not_supported",{chain:T})}},Nx,W0=(T,x)=>{let N=Nx[T.toLowerCase()];if(!N)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:x});let{chain:y,asset:f,decimals:G}=N,L=y?{chain:y}:{asset:f};return D.AssetValue.from({...L,fromBaseDecimal:G,value:x})};var FT=E(()=>{D=require("@uswap/helpers"),z1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Q1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Nx={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[Q0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var Y1={};qy(Y1,{$root:()=>w});var _y,A,My,K,w;var W1=E(()=>{_y=W(require("protobufjs/minimal.js")),A=_y.default.Reader,My=_y.default.Writer,K=_y.default.util,w=_y.default.roots.default||(_y.default.roots.default={});w.common=(()=>{let T={};return T.Asset=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.chain="",x.prototype.symbol="",x.prototype.ticker="",x.prototype.synth=!1,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.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},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof w.common.Asset)return y;let f=new w.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.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},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Coin=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.asset=null,x.prototype.amount="",x.prototype.decimals=K.Long?K.Long.fromBits(0,0,!1):0,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))w.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=w.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},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=w.common.Asset.verify(y.asset);if(f)return"asset."+f}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},x.fromObject=function(y){if(y instanceof w.common.Coin)return y;let f=new w.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=w.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(K.Long)(f.decimals=K.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)if(G.asset=null,G.amount="",K.Long){let L=new K.Long(0,0,!1);G.decimals=f.longs===String?L.toString():f.longs===Number?L.toNumber():L}else G.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=w.common.Asset.toObject(y.asset,f);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=f.longs===String?String(y.decimals):y.decimals;else G.decimals=f.longs===String?K.Long.prototype.toString.call(y.decimals):f.longs===Number?new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.PubKeySet=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.secp256k1="",x.prototype.ed25519="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.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},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof w.common.PubKeySet)return y;let f=new w.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.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},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Tx=(()=>{function x(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.id="",x.prototype.chain="",x.prototype.fromAddress="",x.prototype.toAddress="",x.prototype.coins=K.emptyArray,x.prototype.gas=K.emptyArray,x.prototype.memo="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)w.common.Coin.encode(y.gas[G],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.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(w.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(w.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let G=w.common.Coin.verify(y.gas[f]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!K.isString(y.memo))return"memo: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Tx)return y;let f=new w.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[G]=w.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)f.memo=String(y.memo);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[],G.gas=[];if(f.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]=w.common.Coin.toObject(y.coins[L],f)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=w.common.Coin.toObject(y.gas[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Fee=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.poolDeduct="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!K.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Fee)return y;let f=new w.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.ProtoUint=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.value="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.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},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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},x.fromObject=function(y){if(y instanceof w.common.ProtoUint)return y;let f=new w.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.types=(()=>{let T={};return T.MsgDeposit=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.memo="",x.prototype.signer=K.newBuffer([]),x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.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},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);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},x.fromObject=function(y){if(y instanceof w.types.MsgDeposit)return y;let f=new w.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")K.base64.decode(y.signer,f.signer=K.newBuffer(K.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults){if(G.memo="",f.bytes===String)G.signer="";else if(G.signer=[],f.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]=w.common.Coin.toObject(y.coins[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=f.bytes===String?K.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.MsgSend=(()=>{function x(N){if(this.amount=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.fromAddress=K.newBuffer([]),x.prototype.toAddress=K.newBuffer([]),x.prototype.amount=K.emptyArray,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)w.cosmos.base.v1beta1.Coin.encode(y.amount[G],f.uint32(26).fork()).ldelim();return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.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(w.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.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 f=0;f<y.amount.length;++f){let G=w.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(G)return"amount."+G}}return null},x.fromObject=function(y){if(y instanceof w.types.MsgSend)return y;let f=new w.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")K.base64.decode(y.fromAddress,f.fromAddress=K.newBuffer(K.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")K.base64.decode(y.toAddress,f.toAddress=K.newBuffer(K.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[G]=w.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.amount=[];if(f.defaults){if(f.bytes===String)G.fromAddress="";else if(G.fromAddress=[],f.bytes!==Array)G.fromAddress=K.newBuffer(G.fromAddress);if(f.bytes===String)G.toAddress="";else if(G.toAddress=[],f.bytes!==Array)G.toAddress=K.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=f.bytes===String?K.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=f.bytes===String?K.base64.encode(y.toAddress,0,y.toAddress.length):f.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]=w.cosmos.base.v1beta1.Coin.toObject(y.amount[L],f)}return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.cosmos=(()=>{let T={};return T.base=(()=>{let x={};return x.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[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=My.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 A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.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 A))G=new A(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 w.cosmos.base.v1beta1.Coin)return G;let L=new w.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,_y.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[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=My.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 A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.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 A))G=new A(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 w.cosmos.base.v1beta1.DecCoin)return G;let L=new w.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,_y.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.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 A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.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 A))G=new A(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 w.cosmos.base.v1beta1.IntProto)return G;let L=new w.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,_y.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.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 A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.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 A))G=new A(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 w.cosmos.base.v1beta1.DecProto)return G;let L=new w.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,_y.default.util.toJSONOptions)},y})(),N})(),x})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (W1(),Y1)),x=await import("@cosmjs/proto-signing"),N=x.Registry??x.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ay(T){let x=await import("@cosmjs/stargate"),N=x.AminoTypes??x.default?.AminoTypes,y=T===H1.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...G})=>({...G,signer:lT(f)}),toAmino:({signer:f,...G})=>({...G,signer:AT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:G,...L})=>({...L,fromAddress:lT(f),toAddress:lT(G)}),toAmino:({fromAddress:f,toAddress:G,...L})=>({...L,from_address:AT(f),to_address:AT(G)})}})}var H1;var H0=E(()=>{z0();H1=require("@uswap/helpers")});function R0(T){return function(N){let{assetValue:y,recipient:f,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(f)return I1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:f,sender:L});return R1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function Vy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((x)=>{let N=Iy.AssetValue.from({asset:x.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),f=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...x,asset:{chain:f,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function VT({chain:T,memo:x,msgs:N}){let y=await gy(),f=await Ay(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:x,messages:N.map((L)=>f.fromAmino(L))}};return y.encode(G)}var Iy,Lx,Xx,M0=({sender:T,recipient:x,assetValue:N})=>{return{type:`${N.chain===Iy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Sy(N.symbol,!0)}],from_address:T,to_address:x}}},I0=({sender:T,assetValue:x,memo:N=""})=>{return{type:`${x.chain===Iy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:x.getBaseValue("string"),asset:_T(x)}],memo:N,signer:T}}},kf=({sender:T,recipient:x,assetValue:N,memo:y})=>{return!x?I0({assetValue:N,memo:y,sender:T}):M0({assetValue:N,recipient:x,sender:T})},Fy=async(T,x)=>{return(await Ay(x)).fromAmino(T)},M1=async({rpcUrl:T,sender:x})=>{let y=await(await Uy(T)).getAccount(x);if(!y)throw new Iy.USwapError("toolbox_cosmos_account_not_found",{sender:x});return y},I1=(T)=>async({sender:x,recipient:N,assetValue:y,memo:f="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await M1({rpcUrl:T,sender:x}),q=y.chain,{chainId:z}=Iy.getChainConfig(q),J=M0({assetValue:y,recipient:N,sender:x}),Q=G?await Fy(L?J:Vy(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:z,fee:Py(q),memo:f,msgs:[Q],sequence:X||Z.sequence}},R1=(T)=>async({sender:x,assetValue:N,memo:y="",asSignable:f=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await M1({rpcUrl:T,sender:x}),Z=N.chain,{chainId:q}=Iy.getChainConfig(Z),z=I0({assetValue:N,memo:y,sender:x}),J=f?await Fy(G?z:Vy(z),Z):z;return{accountNumber:X||_.accountNumber,chainId:q,fee:Py(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var C1=E(()=>{FT();H0();Iy=require("@uswap/helpers"),Lx=Py(Iy.Chain.THORChain).gas,Xx=Py(Iy.Chain.Maya).gas});var w1=()=>{};var O1=E(()=>{w1()});var C0=E(()=>{z0();C1();H0();O1()});async function E0(T,x){try{let y=(await K0.USwapApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}async function k0({phrase:T,prefix:x,...N}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${U.DerivationPath[N.chain]}/${N.index}`;return f.fromMnemonic(T,{hdPaths:[L(X)],prefix:x})}async function _x({privateKey:T,prefix:x}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,x)}function E1(T){return async function({signature:N,message:y,address:f}){let G=await T(f);if(!G?.pubkey)throw new U.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($y.base64.decode(N));return _.verifySignature(Z,$y.base64.decode(y),G.pubkey.value)}}async function nT({chain:T,...x}){let N=await U.getRPCUrl(T),y=U.CosmosChainPrefixes[T],f="index"in x?x.index||0:0,G=U.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:U.updateDerivationPath(U.NetworkDerivationPath[T],{index:f})),L=await $T.match(x).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 Uy(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 U.USwapError("toolbox_cosmos_signer_not_defined");return $y.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:Q,memo:B="",feeRate:M,feeOptionKey:I=U.FeeOption.Fast}){let R=await _();if(!(L&&R))throw new U.USwapError("toolbox_cosmos_signer_not_defined");let k=U.AssetValue.from({chain:T}),$=_T(k),F=M||k1((await O0(T,w0[T]))[I],$),u=await ZT(N,L),d=Sy(Q.symbol),Ly=Q.getBaseValue("string"),{TxRaw:Qy}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),l={amount:[{amount:Ly,denom:d}],fromAddress:R,toAddress:J},V=await u.sign(R,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:l}],F,B),Y=Qy.encode(V).finish();return Buffer.from(Y).toString("hex")}async function z({recipient:J,assetValue:Q,memo:B="",feeRate:M,feeOptionKey:I=U.FeeOption.Fast,dryRun:R=!1}){if(R)return q({assetValue:Q,feeOptionKey:I,feeRate:M,memo:B,recipient:J});let k=await _();if(!(L&&k))throw new U.USwapError("toolbox_cosmos_signer_not_defined");let $=U.AssetValue.from({chain:T}),F=_T($),u=M||k1((await O0(T,w0[T]))[I],F),d=await ZT(N,L),Ly=Sy(Q.symbol),Qy=[{amount:Q.getBaseValue("string"),denom:Ly}],{transactionHash:l}=await d.sendTokens(k,J,Qy,u,B);return l}return{createPrivateKeyFromPhrase:zx(G),createTransaction:Y0,fetchFeeRateFromSwapKit:E0,getAccount:X,getAddress:_,getBalance:async(J,Q)=>{let B=await K1(N)(J),M=await Promise.all(B.filter(({denom:I})=>I&&!I.includes("IBC/")).map(({denom:I,amount:R})=>{let k=[U.Chain.THORChain,U.Chain.Maya].includes(T)&&(I.includes("/")||I.includes("˜"))?`${T}.${I}`:I;return W0(k,R)}));if(M.length===0)return[U.AssetValue.from({chain:T})];return M},getBalanceAsDenoms:K1(N),getFees:()=>O0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:Q})=>k0({derivationPath:U.derivationPathToString(Q),index:f,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:D1(T),verifySignature:E1(X)}}async function Zx(T,x){try{let y=(await K0.USwapApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}function Jx({assetValue:{chain:T}}){return U.AssetValue.from({chain:T,value:qx(T)})}async function O0(T,x){let{chainId:N,baseDecimal:y}=U.getChainConfig(T),f=await E0(N,x);return{average:U.USwapNumber.fromBigInt(BigInt(f),y),fast:U.USwapNumber.fromBigInt(BigInt(U.applyFeeMultiplier(f,U.FeeOption.Fast,!0)),y),fastest:U.USwapNumber.fromBigInt(BigInt(U.applyFeeMultiplier(f,U.FeeOption.Fastest,!0)),y)}}function k1(T,x){return{amount:[{amount:T.getBaseValue("string"),denom:x}],gas:"200000"}}function qx(T){return{[U.Chain.Cosmos]:0.007,[U.Chain.Kujira]:0.02,[U.Chain.Noble]:0.01,[U.Chain.THORChain]:0.02,[U.Chain.Maya]:0.02,[U.Chain.Harbor]:0.02}[T]||0}function D1(T){let x=U.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(x))return!1;try{let{prefix:f,words:G}=$y.bech32.decode(y);return $y.bech32.encode(f,G)===y.toLocaleLowerCase()}catch{return!1}}}function K1(T){return async function(N){return(await(await Uy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function zx(T){return async function(N){let y=await import("@cosmjs/crypto"),f=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,f(T));return z}}var $y,U,K0,$T,w0;var Kf=E(()=>{FT();$y=require("@scure/base"),U=require("@uswap/helpers"),K0=require("@uswap/helpers/api"),$T=require("ts-pattern");w0={[U.Chain.Cosmos]:1000,[U.Chain.Kujira]:1000,[U.Chain.Noble]:1000,[U.Chain.THORChain]:5000000,[U.Chain.Maya]:5000000,[U.Chain.Harbor]:5000000}});function Qx({prefix:T,derivationPath:x}){return async function(y,f=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:[_(`${x}/${f}`)],prefix:T})}}function Bx(T){return ny.base64.encode(T)}function Yx(T){return async function({wallet:N,tx:y}){let{msgs:f,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",z=await Ay(T),J=await gy(),Q=await B0(N,{aminoTypes:z,registry:J}),B=[];for(let R of f){let k=await Fy(R,T);B.push(k)}let{signatures:[M]}=await Q.sign(q,B,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await VT({chain:T,memo:Z,msgs:f.map(Vy)}),signature:Bx(M)}}}function Wx({prefix:T,rpcUrl:x}){return async function(y,f,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 S1(G,L),B=f.map((R)=>[Z(_(ny.base64.decode(R.pubKey)),T),ny.base64.decode(R.signature)]),M=await Uy(x),{transactionHash:I}=await M.broadcastTx(q(Q,z,J,X,new Map(B)));return I}}async function S1(T,x,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>f(ny.base64.decode(G))),x,N)}function Hx(T){return ny.base64.decode(T)}async function Mx({privateKey:T,message:x}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature(ny.base64.decode(x),T);return ny.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...x}){let N=await c.getRPCUrl(T),{nodeUrl:y}=c.getChainConfig(T),{isStagenet:f}=c.USwapConfig.get("envs"),G=T===c.Chain.THORChain,L=`${f?"s":""}${c.CosmosChainPrefixes[T]}`,X="index"in x?x.index||0:0,_="derivationPath"in x&&x.derivationPath?x.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[T],{index:X}),Z=await nT({chain:T,...x}),q=await uT.match(x).with({phrase:uT.P.string},({phrase:B})=>Z.getSignerFromPhrase({derivationPath:_,phrase:B})).with({signer:uT.P.any},({signer:B})=>B).otherwise(()=>{return}),z=Py(T);async function J(){let B,M=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:I}}=await c.RequestClient.get(M);if(!I||Number.isNaN(I)||I<0)throw new c.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:I.toString()});B=new c.USwapNumber(I)}catch{B=new c.USwapNumber({decimal:c.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[c.FeeOption.Average]:B,[c.FeeOption.Fast]:B,[c.FeeOption.Fastest]:B}}async function Q({assetValue:B,memo:M="",recipient:I}){let{TxRaw:R}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),k=(await q?.getAccounts())?.[0]?.address;if(!(k&&q))throw new c.USwapError("toolbox_cosmos_no_signer");let $="signAmino"in q,F=await gy(),u=await Ay(T),d=await ZT(N,q,{aminoTypes:u,registry:F}),Ly=kf({assetValue:B,memo:M,recipient:I,sender:k});if($){let Y=await Fy(Ly,T),{signatures:C,authInfoBytes:O}=await d.sign(k,[Y],z,M),n=R.encode({authInfoBytes:O,bodyBytes:await VT({chain:T,memo:M,msgs:[Ly].map(Vy)}),signatures:C}).finish();return(await d.broadcastTx(n)).transactionHash}let Qy=Vy(Ly),l=await Fy(Qy,T);return(await d.signAndBroadcast(k,[l],z,M)).transactionHash}return{...Z,broadcastMultisigTx:Wx({prefix:L,rpcUrl:N}),buildAminoMsg:kf,buildEncodedTxBody:VT,convertToSignable:Fy,createDefaultAminoTypes:()=>Ay(T),createDefaultRegistry:gy,createMultisig:S1,createTransaction:R0(N),deposit:Q,getFees:J,importSignature:Hx,parseAminoMessageForDirectSigning:Vy,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(B,L)},secp256k1HdWalletFromMnemonic:Qx({derivationPath:c.derivationPathToString(_),prefix:L}),signMultisigTx:Yx(T),signWithPrivateKey:Mx,transfer:Q}}var ny,c,uT;var S0=E(()=>{C0();FT();Kf();ny=require("@scure/base"),c=require("@uswap/helpers"),uT=require("ts-pattern")});var uy,Ix=(T,x)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return nT({chain:T,...x});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...x});default:throw new uy.USwapError("toolbox_cosmos_not_supported",{chain:T})}};var P1=E(()=>{Kf();S0();uy=require("@uswap/helpers");Kf();S0()});var Ef={};qy(Ef,{verifySignature:()=>E1,transferMsgAmino:()=>M0,toBase64:()=>fx,parseAminoMessageForDirectSigning:()=>Vy,getSignerFromPrivateKey:()=>_x,getSignerFromPhrase:()=>k0,getMsgSendDenom:()=>Sy,getFeeRateFromSwapKit:()=>Zx,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Py,getCreateTransaction:()=>R0,getCosmosValidateAddress:()=>D1,getCosmosToolbox:()=>Ix,getAssetFromDenom:()=>W0,fromBase64:()=>xx,fetchFeeRateFromSwapKit:()=>E0,estimateTransactionFee:()=>Jx,depositMsgAmino:()=>I0,createThorchainToolbox:()=>D0,createStargateClient:()=>Uy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>B0,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>Ay,createCosmosToolbox:()=>nT,cosmosCreateTransaction:()=>Y0,convertToSignable:()=>Fy,buildTransferTx:()=>I1,buildEncodedTxBody:()=>VT,buildDepositTx:()=>R1,buildAminoMsg:()=>kf,bech32ToBase64:()=>lT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>q1,USK_KUJIRA_FACTORY_DENOM:()=>Q0,THORCHAIN_GAS_VALUE:()=>Lx,MAYA_GAS_VALUE:()=>Xx,DEFAULT_NOBLE_FEE_MAINNET:()=>B1,DEFAULT_KUJI_FEE_MAINNET:()=>Q1,DEFAULT_COSMOS_FEE_MAINNET:()=>z1});module.exports=Yy(Ef);var Df=E(()=>{C0();P1();FT()});async function v1(T){let x=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(x.symbol!=="UNKNOWN")return{decimals:x.decimal||0,id:T,logoURI:x.getIconUrl(),name:x.symbol,symbol:x.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 f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((L)=>L.id===T)||null}catch{return null}}async function Rx(T){let x=await dy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new N(T),{baseDecimal:G}=j.getChainConfig(j.Chain.Solana),L=await x.getBalance(f),X=[j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:G,value:L||0})],_=await x.getParsedTokenAccountsByOwner(f,{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 v1(z),B=Q?.symbol||"UNKNOWN",M=Q?.decimals||q.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${B}-${z}`,fromBaseDecimal:M,value:J}))}return X}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(x)=>{try{let N=new T(x);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function Cx(T){let x=T&&"index"in T?T.index||0:0,N=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:x})),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 f(){return y?.publicKey?U1(y.publicKey):""}function G(L){let X=L||f();if(!X)throw new j.USwapError("core_wallet_connection_not_found");return Rx(X)}return{broadcastTransaction:P0(dy),createKeysForPath:U0,createTransaction:l0(dy),createTransactionFromInstructions:Kx,estimateTransactionFee:wx(dy),getAddress:f,getAddressFromPubKey:U1,getAddressValidator:v0,getBalance:G,getConnection:dy,getPubkeyFromAddress:A0,signTransaction:Dx(dy,y),transfer:Ex(dy,y)}}function wx(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let L=await T(),_=(await l0(T)({assetValue:N,isProgramDerivedAddress:f,memo:y,recipient:x,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.USwapError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),x=await j.getRPCUrl(j.Chain.Solana);return new T(x,"confirmed")}function Ox(T){return async({assetValue:x,recipient:N,sender:y,isProgramDerivedAddress:f})=>{let G=await T(),L=await A0(y);if(x.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:x.getBaseValue("number"),toPubkey:new Z(N)}))}if(x.address)return kx({amount:x.getBaseValue("number"),connection:G,decimals:x.decimal,from:L,isProgramDerivedAddress:f,recipient:N,tokenAddress:x.address});return}}async function kx({tokenAddress:T,recipient:x,from:N,connection:y,amount:f,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),M=await X(B,N),I=new J(x),R=await X(B,I,L),k=!1;try{await _(y,R),k=!0}catch{}if(!k)Q.add(Z(N,R,I,B));return Q.add(q(M,B,R,N,f,G)),Q}function l0(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await A0(G),_=await v0();if(!(f||_(x)))throw new j.USwapError("core_transaction_invalid_recipient_address");let Z=await T(),q=await Ox(T)({assetValue:N,isProgramDerivedAddress:f,recipient:x,sender:G});if(!q)throw new j.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 Kx({instructions:T}){let{Transaction:x}=await import("@solana/web3.js"),N=new x().add(...T);if(!N)throw new j.USwapError("core_transaction_invalid_sender_address");return N}function Ex(T,x){return async({recipient:N,assetValue:y,memo:f,isProgramDerivedAddress:G})=>{if(!x)throw new j.USwapError("core_transaction_invalid_sender_address");let L=x.publicKey?.toString()??(await x.connect()).publicKey.toString(),X=await l0(T)({assetValue:y,isProgramDerivedAddress:G,memo:f,recipient:N,sender:L});if("signTransaction"in x){let _=await x.signTransaction(X);return P0(T)(_)}return X.sign(x),P0(T)(X)}}function P0(T){return async(x)=>{return(await T()).sendRawTransaction(x.serialize())}}function Dx(T,x){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!x)throw new j.USwapError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=x.publicKey||void 0}if("connect"in x)return await x.signTransaction(N);return await N.sign([x]),N}}async function U0({phrase:T,derivationPath:x=j.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return f.fromSeed(L.derive(x,!0).privateKey)}function U1(T){return T.toString()}async function A0(T){let{PublicKey:x}=await import("@solana/web3.js");return new x(T)}var j,bT;var l1=E(()=>{j=require("@uswap/helpers"),bT=require("ts-pattern")});var F0={};qy(F0,{getSolanaToolbox:()=>Cx,getSolanaAddressValidator:()=>v0,fetchTokenMetaData:()=>v1,createKeysForPath:()=>U0});module.exports=Yy(F0);var V0=E(()=>{l1()});async function A1(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function Sx({provider:T,...x}={}){let N=await A1(),y=await jT.match(x).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 f(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 fy.USwapError("toolbox_sui_address_required");let{baseDecimal:Q,chain:B}=fy.getChainConfig(fy.Chain.Sui);try{let M=await f(),{totalBalance:I}=await M.getBalance({owner:J}),R=[fy.AssetValue.from({chain:B,fromBaseDecimal:Q,value:I})],k=await M.getAllBalances({owner:J});for(let{coinType:$,totalBalance:F}of k){if($==="0x2::sui::SUI")continue;if(Number(F)>0){let u=$.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${B}.${u}-${$}`;R.push(fy.AssetValue.from({asset:d,fromBaseDecimal:Q,value:F}))}}return R}catch{return[fy.AssetValue.from({chain:B})]}}async function X(z){let J=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!z)return J;try{let Q=await f(),{txBytes:B}=await _(z),{effects:{status:M,gasUsed:I}}=await Q.dryRunTransactionBlock({transactionBlock:B});if(M.status!=="success")return J;let R=Number(I.computationCost)+Number(I.storageCost)-Number(I.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,value:R.toString()})}catch{return J}}async function _({recipient:z,assetValue:J,gasBudget:Q,sender:B}){let{Transaction:M}=await import("@mysten/sui/transactions"),I=B||G();if(!I)throw new fy.USwapError("toolbox_sui_no_sender");try{let R=new M;if(R.setSender(I),J.isGasAsset||J.symbol==="SUI"){let[F]=R.splitCoins(R.gas,[J.getBaseValue("string")]);R.transferObjects([F],z)}else throw new fy.USwapError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)R.setGasBudget(Q);let k=await f(),$=await R.build({client:k});return{tx:R,txBytes:$}}catch(R){throw new fy.USwapError("toolbox_sui_transaction_creation_error",{error:R})}}async function Z(z){if(!y)throw new fy.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 fy.USwapError("toolbox_sui_no_signer");let B=y.toSuiAddress()||G();if(!B)throw new fy.USwapError("toolbox_sui_no_sender");let{txBytes:M}=await _({assetValue:z,gasBudget:J,recipient:Q,sender:B}),I=await f(),{digest:R}=await I.signAndExecuteTransaction({signer:y,transaction:M});return R}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var fy,jT;var F1=E(()=>{fy=require("@uswap/helpers"),jT=require("ts-pattern")});var Sf={};qy(Sf,{getSuiToolbox:()=>Sx,getSuiAddressValidator:()=>A1});module.exports=Yy(Sf);var Pf=E(()=>{F1()});async function Px(T={}){let{mnemonicToWalletKey:x}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),G=await V1(),L,X,_=await oT.match(T).with({phrase:oT.P.string},async({phrase:R})=>x(R.split(" "))).with({signer:oT.P.any},({signer:R})=>R).otherwise(()=>{return});function Z(){let{rpcUrls:R}=Ty.getChainConfig(Ty.Chain.Ton),[k]=R;if(!L||L.parameters.endpoint!==k)L=new y({endpoint:k});return L}function q(R){if(!X||R){let k=Z(),$=R||_;if(!$)throw new Ty.USwapError("core_wallet_connection_not_found");let F=f.create({publicKey:$.publicKey,workchain:0});X=k.open(F)}return X}async function z(R){let k=Z(),{baseDecimal:$}=Ty.getChainConfig(Ty.Chain.Ton);try{let F=await k.getBalance(N.parse(R));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.USwapNumber.fromBigInt(F,$)})]}catch{return[Ty.AssetValue.from({chain:Ty.Chain.Ton})]}}async function J({assetValue:R,recipient:k,memo:$}){let F=q();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:Ly}=await import("@ton/ton"),Qy=await F.getSeqno(),l=u(R.getValue("string")),V=$?d($):void 0;return F.createTransfer({messages:[Ly({body:V,to:k,value:l})],secretKey:_.secretKey,seqno:Qy})}async function Q({assetValue:R,recipient:k,memo:$}){let F=q();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let u=await J({assetValue:R,memo:$,recipient:k});return await F.send(u),u.hash().toString()}async function B(R){let k=q();if(!k)throw new Ty.USwapError("core_wallet_connection_not_found");try{return await k.send(R),R.hash().toString("hex")}catch($){throw new Ty.USwapError("core_wallet_connection_not_found",{error:$})}}function M(){return q().address.toString()}function I(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:I,getAddress:M,getBalance:z,sendTransaction:B,transfer:Q,validateAddress:G}}async function V1(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var Ty,oT;var $1=E(()=>{Ty=require("@uswap/helpers"),oT=require("ts-pattern")});var Uf={};qy(Uf,{getTONToolbox:()=>Px,getTONAddressValidator:()=>V1});module.exports=Yy(Uf);var vf=E(()=>{$1()});var JT;var $0=E(()=>{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 u1(T){let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb;try{let y=await fetch(`${Ux}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.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=f.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(y){throw new n1.USwapError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var n1,Ux="https://api.trongrid.io";var b1=E(()=>{n1=require("@uswap/helpers")});async function n0(){let T=await import("tronweb"),x=T.TronWeb??T.default?.TronWeb;return(N)=>{return x.isAddress(N)}}async function o1({phrase:T,derivationPath:x,index:N}){let y=x||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:N||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=f.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new P.USwapError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function Vx({phrase:T,derivationPath:x,tronWeb:N}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),G=f(T),X=y.fromMasterSeed(G).derive(x);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,hT,vx=268,lx=13000,Ax=345,j1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fx="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",h1=async(T={})=>{let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),f=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 hT.match(T).with({phrase:hT.P.string},async({phrase:l})=>Vx({derivationPath:X,phrase:l,tronWeb:G})).with({signer:hT.P.any},({signer:l})=>Promise.resolve(l)).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 l=await G.trx.getChainParameters(),V={};for(let Y of l)V[Y.key]=Y.value;return{bandwidthFee:V.getTransactionFee||1000,createAccountFee:V.getCreateAccountFee||1e5,energyFee:V.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(l)=>{try{let V=await G.trx.getAccount(l);return V&&Object.keys(V).length>0}catch{return!1}},Q=async(l)=>{try{let V=await G.trx.getAccountResources(l);return{bandwidth:{free:V.freeNetLimit-V.freeNetUsed,total:V.NetLimit||0,used:V.NetUsed||0},energy:{total:V.EnergyLimit||0,used:V.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(l,V)=>{try{let Y=G.contract(JT,V);if(!Y.methods?.balanceOf)return 0n;let[C]=await Y.methods.balanceOf(l).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(Y){let C=Y instanceof Error?Y.message:String(Y);return console.warn(`balanceOf() failed for ${V}: ${C}`),0n}},M=async(l,V)=>{try{G.setAddress(V);let Y=G.contract(JT,l),[C,O]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:C??"UNKNOWN"}}catch(Y){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${l}: ${Y instanceof Error?Y.message:Y}`}),null}},I=async(l,V=!0)=>{let Y=[P.AssetValue.from({chain:P.Chain.Tron})];try{let C=await u1(l);if(C){let O=[];O.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:C.balance}));for(let n of C.trc20){let[p,h]=Object.entries(n)[0]||[];if(!(p&&h))continue;let o=await M(p,l);if(!o)continue;O.push(P.AssetValue.from({asset:`TRON.${o.symbol}-${p}`,fromBaseDecimal:o.decimals,value:BigInt(h||0)}))}return O}return Y}catch(C){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${C instanceof Error?C.message:C}`});try{let O=[],n=await G.trx.getBalance(l);if(n&&Number(n)>0)O.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await B(l,j1);if(p)O.push(P.AssetValue.from({asset:`TRON.USDT-${j1}`,fromBaseDecimal:6,value:p}));if(O.length===0)return Y;return O}catch(O){let n=O instanceof Error?O.message:String(O);return console.error(`Tron balance fetch failed: ${n}`),Y}}},R=async({recipient:l,assetValue:V,memo:Y,expiration:C})=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");let O=await Z();G.setAddress(O);let n=await $({assetValue:V,expiration:C,memo:Y,recipient:l,sender:O}),p=await _.signTransaction(n),{txid:h}=await G.trx.sendRawTransaction(p);if(!h)throw new P.USwapError("toolbox_tron_token_transfer_failed");return h},k=async({assetValue:l,recipient:V,sender:Y})=>{let C=l.isGasAsset;try{let O=Y?Y:_?await Z():void 0;if(!O)return C?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let n=await z(),h=await J(V)?0:n.createAccountFee,o=await Q(O);if(C){let ty=vx,eT=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),yf=0;if(ty>eT)yf=(ty-eT)*n.bandwidthFee;let Tf=h+yf;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:Tf})}let r=Ax,Xy=lx,zy=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),By=o.energy.total-o.energy.used,py=0;if(r>zy)py=(r-zy)*n.bandwidthFee;let sT=0;if(Xy>By)sT=(Xy-By)*n.energyFee;let df=h+py+sT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:df})}catch(O){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new P.USwapError("toolbox_tron_fee_estimation_failed",{error:O})}},$=async(l)=>{let{recipient:V,assetValue:Y,memo:C,sender:O,expiration:n}=l,p=Y.isGasAsset,h=async({transaction:r,memo:Xy,expiration:zy})=>{let By=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return zy?await G.transactionBuilder.extendExpiration(By,zy):By};if(p){let r=await G.transactionBuilder.sendTrx(V,Y.getBaseValue("number"),O);return h({expiration:n,memo:C,transaction:r})}G.setAddress(O);let o=Y.address;if(!o)throw new P.USwapError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let Xy=[{type:"address",value:V},{type:"uint256",value:Y.getBaseValue("string")}],zy={callValue:0,feeLimit:q()},{transaction:By}=await G.transactionBuilder.triggerSmartContract(o,"transfer(address,uint256)",zy,Xy,O);return h({expiration:n,memo:C,transaction:By})}catch(r){throw new P.USwapError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},F=async(l)=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");return await _.signTransaction(l)},u=async(l)=>{let{txid:V}=await G.trx.sendRawTransaction(l);return V},d=async({assetAddress:l,spenderAddress:V,from:Y})=>{try{let C=G.contract(JT,l);if(!C.methods?.allowance)throw new P.USwapError("toolbox_tron_invalid_token_contract");let[O]=await C.methods.allowance(Y,V).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(C){throw new P.USwapError("toolbox_tron_allowance_check_failed",{error:C})}};return{approve:async({assetAddress:l,spenderAddress:V,amount:Y,from:C})=>{if(!_)throw new P.USwapError("toolbox_tron_no_signer");let O=C||await Z(),n=Y!==void 0?BigInt(Y).toString():Fx,p="approve(address,uint256)",h=[{type:"address",value:V},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(l,p,r,h,O),zy=await _.signTransaction(Xy),{txid:By}=await G.trx.sendRawTransaction(zy);if(!By)throw new P.USwapError("toolbox_tron_approve_failed");return By}catch(Xy){throw new P.USwapError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:$,estimateTransactionFee:k,getAddress:Z,getApprovedAmount:d,getBalance:I,isApproved:async({assetAddress:l,spenderAddress:V,from:Y,amount:C})=>{let O=await d({assetAddress:l,from:Y,spenderAddress:V});if(!C)return O>0n;let n=BigInt(C);return O>=n},signTransaction:F,transfer:R,tronWeb:G,validateAddress:await n0()}};var p1=E(()=>{$0();b1();P=require("@uswap/helpers"),hT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>o1,getTronAddressValidator:()=>n0,createTronToolbox:()=>h1});module.exports=Yy(u0);var b0=E(()=>{$0();p1()});async function $x({chain:T,txHash:x}){let N=`${lf(T)}/push/transaction`,y=JSON.stringify({data:x});try{let f=await b.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||x}catch(f){let G=await b.getRPCUrl(T);if(G){let L=JSON.stringify({id:u5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[x]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.USwapError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw f}}function lf(T){return`https://api.blockchair.com/${nx(T)}`}function t1(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function nx(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function ux(T){try{let{feePerKb:x}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=x/1000;return Math.max(N,t1(T))}catch{return t1(T)}}async function j0(T,x){let N=await b.RequestClient.get(`${T}${x?`${T.includes("?")?"&":"?"}key=${x}`:""}`);if(!N||N.context.code!==200)throw new b.USwapError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function g1({address:T,chain:x,apiKey:N}){if(!T)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${lf(x)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function bx({address:T,chain:x,apiKey:N}){return(await g1({address:T,apiKey:N,chain:x}))?.address.balance||0}async function d1({chain:T,apiKey:x,txHash:N}){if(!N)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${lf(T)}/raw/transaction/${N}`,x))?.[N]?.raw_transaction||""}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function jx({chain:T,address:x,apiKey:N,offset:y=0,limit:f=30}){return(await j0(`${lf(T)}/outputs?q=recipient(${x}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&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 ox(T){return T.reduce((x,N)=>x+N.value,0)}function m1(T,x){let N=[...T].sort((y,f)=>f.value-y.value);if(x){let y=[],f=0;for(let G of N)if(y.push(G),f+=G.value,f>=x)break;return y}return N}async function r1({chain:T,address:x,apiKey:N,targetValue:y,accumulativeValue:f=0,offset:G=0,limit:L=30}){if(!x)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await jx({address:x,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:I})=>!I),z=ox(q),J=f+z,Q=y&&J>=y;if(Z||Q)return m1(q,y);let B=await r1({accumulativeValue:J,address:x,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),M=[...q,...B];return m1(M,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function hx({address:T,chain:x,apiKey:N,fetchTxHex:y=!0,targetValue:f}){let G=await r1({address:T,apiKey:N,chain:x,targetValue:f}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let z;if(y)z=await d1({apiKey:N,chain:x,txHash:X});L.push({address:T,hash:X,index:_,txHex:z,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let x=b.USwapConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!x,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>$x({chain:T,txHash:N}),getAddressData:(N)=>g1({address:N,apiKey:x,chain:T}),getBalance:(N)=>bx({address:N,apiKey:x,chain:T}),getRawTx:(N)=>d1({apiKey:x,chain:T,txHash:N}),getSuggestedTxFee:()=>ux(T),getUtxos:(N)=>hx({...N,apiKey:x,chain:T})}}function px(T){return T}function Oy(){return function(x){switch(x){case b.Chain.Bitcoin:return i1.networks.bitcoin;case b.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return c1.networks.zcash;default:throw new b.USwapError("toolbox_utxo_not_supported",{chain:x})}}}var c1,b,i1,qT;var a1=E(()=>{OT();c1=require("@bitgo/utxo-lib"),b=require("@uswap/helpers"),i1=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function m0(T){try{return Af(T),!0}catch{return!1}}function c0(T){return Af(T)?.network}function zT(T){let x=Af(T);if(x?.format==="legacy")return T;return cx(x)}function pT(T){let x=Af(T);return ix(x)}function Af(T){try{let x=tx(T);if(x)return x}catch{}try{let x=mx(T);if(x)return x}catch{}throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T})}function tx(T){try{let x=h0.default.decode(T);if(x.length!==21)throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T});let N=x[0],y=Array.prototype.slice.call(x,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 mx(T){if(T.indexOf(":")!==-1)try{return s1(T)}catch{}else{let x=["bitcoincash","bchtest","bchreg"];for(let N of x)try{return s1(`${N}:${T}`)}catch{}}return}function s1(T){try{let{hash:x,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(x,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function cx(T){let x=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=x,N.set(T.hash,1),h0.default.encode(N)}function ix(T){let x=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(x,N,y)}var o0,h0,p0,t0,ry;var e1=E(()=>{o0=require("@uswap/helpers"),h0=W(require("bs58check")),p0=W(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 ky(T){let x=Buffer.from(T,"utf8");return $f.script.compile([$f.opcodes.OP_RETURN,x])}var y2,$f,gx=1000,nf=10,T2=10,dx=41,rx=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 y2.USwapError("toolbox_utxo_invalid_address",{address:T})},QT=({inputs:T,outputs:x,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",f=T.filter((L)=>L.value>=Ff["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=x?.reduce((L,X)=>L+mT(X),0)||Vf[y];return nf+f+G},by=(T)=>{if("type"in T)return Ff[T.type];if("address"in T&&T.address)return Ff[tT(T.address)];return dx+rx},mT=(T,x)=>{if(T?.script)return T2+T.script.length+(T.script.length>=74?2:1);if(x)return Vf[x];return Vf.P2PKH};var i0=E(()=>{y2=require("@uswap/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 Ey({inputs:T,outputs:x,feeRate:N=1,chain:y=Ky.Chain.Bitcoin,changeAddress:f=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",X=T.filter((Q)=>by(Q)*G<=Q.value),_=nf+x.reduce((Q,B)=>Q+mT(B,L),0),Z=x.reduce((Q,B)=>Q+B.value,0),q=_*G,z=0,J=[];for(let Q of X){let B=by(Q),M=G*B;q+=M,z+=Q.value,J.push(Q);let I=q+Z;if(z<I)continue;let R=z-I,k=G*mT({address:"",value:0},L);if(R>k){let $=k+q,F=z-(Z+$);if(F>Math.max(by({})*G,bf(y)))return{fee:$,inputs:J,outputs:x.concat({address:f,value:F})}}return{fee:q,inputs:J,outputs:x}}return{fee:G*QT({feeRate:G,inputs:T,outputs:x})}}var Ky;var f2=E(()=>{i0();Ky=require("@uswap/helpers")});var BT=E(()=>{a1();e1();f2();i0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let x=ay(T);return m0(x)&&c0(x)==="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 x=jf.networks.zcash;try{return jf.address.toOutputScript(T,x),!0}catch{let N=x2.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===x.pubKeyHash||y===x.scriptHash}}catch{return!1}}var jf,x2;var cT=E(()=>{BT();jf=require("@bitgo/utxo-lib"),x2=W(require("bs58check"))});function L2({inputs:T,outputs:x,chain:N,psbt:y,sender:f,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 x){let X="address"in L&&L.address?L.address:f,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};Dy.initEccLib(of.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function X2({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,fetchTxHex:G=!1}){let L=T.chain,X=N?await ky(N):null,_=await J2({assetValue:T,fetchTxHex:G,memo:N,recipient:x,sender:f}),{inputs:Z,outputs:q}=Ey({..._,chain:L,feeRate:y});if(!(Z&&q))throw new v.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let z=await Oy(),J=new Dy.Psbt({network:z(L)});if(L===v.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:Q,inputs:B}=await L2({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:f});return{inputs:B,psbt:Q,utxos:_.inputs}}async function _2(){let T=await Oy();return function({address:N,chain:y}){if(y===v.Chain.BitcoinCash)return jy(N);if(y===v.Chain.Zcash)return YT(N);try{return Dy.initEccLib(of.default),Dy.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function ax({chain:T,phrase:x,derivationPath:N}){let y=(await gT(T))({derivationPath:N,phrase:x});async function f(L){return await L.signAllInputs(y),L}function G(){return d0(T)(y)}return{getAddress:G,signTransaction:f}}async function sy({chain:T,...x}){let N="phrase"in x?x.phrase:void 0,y="index"in x?x.index||0:0,f=v.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=N?await ax({chain:T,derivationPath:f,phrase:N}):("signer"in x)?x.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await _2(),_=await gT(T);return{accumulative:Ey,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:QT,createKeysForPath:_,createTransaction:X2,estimateMaxSendableAmount:sx(T),estimateTransactionFee:ex(T),getAddress:L,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>dT(T),getInputsOutputsFee:Z2,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Z2({assetValue:T,feeOptionKey:x=v.FeeOption.Fast,feeRate:N,memo:y,sender:f,recipient:G}){let L=T.chain,X=await J2({assetValue:T,memo:y,recipient:G,sender:f}),_=N?Math.floor(N):(await dT(L))[x];return Ey({...X,chain:L,feeRate:_})}function sx(T){return async function({from:N,memo:y,feeRate:f,feeOptionKey:G=v.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=f?Math.ceil(f):(await dT(T))[G],Z=X?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(bf(T),by(B)*_));if(!Z?.length)return v.AssetValue.from({chain:T});let q=v.AssetValue.from({chain:T,value:Z.reduce((B,M)=>B+M.value,0)}),z=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let B=await ky(y);z.push({address:N,script:B,value:0})}let Q=QT({feeRate:_,inputs:Z,outputs:z})*_;return q.sub(Q)}}function ex(T){return async(x)=>{let N=await Z2(x);return v.AssetValue.from({chain:T,value:v.USwapNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gT(T){let x=await Oy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${v.DerivationPath.BCH}/0`,wif:G}){let L=x(T);if(G)return hf.ECPair.fromWIF(G,L);if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return hf.HDNode.fromSeedBuffer(Buffer.from(g0.mnemonicToSeedSync(y)),L).derivePath(f).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:f,derivationPath:G}){if(!(f||y))throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=N2.ECPairFactory(of.default),X=x(T);if(f)return L.fromWIF(f,X);let _=g0.mnemonicToSeedSync(y),Z=G2.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new v.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 v.USwapError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let x=Oy();return function(y){if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=iT.includes(T)?Dy.payments.p2pkh:Dy.payments.p2wpkh,{address:G}=f({network:x(T),pubkey:y.publicKey});if(!G)throw new v.USwapError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function yG(T){return async function({memo:N,recipient:y,feeOptionKey:f,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new v.USwapError("toolbox_utxo_no_signer");if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await dT(_))[f||v.FeeOption.Fast],{psbt:q}=await X2({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),z=await T.signTransaction(q);return z.finalizeAllInputs(),Hy(_).broadcastTx(z.extractTransaction().toHex())}}async function dT(T){let x=await Hy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:x,[v.FeeOption.Fast]:v.applyFeeMultiplier(x,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(x,v.FeeOption.Fastest)}}async function J2({assetValue:T,recipient:x,memo:N,sender:y,fetchTxHex:f=!1}){let G=T.chain,L=(await dT(G))[v.FeeOption.Fastest],X=f||iT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Hy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:x,value:_},...N?[{address:"",script:await ky(N),value:0}]:[]]}}var of,hf,G2,g0,v,Dy,N2,iT;var rT=E(()=>{OT();BT();cT();of=W(require("@bitcoinerlab/secp256k1")),hf=require("@psf/bitcoincashjs-lib"),G2=require("@scure/bip32"),g0=require("@scure/bip39"),v=require("@uswap/helpers"),Dy=require("bitcoinjs-lib"),N2=require("ecpair"),iT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function TG(T){function x({builder:y,utxos:f}){return f.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:x}}async function r0(T){let x="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Ry],{index:N})),f=x?(await gT(Ry))({derivationPath:y,phrase:x}):void 0,G=f?TG(f):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Ry});function z(J,Q=!0){return X(ay(pT(J)))}return{...q,broadcastTx:Z,buildTx:xG,createTransaction:z2,getAddress:L,getAddressFromKeys:GG,getBalance:z,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function z2({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f}){if(!jy(x))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:x});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Ry).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:G}),X=N?await ky(N):null,_=[];_.push({address:x,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=Ey({chain:Ry,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let z=await Oy(),J=new WT.TransactionBuilder(z(Ry));await Promise.all(Z.map(async(Q)=>{let B=await Hy(Ry).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(f),M=await Oy(),I=WT.address.toOutputScript(zT(B),M(Ry));J.addOutput(I,Q.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fG({broadcastTx:T,getFeeRates:x,signer:N}){return async function({recipient:f,assetValue:G,feeOptionKey:L=Zy.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new Zy.USwapError("toolbox_utxo_no_signer");if(!f)throw new Zy.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await x())[L],{builder:q,utxos:z}=await z2({...X,assetValue:G,feeRate:Z,recipient:f,sender:_}),Q=(await N.signTransaction({builder:q,utxos:z})).toHex();return T(Q)}}async function xG({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,setSigHashType:G}){let L=pT(x);if(!jy(L))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Ry).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await ky(N):null,z=[];if(z.push({address:zT(x),value:T.getBaseValue("number")}),q)z.push({script:q,value:0});let{inputs:J,outputs:Q}=Ey({chain:Ry,feeRate:Z,inputs:_,outputs:z});if(!(J&&Q))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let B=await Oy(),M=new q2.Psbt({network:B(Ry)});for(let{hash:I,index:R,witnessUtxo:k}of J)M.addInput({hash:I,index:R,sighashType:G?65:void 0,witnessUtxo:k});for(let I of Q){let R="address"in I&&I.address?I.address:zT(f),k=I.script?q?{script:q,value:0}:void 0:{address:R,value:I.value};if(k)M.addOutput(k)}return{inputs:J,psbt:M,utxos:_}}function GG(T){let x=T.getAddress(0);return ey(x)}var WT,Zy,q2,Ry;var pf=E(()=>{BT();rT();cT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@uswap/helpers"),q2=require("bitcoinjs-lib"),Ry=Zy.Chain.BitcoinCash});function s0(){return Cy.networks.zcash}function Y2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:T,derivationPath:x}){let N=y5.mnemonicToSeedSync(T),f=e0.HDKey.fromMasterSeed(N).derive(x);if(!f.privateKey)throw new xy.USwapError("toolbox_utxo_invalid_params");let G=Y2(),L=Cy.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:G}),X=Cy.crypto.hash160(L.publicKey),{isStagenet:_}=xy.USwapConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),z=B2.default.encode(q);return{getAddress:()=>Promise.resolve(z),signTransaction:(J)=>{let Q=J.signAllInputs(L);return Promise.resolve(Q)}}}function LG({inputs:T,outputs:x,psbt:N,sender:y,compiledMemo:f}){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 x){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!f)continue;let _=X?{script:f,value:0n}:{script:Cy.address.toOutputScript(L,s0()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function Q2(T){let{assetValue:x,recipient:N,memo:y,feeRate:f,sender:G,fetchTxHex:L}=T,X=y?ky(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(x.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:z}=Ey({chain:xy.Chain.Zcash,changeAddress:G,feeRate:f,inputs:_,outputs:Z});if(!(q&&z))throw new xy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:x,sender:G});let J=Cy.bitgo.createPsbtForNetwork({network:s0()},{version:a0.ZcashTransaction.VERSION4_BRANCH_NU6_1}),{psbt:Q,inputs:B}=await LG({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 x=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||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],q=xy.updateDerivationPath(Z,{index:_}),z=xy.derivationPathToString(q);return NG({derivationPath:z,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:xy.Chain.Zcash,signer:x});async function y({recipient:L,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let q=await x?.getAddress();if(!(x&&q))throw new xy.USwapError("toolbox_utxo_no_signer");let z=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await Q2({...Z,assetValue:X,feeRate:z,recipient:L,sender:q}),Q=await x.signTransaction(J);Q.validateSignaturesOfAllInputs(),Q.finalizeAllInputs();let M=Q.extractTransaction().toHex();return N.broadcastTx(M)}function f({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 xy.USwapError("toolbox_utxo_invalid_params");let z=Y2();return Cy.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:z})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return f({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:f,createTransaction:Q2,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:YT}}var Cy,a0,e0,y5,xy,B2,HT;var f5=E(()=>{BT();rT();cT();Cy=require("@bitgo/utxo-lib"),a0=require("@bitgo/utxo-lib/dist/src/bitgo"),e0=require("@scure/bip32"),y5=require("@scure/bip39"),xy=require("@uswap/helpers"),B2=W(require("bs58check")),HT=require("ts-pattern")});async function XG(T,x){switch(T){case vy.Chain.BitcoinCash:return await r0(x||{});case vy.Chain.Zcash:return await T5(x);case vy.Chain.Bitcoin:case vy.Chain.Dogecoin:case vy.Chain.Litecoin:case vy.Chain.Dash:return await sy({chain:T,...x});default:throw new vy.USwapError("toolbox_utxo_not_supported",{chain:T})}}var vy;var W2=E(()=>{pf();rT();f5();pf();cT();vy=require("@uswap/helpers")});var x5={};qy(x5,{validateZcashAddress:()=>YT,toLegacyAddress:()=>zT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>iT,isValidAddress:()=>m0,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>Oy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>_2,getScriptTypeForAddress:()=>tT,getOutputSize:()=>mT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>c0,createZcashToolbox:()=>T5,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>px,createBCHToolbox:()=>r0,compileMemo:()=>ky,calculateTxSize:()=>QT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>L2,accumulative:()=>Ey,UtxoNetwork:()=>t0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>Vf,OP_RETURN_OVERHEAD:()=>T2,MIN_TX_FEE:()=>gx,InputSizes:()=>Ff});module.exports=Yy(x5);var G5=E(()=>{BT();W2();pf();rT();f5()});async function mf(){let{validateAccountId:T}=await import("near-sdk-js");return(x)=>{try{return T(x)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return x.length>=2&&x.length<=64&&N.test(x)}}}async function cf(T){let{parseSeedPhrase:x}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?tf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=x(T.phrase,f),L=N.fromString(G);return I2(L)}async function N5(T){let{KeyPair:x}=await import("@near-js/crypto"),N=x.fromString(T);return I2(N)}function I2(T){return new M2(T)}async function gf(T,x){let y=(await T.query({account_id:x,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:f}=await import("@near-js/crypto"),G=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var H2,tf,M2;var L5=E(()=>{H2=require("@near-js/signers"),tf=require("@uswap/helpers");M2=class M2 extends H2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),x=Buffer.from(T.data).toString("hex");return Promise.resolve(x)}}});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 x=0;for(let N of T)switch(N.enum){case"transfer":x+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":x+=Number(Jy.CONTRACT_CALL);break;case"createAccount":x+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":x+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":x+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":x+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":x+=Number(Jy.STAKE);break;default:x+=Number(Jy.CONTRACT_CALL)}return x.toString()}function B5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _G(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var Y5=E(()=>{Jy={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:x,viewMethods:N,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,x,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function JG(T){let{P:x,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await N(T).with({phrase:x.string},async(Y)=>{return await cf(Y)}).with({signer:x.any},({signer:Y})=>Y).otherwise(()=>{return}),G=await t.getRPCUrl(t.Chain.Near),L=new y({url:G});async function X(Y){let{Account:C}=await import("@near-js/accounts"),O=Y||await _();return new C(O,L,f)}async function _(){if(!f)throw new t.USwapError("toolbox_near_no_signer");return await f.getAddress()}async function Z(Y){return(await Ly({changeMethods:[],contractId:Y.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Y.accountId})}async function q(Y){let O=[await M({args:{account_id:Y.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await M({args:{amount:Y.assetValue.getBaseValue("string"),memo:Y.memo||null,receiver_id:Y.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Qy({actions:O,receiverId:Y.contractId})}async function z(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let{assetValue:C,recipient:O,memo:n}=Y,p=await _();if(!C.isGasAsset&&C.address){if(!await Z({accountId:O,contractId:C.address}))return q({assetValue:C,contractId:C.address,memo:n,recipient:O})}let h=await J({...Y,sender:p});return k(h)}async function J(Y){let{recipient:C,assetValue:O,memo:n,attachedDeposit:p,sender:h,functionCall:o}=Y,r=await mf();if(!r(C))throw new t.USwapError("toolbox_near_invalid_address",{recipient:C});if(!r(h))throw new t.USwapError("toolbox_near_invalid_address",{signerId:h});if(o)return B({...o,sender:h});if(!O.isGasAsset){let Tf=O.address;if(!Tf)throw new t.USwapError("toolbox_near_missing_contract_address");return B({args:{amount:O.getBaseValue("string"),memo:n||null,receiver_id:C},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:Xy,nonce:zy}=await gf(L,h),By=O.getBaseValue("bigint"),{actionCreators:py,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),ty=[py.transfer(By)];if(n&&p)ty.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let eT=await L.block({finality:"final"}),yf=df(eT.header.hash);return sT(h,Xy,C,zy+1,ty,yf)}function Q(Y){let C=Y.encode();return Buffer.from(C).toString("base64")}async function B(Y){let{sender:C}=Y,{publicKey:O,nonce:n}=await gf(L,C),{createTransaction:p,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:o}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=o(r.header.hash),zy=[h.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))];return p(C,O,Y.contractId,n+1,zy,Xy)}async function M(Y){let{actionCreators:C}=await import("@near-js/transactions");return C.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))}async function I(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let[C,O]=await f.signTransaction(Y);return O}async function R(Y){return(await L.sendTransaction(Y)).transaction.hash}async function k(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");try{let C=await I(Y);return await R(C)}catch{return f.signAndSendTransactions?.({transactions:[Y]})}}async function $(Y){if("assetValue"in Y){let p=BigInt("115123062500")+BigInt("108059500000"),h=await F(),o=p*BigInt(h.toString()),{baseDecimal:r}=t.getChainConfig(t.Chain.Near);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:r,value:o.toString()})}let C=f?await X():void 0;return l(Y,C)}async function F(){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 u(Y,C,O){if(!f)throw new t.USwapError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),o=p(O)||"0";return(await n.createAccount(Y,h.fromString(C),BigInt(o))).transaction.hash}async function d(Y){try{if(!f)throw new t.USwapError("toolbox_near_no_signer");let{actionCreators:C}=await import("@near-js/transactions"),{contractId:O,methodName:n,args:p,deposit:h}=Y,o=await X(),r=await l({args:p||{},contractId:O,methodName:n}),Xy=C.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(h||"1"));return(await o.signAndSendTransaction({actions:[Xy],receiverId:O})).transaction_outcome.id}catch(C){throw new t.USwapError("toolbox_near_transfer_failed",{error:C})}}async function Ly(Y){let C=await X();return W5({account:C,changeMethods:Y.changeMethods,contractId:Y.contractId,viewMethods:Y.viewMethods})}async function Qy(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");if(Y.actions.length===0)throw new t.USwapError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:Y.actions,receiverId:Y.receiverId})).transaction.hash}async function l(Y,C){let{baseDecimal:O}=t.getChainConfig(t.Chain.Near),n=await N(Y).when(X5,()=>Jy.SIMPLE_TRANSFER).when(_5,(o)=>B5(o.methodName)).when(Z5,(o)=>Q5(o.actions)).when(J5,()=>Jy.ACCOUNT_CREATION).when(q5,()=>Jy.CONTRACT_DEPLOYMENT).when(z5,(o)=>{if(!C)throw new t.USwapError("toolbox_near_no_account");return o.customEstimator(C)}).otherwise(()=>{throw new t.USwapError("toolbox_near_invalid_gas_params")}),h=BigInt(n)*BigInt(1000000000000);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:O,value:h})}async function V(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:R,callFunction:d,createAction:M,createContract:Ly,createContractFunctionCall:B,createSubAccount:u,createTransaction:J,estimateGas:l,estimateTransactionFee:$,executeBatchTransaction:Qy,getAddress:_,getBalance:TT(t.Chain.Near),getGasPrice:V,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Y)=>cf(Y),getSignerFromPrivateKey:N5,provider:L,serializeTransaction:Q,signAndSendTransaction:k,signTransaction:I,transfer:z,validateAddress:await mf()}}var t;var H5=E(()=>{OT();L5();Y5();t=require("@uswap/helpers")});var R2=E(()=>{H5()});var M5={};qy(M5,{tgasToGas:()=>_G,isSimpleTransfer:()=>X5,isCustomEstimator:()=>z5,isContractDeployment:()=>q5,isContractCall:()=>_5,isBatchTransaction:()=>Z5,isAccountCreation:()=>J5,getValidateNearAddress:()=>mf,getNearToolbox:()=>JG,getNearSignerFromPrivateKey:()=>N5,getNearSignerFromPhrase:()=>cf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>B5,gasToTGas:()=>ZG,estimateBatchGas:()=>Q5,createNearContract:()=>W5,GAS_COSTS:()=>Jy});module.exports=Yy(M5);var I5=E(()=>{L5();Y5();H5();R2()});var R5={};qy(R5,{radixValidateAddress:()=>C2,RadixToolbox:()=>YG});module.exports=Yy(R5);function C2(T){return T.startsWith("account_rdx1")&&T.length===66}function qG({networkApi:T}){return async function(N){let y=await zG({address:N,networkApi:T}),f=await QG({networkApi:T,resources:y});if(!f.some((L)=>L.isGasAsset))return[wy.AssetValue.from({chain:wy.Chain.Radix}),...f];return f}}async function zG({address:T,networkApi:x}){let N=!0,y,f=[],G=await BG(x);while(N){let L={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},X=await x.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(f=f.concat(X.items),X.next_cursor)y=X.next_cursor;else N=!1}return f}async function QG({resources:T,networkApi:x}){let N=[],y=50,f=[];for(let G=0;G<T.length;G+=50)f.push(T.slice(G,G+50));for(let G of f){let L=G.map((Z)=>Z.resource_address),X=await x.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=wy.AssetValue.from({asset:q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(z)}}return N}function BG(T){return T.status.getCurrent().then((x)=>x.ledger_state.state_version)}var wy,YG=async({dappConfig:T}={})=>{let{RadixDappToolkit:x}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.USwapConfig.get("integrations").radix,f=x({...y,networkId:y.network?.networkId||1}),G=N.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:qG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.USwapError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:C2}};var C5=E(()=>{wy=require("@uswap/helpers")});var O5={};qy(O5,{rippleValidateAddress:()=>w5,hashes:()=>O2.hashes,getRippleToolbox:()=>HG});module.exports=Yy(O5);function w2(T){let x=oy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(x.address),signTransaction:(N)=>Promise.resolve(x.sign(N))}}function w5(T){return oy.isValidAddress(T)}var m,oy,O2,WG,HG=async(T={})=>{let x="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?w2(T.phrase):void 0,N=await m.getRPCUrl(m.Chain.Ripple);if(!N)throw new m.USwapError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:m.Chain.Ripple}});let y=new oy.Client(N);await y.connect();let f=()=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.getAddress()},G=async(J)=>{let Q=J||await f(),{baseDecimal:B}=m.getChainConfig(m.Chain.Ripple);try{let I=(await y.request({account:Q,command:"account_info"})).result.account_data.Balance;return[m.AssetValue.from({chain:m.Chain.Ripple,fromBaseDecimal:B,value:I})]}catch(M){if(M.data.error_code===WG.ACCOUNT_NOT_FOUND)return[m.AssetValue.from({chain:m.Chain.Ripple,value:0})];throw new m.USwapError("toolbox_ripple_get_balance_error",{info:{address:Q,error:M}})}},L=async()=>{let Q=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=m.getChainConfig(m.Chain.Ripple);return m.AssetValue.from({chain:m.Chain.Ripple,fromBaseDecimal:B,value:m.USwapNumber.fromBigInt(BigInt(Q),B)})},X=async({assetValue:J,recipient:Q,memo:B,sender:M})=>{if(!w5(Q))throw new m.USwapError({errorKey:"core_transaction_invalid_recipient_address"});let I=M||await f();if(!J.isGasAsset||J.chain!==m.Chain.Ripple)throw new m.USwapError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let R={Account:I,Amount:oy.xrpToDrops(J.getValue("string")),Destination:Q,TransactionType:"Payment"};if(B)R.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(R)},_=(J)=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.signTransaction(J)},Z=async(J)=>{let B=(await y.submitAndWait(J)).result;if(B.validated)return B.hash;throw new m.USwapError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:m.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:w2,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:f,getBalance:G,signer:x,signTransaction:_,transfer:async(J)=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await x.getAddress(),B=await X({...J,sender:Q}),M=await _(B);return Z(M.tx_blob)},validateAddress:w5}};var k5=E(()=>{m=require("@uswap/helpers"),oy=require("xrpl"),O2=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function MG(T,x,N){try{let y=await T.query.system?.account?.(N);if(!y)return[x.set(0)];let{data:{free:f}}=y,G=yT.USwapNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${f}`),[x.set(0)]}}async function IG(T,x,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[x.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[x.set(0)];let G=yT.USwapNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${f}`),[x.set(0)]}}function k2(T,x){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return IG(x,f,y);default:return MG(x,f,y)}}}var yT;var K2=E(()=>{yT=require("@uswap/helpers")});var RG,CG,wG,hy;var K5=E(()=>{RG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},CG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:RG,FLIP:CG,GENERIC:wG}});function OG(T,x){switch(T){case s.Chain.Chainflip:return D2(x);case s.Chain.Polkadot:return E2(x);default:throw new s.USwapError("toolbox_substrate_not_supported",{chain:T})}}function MT(T){return"address"in T}async function D5(T,x){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new N({ss58Format:x,type:"sr25519"}).addFromUri(T)}function UG(T,x){let N=RT.decodeAddress(T);return RT.encodeAddress(N,x)}function S2(T,x){return IT.isHex(T)?IT.hexToU8a(T):RT.decodeAddress(T,void 0,x)}function P2(T,x="ss58",N){if(x==="hex")return IT.u8aToHex(T);return RT.encodeAddress(T,N)}async function U5({generic:T,chain:x,...N}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),G=await s.getRPCUrl(x),L=new f(G),X=await y.create({noInitWarn:!0,provider:L}),_=s.AssetValue.from({chain:x}),Z=T?hy.GENERIC:hy[x],q=await aT.match(N).with({phrase:aT.P.string},({phrase:z})=>D5(z,hy[x].prefix)).with({signer:aT.P.any},({signer:z})=>z).otherwise(()=>{return});return U2({api:X,chain:x,gasAsset:_,network:Z,signer:q})}var IT,RT,s,aT,E2=({generic:T=!1,...x}={})=>{return U5({chain:s.Chain.Polkadot,generic:T,...x})},D2=async({generic:T=!1,...x}={})=>{return{...await U5({chain:s.Chain.Chainflip,generic:T,...x})}},S5=(T,x)=>T.rpc.system.accountNextIndex(x),E5=(T,x)=>{try{let N=S2(T,x);return P2(N,"ss58",x),!0}catch{return!1}},P5=(T,{recipient:x,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(x,N.getBaseValue("number")),kG=async(T,x,{recipient:N,assetValue:y,sender:f})=>{let G=P5(T,{assetValue:y,recipient:N});if(!G)throw new s.USwapError("toolbox_substrate_transfer_error");let L=MT(x),X=L?x.address:f;if(!X)throw new s.USwapError("core_transaction_invalid_sender_address");let _=await S5(T,X);return(await G.signAndSend(L?x:X,{nonce:_,signer:L?void 0:x})).toString()},KG=async(T,x,N,{recipient:y,assetValue:f,sender:G})=>{let L=P5(T,{assetValue:f,recipient:y}),X=MT(x)?x.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await S5(T,X)})||{partialFee:0};return N.set(s.USwapNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},EG=async(T,x)=>{if(x)return T.send(x);return(await T.send()).toString()},DG=async(T,x)=>{return await x.signAsync(T)},SG=(T,x,N)=>{if(N)return x.signAndSend(T,N);return x.signAndSend(T).toString()},PG=async({signer:T,address:x,tx:N,callback:y,api:f})=>{let G=await S5(f,x);if(y)N.signAndSend(x,{nonce:G,signer:T},y);return N.signAndSend(x,{nonce:G,signer:T}).toString()},U2=({api:T,network:x,gasAsset:N,signer:y,chain:f})=>({api:T,broadcast:EG,convertAddress:UG,createKeyring:(G)=>D5(G,x.prefix),createTransaction:(G)=>P5(T,G),decodeAddress:S2,encodeAddress:P2,estimateTransactionFee:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return KG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.USwapError("core_wallet_not_keypair_wallet");return MT(L)?L.address:void 0},getBalance:k2(f||s.Chain.Polkadot,T),network:x,sign:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return DG(y,G);throw new s.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 s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return SG(y,G,L);if(X)return PG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return kG(T,y,G)},validateAddress:(G)=>E5(G,x.prefix)}),vG=({address:T,chain:x})=>{let{prefix:N}=x===s.Chain.Polkadot?hy.DOT:hy.FLIP;return E5(T,N)||E5(T,hy.GENERIC.prefix)};var v2=E(()=>{K2();K5();IT=require("@polkadot/util"),RT=require("@polkadot/util-crypto"),s=require("@uswap/helpers"),aT=require("ts-pattern")});var v5={};qy(v5,{substrateValidateAddress:()=>vG,isKeyringPair:()=>MT,getSubstrateToolbox:()=>OG,createSubstrateToolbox:()=>U5,createKeyring:()=>D5,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>E2,ChainflipToolbox:()=>D2,BaseSubstrateToolbox:()=>U2});module.exports=Yy(v5);var l5=E(()=>{v2();K5()});var FG={};qy(FG,{getToolbox:()=>A5,getFeeEstimator:()=>AG,getAddressValidator:()=>lG});module.exports=Yy(FG);var S=require("@uswap/helpers");async function lG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:x}=await Promise.resolve().then(() => (X1(),L1)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),Ef)),{getSolanaAddressValidator:f}=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(),M=await f(),I=await G(),R=await L(),k=await X(),$=await _();return function({address:u,chain:d}){return T(d).with(...S.EVMChains,()=>x({address:u})).with(...S.UTXOChains,()=>$({address:u,chain:d})).with(S.Chain.Cosmos,S.Chain.Kujira,S.Chain.Noble,S.Chain.Maya,S.Chain.THORChain,(Qy)=>{return y(Qy)(u)}).with(S.Chain.Chainflip,S.Chain.Polkadot,()=>J({address:u,chain:d})).with(S.Chain.Radix,()=>q(u)).with(S.Chain.Near,()=>B(u)).with(S.Chain.Ripple,()=>z(u)).with(S.Chain.Solana,()=>M(u)).with(S.Chain.Sui,()=>I(u)).with(S.Chain.Ton,()=>R(u)).with(S.Chain.Tron,()=>k(u)).with(S.Chain.Cardano,()=>Q(u)).otherwise(()=>!1)}}function AG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...S.EVMChains,async(f)=>{let G=await A5(f),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:f,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(f)=>{return(await A5(f)).estimateTransactionFee(N)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Pf(),Sf));return(await f()).estimateTransactionFee(N)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (vf(),Uf));return(await f()).estimateTransactionFee()}).with(...S.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Df(),Ef));return f(N)}).otherwise(async()=>S.AssetValue.from({chain:T}))}}async function A5(T,x){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...S.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),x1));return await y(T,x)}).with(...S.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (G5(),x5));return await y(T,x)}).with(...S.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),Ef));return await y(T,x)}).with(...S.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (l5(),v5));return await y(T,x)}).with(S.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C5(),R5));return await y(x)}).with(S.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (k5(),O5));return await y(x)}).with(S.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (V0(),F0));return await y(x)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Pf(),Sf));return await y(x)}).with(S.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(x)}).with(S.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (I5(),M5));return await y(x)}).with(S.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(x)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (vf(),Uf));return await y(x)}).otherwise(()=>{throw new S.USwapError("toolbox_not_supported",{chain:T})})}
3
3
 
4
- //# debugId=AF041026606356F264756E2164756E21
4
+ //# debugId=ED41BB8CDAB046BD64756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map