@velora-dex/widget 0.4.14 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/dist/components/web3/ConnectWallets/walletFlags.d.ts +90 -0
  2. package/dist/components/web3/ConnectWallets/walletFlags.d.ts.map +1 -0
  3. package/dist/components/web3/ConnectWallets/walletFlags.js +104 -0
  4. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -0
  5. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +4 -1
  6. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  7. package/dist/components/web3/ConnectWallets/walletIcons.js +23 -3
  8. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  10. package/dist/components/widget/AppHeader/Activities/Drawers.js +24 -14
  11. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  12. package/dist/components/widget/Button/CancelButton/CancelButton.js +44 -40
  13. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  14. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts +15 -0
  15. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts.map +1 -0
  16. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js +66 -0
  17. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -0
  18. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +5 -2
  19. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  20. package/dist/components/widget/Drawer/state/useDrawerControls.js +75 -2
  21. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +85 -49
  24. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  25. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -1
  26. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +33 -22
  27. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  28. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts +7 -0
  29. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts.map +1 -0
  30. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js +84 -0
  31. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -0
  32. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts +12 -0
  33. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts.map +1 -0
  34. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js +227 -0
  35. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -0
  36. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts +8 -0
  37. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts.map +1 -0
  38. package/dist/components/widget/TradeOverview/CancelOrder/constants.js +20 -0
  39. package/dist/components/widget/TradeOverview/CancelOrder/constants.js.map +1 -0
  40. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts +12 -0
  41. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts.map +1 -0
  42. package/dist/components/widget/TradeOverview/CancelOrder/utils.js +49 -0
  43. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -0
  44. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  45. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  46. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +38 -28
  47. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +16 -18
  50. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts +2 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +78 -64
  54. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/TradeComplete/index.js +21 -14
  57. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts +2 -1
  59. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts.map +1 -1
  60. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +66 -24
  61. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  62. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  63. package/dist/components/widget/TradeOverview/TradeError/index.js +11 -7
  64. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  65. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts +4 -1
  66. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeError/utils.js +20 -2
  68. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +5 -4
  70. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  73. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +15 -21
  74. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  75. package/dist/components/widget/TradeOverview/steps.d.ts +4 -0
  76. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  77. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  78. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +22 -5
  79. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  80. package/dist/components/widget/TradeOverview/tradeFlowContext.js +37 -11
  81. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  82. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +4 -1
  83. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  84. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +133 -31
  85. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  86. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts +7 -2
  87. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts.map +1 -1
  88. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +18 -14
  89. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  90. package/dist/components/widget/TransactionDetails/TransactionListItem.d.ts.map +1 -1
  91. package/dist/components/widget/TransactionDetails/TransactionListItem.js +1 -1
  92. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  93. package/dist/configurator/Configurator.d.ts.map +1 -1
  94. package/dist/core/Updaters.d.ts.map +1 -1
  95. package/dist/core/Updaters.js +2 -0
  96. package/dist/core/Updaters.js.map +1 -1
  97. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  98. package/dist/core/state/widgetEventsAtom.js +51 -37
  99. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  100. package/dist/events/types/{cancel.d.ts → cancelOrder.d.ts} +5 -2
  101. package/dist/events/types/cancelOrder.d.ts.map +1 -0
  102. package/dist/events/types/cancelTx.d.ts +35 -0
  103. package/dist/events/types/cancelTx.d.ts.map +1 -0
  104. package/dist/events/types/index.d.ts +5 -2
  105. package/dist/events/types/index.d.ts.map +1 -1
  106. package/dist/events/types/swap.d.ts +11 -1
  107. package/dist/events/types/swap.d.ts.map +1 -1
  108. package/dist/hooks/connectors/useIsConnectedSafe.js +1 -0
  109. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  110. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  111. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +20 -2
  112. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  113. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +197 -74
  114. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  115. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  116. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -1
  117. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  118. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +6 -1
  119. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  120. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +37 -24
  121. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  122. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts +2 -2
  123. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  124. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +28 -42
  125. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +6 -1
  127. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +16 -0
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +10 -4
  131. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +176 -145
  133. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +11 -0
  135. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -0
  136. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +69 -0
  137. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -0
  138. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +2 -2
  139. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  140. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +24 -28
  141. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  142. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts +6 -2
  143. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts.map +1 -1
  144. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +8 -2
  145. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  146. package/dist/hooks/swap/tradeFlow/common/errors.d.ts +6 -0
  147. package/dist/hooks/swap/tradeFlow/common/errors.d.ts.map +1 -1
  148. package/dist/hooks/swap/tradeFlow/common/errors.js +15 -1
  149. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  150. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +6 -1
  151. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  152. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +55 -19
  153. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  154. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +2 -2
  155. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  156. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +45 -57
  157. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  158. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -1
  159. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  160. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +26 -5
  161. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  162. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts +4 -4
  163. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +23 -37
  165. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +13 -1
  167. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  168. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +93 -26
  169. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  170. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +7 -1
  171. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  172. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +59 -42
  173. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  174. package/dist/hooks/txs/mutations/useReplaceTx.d.ts +86 -0
  175. package/dist/hooks/txs/mutations/useReplaceTx.d.ts.map +1 -0
  176. package/dist/hooks/txs/mutations/useReplaceTx.js +514 -0
  177. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -0
  178. package/dist/hooks/txs/mutations/useSendTx.d.ts +7 -2
  179. package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
  180. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  181. package/dist/hooks/txs/queries/useAccountNonce.d.ts +9 -0
  182. package/dist/hooks/txs/queries/useAccountNonce.d.ts.map +1 -0
  183. package/dist/hooks/txs/queries/useAccountNonce.js +31 -0
  184. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -0
  185. package/dist/hooks/txs/queries/useTxFees.d.ts +16 -0
  186. package/dist/hooks/txs/queries/useTxFees.d.ts.map +1 -0
  187. package/dist/hooks/txs/queries/useTxFees.js +103 -0
  188. package/dist/hooks/txs/queries/useTxFees.js.map +1 -0
  189. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  190. package/dist/hooks/txs/queries/useTxHistory.js +3 -2
  191. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  192. package/dist/hooks/txs/queries/useTxResponse.d.ts +2390 -0
  193. package/dist/hooks/txs/queries/useTxResponse.d.ts.map +1 -0
  194. package/dist/hooks/txs/queries/useTxResponse.js +75 -0
  195. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -0
  196. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts +2 -0
  197. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts.map +1 -0
  198. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +30 -0
  199. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -0
  200. package/dist/index.d.ts +1 -1
  201. package/dist/index.d.ts.map +1 -1
  202. package/dist/styles.css +3 -0
  203. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts +16 -0
  204. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts.map +1 -0
  205. package/dist/transactions/queries/ensureEstimateFeesPerGas.js +23 -0
  206. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -0
  207. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  208. package/dist/transactions/queries/ensureTxReceipt.js +1 -1
  209. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  210. package/dist/transactions/queries/ensureTxResponse.d.ts +17 -0
  211. package/dist/transactions/queries/ensureTxResponse.d.ts.map +1 -0
  212. package/dist/transactions/queries/ensureTxResponse.js +23 -0
  213. package/dist/transactions/queries/ensureTxResponse.js.map +1 -0
  214. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts +7 -0
  215. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts.map +1 -0
  216. package/dist/transactions/state/hooks/useMarkTxAsDropped.js +10 -0
  217. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -0
  218. package/dist/transactions/state/transactionsActionAtom.d.ts +12 -0
  219. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  220. package/dist/transactions/state/transactionsActionAtom.js +40 -1
  221. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  222. package/dist/transactions/status.d.ts +1 -1
  223. package/dist/transactions/status.d.ts.map +1 -1
  224. package/dist/transactions/status.js +6 -0
  225. package/dist/transactions/status.js.map +1 -1
  226. package/dist/transactions/types.d.ts +15 -2
  227. package/dist/transactions/types.d.ts.map +1 -1
  228. package/package.json +2 -2
  229. package/dist/events/types/cancel.d.ts.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { getTransactionCount } from '@wagmi/core';
3
+ import { useConfig } from 'wagmi';
4
+
5
+ function useGetAccountNonce() {
6
+ const $ = distExports.c(2);
7
+ const wagmiConfig = useConfig();
8
+ let t0;
9
+ if ($[0] !== wagmiConfig) {
10
+ t0 = async (t1) => {
11
+ const {
12
+ address,
13
+ chainId
14
+ } = t1;
15
+ const nonce = await getTransactionCount(wagmiConfig, {
16
+ chainId,
17
+ address
18
+ });
19
+ return nonce;
20
+ };
21
+ $[0] = wagmiConfig;
22
+ $[1] = t0;
23
+ } else {
24
+ t0 = $[1];
25
+ }
26
+ const getAccountNonce = t0;
27
+ return getAccountNonce;
28
+ }
29
+
30
+ export { useGetAccountNonce };
31
+ //# sourceMappingURL=useAccountNonce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccountNonce.js","sources":["../../../../src/hooks/txs/queries/useAccountNonce.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getTransactionCount } from \"@wagmi/core\";\nimport type { Address } from \"viem\";\nimport { useConfig } from \"wagmi\";\n\ntype GetAccountNonceInput = {\n chainId: SupportedChainId;\n address: Address;\n};\n\nexport function useGetAccountNonce(): (\n input: GetAccountNonceInput\n) => Promise<number> {\n const wagmiConfig = useConfig();\n const getAccountNonce = async ({\n address,\n chainId,\n }: GetAccountNonceInput) => {\n const nonce = await getTransactionCount(wagmiConfig, { chainId, address });\n return nonce;\n };\n return getAccountNonce;\n}\n"],"names":["useGetAccountNonce","$","_c","wagmiConfig","useConfig","t0","t1","address","chainId","nonce","getTransactionCount","getAccountNonce"],"mappings":";;;;AAUO,SAAAA,kBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,WAAAA,EAAA;AACRE,IAAAA,EAAAA,UAAAC,EAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,OAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAF,EAAAA;AAI7B,MAAA,MAAAG,KAAAA,GAAc,MAAMC,mBAAAA,CAAoBP,WAAAA,EAAa;AAAA,QAAAK,OAAAA;AAAAA,QAAAD;AAAAA,OAAoB,CAAA;AAAE,MAAA,OACpEE,KAAAA;AAAAA,IAAK,CAAA;AACbR,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAU,eAAAA,GAAwBN,EAAAA;AAMtB,EAAA,OACKM,eAAAA;AAAe;;;;"}
@@ -0,0 +1,16 @@
1
+ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
2
+ import { EstimateFeesPerGasFn } from '../../../transactions/queries/ensureEstimateFeesPerGas';
3
+ import { FeeValuesType, TransactionType } from 'viem';
4
+ type UseTxFeesInput = {
5
+ chainId?: SupportedChainId;
6
+ type?: FeeValuesType;
7
+ enabled?: boolean;
8
+ };
9
+ export declare function useTxFees({ chainId, type, enabled, }: UseTxFeesInput): {
10
+ query: import('wagmi').UseEstimateFeesPerGasReturnType<"legacy" | "eip1559" | "eip4844", import('wagmi/query').EstimateFeesPerGasData<"legacy" | "eip1559" | "eip4844">>;
11
+ ensureEstimateFeesPerGas: EstimateFeesPerGasFn;
12
+ };
13
+ export declare function passFeeValueTxTypesOnly(txType: TransactionType): FeeValuesType;
14
+ export declare function useGetChainFeeType(): (chainId: SupportedChainId) => Promise<FeeValuesType>;
15
+ export {};
16
+ //# sourceMappingURL=useTxFees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTxFees.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/useTxFees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iDAAiD,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAU3D,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,IAAgB,EAChB,OAAc,GACf,EAAE,cAAc;;;EAahB;AAOD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,GACtB,aAAa,CAKf;AAED,wBAAgB,kBAAkB,IAAI,CACpC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,aAAa,CAAC,CAQ1B"}
@@ -0,0 +1,103 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { estimateFeesPerGasFactory } from '../../../transactions/queries/ensureEstimateFeesPerGas.js';
3
+ import { useQueryClient } from '@tanstack/react-query';
4
+ import { getBlock } from '@wagmi/core';
5
+ import { useEstimateFeesPerGas, useConfig } from 'wagmi';
6
+
7
+ function useEnsureEstimateFeesPerGas() {
8
+ const $ = distExports.c(3);
9
+ const queryClient = useQueryClient();
10
+ const wagmiConfig = useConfig();
11
+ let t0;
12
+ if ($[0] !== queryClient || $[1] !== wagmiConfig) {
13
+ t0 = estimateFeesPerGasFactory({
14
+ queryClient,
15
+ wagmiConfig
16
+ });
17
+ $[0] = queryClient;
18
+ $[1] = wagmiConfig;
19
+ $[2] = t0;
20
+ } else {
21
+ t0 = $[2];
22
+ }
23
+ return t0;
24
+ }
25
+ function useTxFees(t0) {
26
+ const $ = distExports.c(9);
27
+ const {
28
+ chainId,
29
+ type: t1,
30
+ enabled: t2
31
+ } = t0;
32
+ const type = t1 === void 0 ? "eip1559" : t1;
33
+ const enabled = t2 === void 0 ? true : t2;
34
+ let t3;
35
+ if ($[0] !== enabled) {
36
+ t3 = {
37
+ enabled
38
+ };
39
+ $[0] = enabled;
40
+ $[1] = t3;
41
+ } else {
42
+ t3 = $[1];
43
+ }
44
+ let t4;
45
+ if ($[2] !== chainId || $[3] !== t3 || $[4] !== type) {
46
+ t4 = {
47
+ chainId,
48
+ type,
49
+ query: t3
50
+ };
51
+ $[2] = chainId;
52
+ $[3] = t3;
53
+ $[4] = type;
54
+ $[5] = t4;
55
+ } else {
56
+ t4 = $[5];
57
+ }
58
+ const estimateGasQuery = useEstimateFeesPerGas(t4);
59
+ const ensureEstimateFeesPerGas = useEnsureEstimateFeesPerGas();
60
+ let t5;
61
+ if ($[6] !== ensureEstimateFeesPerGas || $[7] !== estimateGasQuery) {
62
+ t5 = {
63
+ query: estimateGasQuery,
64
+ ensureEstimateFeesPerGas
65
+ };
66
+ $[6] = ensureEstimateFeesPerGas;
67
+ $[7] = estimateGasQuery;
68
+ $[8] = t5;
69
+ } else {
70
+ t5 = $[8];
71
+ }
72
+ return t5;
73
+ }
74
+ const FeeValueTypeSet = /* @__PURE__ */ new Set(["eip1559", "eip4844", "legacy"]);
75
+ function passFeeValueTxTypesOnly(txType) {
76
+ if (!FeeValueTypeSet.has(txType)) {
77
+ return "eip1559";
78
+ }
79
+ return txType;
80
+ }
81
+ function useGetChainFeeType() {
82
+ const $ = distExports.c(2);
83
+ const wagmiConfig = useConfig();
84
+ let t0;
85
+ if ($[0] !== wagmiConfig) {
86
+ t0 = async (chainId) => {
87
+ const block = await getBlock(wagmiConfig, {
88
+ chainId,
89
+ blockTag: "latest"
90
+ });
91
+ return block.baseFeePerGas !== null ? "eip1559" : "legacy";
92
+ };
93
+ $[0] = wagmiConfig;
94
+ $[1] = t0;
95
+ } else {
96
+ t0 = $[1];
97
+ }
98
+ const getChainFeeType = t0;
99
+ return getChainFeeType;
100
+ }
101
+
102
+ export { passFeeValueTxTypesOnly, useGetChainFeeType, useTxFees };
103
+ //# sourceMappingURL=useTxFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTxFees.js","sources":["../../../../src/hooks/txs/queries/useTxFees.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n estimateFeesPerGasFactory,\n type EstimateFeesPerGasFn,\n} from \"@/transactions/queries/ensureEstimateFeesPerGas\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { getBlock } from \"@wagmi/core\";\nimport type { FeeValuesType, TransactionType } from \"viem\";\nimport { useConfig, useEstimateFeesPerGas } from \"wagmi\";\n\nfunction useEnsureEstimateFeesPerGas(): EstimateFeesPerGasFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n\n return estimateFeesPerGasFactory({ queryClient, wagmiConfig });\n}\n\ntype UseTxFeesInput = {\n chainId?: SupportedChainId;\n type?: FeeValuesType;\n enabled?: boolean;\n};\n\nexport function useTxFees({\n chainId,\n type = \"eip1559\",\n enabled = true,\n}: UseTxFeesInput) {\n const estimateGasQuery = useEstimateFeesPerGas({\n chainId,\n type,\n query: { enabled },\n });\n\n const ensureEstimateFeesPerGas = useEnsureEstimateFeesPerGas();\n\n return {\n query: estimateGasQuery,\n ensureEstimateFeesPerGas,\n };\n}\n\nconst FeeValueTypeSet: Set<string> = new Set<FeeValuesType>([\n \"eip1559\",\n \"eip4844\",\n \"legacy\",\n]);\nexport function passFeeValueTxTypesOnly(\n txType: TransactionType\n): FeeValuesType {\n if (!FeeValueTypeSet.has(txType)) {\n return \"eip1559\"; // always return the default tx.type to have a reliable EstimateFeesPerGas queryKey\n }\n return txType as FeeValuesType;\n}\n\nexport function useGetChainFeeType(): (\n chainId: SupportedChainId\n) => Promise<FeeValuesType> {\n const wagmiConfig = useConfig();\n\n const getChainFeeType = async (chainId: SupportedChainId) => {\n const block = await getBlock(wagmiConfig, { chainId, blockTag: \"latest\" });\n return block.baseFeePerGas !== null ? \"eip1559\" : \"legacy\";\n };\n return getChainFeeType;\n}\n"],"names":["useEnsureEstimateFeesPerGas","$","_c","queryClient","useQueryClient","wagmiConfig","useConfig","t0","estimateFeesPerGasFactory","useTxFees","chainId","type","t1","enabled","t2","undefined","t3","t4","query","estimateGasQuery","useEstimateFeesPerGas","ensureEstimateFeesPerGas","t5","FeeValueTypeSet","Set","passFeeValueTxTypesOnly","txType","has","useGetChainFeeType","block","getBlock","blockTag","baseFeePerGas","getChainFeeType"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTxHistory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAMvD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA8FF,KAAK,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAExD,QAAA,MAAM,8BAA8B,oBAAoB,CAAC;AACzD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,OAAO,8BAA8B;IAC3C,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,KAAK,wBAAwB,CAAC,KAAK,GAAG,mBAAmB,EAAE,IAAI,IAAI,CACjE,eAAe,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,EAC3E,UAAU,GAAG,SAAS,CACvB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,GAAG,mBAAmB,EAAE,EAAE,EAC9D,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;CACzC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAgC/B"}
1
+ {"version":3,"file":"useTxHistory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAMvD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA+FF,KAAK,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAExD,QAAA,MAAM,8BAA8B,oBAAoB,CAAC;AACzD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,OAAO,8BAA8B;IAC3C,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,KAAK,wBAAwB,CAAC,KAAK,GAAG,mBAAmB,EAAE,IAAI,IAAI,CACjE,eAAe,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,EAC3E,UAAU,GAAG,SAAS,CACvB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,GAAG,mBAAmB,EAAE,EAAE,EAC9D,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;CACzC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAgC/B"}
@@ -17,7 +17,7 @@ function formatSwapTxsData({
17
17
  }) {
18
18
  const transactionItems = [];
19
19
  for (const row of data.rows) {
20
- const [txhash, chainId, srctoken, srcamount, srcamountusd, desttoken, destamount, destamountusd, , , entrytimestamp, txgasused, txgasprice, ,] = row;
20
+ const [txhash, chainId, srctoken, srcamount, srcamountusd, desttoken, destamount, destamountusd, , , entrytimestamp, txgasused, txgasprice, side] = row;
21
21
  if (!isSupportedChainId(chainId) || !isHash(txhash) || !isAddress(srctoken) || !isAddress(desttoken)) {
22
22
  logger.warn("Invalid swap tx data row, skipping", row);
23
23
  continue;
@@ -38,7 +38,8 @@ function formatSwapTxsData({
38
38
  destTokenAddress: desttoken,
39
39
  destAmount: Big(destamount).toFixed(),
40
40
  destAmountUSD: Big(destamountusd).toFixed(),
41
- gasCost: Big(txgasused).mul(txgasprice).toFixed()
41
+ gasCost: Big(txgasused).mul(txgasprice).toFixed(),
42
+ swapSide: side === "true" ? "BUY" : "SELL"
42
43
  }
43
44
  });
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTxHistory.js","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"sourcesContent":["import { assertProp } from \"@/lib/utils\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport axios from \"axios\";\n\nimport {\n constructMetaParams,\n type MetabaseResponse,\n} from \"@/lib/utils/metabase\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\nimport { isAddress, isHash, type Address } from \"viem\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { getLogger } from \"@/core/logger\";\nimport Big from \"big.js\";\nimport { getApiProxyURL } from \"@/lib/constants/urls\";\n\ntype SwapTxParams = {\n account: Address;\n chainId?: number;\n limit?: number;\n offset?: number;\n};\n\ntype SwapTxRow = [\n txhash: string,\n chainId: number,\n srctoken: string,\n srcamount: number,\n srcamountusd: number,\n desttoken: string,\n destamount: number,\n destamountusd: number,\n txorigin: string,\n initiator: string,\n entrytimestamp: string,\n txgasused: number, // can falsely return 0, also this is not gasUsed, this is gasLimit; better rely on gas data from GRP table if available\n txgasprice: number,\n side: string, // \"true\" = BUY, \"false\" = SELL\n];\n\ntype SwapTxsResponse = MetabaseResponse<SwapTxRow>;\n\nconst logger = getLogger(\"SwapTxHistory\");\n\nfunction formatSwapTxsData(\n { data }: SwapTxsResponse,\n { account }: SwapTxParams\n): TransactionItemSwap[] {\n const transactionItems: TransactionItemSwap[] = [];\n\n for (const row of data.rows) {\n const [\n txhash,\n chainId,\n srctoken,\n srcamount,\n srcamountusd,\n desttoken,\n destamount,\n destamountusd,\n ,\n ,\n entrytimestamp,\n txgasused,\n txgasprice,\n ,\n ] = row;\n\n if (\n !isSupportedChainId(chainId) ||\n !isHash(txhash) ||\n !isAddress(srctoken) ||\n !isAddress(desttoken)\n ) {\n logger.warn(\"Invalid swap tx data row, skipping\", row);\n continue;\n }\n\n transactionItems.push({\n account,\n transactionHash: txhash,\n chainId,\n dropped: false,\n timestamp: new Date(entrytimestamp).getTime(),\n action: \"swap\",\n transactionSpecificData: {\n action: \"swap\",\n source: \"metabase\",\n srcTokenAddress: srctoken,\n srcAmount: Big(srcamount).toFixed(),\n srcAmountUSD: Big(srcamountusd).toFixed(),\n destTokenAddress: desttoken,\n destAmount: Big(destamount).toFixed(),\n destAmountUSD: Big(destamountusd).toFixed(),\n gasCost: Big(txgasused).mul(txgasprice).toFixed(),\n },\n });\n }\n\n return transactionItems;\n}\n\nasync function fetchSwapTxs(\n params: SwapTxParams,\n signal?: AbortSignal\n): Promise<TransactionItemSwap[]> {\n const metaParams = constructMetaParams(params);\n\n const url = `${getApiProxyURL()}/swap/txs?parameters=${JSON.stringify(metaParams)}`;\n\n const { data } = await axios.get<SwapTxsResponse>(url, { signal });\n\n return formatSwapTxsData(data, params);\n}\n\ntype SwapParams = MarkOptional<SwapTxParams, \"account\">;\n\nconst SWAP_TX_HISTORY_QUERY_KEY_BASE = \"swap/tx-history\";\ntype SwapTxHistoryQueryKey = [\n base: typeof SWAP_TX_HISTORY_QUERY_KEY_BASE,\n params: SwapParams,\n];\n\ntype SwapTxHistoryQueryParams<TData = TransactionItemSwap[]> = Omit<\n UseQueryOptions<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\n\nexport function useSwapTxHistory<TData = TransactionItemSwap[]>({\n params,\n query,\n}: {\n params: SwapParams;\n query?: SwapTxHistoryQueryParams<TData>;\n}): UseQueryResult<TData, Error> {\n const queryClient = useQueryClient();\n\n return useQuery<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>({\n queryKey: [SWAP_TX_HISTORY_QUERY_KEY_BASE, params],\n queryFn: ({ signal }) => {\n assertProp(params, \"account\");\n if (params.chainId) {\n // don't bother with picking past data for different limit & offset, it's too hard to get right data slice given different chainIds\n const { chainId, ...queryParamsWithoutChainId } = params;\n const queryKeyWithoutChainId: SwapTxHistoryQueryKey = [\n SWAP_TX_HISTORY_QUERY_KEY_BASE,\n queryParamsWithoutChainId,\n ];\n\n const query = queryClient.getQueryCache().find<TransactionItemSwap[]>({\n queryKey: queryKeyWithoutChainId,\n stale: false, // get only non-stale data\n });\n\n const dataForAllChains = query?.state.data;\n\n if (dataForAllChains) {\n return dataForAllChains.filter((tx) => tx.chainId === chainId);\n }\n }\n\n return fetchSwapTxs(params, signal);\n },\n ...query,\n enabled: !!params.account && (query?.enabled ?? true),\n });\n}\n"],"names":["logger","getLogger","formatSwapTxsData","data","account","transactionItems","row","rows","txhash","chainId","srctoken","srcamount","srcamountusd","desttoken","destamount","destamountusd","entrytimestamp","txgasused","txgasprice","isSupportedChainId","isHash","isAddress","warn","push","transactionHash","dropped","timestamp","Date","getTime","action","transactionSpecificData","source","srcTokenAddress","srcAmount","Big","toFixed","srcAmountUSD","destTokenAddress","destAmount","destAmountUSD","gasCost","mul","fetchSwapTxs","params","signal","metaParams","constructMetaParams","url","getApiProxyURL","JSON","stringify","axios","get","SWAP_TX_HISTORY_QUERY_KEY_BASE","useSwapTxHistory","t0","$","_c","query","queryClient","useQueryClient","t1","t2","t3","assertProp","queryParamsWithoutChainId","queryKeyWithoutChainId","query_0","getQueryCache","find","queryKey","stale","dataForAllChains","state","filter","tx","enabled","t4","queryFn","useQuery"],"mappings":"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"}
1
+ {"version":3,"file":"useTxHistory.js","sources":["../../../../src/hooks/txs/queries/useTxHistory.ts"],"sourcesContent":["import { assertProp } from \"@/lib/utils\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport axios from \"axios\";\n\nimport {\n constructMetaParams,\n type MetabaseResponse,\n} from \"@/lib/utils/metabase\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\nimport { isAddress, isHash, type Address } from \"viem\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { getLogger } from \"@/core/logger\";\nimport Big from \"big.js\";\nimport { getApiProxyURL } from \"@/lib/constants/urls\";\n\ntype SwapTxParams = {\n account: Address;\n chainId?: number;\n limit?: number;\n offset?: number;\n};\n\ntype SwapTxRow = [\n txhash: string,\n chainId: number,\n srctoken: string,\n srcamount: number,\n srcamountusd: number,\n desttoken: string,\n destamount: number,\n destamountusd: number,\n txorigin: string,\n initiator: string,\n entrytimestamp: string,\n txgasused: number, // can falsely return 0, also this is not gasUsed, this is gasLimit; better rely on gas data from GRP table if available\n txgasprice: number,\n side: \"true\" | \"false\", // \"true\" = BUY, \"false\" = SELL\n];\n\ntype SwapTxsResponse = MetabaseResponse<SwapTxRow>;\n\nconst logger = getLogger(\"SwapTxHistory\");\n\nfunction formatSwapTxsData(\n { data }: SwapTxsResponse,\n { account }: SwapTxParams\n): TransactionItemSwap[] {\n const transactionItems: TransactionItemSwap[] = [];\n\n for (const row of data.rows) {\n const [\n txhash,\n chainId,\n srctoken,\n srcamount,\n srcamountusd,\n desttoken,\n destamount,\n destamountusd,\n ,\n ,\n entrytimestamp,\n txgasused,\n txgasprice,\n side,\n ] = row;\n\n if (\n !isSupportedChainId(chainId) ||\n !isHash(txhash) ||\n !isAddress(srctoken) ||\n !isAddress(desttoken)\n ) {\n logger.warn(\"Invalid swap tx data row, skipping\", row);\n continue;\n }\n\n transactionItems.push({\n account,\n transactionHash: txhash,\n chainId,\n dropped: false,\n timestamp: new Date(entrytimestamp).getTime(),\n action: \"swap\",\n transactionSpecificData: {\n action: \"swap\",\n source: \"metabase\",\n srcTokenAddress: srctoken,\n srcAmount: Big(srcamount).toFixed(),\n srcAmountUSD: Big(srcamountusd).toFixed(),\n destTokenAddress: desttoken,\n destAmount: Big(destamount).toFixed(),\n destAmountUSD: Big(destamountusd).toFixed(),\n gasCost: Big(txgasused).mul(txgasprice).toFixed(),\n swapSide: side === \"true\" ? \"BUY\" : \"SELL\",\n },\n });\n }\n\n return transactionItems;\n}\n\nasync function fetchSwapTxs(\n params: SwapTxParams,\n signal?: AbortSignal\n): Promise<TransactionItemSwap[]> {\n const metaParams = constructMetaParams(params);\n\n const url = `${getApiProxyURL()}/swap/txs?parameters=${JSON.stringify(metaParams)}`;\n\n const { data } = await axios.get<SwapTxsResponse>(url, { signal });\n\n return formatSwapTxsData(data, params);\n}\n\ntype SwapParams = MarkOptional<SwapTxParams, \"account\">;\n\nconst SWAP_TX_HISTORY_QUERY_KEY_BASE = \"swap/tx-history\";\ntype SwapTxHistoryQueryKey = [\n base: typeof SWAP_TX_HISTORY_QUERY_KEY_BASE,\n params: SwapParams,\n];\n\ntype SwapTxHistoryQueryParams<TData = TransactionItemSwap[]> = Omit<\n UseQueryOptions<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\n\nexport function useSwapTxHistory<TData = TransactionItemSwap[]>({\n params,\n query,\n}: {\n params: SwapParams;\n query?: SwapTxHistoryQueryParams<TData>;\n}): UseQueryResult<TData, Error> {\n const queryClient = useQueryClient();\n\n return useQuery<TransactionItemSwap[], Error, TData, SwapTxHistoryQueryKey>({\n queryKey: [SWAP_TX_HISTORY_QUERY_KEY_BASE, params],\n queryFn: ({ signal }) => {\n assertProp(params, \"account\");\n if (params.chainId) {\n // don't bother with picking past data for different limit & offset, it's too hard to get right data slice given different chainIds\n const { chainId, ...queryParamsWithoutChainId } = params;\n const queryKeyWithoutChainId: SwapTxHistoryQueryKey = [\n SWAP_TX_HISTORY_QUERY_KEY_BASE,\n queryParamsWithoutChainId,\n ];\n\n const query = queryClient.getQueryCache().find<TransactionItemSwap[]>({\n queryKey: queryKeyWithoutChainId,\n stale: false, // get only non-stale data\n });\n\n const dataForAllChains = query?.state.data;\n\n if (dataForAllChains) {\n return dataForAllChains.filter((tx) => tx.chainId === chainId);\n }\n }\n\n return fetchSwapTxs(params, signal);\n },\n ...query,\n enabled: !!params.account && (query?.enabled ?? true),\n });\n}\n"],"names":["logger","getLogger","formatSwapTxsData","data","account","transactionItems","row","rows","txhash","chainId","srctoken","srcamount","srcamountusd","desttoken","destamount","destamountusd","entrytimestamp","txgasused","txgasprice","side","isSupportedChainId","isHash","isAddress","warn","push","transactionHash","dropped","timestamp","Date","getTime","action","transactionSpecificData","source","srcTokenAddress","srcAmount","Big","toFixed","srcAmountUSD","destTokenAddress","destAmount","destAmountUSD","gasCost","mul","swapSide","fetchSwapTxs","params","signal","metaParams","constructMetaParams","url","getApiProxyURL","JSON","stringify","axios","get","SWAP_TX_HISTORY_QUERY_KEY_BASE","useSwapTxHistory","t0","$","_c","query","queryClient","useQueryClient","t1","t2","t3","assertProp","queryParamsWithoutChainId","queryKeyWithoutChainId","query_0","getQueryCache","find","queryKey","stale","dataForAllChains","state","filter","tx","enabled","t4","queryFn","useQuery"],"mappings":"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"}