@velora-dex/widget 0.4.12-dev.0 → 0.4.12-dev.2

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 (209) hide show
  1. package/dist/components/ui/accordion.js +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  4. package/dist/components/widget/AppHeader/AppHeader.js +93 -66
  5. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  6. package/dist/components/widget/Details/DetailWithValueList.js +1 -1
  7. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  8. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -0
  9. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  10. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -2
  11. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  12. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  13. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
  14. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  15. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts +6 -0
  16. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -0
  17. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +139 -0
  18. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -0
  19. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts +8 -0
  20. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts.map +1 -0
  21. package/dist/components/widget/TradeParameters/DegenModeParameter.js +84 -0
  22. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -0
  23. package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -1
  24. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  25. package/dist/components/widget/TradeParameters/TradeParameters.js +131 -77
  26. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  27. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  28. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +15 -7
  29. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  30. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts +7 -0
  31. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts.map +1 -0
  32. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +16 -0
  33. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js.map +1 -0
  34. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +1 -1
  35. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +2 -0
  36. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  37. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +108 -82
  38. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  39. package/dist/components/widget/Warning/Warning.d.ts +4 -2
  40. package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
  41. package/dist/components/widget/Warning/Warning.js +41 -31
  42. package/dist/components/widget/Warning/Warning.js.map +1 -1
  43. package/dist/components/widget/YouGet/YouGet.d.ts.map +1 -1
  44. package/dist/components/widget/YouGet/YouGet.js +56 -46
  45. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  46. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +3 -3
  47. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -1
  48. package/dist/core/Updaters.d.ts.map +1 -1
  49. package/dist/core/Updaters.js +0 -2
  50. package/dist/core/Updaters.js.map +1 -1
  51. package/dist/core/Warnings.d.ts.map +1 -1
  52. package/dist/core/Warnings.js +89 -10
  53. package/dist/core/Warnings.js.map +1 -1
  54. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  55. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +45 -28
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  57. package/dist/core/index.js +5 -5
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/state/configActionsAtom.js +2 -2
  60. package/dist/core/state/configActionsAtom.js.map +1 -1
  61. package/dist/core/state/configAtom.d.ts +5 -5
  62. package/dist/core/state/configAtom.d.ts.map +1 -1
  63. package/dist/core/state/configAtom.js +1 -1
  64. package/dist/core/state/configAtom.js.map +1 -1
  65. package/dist/core/swapDetails/priceImpact.d.ts +2 -3
  66. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  67. package/dist/core/swapDetails/priceImpact.js +7 -3
  68. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  69. package/dist/core/swapDetails/useIsDangerSwap.d.ts +2 -0
  70. package/dist/core/swapDetails/useIsDangerSwap.d.ts.map +1 -0
  71. package/dist/core/swapDetails/useIsDangerSwap.js +27 -0
  72. package/dist/core/swapDetails/useIsDangerSwap.js.map +1 -0
  73. package/dist/core/swapDetails/usePriceImpactWarning.d.ts +8 -0
  74. package/dist/core/swapDetails/usePriceImpactWarning.d.ts.map +1 -0
  75. package/dist/core/swapDetails/usePriceImpactWarning.js +35 -0
  76. package/dist/core/swapDetails/usePriceImpactWarning.js.map +1 -0
  77. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  78. package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -5
  79. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  80. package/dist/core/types.d.ts +2 -2
  81. package/dist/core/types.d.ts.map +1 -1
  82. package/dist/events/getters/settings.d.ts.map +1 -1
  83. package/dist/events/getters/settings.js +3 -0
  84. package/dist/events/getters/settings.js.map +1 -1
  85. package/dist/events/types/common.d.ts +1 -0
  86. package/dist/events/types/common.d.ts.map +1 -1
  87. package/dist/hooks/permit/utils/deadlines.js +1 -1
  88. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  89. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +1 -0
  90. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  91. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +4 -2
  92. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  93. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  94. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +4 -2
  95. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  96. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  97. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +4 -2
  98. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  99. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  100. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +4 -17
  101. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  102. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +2 -2
  103. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/delta/mutations/utils.js +5 -12
  105. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  106. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
  107. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  108. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +0 -7
  109. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  110. package/dist/hooks/swap/prices/delta/orders/utils.js +4 -10
  111. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  112. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +2 -0
  113. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
  114. package/dist/hooks/swap/prices/delta/queries/errors.js +9 -1
  115. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  116. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +4 -9
  117. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  118. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -19
  119. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  120. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -0
  121. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  122. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +4 -2
  123. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  124. package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -0
  125. package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -0
  126. package/dist/hooks/swap/prices/market/queries/errors.js +13 -0
  127. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -0
  128. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -0
  129. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  130. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +3 -2
  131. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  132. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  133. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  134. package/dist/hooks/swap/prices/usePricesParams.js +31 -28
  135. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  136. package/dist/hooks/swap/prices/useSwapPrices.d.ts +14 -1
  137. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  138. package/dist/hooks/swap/prices/useSwapPrices.js +142 -60
  139. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  140. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +4 -3
  141. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  142. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +59 -32
  143. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  144. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  145. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +9 -17
  146. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  147. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  148. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +35 -21
  149. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  150. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  151. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +1 -0
  152. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  153. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +0 -1
  154. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  155. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  156. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -0
  157. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  158. package/dist/hooks/tokens/balances/useMultichainTokenBalances.d.ts.map +1 -1
  159. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +1 -1
  160. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  161. package/dist/hooks/useSDK.js +34 -2
  162. package/dist/hooks/useSDK.js.map +1 -1
  163. package/dist/lib/utils/priceImpact.d.ts +6 -4
  164. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  165. package/dist/lib/utils/priceImpact.js +5 -1
  166. package/dist/lib/utils/priceImpact.js.map +1 -1
  167. package/dist/lib/web3/privy/config.js +1 -1
  168. package/dist/lib/web3/wagmi/config.js +1 -1
  169. package/dist/styles.css +22 -1
  170. package/dist/tokens/lists/lists.json.d.ts +16 -84
  171. package/dist/tokens/lists/lists.json.js +337 -1
  172. package/dist/tokens/lists/lists.json.js.map +1 -1
  173. package/dist/transactions/state/transactionsAtom.d.ts +1 -2
  174. package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
  175. package/dist/transactions/state/transactionsAtom.js +2 -6
  176. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  177. package/dist/transactions/types.d.ts +0 -1
  178. package/dist/transactions/types.d.ts.map +1 -1
  179. package/dist/transactions/utils.d.ts +1 -2
  180. package/dist/transactions/utils.d.ts.map +1 -1
  181. package/dist/transactions/utils.js +1 -4
  182. package/dist/transactions/utils.js.map +1 -1
  183. package/package.json +2 -2
  184. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts +0 -2
  185. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts.map +0 -1
  186. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js +0 -40
  187. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js.map +0 -1
  188. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +0 -5
  189. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +0 -1
  190. package/dist/hooks/swap/prices/delta/orders/unposted/const.js +0 -8
  191. package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +0 -1
  192. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +0 -2
  193. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +0 -1
  194. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +0 -28
  195. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +0 -1
  196. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +0 -8
  197. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +0 -1
  198. package/dist/hooks/swap/prices/delta/orders/unposted/index.js +0 -34
  199. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +0 -1
  200. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +0 -8
  201. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +0 -1
  202. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +0 -47
  203. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +0 -1
  204. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +0 -16
  205. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +0 -1
  206. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +0 -3
  207. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +0 -1
  208. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +0 -103
  209. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +0 -1
@@ -194,14 +194,16 @@ function useDeltaPriceQueryKey({
194
194
  includeBridges: priceParams.includeBridges,
195
195
  excludeBridges: priceParams.excludeBridges,
196
196
  allowBridgeAndSwap: priceParams.allowBridgeAndSwap,
197
- destChainId
197
+ destChainId,
198
+ maxImpact: priceParams.maxImpact,
199
+ degenMode: priceParams.degenMode
198
200
  };
199
201
  const queryKey = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
200
202
  return {
201
203
  queryKey,
202
204
  sanitizedPriceParams
203
205
  };
204
- }, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, chainId, debouncedAmount, destChainId]);
206
+ }, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, priceParams.maxImpact, priceParams.degenMode, chainId, debouncedAmount, destChainId]);
205
207
  }
206
208
 
207
209
  export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useSubscribeToDeltaPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastDeltaPriceQuery","getQueryCache","find","exact","type","getLastDeltaPrice","state","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n maxImpact: priceParams.maxImpact,\n degenMode: priceParams.degenMode,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n priceParams.maxImpact,\n priceParams.degenMode,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useSubscribeToDeltaPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastDeltaPriceQuery","getQueryCache","find","exact","type","getLastDeltaPrice","state","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { OptimalRate } from '@velora-dex/sdk';
2
+ import { AxiosError } from 'axios';
3
+ export declare function isMarketPriceImpactError(error: unknown): error is AxiosError<{
4
+ error: "ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT";
5
+ priceRoute: OptimalRate;
6
+ }>;
7
+ export declare function isMarketBadUsdPriceError(error: unknown): boolean;
8
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAO1C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC;IAC5E,KAAK,EAAE,wCAAwC,CAAC;IAChD,UAAU,EAAE,WAAW,CAAC;CACzB,CAAC,CAID;AAKD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE"}
@@ -0,0 +1,13 @@
1
+ import axios from 'axios';
2
+
3
+ function isMarketPriceImpactError(error) {
4
+ if (!axios.isAxiosError(error)) return false;
5
+ return error.message === "ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT";
6
+ }
7
+ function isMarketBadUsdPriceError(error) {
8
+ if (!(error instanceof Error)) return false;
9
+ return error.message === "Bad USD price";
10
+ }
11
+
12
+ export { isMarketBadUsdPriceError, isMarketPriceImpactError };
13
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"sourcesContent":["import type { OptimalRate } from \"@velora-dex/sdk\";\nimport axios, { AxiosError } from \"axios\";\n\n// {\n// \"error\": \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\",\n// \"value\": \"97.81%\",\n// \"priceRoute\": { ... }\n// }\nexport function isMarketPriceImpactError(error: unknown): error is AxiosError<{\n error: \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\";\n priceRoute: OptimalRate;\n}> {\n if (!axios.isAxiosError(error)) return false;\n\n return error.message === \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"Bad USD price\",\n// }\nexport function isMarketBadUsdPriceError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"Bad USD price\"; // e.error returned as e.message in SDK\n}\n"],"names":["isMarketPriceImpactError","error","axios","isAxiosError","message","isMarketBadUsdPriceError","Error"],"mappings":";;AAQO,SAASA,yBAAyBC,KAAAA,EAGtC;AACD,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,GAAG,OAAO,KAAA;AAEvC,EAAA,OAAOA,MAAMG,OAAAA,KAAY,wCAAA;AAC3B;AAKO,SAASC,yBAAyBJ,KAAAA,EAAyB;AAChE,EAAA,IAAI,EAAEA,KAAAA,YAAiBK,KAAAA,CAAAA,EAAQ,OAAO,KAAA;AACtC,EAAA,OAAOL,MAAMG,OAAAA,KAAY,eAAA;AAC3B;;;;"}
@@ -65,6 +65,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
65
65
  destTokenTransferFee: string | undefined;
66
66
  srcTokenDexTransferFee: string | undefined;
67
67
  destTokenDexTransferFee: string | undefined;
68
+ degenMode: boolean | undefined;
68
69
  };
69
70
  };
70
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ExD"}
1
+ {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
@@ -186,7 +186,8 @@ function useMarketPriceQueryKey({
186
186
  srcTokenTransferFee: priceParams.srcTokenTransferFee,
187
187
  destTokenTransferFee: priceParams.destTokenTransferFee,
188
188
  srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,
189
- destTokenDexTransferFee: priceParams.destTokenDexTransferFee
189
+ destTokenDexTransferFee: priceParams.destTokenDexTransferFee,
190
+ degenMode: priceParams.degenMode
190
191
  }
191
192
  };
192
193
  const queryKey = [MarketPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
@@ -194,7 +195,7 @@ function useMarketPriceQueryKey({
194
195
  queryKey,
195
196
  sanitizedPriceParams
196
197
  };
197
- }, [chainId, debouncedAmount, priceParams.destDecimals, priceParams.destToken, priceParams.destTokenDexTransferFee, priceParams.destTokenTransferFee, priceParams.excludeContractMethods, priceParams.excludeContractMethodsWithoutFeeModel, priceParams.excludeDEXS, priceParams.excludePools, priceParams.excludeRFQ, priceParams.ignoreBadUsdPrice, priceParams.includeContractMethods, priceParams.includeDEXS, priceParams.maxImpact, priceParams.maxUSDImpact, priceParams.otherExchangePrices, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.srcTokenDexTransferFee, priceParams.srcTokenTransferFee, priceParams.userAddress]);
198
+ }, [chainId, debouncedAmount, priceParams.destDecimals, priceParams.destToken, priceParams.destTokenDexTransferFee, priceParams.destTokenTransferFee, priceParams.excludeContractMethods, priceParams.excludeContractMethodsWithoutFeeModel, priceParams.excludeDEXS, priceParams.excludePools, priceParams.excludeRFQ, priceParams.ignoreBadUsdPrice, priceParams.includeContractMethods, priceParams.includeDEXS, priceParams.maxImpact, priceParams.maxUSDImpact, priceParams.otherExchangePrices, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.srcTokenDexTransferFee, priceParams.srcTokenTransferFee, priceParams.userAddress, priceParams.degenMode]);
198
199
  }
199
200
 
200
201
  export { MarketPriceQueryKeyPrefix, getLastMarketPrice, isDataMarketPrice, useMarketPriceQuery, useMarketPriceQueryKey, useSubscribeToMarketPrice };
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n ]);\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getRate","t5","queryFn","result","useQuery","t6","destToken","Number","amount","useSubscribeToMarketPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastMarketPrice","queryCache","getQueryCache","find","exact","type","state","isDataMarketPrice","debouncedAmount","useDebouncedValue","wait","useMemo","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getRate","t5","queryFn","result","useQuery","t6","destToken","Number","amount","useSubscribeToMarketPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastMarketPrice","queryCache","getQueryCache","find","exact","type","state","isDataMarketPrice","debouncedAmount","useDebouncedValue","wait","useMemo","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { MarkOptional, MarkRequired } from 'ts-essentials';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
4
  import { TradeMode } from '../../../core/state/tradeModeAtom';
5
5
  import { Address } from 'viem';
6
- export type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices" | "partnerFeeBps">, "destToken">, "srcDecimals" | "side">;
6
+ export type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices" | "partnerFeeBps" | "maxImpact" | "degenMode">, "destToken">, "srcDecimals" | "side">;
7
7
  export declare function usePricesParams(tradeMode: TradeMode): {
8
8
  priceParams: FetchPriceParams;
9
9
  isCrossChain: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,CAClB,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAyDA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}
1
+ {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,WAAW,CACd,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAkEA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}
@@ -5,9 +5,9 @@ import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/s
5
5
  import { useTokenTaxFee } from '../../tokens/useTokenTaxFee.js';
6
6
  import { usePartner } from '../../usePartner.js';
7
7
  import { tradeModeToTokenAtoms, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountWeiAtom } from '../../../core/inputs/state/common.js';
8
- import { useWidgetConfig } from '../../../core/state/configAtom.js';
9
8
  import { useSwapReceiverAddressValue } from '../../../components/widget/ReceiverAddress/state/receiverAddressAtom.js';
10
9
  import { excludeBridgesAtom } from '../../../components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js';
10
+ import { degenModeParamAtom } from '../../../components/widget/TradeParameters/state/degenModeParamAtom.js';
11
11
 
12
12
  function usePricesParams(tradeMode) {
13
13
  const $ = distExports.c(28);
@@ -74,20 +74,20 @@ function usePricesParams(tradeMode) {
74
74
  const {
75
75
  address
76
76
  } = useAccount();
77
- const widgetConfig = useWidgetConfig();
78
77
  const {
79
78
  partner,
80
79
  partnerFeeBps
81
80
  } = usePartner();
81
+ const degenMode = useAtomValue(degenModeParamAtom);
82
82
  const isCrossChain = !!toToken && fromToken.network !== toToken.network;
83
83
  const swapSide = useSwapSide();
84
84
  const side = tradeMode === "swap" ? swapSide : "SELL";
85
85
  const amount = side === "SELL" ? payAmountWei : receiveAmountWei;
86
86
  const t6 = toToken?.address;
87
87
  const t7 = toToken?.decimals;
88
- let t8;
89
- if ($[10] !== address || $[11] !== amount || $[12] !== destTokenDexTransferFee || $[13] !== fromToken.address || $[14] !== fromToken.decimals || $[15] !== partner || $[16] !== partnerFeeBps || $[17] !== side || $[18] !== srcTokenDexTransferFee || $[19] !== t6 || $[20] !== t7 || $[21] !== widgetConfig.ignoreBadUsdPrice) {
90
- t8 = {
88
+ let priceParams;
89
+ if ($[10] !== address || $[11] !== amount || $[12] !== degenMode || $[13] !== destTokenDexTransferFee || $[14] !== fromToken.address || $[15] !== fromToken.decimals || $[16] !== partner || $[17] !== partnerFeeBps || $[18] !== side || $[19] !== srcTokenDexTransferFee || $[20] !== t6 || $[21] !== t7) {
90
+ priceParams = {
91
91
  srcToken: fromToken.address,
92
92
  destToken: t6,
93
93
  srcDecimals: fromToken.decimals,
@@ -97,46 +97,49 @@ function usePricesParams(tradeMode) {
97
97
  userAddress: address,
98
98
  partner,
99
99
  partnerFeeBps,
100
- ignoreBadUsdPrice: widgetConfig.ignoreBadUsdPrice,
101
100
  srcTokenDexTransferFee,
102
101
  destTokenDexTransferFee,
103
102
  otherExchangePrices: true
104
103
  };
104
+ if (degenMode) {
105
+ priceParams.maxImpact = 80;
106
+ priceParams.ignoreBadUsdPrice = true;
107
+ priceParams.degenMode = true;
108
+ }
105
109
  $[10] = address;
106
110
  $[11] = amount;
107
- $[12] = destTokenDexTransferFee;
108
- $[13] = fromToken.address;
109
- $[14] = fromToken.decimals;
110
- $[15] = partner;
111
- $[16] = partnerFeeBps;
112
- $[17] = side;
113
- $[18] = srcTokenDexTransferFee;
114
- $[19] = t6;
115
- $[20] = t7;
116
- $[21] = widgetConfig.ignoreBadUsdPrice;
117
- $[22] = t8;
111
+ $[12] = degenMode;
112
+ $[13] = destTokenDexTransferFee;
113
+ $[14] = fromToken.address;
114
+ $[15] = fromToken.decimals;
115
+ $[16] = partner;
116
+ $[17] = partnerFeeBps;
117
+ $[18] = side;
118
+ $[19] = srcTokenDexTransferFee;
119
+ $[20] = t6;
120
+ $[21] = t7;
121
+ $[22] = priceParams;
118
122
  } else {
119
- t8 = $[22];
123
+ priceParams = $[22];
120
124
  }
121
- const priceParams = t8;
122
- const t9 = isCrossChain ? toToken?.network : void 0;
123
- let t10;
124
- if ($[23] !== fromToken.network || $[24] !== isCrossChain || $[25] !== priceParams || $[26] !== t9) {
125
- t10 = {
125
+ const t8 = isCrossChain ? toToken?.network : void 0;
126
+ let t9;
127
+ if ($[23] !== fromToken.network || $[24] !== isCrossChain || $[25] !== priceParams || $[26] !== t8) {
128
+ t9 = {
126
129
  priceParams,
127
130
  isCrossChain,
128
131
  chainId: fromToken.network,
129
- destChainId: t9
132
+ destChainId: t8
130
133
  };
131
134
  $[23] = fromToken.network;
132
135
  $[24] = isCrossChain;
133
136
  $[25] = priceParams;
134
- $[26] = t9;
135
- $[27] = t10;
137
+ $[26] = t8;
138
+ $[27] = t9;
136
139
  } else {
137
- t10 = $[27];
140
+ t9 = $[27];
138
141
  }
139
- return t10;
142
+ return t9;
140
143
  }
141
144
  function useExtraDeltaPriceParams() {
142
145
  const $ = distExports.c(3);
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport type { Address } from \"viem\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n | \"partnerFeeBps\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n const { partner, partnerFeeBps } = usePartner();\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const swapSide = useSwapSide();\n const side = tradeMode === \"swap\" ? swapSide : \"SELL\";\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n partnerFeeBps,\n ignoreBadUsdPrice: widgetConfig.ignoreBadUsdPrice,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n\nexport function useExtraDeltaPriceParams(): {\n excludeBridges?: string[];\n beneficiary?: Address;\n} {\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\n\n return {\n excludeBridges,\n beneficiary: receiverAddress,\n };\n}\n"],"names":["usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","tradeModeToTokenAtoms","fromToken","useAtomValue","toToken","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","receiveAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","partnerFeeBps","usePartner","isCrossChain","swapSide","useSwapSide","side","amount","t6","t7","decimals","t8","ignoreBadUsdPrice","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","priceParams","t9","undefined","t10","destChainId","useExtraDeltaPriceParams","excludeBridges","excludeBridgesAtom","receiverAddress","useSwapReceiverAddressValue","beneficiary"],"mappings":"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"}
1
+ {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { degenModeParamAtom } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport type { Address } from \"viem\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n | \"partnerFeeBps\"\n | \"maxImpact\"\n | \"degenMode\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const { partner, partnerFeeBps } = usePartner();\n const degenMode = useAtomValue(degenModeParamAtom);\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const swapSide = useSwapSide();\n const side = tradeMode === \"swap\" ? swapSide : \"SELL\";\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n partnerFeeBps,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n // Degen Mode:\n // set maxImpact=80 to bypass ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\n // set ignoreBadUsdPrice=true to allow tokens without USD price data\n // set degenMode=true for tracing\n if (degenMode) {\n priceParams.maxImpact = 80;\n priceParams.ignoreBadUsdPrice = true;\n priceParams.degenMode = true;\n }\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n\nexport function useExtraDeltaPriceParams(): {\n excludeBridges?: string[];\n beneficiary?: Address;\n} {\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\n\n return {\n excludeBridges,\n beneficiary: receiverAddress,\n };\n}\n"],"names":["usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","tradeModeToTokenAtoms","fromToken","useAtomValue","toToken","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","receiveAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","partner","partnerFeeBps","usePartner","degenMode","degenModeParamAtom","isCrossChain","swapSide","useSwapSide","side","amount","t6","t7","decimals","priceParams","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","maxImpact","ignoreBadUsdPrice","t8","undefined","t9","destChainId","useExtraDeltaPriceParams","excludeBridges","excludeBridgesAtom","receiverAddress","useSwapReceiverAddressValue","beneficiary"],"mappings":"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"}
@@ -2,8 +2,9 @@ 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
4
  import { BridgePrice, DeltaPrice, OptimalRate, SwapSideUnion } from '@velora-dex/sdk';
5
- import { UseSwapPricesInput } from './types';
5
+ import { DeltaOrMarketPrice, UseSwapPricesInput } from './types';
6
6
  import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
7
+ import { PriceImpactResult } from '../../../lib/utils/priceImpact';
7
8
  type UseSwapPricesReturn = {
8
9
  priceMode: SwapMode;
9
10
  userSelectedPriceMode: SwapMode;
@@ -18,6 +19,7 @@ type UseSwapPricesReturn = {
18
19
  isError: boolean;
19
20
  refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<OptimalRate, Error>>;
20
21
  error: Error | null;
22
+ cachedError: Error | null;
21
23
  queryKey: MarketPriceQueryKey;
22
24
  };
23
25
  delta: {
@@ -31,6 +33,7 @@ type UseSwapPricesReturn = {
31
33
  isError: boolean;
32
34
  refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;
33
35
  error: Error | null;
36
+ cachedError: Error | null;
34
37
  queryKey: DeltaPriceQueryKey;
35
38
  };
36
39
  };
@@ -39,6 +42,7 @@ type UseCurrentSwapPriceReturn = {
39
42
  isLoading: boolean;
40
43
  isError: boolean;
41
44
  error: Error | null;
45
+ cachedError: Error | null;
42
46
  side?: SwapSideUnion;
43
47
  } & ({
44
48
  priceMode: "market";
@@ -50,5 +54,14 @@ type UseCurrentSwapPriceReturn = {
50
54
  queryKey: DeltaPriceQueryKey;
51
55
  });
52
56
  export declare function useCurrentSwapPrice(params?: UseSwapPricesInput): UseCurrentSwapPriceReturn;
57
+ type UseCurrentSwapPriceErrorReturn = {
58
+ price?: DeltaOrMarketPrice;
59
+ priceMode: SwapMode;
60
+ cachedError: Error | null;
61
+ priceImpact?: PriceImpactResult;
62
+ isMaxImpactReachedError: boolean;
63
+ isNoUsdPriceError: boolean;
64
+ };
65
+ export declare function useCurrentSwapPriceError(params?: UseSwapPricesInput): UseCurrentSwapPriceErrorReturn;
53
66
  export {};
54
67
  //# sourceMappingURL=useSwapPrices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAQlD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,QAAQ,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qFAAqF;QACrF,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qGAAqG;QACrG,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,kBAAuB,GAC9B,mBAAmB,CAmJrB;AAED,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,GACD;IACE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,kBAAsC,GAC7C,yBAAyB,CAyB3B"}
1
+ {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"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"}