@uswap/toolboxes 4.3.6

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