@velora-dex/widget 0.8.3-dev.1 → 0.8.3

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 (226) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +23 -22
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -1
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +2 -2
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
  8. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -1
  9. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +4 -1
  10. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  11. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts +5 -0
  15. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts.map +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js +22 -0
  17. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js.map +1 -0
  18. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  19. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  20. package/dist/components/widget/BridgeList/hooks.js +73 -79
  21. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  22. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  23. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  24. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +10 -10
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +1 -1
  29. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +1 -1
  30. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  31. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  33. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  34. package/dist/components/widget/TradeOverview/TradeError/utils.js +1 -1
  35. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  36. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  37. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  38. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -4
  39. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  40. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  41. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  42. package/dist/configurator/Configurator.d.ts.map +1 -1
  43. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  44. package/dist/core/LimitOrderButton.js +53 -46
  45. package/dist/core/LimitOrderButton.js.map +1 -1
  46. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  47. package/dist/core/OtcOrderButton.js +6 -5
  48. package/dist/core/OtcOrderButton.js.map +1 -1
  49. package/dist/core/TradeFlowScreenButton.d.ts +4 -3
  50. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  51. package/dist/core/TradeFlowScreenButton.js +24 -24
  52. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  53. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  54. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  55. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +130 -99
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  57. package/dist/core/index.js +5 -4
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  60. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  61. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  62. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  63. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  64. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  65. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  66. package/dist/core/inputs/hooks/utils.js +5 -7
  67. package/dist/core/inputs/hooks/utils.js.map +1 -1
  68. package/dist/core/limit/useLimitRate.d.ts +3 -2
  69. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  70. package/dist/core/limit/useLimitRate.js +110 -54
  71. package/dist/core/limit/useLimitRate.js.map +1 -1
  72. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  73. package/dist/core/limit/useLimitTokenToInputProps.js +4 -1
  74. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  75. package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
  76. package/dist/core/otc/state/selectedTokenActionsAtom.js +2 -2
  77. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  78. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  79. package/dist/core/state/widgetEventsAtom.js +21 -11
  80. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  81. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  82. package/dist/core/swapDetails/fees.js +11 -16
  83. package/dist/core/swapDetails/fees.js.map +1 -1
  84. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  85. package/dist/core/swapDetails/maxToPay.js +17 -18
  86. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  87. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  88. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  89. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  90. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  91. package/dist/events/types/importToken.d.ts +14 -0
  92. package/dist/events/types/importToken.d.ts.map +1 -0
  93. package/dist/events/types/index.d.ts +4 -1
  94. package/dist/events/types/index.d.ts.map +1 -1
  95. package/dist/events/types/priceChange.d.ts +2 -2
  96. package/dist/events/types/priceChange.d.ts.map +1 -1
  97. package/dist/events/types/swap.d.ts +2 -2
  98. package/dist/events/types/swap.d.ts.map +1 -1
  99. package/dist/events/types/twap.d.ts +2 -2
  100. package/dist/events/types/twap.d.ts.map +1 -1
  101. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  102. package/dist/hooks/batch/useSendBatchTx.js +31 -32
  103. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  104. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +8 -0
  105. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +1 -0
  106. package/dist/hooks/swap/prices/delta/bridge/const.js +13 -0
  107. package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -0
  108. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +4 -3
  109. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  110. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  111. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +3 -6
  112. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/bridge/utils.js +17 -20
  114. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  116. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  118. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  119. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  120. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  121. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  122. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  123. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  124. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +28 -27
  125. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  127. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  131. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  133. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  134. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  135. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  136. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  137. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  138. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +28 -27
  139. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  140. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  141. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  142. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  143. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  144. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  145. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  146. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
  147. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  148. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -5
  149. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  150. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  151. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  152. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -3
  153. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  154. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  155. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +29 -44
  156. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  157. package/dist/hooks/swap/prices/delta/orders/utils.js +16 -128
  158. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  159. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  160. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -16
  161. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  162. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  163. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  164. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -3
  165. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  166. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -7
  167. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  168. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  169. package/dist/hooks/swap/prices/factory.js +1 -1
  170. package/dist/hooks/swap/prices/factory.js.map +1 -1
  171. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  172. package/dist/hooks/swap/prices/types.d.ts +3 -2
  173. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  174. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  175. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  176. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  177. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  178. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  179. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  180. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  181. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  182. package/dist/hooks/swap/prices/useTwapPrices.d.ts +5 -4
  183. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  184. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  185. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +17 -10
  186. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  187. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  188. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  189. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  190. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +1 -1
  191. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  192. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  193. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  194. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +124 -119
  195. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  196. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  197. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  198. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +196 -159
  199. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  200. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  201. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  202. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +229 -217
  203. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  204. package/dist/hooks/useSDK.d.ts +3 -19
  205. package/dist/hooks/useSDK.d.ts.map +1 -1
  206. package/dist/hooks/useSDK.js +35 -65
  207. package/dist/hooks/useSDK.js.map +1 -1
  208. package/dist/index.d.ts +2 -1
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/lib/queryClient.js +2 -2
  211. package/dist/lib/queryClient.js.map +1 -1
  212. package/dist/lib/utils/price.d.ts +2 -5
  213. package/dist/lib/utils/price.d.ts.map +1 -1
  214. package/dist/lib/utils/price.js +5 -8
  215. package/dist/lib/utils/price.js.map +1 -1
  216. package/dist/lib/utils/twap.d.ts +2 -2
  217. package/dist/lib/utils/twap.d.ts.map +1 -1
  218. package/dist/lib/utils/twap.js +2 -2
  219. package/dist/lib/utils/twap.js.map +1 -1
  220. package/dist/tokens/state/addImportedTokenAtom.d.ts +2 -0
  221. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  222. package/dist/tokens/state/addImportedTokenAtom.js +47 -31
  223. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  224. package/package.json +2 -2
  225. package/dist/lib/utils/scaleFactor.js +0 -13
  226. package/dist/lib/utils/scaleFactor.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { BridgedDepositResponse } from '../bridge/types';
3
3
  import { ExecutedDeltaAuction, FailedDeltaAuction } from '../orders/types';
4
- import { DeltaAuction } from '@velora-dex/sdk';
4
+ import { DeltaAuction, DeltaAuctionUnion } from '@velora-dex/sdk';
5
5
  declare const SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = "single_delta_auction";
6
6
  type SingleDeltaAuctionQueryKey = [
7
7
  base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,
@@ -20,11 +20,11 @@ type UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {
20
20
  onUpdatedAuction?: (auction: DeltaAuction) => void;
21
21
  };
22
22
  export declare function useWatchDeltaAuction<TData = DeltaAuction>({ orderId, enabled, refetchInterval, select, onAuctionSuccess, onAuctionFailure, onUpdatedAuction, }: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData>;
23
- type EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> = (options: {
23
+ type EnsureOrderExecutedFn<TData extends DeltaAuctionUnion = DeltaAuctionUnion> = (options: {
24
24
  orderId: string;
25
25
  signal?: AbortSignal;
26
26
  }) => Promise<TData>;
27
- export declare function useEnsureDeltaOrderExecuted<TData extends DeltaAuction = DeltaAuction>({ onAuctionSuccess, onAuctionFailure, refetchInterval, }?: Pick<UseWatchDeltaAuctionQueryInput, "onAuctionSuccess" | "onAuctionFailure" | "refetchInterval">): EnsureOrderExecutedFn<TData>;
27
+ export declare function useEnsureDeltaOrderExecuted<TData extends DeltaAuctionUnion = DeltaAuctionUnion>({ onAuctionSuccess, onAuctionFailure, refetchInterval, }?: Pick<UseWatchDeltaAuctionQueryInput, "onAuctionSuccess" | "onAuctionFailure" | "refetchInterval">): EnsureOrderExecutedFn<TData>;
28
28
  type UseWatchMultiDeltaAuctions = {
29
29
  orderIds: string[];
30
30
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { getLogger as e, useLogger as t } from "../../../../../core/logger.js";
2
2
  import { useDeltaSDK as n } from "../../../../useSDK.js";
3
- import { DeltaOrderStatusChecker as r, isCanceledDeltaAuction as i, isDeltaAuctionExpired as a, isExecutedDeltaAuction as o, isFailedDeltaAuction as s } from "../orders/utils.js";
3
+ import { DeltaOrderStatusChecker as r, isCanceledAuction as i, isExecutedAuction as a, isExpiredAuction as o, isFailedAuction as s } from "../orders/utils.js";
4
4
  import { DeltaOrderFailedError as c } from "./errors.js";
5
5
  import { c as l } from "react-compiler-runtime";
6
6
  import { useLayoutEffect as u, useMemo as d, useRef as f } from "react";
@@ -22,8 +22,8 @@ function x({ orderId: t, enabled: n = !0, refetchInterval: c = y, select: l, get
22
22
  let n = t.state.data, l = t.options.meta, u = !!l && m(l);
23
23
  if (u && l.doneState) return e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1;
24
24
  if (n && d?.(n), n && r.completed.has(n.status)) {
25
- if (o(n)) return f?.(n), u && (l.doneState = !0), !1;
26
- if (s(n) || a(n) || i(n)) return p?.(n), u && (l.doneState = !0), !1;
25
+ if (a(n)) return f?.(n), u && (l.doneState = !0), !1;
26
+ if (s(n) || o(n) || i(n)) return p?.(n), u && (l.doneState = !0), !1;
27
27
  }
28
28
  return c;
29
29
  },
@@ -91,12 +91,13 @@ function C(e) {
91
91
  y.log("QueryObserver", l, t);
92
92
  let u = t.data;
93
93
  if (u && p !== null && (clearTimeout(p), p = null), u && r.completed.has(u.status)) {
94
- if (o(u)) {
95
- f?.(u), n(), e(u);
94
+ let t = u;
95
+ if (a(t)) {
96
+ f?.(t), n(), e(u);
96
97
  return;
97
98
  }
98
- if (s(u) || a(u) || i(u)) {
99
- m?.(u), n(), d(new c({ order: u }));
99
+ if (s(t) || o(t) || i(t)) {
100
+ m?.(t), n(), d(new c({ order: t }));
100
101
  return;
101
102
  }
102
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","DeltaAuctionUnion","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","stricterOrder","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction, DeltaAuctionUnion } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<\n TData extends DeltaAuctionUnion = DeltaAuctionUnion,\n> = (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuctionUnion = DeltaAuctionUnion,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // SDK type guards require DeltaAuctionUnion, generic TData type is too broad\n const stricterOrder: DeltaAuctionUnion = maybeOrder;\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(stricterOrder)) {\n onAuctionSuccess?.(stricterOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(stricterOrder) ||\n isDeltaAuctionExpired(stricterOrder) ||\n isCanceledDeltaAuction(stricterOrder)\n ) {\n onAuctionFailure?.(stricterOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: stricterOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,iBAAiB,CAiC1B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,iBAAiB,CA4B1B"}
@@ -11,7 +11,7 @@ function r({ price: r, priceError: i }) {
11
11
  isUnavailable: !1
12
12
  };
13
13
  let a = null, o = null;
14
- return r ? e(r) ? (a = r.route.origin.input.amountUSD, o = r.route.destination.output.amountUSD) : (a = r.srcUSD, o = r.destUSD) : i && n(i) && i.response && (a = i.response.data.priceRoute.srcUSD, o = i.response.data.priceRoute.destUSD), t({
14
+ return r ? (a = r.srcUSD, o = e(r) ? r.receivedDestUSD : r.destUSD) : i && n(i) && i.response && (a = i.response.data.priceRoute.srcUSD, o = i.response.data.priceRoute.destUSD), t({
15
15
  srcUSD: a,
16
16
  destUSD: o
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","names":["getPriceImpact","PriceImpactResult","DeltaOrMarketPrice","isMarketPriceImpactError","isDeltaPrice","getPriceImpactFromPriceFactory","price","priceError","Error","priceImpact","undefined","isHighImpact","isMediumImpact","isUnavailable","srcUSD","destUSD","route","origin","input","amountUSD","destination","output","response","data","priceRoute"],"sources":["../../../../src/hooks/swap/prices/factory.ts"],"sourcesContent":["import {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\n\nexport function getPriceImpactFromPriceFactory({\n price,\n priceError,\n}: {\n price?: DeltaOrMarketPrice;\n priceError: Error | null;\n}): () => PriceImpactResult {\n return () => {\n if (!price && !priceError) {\n return {\n priceImpact: undefined,\n isHighImpact: false,\n isMediumImpact: false,\n isUnavailable: false,\n };\n }\n\n let srcUSD: string | null = null;\n let destUSD: string | null = null;\n\n if (price) {\n if (isDeltaPrice(price)) {\n srcUSD = price.route.origin.input.amountUSD;\n destUSD = price.route.destination.output.amountUSD;\n } else {\n srcUSD = price.srcUSD;\n destUSD = price.destUSD;\n }\n } else if (\n priceError &&\n isMarketPriceImpactError(priceError) &&\n priceError.response\n ) {\n srcUSD = priceError.response.data.priceRoute.srcUSD;\n destUSD = priceError.response.data.priceRoute.destUSD;\n }\n\n return getPriceImpact({ srcUSD, destUSD });\n };\n}\n"],"mappings":";;;;AAQA,SAAgBK,EAA+B,EAC7CC,UACAC,iBAI0B;CAC1B,aAAa;EACX,IAAI,CAACD,KAAS,CAACC,GACb,OAAO;GACLE,aAAaC,KAAAA;GACbC,cAAc;GACdC,gBAAgB;GAChBC,eAAe;GAChB;EAGH,IAAIC,IAAwB,MACxBC,IAAyB;EAmB7B,OAjBIT,IACEF,EAAaE,EAAM,IACrBQ,IAASR,EAAMU,MAAMC,OAAOC,MAAMC,WAClCJ,IAAUT,EAAMU,MAAMI,YAAYC,OAAOF,cAEzCL,IAASR,EAAMQ,QACfC,IAAUT,EAAMS,WAGlBR,KACAJ,EAAyBI,EAAW,IACpCA,EAAWe,aAEXR,IAASP,EAAWe,SAASC,KAAKC,WAAWV,QAC7CC,IAAUR,EAAWe,SAASC,KAAKC,WAAWT,UAGzCf,EAAe;GAAEc;GAAQC;GAAS,CAAC"}
1
+ {"version":3,"file":"factory.js","names":["getPriceImpact","PriceImpactResult","DeltaOrMarketPrice","isMarketPriceImpactError","isDeltaPrice","getPriceImpactFromPriceFactory","price","priceError","Error","priceImpact","undefined","isHighImpact","isMediumImpact","isUnavailable","srcUSD","destUSD","receivedDestUSD","response","data","priceRoute"],"sources":["../../../../src/hooks/swap/prices/factory.ts"],"sourcesContent":["import {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\n\nexport function getPriceImpactFromPriceFactory({\n price,\n priceError,\n}: {\n price?: DeltaOrMarketPrice;\n priceError: Error | null;\n}): () => PriceImpactResult {\n return () => {\n if (!price && !priceError) {\n return {\n priceImpact: undefined,\n isHighImpact: false,\n isMediumImpact: false,\n isUnavailable: false,\n };\n }\n\n let srcUSD: string | null = null;\n let destUSD: string | null = null;\n\n if (price) {\n srcUSD = price.srcUSD;\n destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n } else if (\n priceError &&\n isMarketPriceImpactError(priceError) &&\n priceError.response\n ) {\n srcUSD = priceError.response.data.priceRoute.srcUSD;\n destUSD = priceError.response.data.priceRoute.destUSD;\n }\n\n return getPriceImpact({ srcUSD, destUSD });\n };\n}\n"],"mappings":";;;;AAQA,SAAgBK,EAA+B,EAC7CC,UACAC,iBAI0B;CAC1B,aAAa;EACX,IAAI,CAACD,KAAS,CAACC,GACb,OAAO;GACLE,aAAaC,KAAAA;GACbC,cAAc;GACdC,gBAAgB;GAChBC,eAAe;GAChB;EAGH,IAAIC,IAAwB,MACxBC,IAAyB;EAc7B,OAZIT,KACFQ,IAASR,EAAMQ,QACfC,IAAUX,EAAaE,EAAM,GAAGA,EAAMU,kBAAkBV,EAAMS,WAE9DR,KACAJ,EAAyBI,EAAW,IACpCA,EAAWU,aAEXH,IAASP,EAAWU,SAASC,KAAKC,WAAWL,QAC7CC,IAAUR,EAAWU,SAASC,KAAKC,WAAWJ,UAGzCf,EAAe;GAAEc;GAAQC;GAAS,CAAC"}
@@ -42,7 +42,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
42
42
  sanitizedPriceParams: {
43
43
  amount: string;
44
44
  userAddress: string | undefined;
45
- side: "BUY" | "SELL" | undefined;
45
+ side: "SELL" | "BUY" | undefined;
46
46
  srcDecimals: number | undefined;
47
47
  destDecimals: number | undefined;
48
48
  srcToken: string;
@@ -1,5 +1,6 @@
1
- import { DeltaPriceV2, OptimalRate } from '@velora-dex/sdk';
2
- export type DeltaOrMarketPrice = OptimalRate | DeltaPriceV2;
1
+ import { OptimalRate, DeltaPrice, BridgePrice } from '@velora-dex/sdk';
2
+ export type DeltaOrMarketPrice = OptimalRate | DeltaPrice | BridgePrice;
3
+ export type DeltaOrBridgePrice = DeltaPrice | BridgePrice;
3
4
  export type UseSwapPricesInput = {
4
5
  enabled?: boolean;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { MarketPriceQueryKey } from './market/queries/useMarketPriceQuery';
2
2
  import { DeltaPriceQueryKey } from './delta/queries/useDeltaPriceQuery';
3
3
  import { SwapMode } from '../../../components/widget/SwapModeSwitcher/state/types';
4
- import { DeltaPriceV2, OptimalRate, SwapSideUnion } from '@velora-dex/sdk';
4
+ import { BridgePrice, DeltaPrice, OptimalRate, SwapSideUnion } from '@velora-dex/sdk';
5
5
  import { DeltaOrMarketPrice, UseSwapPricesInput } from './types';
6
6
  import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
7
7
  import { PriceImpactResult } from '../../../lib/utils/priceImpact';
@@ -23,7 +23,7 @@ type UseSwapPricesReturn = {
23
23
  queryKey: MarketPriceQueryKey;
24
24
  };
25
25
  delta: {
26
- price?: DeltaPriceV2;
26
+ price?: DeltaPrice | BridgePrice;
27
27
  side?: SwapSideUnion;
28
28
  /** @description whether the delta price can be used for the current price params && widget config */
29
29
  canBeUsed: boolean;
@@ -31,7 +31,7 @@ type UseSwapPricesReturn = {
31
31
  isFetching: boolean;
32
32
  isRefetching: boolean;
33
33
  isError: boolean;
34
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPriceV2, Error>>;
34
+ refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;
35
35
  error: Error | null;
36
36
  cachedError: Error | null;
37
37
  queryKey: DeltaPriceQueryKey;
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","DeltaPriceV2","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n DeltaPriceV2,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPriceV2;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPriceV2, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","BridgePrice","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
@@ -19,11 +19,11 @@ function a() {
19
19
  }
20
20
  function o({ priceError: t, price: r, side: i }) {
21
21
  if (i === "BUY") {
22
- let i = "0";
23
- return r && (i = e(r) ? r.route.origin.input.amount : r.srcAmount), n(t) && t.response && (i = t.response.data.priceRoute.srcAmount), { tokenFromAmount: { amountWei: i } };
22
+ let e = "0";
23
+ return r && (e = r.srcAmount), n(t) && t.response && (e = t.response.data.priceRoute.srcAmount), { tokenFromAmount: { amountWei: e } };
24
24
  }
25
25
  let a = "0";
26
- return r && (a = e(r) ? r.route.destination.output.amount : r.destAmount), n(t) && t.response && (a = t.response.data.priceRoute.destAmount), { tokenToAmount: { amountWei: a } };
26
+ return r && (a = e(r) ? r.receivedDestAmount : r.destAmount), n(t) && t.response && (a = t.response.data.priceRoute.destAmount), { tokenToAmount: { amountWei: a } };
27
27
  }
28
28
  //#endregion
29
29
  export { a as useTokenInputsFromPrice };
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromPrice.js","names":["isDeltaPrice","isMarketPriceImpactError","DeltaOrMarketPrice","useCurrentSwapPrice","useSwapSide","UseTokenInputsFromPriceReturn","InputOverridesFromPrice","ReturnType","useTokenInputsFromPrice","$","_c","currentSwapPrice","side","t0","cachedError","price","getInputOverridesFromPrice","priceError","overrides","t1","tokenFromAmount","amountWei","tokenToAmount","Error","tokenFromAmountWei","route","origin","input","amount","srcAmount","response","data","priceRoute","tokenToAmountWei","destination","output","destAmount"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = InputOverridesFromPrice &\n ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n const overrides = getInputOverridesFromPrice({\n priceError: currentSwapPrice.cachedError,\n price: currentSwapPrice.price,\n side,\n });\n\n return {\n ...overrides,\n ...currentSwapPrice,\n };\n}\n\nexport type InputOverridesFromPrice = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n};\n\nfunction getInputOverridesFromPrice({\n priceError,\n price,\n side,\n}: {\n priceError: Error | null;\n price?: DeltaOrMarketPrice;\n side: \"BUY\" | \"SELL\";\n}): InputOverridesFromPrice {\n if (side === \"BUY\") {\n let tokenFromAmountWei = \"0\";\n\n if (price) {\n tokenFromAmountWei = isDeltaPrice(price)\n ? price.route.origin.input.amount\n : price.srcAmount;\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use srcAmount from it\n tokenFromAmountWei = priceError.response.data.priceRoute.srcAmount;\n }\n\n return {\n tokenFromAmount: {\n amountWei: tokenFromAmountWei,\n },\n };\n }\n\n let tokenToAmountWei = \"0\";\n\n if (price) {\n if (isDeltaPrice(price)) {\n tokenToAmountWei = price.route.destination.output.amount;\n } else {\n // for market, price.destAmount is amount before fee\n tokenToAmountWei = price.destAmount;\n }\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use destAmount from it\n tokenToAmountWei = priceError.response.data.priceRoute.destAmount;\n }\n\n return {\n tokenToAmount: {\n amountWei: tokenToAmountWei,\n },\n };\n}\n"],"mappings":";;;;;;AASA,SAAOQ,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBR,GAAqB,EAE9CS,IAAaR,GAAa,EAACS;CAAA,AAAAJ,EAAA,OAAAE,EAAAG,eAAAL,EAAA,OAAAE,EAAAI,SAAAN,EAAA,OAAAG,KACTC,IAAAG,EAA2B;EAAAC,YAC/BN,EAAgBG;EAAYC,OACjCJ,EAAgBI;EAAMH;EAE9B,CAAC,EAAAH,EAAA,KAAAE,EAAAG,aAAAL,EAAA,KAAAE,EAAAI,OAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAS,IAAkBL,GAIfM;CAKF,OALEV,EAAA,OAAAE,KAAAF,EAAA,OAAAS,KAEIC,IAAA;EAAA,GACFD;EAAS,GACTP;EACJ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAHMU;;AAeT,SAASH,EAA2B,EAClCC,eACAF,UACAH,WAK0B;CAC1B,IAAIA,MAAS,OAAO;EAClB,IAAIY,IAAqB;EAazB,OAXIT,MACFS,IAAqBxB,EAAae,EAAM,GACpCA,EAAMU,MAAMC,OAAOC,MAAMC,SACzBb,EAAMc,YAGR5B,EAAyBgB,EAAW,IAAIA,EAAWa,aAErDN,IAAqBP,EAAWa,SAASC,KAAKC,WAAWH,YAGpD,EACLT,iBAAiB,EACfC,WAAWG,GACb,EACD;;CAGH,IAAIS,IAAmB;CAgBvB,OAdIlB,MACF,AAIEkB,IAJEjC,EAAae,EAAM,GACFA,EAAMU,MAAMS,YAAYC,OAAOP,SAG/Bb,EAAMqB,aAIzBnC,EAAyBgB,EAAW,IAAIA,EAAWa,aAErDG,IAAmBhB,EAAWa,SAASC,KAAKC,WAAWI,aAGlD,EACLd,eAAe,EACbD,WAAWY,GACb,EACD"}
1
+ {"version":3,"file":"useTokenInputsFromPrice.js","names":["isDeltaPrice","isMarketPriceImpactError","DeltaOrMarketPrice","useCurrentSwapPrice","useSwapSide","UseTokenInputsFromPriceReturn","InputOverridesFromPrice","ReturnType","useTokenInputsFromPrice","$","_c","currentSwapPrice","side","t0","cachedError","price","getInputOverridesFromPrice","priceError","overrides","t1","tokenFromAmount","amountWei","tokenToAmount","Error","tokenFromAmountWei","srcAmount","response","data","priceRoute","tokenToAmountWei","receivedDestAmount","destAmount"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = InputOverridesFromPrice &\n ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n const overrides = getInputOverridesFromPrice({\n priceError: currentSwapPrice.cachedError,\n price: currentSwapPrice.price,\n side,\n });\n\n return {\n ...overrides,\n ...currentSwapPrice,\n };\n}\n\nexport type InputOverridesFromPrice = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n};\n\nfunction getInputOverridesFromPrice({\n priceError,\n price,\n side,\n}: {\n priceError: Error | null;\n price?: DeltaOrMarketPrice;\n side: \"BUY\" | \"SELL\";\n}): InputOverridesFromPrice {\n if (side === \"BUY\") {\n let tokenFromAmountWei = \"0\";\n\n if (price) {\n tokenFromAmountWei = price.srcAmount;\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use srcAmount from it\n tokenFromAmountWei = priceError.response.data.priceRoute.srcAmount;\n }\n\n return {\n tokenFromAmount: {\n amountWei: tokenFromAmountWei,\n },\n };\n }\n\n let tokenToAmountWei = \"0\";\n\n if (price) {\n if (isDeltaPrice(price)) {\n // delta has separate receivedDestAmount\n tokenToAmountWei = price.receivedDestAmount;\n } else {\n // for market, price.destAmount is amount before fee\n tokenToAmountWei = price.destAmount;\n }\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use destAmount from it\n tokenToAmountWei = priceError.response.data.priceRoute.destAmount;\n }\n\n return {\n tokenToAmount: {\n amountWei: tokenToAmountWei,\n },\n };\n}\n"],"mappings":";;;;;;AASA,SAAOQ,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBR,GAAqB,EAE9CS,IAAaR,GAAa,EAACS;CAAA,AAAAJ,EAAA,OAAAE,EAAAG,eAAAL,EAAA,OAAAE,EAAAI,SAAAN,EAAA,OAAAG,KACTC,IAAAG,EAA2B;EAAAC,YAC/BN,EAAgBG;EAAYC,OACjCJ,EAAgBI;EAAMH;EAE9B,CAAC,EAAAH,EAAA,KAAAE,EAAAG,aAAAL,EAAA,KAAAE,EAAAI,OAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAS,IAAkBL,GAIfM;CAKF,OALEV,EAAA,OAAAE,KAAAF,EAAA,OAAAS,KAEIC,IAAA;EAAA,GACFD;EAAS,GACTP;EACJ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAHMU;;AAeT,SAASH,EAA2B,EAClCC,eACAF,UACAH,WAK0B;CAC1B,IAAIA,MAAS,OAAO;EAClB,IAAIY,IAAqB;EAWzB,OATIT,MACFS,IAAqBT,EAAMU,YAGzBxB,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDF,IAAqBP,EAAWS,SAASC,KAAKC,WAAWH,YAGpD,EACLL,iBAAiB,EACfC,WAAWG,GACb,EACD;;CAGH,IAAIK,IAAmB;CAiBvB,OAfId,MACF,AAKEc,IALE7B,EAAae,EAAM,GAEFA,EAAMe,qBAGNf,EAAMgB,aAIzB9B,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDG,IAAmBZ,EAAWS,SAASC,KAAKC,WAAWG,aAGlD,EACLT,eAAe,EACbD,WAAWQ,GACb,EACD"}
@@ -1,8 +1,8 @@
1
1
  import { InputOverridesFromPrice } from './useTokenInputsFromPrice';
2
- import { DeltaPriceV2, SwapSideUnion } from '@velora-dex/sdk';
2
+ import { BridgePrice, DeltaPrice, SwapSideUnion } from '@velora-dex/sdk';
3
3
  import { DeltaPriceQueryKey } from './delta/queries/useDeltaPriceQuery';
4
4
  type UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {
5
- price?: DeltaPriceV2;
5
+ price?: DeltaPrice | BridgePrice;
6
6
  side: SwapSideUnion;
7
7
  isLoading: boolean;
8
8
  isError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromTwapPrice.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,KAAK,iCAAiC,GAAG,uBAAuB,GAAG;IACjE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwBF,wBAAgB,2BAA2B,IAAI,iCAAiC,CAsB/E"}
1
+ {"version":3,"file":"useTokenInputsFromTwapPrice.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,KAAK,iCAAiC,GAAG,uBAAuB,GAAG;IACjE,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwBF,wBAAgB,2BAA2B,IAAI,iCAAiC,CAsB/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","DeltaPriceV2","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { DeltaPriceV2, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaPriceV2;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASiB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;CAStC,OARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB1B,GAAe,EAClC2B,IAA0BzB,GAAa,EACvCM,IAAakB,EAAUlB,QAAVmB,GAAqCC;CAAA,AAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;CAYF,OAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAAnB,SAAAiB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAAStB,OACLmB,EAAUnB;EAAMC;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAAnB,OAAAiB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}
1
+ {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","BridgePrice","DeltaPrice","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { BridgePrice, DeltaPrice, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaPrice | BridgePrice;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASkB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;CAStC,OARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB3B,GAAe,EAClC4B,IAA0B1B,GAAa,EACvCO,IAAakB,EAAUlB,QAAVmB,GAAqCC;CAAA,AAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;CAYF,OAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAAnB,SAAAiB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAAStB,OACLmB,EAAUnB;EAAMC;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAAnB,OAAAiB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}
@@ -1,14 +1,15 @@
1
- import { DeltaPriceV2, SwapSideUnion } from '@velora-dex/sdk';
1
+ import { SwapSideUnion } from '@velora-dex/sdk';
2
2
  import { DeltaPriceQueryKey, DeltaPriceQueryParams } from './delta/queries/useDeltaPriceQuery';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
4
  import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
5
+ import { DeltaOrBridgePrice } from './types';
5
6
  import { PriceImpactResult } from '../../../lib/utils/priceImpact';
6
7
  export type UseTwapPricesReturn = {
7
8
  /** @description price.srcAmount multiplied by numSlices */
8
9
  totalSrcAmount?: string;
9
10
  /** @description price.receivedDestAmount multiplied by numSlices */
10
11
  totalDestAmount?: string;
11
- price?: DeltaPriceV2;
12
+ price?: DeltaOrBridgePrice;
12
13
  priceParams: DeltaPriceQueryParams;
13
14
  side?: SwapSideUnion;
14
15
  isLoading: boolean;
@@ -16,7 +17,7 @@ export type UseTwapPricesReturn = {
16
17
  isError: boolean;
17
18
  error: Error | null;
18
19
  cachedError: Error | null;
19
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPriceV2, Error>>;
20
+ refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaOrBridgePrice, Error>>;
20
21
  getPriceImpact: () => PriceImpactResult;
21
22
  queryKey: DeltaPriceQueryKey;
22
23
  numSlices: number;
@@ -28,7 +29,7 @@ export declare function useTwapPrices({ enabled }?: {
28
29
  enabled: boolean;
29
30
  }): UseTwapPricesReturn;
30
31
  type UseCurrentTwapPriceErrorReturn = {
31
- price?: DeltaPriceV2;
32
+ price?: DeltaOrBridgePrice;
32
33
  cachedError: Error | null;
33
34
  getPriceImpact: () => PriceImpactResult;
34
35
  isMaxImpactReachedError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useTwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAa5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,qBAAqB,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,EAAE,OAAO,EAAE;;CAAoB,GAC9B,mBAAmB,CAqErB;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,+BAA+B,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,MAAM,GAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAuB,GAChD,8BAA8B,CAmBhC"}
1
+ {"version":3,"file":"useTwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAa5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,qBAAqB,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,EAAE,OAAO,EAAE;;CAAoB,GAC9B,mBAAmB,CAqErB;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,+BAA+B,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,MAAM,GAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAuB,GAChD,8BAA8B,CAmBhC"}