@velora-dex/widget 0.4.9-dev.3 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/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 +66 -93
  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 +0 -1
  9. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  10. package/dist/components/widget/Drawer/state/useDrawerControls.js +2 -5
  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/TradeParameters.d.ts +1 -3
  16. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  17. package/dist/components/widget/TradeParameters/TradeParameters.js +77 -131
  18. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  19. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  20. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +7 -15
  21. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  22. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +1 -1
  23. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +0 -2
  24. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  25. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +82 -108
  26. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  27. package/dist/components/widget/Warning/Warning.d.ts +2 -4
  28. package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
  29. package/dist/components/widget/Warning/Warning.js +31 -41
  30. package/dist/components/widget/Warning/Warning.js.map +1 -1
  31. package/dist/components/widget/YouGet/YouGet.d.ts.map +1 -1
  32. package/dist/components/widget/YouGet/YouGet.js +46 -56
  33. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  34. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +3 -3
  35. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -1
  36. package/dist/core/Warnings.d.ts.map +1 -1
  37. package/dist/core/Warnings.js +12 -38
  38. package/dist/core/Warnings.js.map +1 -1
  39. package/dist/core/index.js +5 -5
  40. package/dist/core/index.js.map +1 -1
  41. package/dist/core/state/configActionsAtom.js +2 -2
  42. package/dist/core/state/configActionsAtom.js.map +1 -1
  43. package/dist/core/state/configAtom.d.ts +5 -5
  44. package/dist/core/state/configAtom.d.ts.map +1 -1
  45. package/dist/core/state/configAtom.js +1 -1
  46. package/dist/core/state/configAtom.js.map +1 -1
  47. package/dist/core/swapDetails/priceImpact.d.ts +0 -1
  48. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  49. package/dist/core/swapDetails/priceImpact.js +3 -4
  50. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  51. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts +2 -0
  52. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts.map +1 -0
  53. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js +40 -0
  54. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js.map +1 -0
  55. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  56. package/dist/core/swapDetails/useSwapDetailsListProps.js +5 -7
  57. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  58. package/dist/core/types.d.ts +2 -2
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/events/getters/settings.d.ts.map +1 -1
  61. package/dist/events/getters/settings.js +0 -3
  62. package/dist/events/getters/settings.js.map +1 -1
  63. package/dist/events/types/common.d.ts +0 -1
  64. package/dist/events/types/common.d.ts.map +1 -1
  65. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +0 -1
  66. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  67. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -4
  68. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  69. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  70. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +2 -4
  71. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  72. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  73. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +2 -4
  74. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  75. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  76. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -4
  77. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  78. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -2
  79. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  80. package/dist/hooks/swap/prices/delta/mutations/utils.js +2 -4
  81. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  82. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
  83. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  84. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
  85. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  86. package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
  87. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  88. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +0 -2
  89. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
  90. package/dist/hooks/swap/prices/delta/queries/errors.js +1 -9
  91. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  92. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +0 -2
  93. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  94. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -4
  95. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  96. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +0 -1
  97. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  98. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +2 -3
  99. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  100. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  101. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  102. package/dist/hooks/swap/prices/usePricesParams.js +28 -31
  103. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  104. package/dist/hooks/swap/prices/useSwapPrices.d.ts +0 -3
  105. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  106. package/dist/hooks/swap/prices/useSwapPrices.js +58 -67
  107. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  108. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  109. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +0 -1
  110. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  111. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  112. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +0 -1
  113. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  114. package/dist/hooks/tokens/balances/useMultichainTokenBalances.d.ts.map +1 -1
  115. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +1 -1
  116. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  117. package/dist/styles.css +3 -21
  118. package/package.json +2 -2
  119. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts +0 -6
  120. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +0 -1
  121. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +0 -139
  122. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +0 -1
  123. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts +0 -8
  124. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts.map +0 -1
  125. package/dist/components/widget/TradeParameters/DegenModeParameter.js +0 -84
  126. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +0 -1
  127. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts +0 -7
  128. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts.map +0 -1
  129. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +0 -16
  130. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js.map +0 -1
  131. package/dist/core/swapDetails/usePriceImpactWarning.d.ts +0 -8
  132. package/dist/core/swapDetails/usePriceImpactWarning.d.ts.map +0 -1
  133. package/dist/core/swapDetails/usePriceImpactWarning.js +0 -89
  134. package/dist/core/swapDetails/usePriceImpactWarning.js.map +0 -1
  135. package/dist/hooks/swap/prices/market/queries/errors.d.ts +0 -3
  136. package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +0 -1
  137. package/dist/hooks/swap/prices/market/queries/errors.js +0 -11
  138. package/dist/hooks/swap/prices/market/queries/errors.js.map +0 -1
@@ -1,3 +1,5 @@
1
+ import { replaceUnderscoresWithSpaces } from '../../../../../lib/utils/index.js';
2
+
1
3
  function isOrderCrosschain(order) {
2
4
  return order.bridge && order.bridge.destinationChainId !== 0;
3
5
  }
@@ -15,7 +17,7 @@ function isExecutedDeltaAuction(auction, waitForCrosschain = true) {
15
17
  return true;
16
18
  }
17
19
  function isFailedDeltaAuction(auction, waitForCrosschain = true) {
18
- if (auction.status === "FAILED") return true;
20
+ if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;
19
21
  if (waitForCrosschain && auction.status === "EXECUTED" && auction.order.bridge.destinationChainId !== 0) {
20
22
  return auction.bridgeStatus === "expired" || auction.bridgeStatus === "refunded";
21
23
  }
@@ -33,8 +35,8 @@ const DeltaOrderStatusChecker = {
33
35
  executing: /* @__PURE__ */ new Set(["EXECUTING"]),
34
36
  // order always active, unless actual submission breaks
35
37
  success: /* @__PURE__ */ new Set(["EXECUTED"]),
36
- completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED", "CANCELLED"]),
37
- failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED", "CANCELLED"]),
38
+ completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED", "CANCELLED", "REFUNDED"]),
39
+ failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED", "CANCELLED", "REFUNDED"]),
38
40
  cancellable: /* @__PURE__ */ new Set(["NOT_STARTED", "RUNNING", "AWAITING_PRE_SIGNATURE", "EXECUTING", "SUSPENDED"])
39
41
  };
40
42
  const BridgeStatusChecker = {
@@ -55,6 +57,10 @@ function getCrossChainOrderStatus(status, bridgeStatus) {
55
57
  function getOverallOrderStatus(order) {
56
58
  return isOrderCrosschain(order.order) ? getCrossChainOrderStatus(order.status, order.bridgeStatus) : getSingleChainOrderStatus(order.status);
57
59
  }
60
+ function getDisplayedOrderStatus(status) {
61
+ if (status === "AWAITING_PRE_SIGNATURE") return "UNSIGNED";
62
+ return replaceUnderscoresWithSpaces(status);
63
+ }
58
64
 
59
- export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isCanceledDeltaAuction, isDeltaAuctionExpired, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain };
65
+ export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getDisplayedOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isCanceledDeltaAuction, isDeltaAuctionExpired, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain };
60
66
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (auction.status === \"FAILED\") return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (\n waitForCrosschain &&\n auction.status === \"EXECUTED\" &&\n auction.order.bridge.destinationChainId !== 0\n ) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\"FAILED\", \"EXPIRED\", \"CANCELLED\"]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","isCanceledDeltaAuction","isDeltaAuctionExpired","DeltaOrderStatusChecker","pending","Set","executing","success","completed","failed","cancellable","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","has","getCrossChainOrderStatus","getOverallOrderStatus"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (\n waitForCrosschain &&\n auction.status === \"EXECUTED\" &&\n auction.order.bridge.destinationChainId !== 0\n ) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","success","completed","cancellable","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getOverallOrderStatus","getDisplayedOrderStatus","replaceUnderscoresWithSpaces"],"mappings":"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"}
@@ -7,6 +7,4 @@ export declare class DeltaOrderFailedError extends Error {
7
7
  });
8
8
  }
9
9
  export declare function isDeltaOrderFailedError(error: unknown): error is DeltaOrderFailedError;
10
- export declare function isDeltaMaxImpactReachedError(error: unknown): boolean;
11
- export declare function isDeltaNoUsdPriceError(error: unknown): boolean;
12
10
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,KAAK,EAAE,kBAAkB,CAAC;gBAEvB,EACjB,OAAO,EACP,KAAK,GACN,EAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,kBAAkB,CAAC;KAC3B;CAWF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAEhC;AAMD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpE;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,KAAK,EAAE,kBAAkB,CAAC;gBAEvB,EACjB,OAAO,EACP,KAAK,GACN,EAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,kBAAkB,CAAC;KAC3B;CAWF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAEhC"}
@@ -16,14 +16,6 @@ class DeltaOrderFailedError extends Error {
16
16
  function isDeltaOrderFailedError(error) {
17
17
  return error instanceof DeltaOrderFailedError;
18
18
  }
19
- function isDeltaMaxImpactReachedError(error) {
20
- if (!(error instanceof Error)) return false;
21
- return error.message === "MaxImpactReached";
22
- }
23
- function isDeltaNoUsdPriceError(error) {
24
- if (!(error instanceof Error)) return false;
25
- return error.message === "NoUSDPriceForToken";
26
- }
27
19
 
28
- export { DeltaOrderFailedError, isDeltaMaxImpactReachedError, isDeltaNoUsdPriceError, isDeltaOrderFailedError };
20
+ export { DeltaOrderFailedError, isDeltaOrderFailedError };
29
21
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"sourcesContent":["import type { FailedDeltaAuction } from \"../orders/types\";\n\nexport class DeltaOrderFailedError extends Error {\n public readonly order: FailedDeltaAuction;\n\n public constructor({\n message,\n order,\n }: {\n message?: string;\n order: FailedDeltaAuction;\n }) {\n super(message);\n this.name = this.constructor.name;\n this.message = message || \"DeltaOrderFailed\";\n this.order = order;\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DeltaOrderFailedError);\n }\n }\n}\n\nexport function isDeltaOrderFailedError(\n error: unknown\n): error is DeltaOrderFailedError {\n return error instanceof DeltaOrderFailedError;\n}\n\n// {\n// \"errorType\": \"MaxImpactReached\",\n// \"details\": \"Max price impact reached. Impact: 97.81%\"\n// }\nexport function isDeltaMaxImpactReachedError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"MaxImpactReached\"; // e.errorType returned as e.message in SDK\n}\n\n// {\n// \"errorType\": \"NoUSDPriceForToken\",\n// \"details\": \"No USD price available for token 0x6eed9140f80f9e989cb23aecbd20b97a29ffc80f\"\n// }\nexport function isDeltaNoUsdPriceError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"NoUSDPriceForToken\"; // e.errorType returned as e.message in SDK\n}\n"],"names":["DeltaOrderFailedError","Error","order","constructor","message","name","captureStackTrace","isDeltaOrderFailedError","error","isDeltaMaxImpactReachedError","isDeltaNoUsdPriceError"],"mappings":"AAEO,MAAMA,8BAA8BC,KAAAA,CAAM;AAAA,EAC/BC,KAAAA;AAAAA,EAETC,WAAAA,CAAY;AAAA,IACjBC,OAAAA;AAAAA,IACAF;AAAAA,GAIF,EAAG;AACD,IAAA,KAAA,CAAME,OAAO,CAAA;AACb,IAAA,IAAA,CAAKC,IAAAA,GAAO,KAAKF,WAAAA,CAAYE,IAAAA;AAC7B,IAAA,IAAA,CAAKD,UAAUA,OAAAA,IAAW,kBAAA;AAC1B,IAAA,IAAA,CAAKF,KAAAA,GAAQA,KAAAA;AAGb,IAAA,IAAID,MAAMK,iBAAAA,EAAmB;AAC3BL,MAAAA,KAAAA,CAAMK,iBAAAA,CAAkB,MAAMN,qBAAqB,CAAA;AAAA,IACrD;AAAA,EACF;AACF;AAEO,SAASO,wBACdC,KAAAA,EACgC;AAChC,EAAA,OAAOA,KAAAA,YAAiBR,qBAAAA;AAC1B;AAMO,SAASS,6BAA6BD,KAAAA,EAAyB;AACpE,EAAA,IAAI,EAAEA,KAAAA,YAAiBP,KAAAA,CAAAA,EAAQ,OAAO,KAAA;AACtC,EAAA,OAAOO,MAAMJ,OAAAA,KAAY,kBAAA;AAC3B;AAMO,SAASM,uBAAuBF,KAAAA,EAAyB;AAC9D,EAAA,IAAI,EAAEA,KAAAA,YAAiBP,KAAAA,CAAAA,EAAQ,OAAO,KAAA;AACtC,EAAA,OAAOO,MAAMJ,OAAAA,KAAY,oBAAA;AAC3B;;;;"}
1
+ {"version":3,"file":"errors.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"sourcesContent":["import type { FailedDeltaAuction } from \"../orders/types\";\n\nexport class DeltaOrderFailedError extends Error {\n public readonly order: FailedDeltaAuction;\n\n public constructor({\n message,\n order,\n }: {\n message?: string;\n order: FailedDeltaAuction;\n }) {\n super(message);\n this.name = this.constructor.name;\n this.message = message || \"DeltaOrderFailed\";\n this.order = order;\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DeltaOrderFailedError);\n }\n }\n}\n\nexport function isDeltaOrderFailedError(\n error: unknown\n): error is DeltaOrderFailedError {\n return error instanceof DeltaOrderFailedError;\n}\n"],"names":["DeltaOrderFailedError","Error","order","constructor","message","name","captureStackTrace","isDeltaOrderFailedError","error"],"mappings":"AAEO,MAAMA,8BAA8BC,KAAAA,CAAM;AAAA,EAC/BC,KAAAA;AAAAA,EAETC,WAAAA,CAAY;AAAA,IACjBC,OAAAA;AAAAA,IACAF;AAAAA,GAIF,EAAG;AACD,IAAA,KAAA,CAAME,OAAO,CAAA;AACb,IAAA,IAAA,CAAKC,IAAAA,GAAO,KAAKF,WAAAA,CAAYE,IAAAA;AAC7B,IAAA,IAAA,CAAKD,UAAUA,OAAAA,IAAW,kBAAA;AAC1B,IAAA,IAAA,CAAKF,KAAAA,GAAQA,KAAAA;AAGb,IAAA,IAAID,MAAMK,iBAAAA,EAAmB;AAC3BL,MAAAA,KAAAA,CAAMK,iBAAAA,CAAkB,MAAMN,qBAAqB,CAAA;AAAA,IACrD;AAAA,EACF;AACF;AAEO,SAASO,wBACdC,KAAAA,EACgC;AAChC,EAAA,OAAOA,KAAAA,YAAiBR,qBAAAA;AAC1B;;;;"}
@@ -71,14 +71,12 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
71
71
  excludeAgents?: string[] | undefined;
72
72
  includeAgents?: string[] | undefined;
73
73
  userAddress?: string | undefined;
74
- degenMode?: boolean | undefined;
75
74
  srcToken: string;
76
75
  destToken?: string | undefined;
77
76
  beneficiary?: string | undefined;
78
77
  srcDecimals: number;
79
78
  destDecimals?: number | undefined;
80
79
  partnerFeeBps?: number | undefined;
81
- maxImpact?: number | undefined;
82
80
  includeBridges?: string[] | undefined;
83
81
  excludeBridges?: string[] | undefined;
84
82
  allowBridgeAndSwap?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
@@ -194,16 +194,14 @@ function useDeltaPriceQueryKey({
194
194
  includeBridges: priceParams.includeBridges,
195
195
  excludeBridges: priceParams.excludeBridges,
196
196
  allowBridgeAndSwap: priceParams.allowBridgeAndSwap,
197
- destChainId,
198
- maxImpact: priceParams.maxImpact,
199
- degenMode: priceParams.degenMode
197
+ destChainId
200
198
  };
201
199
  const queryKey = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
202
200
  return {
203
201
  queryKey,
204
202
  sanitizedPriceParams
205
203
  };
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]);
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]);
207
205
  }
208
206
 
209
207
  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 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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"}
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":";;;;;;;AAwCO,MAAMA,wBAAAA,GAA2B;AAgDjC,SAAAC,mBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA8D,EAAA,MAAA;AAAA,IAAAC,WAAAA,EAAAC,YAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAR,EAAAA;AAQpE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAK,OAAAA,EAAA;AAI6BG,IAAAA,EAAAA,GAAA;AAAA,MAAAH;AAAAA,KAAU;AAACL,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAvC,EAAA,MAAA;AAAA,IAAAS;AAAAA,GAAA,GAAgBC,YAAYF,EAAW,CAAA;AAEvC,EAAA,MAAAG,YAAAA,GAAqBP,OAAKQ,OAAAA,IAAL,IAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAG,YAAAA,IAAAH,CAAAA,QAAAK,OAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAO,WAAAA,EAAA;AAEqBM,IAAAA,EAAAA,GAAA;AAAA,MAAAX,WAAAA,EAClDC,YAAAA;AAAAA,MAAYE,OAAAA;AAAAA,MAAAE;AAAAA,KAG3B;AAACP,IAAAA,CAAAA,MAAAG,YAAAA;AAAAH,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAO,WAAAA;AAAAP,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAA;AAAA,IAAAc,QAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA2CC,sBAAsBH,EAIhE,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAe,oBAAAA,IAAAf,CAAAA,QAAAS,GAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AASQW,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACRE,MAAAA,MAAAA,CAAOC,kBAAAA,CAAmBN,oBAAoB,CAAA,EAAG,uBAAuB,CAAA;AACxE,MAAA,MAAAO,KAAAA,GAAcb,GAAAA,CAAGc,aAAAA,CAAeR,oBAAAA,EAAsB;AAAA,QAAAI,MAAAA;AAAAA,QAAAb;AAAAA,OAGrD,CAAA;AAAE,MAAA,OACIgB,KAAAA;AAAAA,IAAK,CAAA;AACbtB,IAAAA,CAAAA,MAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,MAAAS,GAAAA;AAAAT,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,EAAA,EAAA,CAAA,KAAAW,gBAAAX,CAAAA,SAAAe,oBAAAA,EAAA;AAEQG,IAAAA,EAAAA,GAAAP,YAAAA,IAAgBU,mBAAmBN,oBAAoB,CAAA;AAACf,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,OAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,EAAA,CAAA,KAAAI,KAAAA,IAAAJ,EAAA,EAAA,CAAA,KAAAc,QAAAA,IAAAd,CAAAA,CAAA,EAAA,CAAA,KAAAiB,EAAAA,IAAAjB,CAAAA,SAAAkB,EAAAA,EAAA;AAXjEM,IAAAA,EAAAA,GAAA;AAAA,MAAAV,QAAAA;AAAAA,MAAAW,OAAAA,EAESR,EAAAA;AAAAA,MAOR,GACEb,KAAAA;AAAAA,MAAKQ,OAAAA,EACCM;AAAAA,KACX;AAAClB,IAAAA,CAAAA,OAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAjBD,EAAA,MAAA0B,MAAAA,GAAeC,SAKbH,EAYD,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA5B,EAAA,EAAA,CAAA,KAAAc,YAAAd,CAAAA,SAAA0B,MAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAA;AAAA,MAAAF,MAAAA;AAAAA,MAAAZ;AAAAA,KAAmB;AAACd,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAA0B,MAAAA;AAAA1B,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAApB4B,EAAAA;AAAoB;AAG7B,SAASP,mBACPnB,WAAAA,EACyC;AACzC,EAAA,OACE,CAAC,CAACA,WAAAA,CAAY2B,SAAAA,IACd3B,WAAAA,CAAY4B,iBAAiBC,MAAAA,IAC7BC,MAAAA,CAAO9B,WAAAA,CAAY+B,MAAM,CAAA,GAAI,CAAA;AAEjC;AAEO,SAASC,aACdZ,KAAAA,EACqB;AACrB,EAAA,OAAO,QAAA,IAAYA,KAAAA;AACrB;AAEO,SAASa,cACdb,KAAAA,EACsB;AACtB,EAAA,OAAOA,KAAAA,CAAMc,OAAOC,kBAAAA,KAAuB,CAAA;AAC7C;AA8DO,SAAAC,wBAAAA,GAAA;AAAA,EAAA,MAAAtC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAsC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAzC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAAuC,WAAAA,EAAA;AAE9BxC,IAAAA,EAAAA,GAAAS,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAM,QAAAA;AAAAA,QAAA2B,MAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAlC,EAAAA;AACN,MAAA,MAAAmC,QAAAA,GAAiB,IAAIC,aAAAA,CAMnBL,WAAAA,EAAa;AAAA,QAAAzB,QAAAA;AAAAA,QAAAF,OAAAA,EAGJ;AAAA,OACV,CAAA;AAAE,MAAA,OAGI+B,QAAAA,CAAQE,UAAWnB,CAAAA,MAAAA,KAAA;AACxB,QAAA,IAAIA,OAAMoB,KAAAA,EAAM;AACdJ,UAAAA,OAAAA,GAAUhB,OAAMoB,KAAM,CAAA;AAAC,UAAA;AAAA,QAAA;AAGzB,QAAA,IAAIpB,OAAMqB,IAAAA,EAAK;AACbN,UAAAA,MAAAA,GAASf,OAAMqB,IAAK,CAAA;AAAA,QAAC;AAAA,MACtB,CACF,CAAA;AAAA,IAAC,CAAA;AACH/C,IAAAA,CAAAA,MAAAuC,WAAAA;AAAAvC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAvBMD,EAAAA;AAuBN;AAGH,SAASiD,uBACPT,WAAAA,EAGY;AACZ,EAAA,OAAOA,WAAAA,CACJU,aAAAA,EAAc,CACdC,IAAAA,CAAgE;AAAA,IAC/DpC,QAAAA,EAAU,CAACjB,wBAAwB,CAAA;AAAA,IACnCsD,KAAAA,EAAO,KAAA;AAAA,IACPC,IAAAA,EAAM;AAAA;AAAA,GACP,CAAA;AACL;AAEO,SAASC,kBACdd,WAAAA,EACsC;AACtC,EAAA,MAAMnC,KAAAA,GAAQ4C,uBAAuBT,WAAW,CAAA;AAEhD,EAAA,OAAOnC,OAAOkD,KAAAA,CAAMP,IAAAA;AACtB;AAEO,SAASQ,6BACdhB,WAAAA,EACS;AACT,EAAA,MAAMnC,KAAAA,GAAQ4C,uBAAuBT,WAAW,CAAA;AAChD,EAAA,MAAMO,KAAAA,GAAQ1C,OAAOkD,KAAAA,CAAMR,KAAAA;AAC3B,EAAA,OAAO,CAAC,CAACA,KAAAA;AACX;AAEO,SAASU,yBACdlC,KAAAA,EACmC;AACnC,EAAA,OACE,OAAOA,KAAAA,KAAU,QAAA,IACjBA,KAAAA,KAAU,IAAA,IACV,QAAA,IAAYA,KAAAA,IACZ,UAAA,IAAcA,KAAAA,IACd,WAAA,IAAeA,KAAAA,IACf,WAAA,IAAeA,SACf,YAAA,IAAgBA,KAAAA;AAEpB;AAEO,SAASN,qBAAAA,CAAsB;AAAA,EACpCd,WAAAA;AAAAA,EACAG,OAAAA;AAAAA,EACAE;AAGF,CAAA,EAAG;AACD,EAAA,aAAA;AAGA,EAAA,MAAM,CAACkD,eAAe,CAAA,GAAIC,iBAAAA,CAAkBxD,YAAY+B,MAAAA,EAAQ;AAAA,IAC9D0B,IAAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,OAAOC,QAAQ,MAAM;AAEnB,IAAA,MAAM7C,oBAAAA,GAEF;AAAA,MACFkB,MAAAA,EAAQwB,eAAAA;AAAAA,MACRI,UAAU3D,WAAAA,CAAY2D,QAAAA;AAAAA,MACtBhC,WAAW3B,WAAAA,CAAY2B,SAAAA;AAAAA,MACvBiC,aAAa5D,WAAAA,CAAY4D,WAAAA;AAAAA,MACzBhC,cAAc5B,WAAAA,CAAY4B,YAAAA;AAAAA,MAC1BiC,aAAa7D,WAAAA,CAAY6D,WAAAA;AAAAA,MACzBC,aAAa9D,WAAAA,CAAY8D,WAAAA;AAAAA,MACzBC,SAAS/D,WAAAA,CAAY+D,OAAAA;AAAAA,MACrBC,eAAehE,WAAAA,CAAYgE,aAAAA;AAAAA,MAC3BC,MAAMjE,WAAAA,CAAYiE,IAAAA;AAAAA,MAClBC,eAAelE,WAAAA,CAAYkE,aAAAA;AAAAA,MAC3BC,eAAenE,WAAAA,CAAYmE,aAAAA;AAAAA,MAC3BC,gBAAgBpE,WAAAA,CAAYoE,cAAAA;AAAAA,MAC5BC,gBAAgBrE,WAAAA,CAAYqE,cAAAA;AAAAA,MAC5BC,oBAAoBtE,WAAAA,CAAYsE,kBAAAA;AAAAA,MAChCjE;AAAAA,KACF;AAEA,IAAA,MAAMO,QAAAA,GAA+B,CACnCjB,wBAAAA,EACAQ,OAAAA,EACAU,oBAAoB,CAAA;AAGtB,IAAA,OAAO;AAAA,MAAED,QAAAA;AAAAA,MAAUC;AAAAA,KAAqB;AAAA,EAC1C,CAAA,EAAG,CACDb,WAAAA,CAAY8D,WAAAA,EACZ9D,YAAY4B,YAAAA,EACZ5B,WAAAA,CAAY2B,SAAAA,EACZ3B,WAAAA,CAAYmE,aAAAA,EACZnE,WAAAA,CAAYkE,aAAAA,EACZlE,WAAAA,CAAYoE,gBACZpE,WAAAA,CAAYqE,cAAAA,EACZrE,WAAAA,CAAY+D,OAAAA,EACZ/D,WAAAA,CAAYgE,aAAAA,EACZhE,WAAAA,CAAYiE,IAAAA,EACZjE,YAAY4D,WAAAA,EACZ5D,WAAAA,CAAY2D,QAAAA,EACZ3D,WAAAA,CAAY6D,aACZ7D,WAAAA,CAAYsE,kBAAAA,EACZnE,OAAAA,EACAoD,eAAAA,EACAlD,WAAW,CACZ,CAAA;AACH;;;;"}
@@ -65,7 +65,6 @@ 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;
69
68
  };
70
69
  };
71
70
  };
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
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"}
@@ -186,8 +186,7 @@ function useMarketPriceQueryKey({
186
186
  srcTokenTransferFee: priceParams.srcTokenTransferFee,
187
187
  destTokenTransferFee: priceParams.destTokenTransferFee,
188
188
  srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,
189
- destTokenDexTransferFee: priceParams.destTokenDexTransferFee,
190
- degenMode: priceParams.degenMode
189
+ destTokenDexTransferFee: priceParams.destTokenDexTransferFee
191
190
  }
192
191
  };
193
192
  const queryKey = [MarketPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
@@ -195,7 +194,7 @@ function useMarketPriceQueryKey({
195
194
  queryKey,
196
195
  sanitizedPriceParams
197
196
  };
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]);
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]);
199
198
  }
200
199
 
201
200
  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 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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"}
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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"}
@@ -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" | "maxImpact" | "degenMode">, "destToken">, "srcDecimals" | "side">;
6
+ export type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices" | "partnerFeeBps">, "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,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"}
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"}
@@ -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';
8
9
  import { useSwapReceiverAddressValue } from '../../../components/widget/ReceiverAddress/state/receiverAddressAtom.js';
9
10
  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();
77
78
  const {
78
79
  partner,
79
80
  partnerFeeBps
80
81
  } = 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 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 = {
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 = {
91
91
  srcToken: fromToken.address,
92
92
  destToken: t6,
93
93
  srcDecimals: fromToken.decimals,
@@ -97,49 +97,46 @@ function usePricesParams(tradeMode) {
97
97
  userAddress: address,
98
98
  partner,
99
99
  partnerFeeBps,
100
+ ignoreBadUsdPrice: widgetConfig.ignoreBadUsdPrice,
100
101
  srcTokenDexTransferFee,
101
102
  destTokenDexTransferFee,
102
103
  otherExchangePrices: true
103
104
  };
104
- if (degenMode) {
105
- priceParams.maxImpact = 100;
106
- priceParams.ignoreBadUsdPrice = true;
107
- priceParams.degenMode = true;
108
- }
109
105
  $[10] = address;
110
106
  $[11] = amount;
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;
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;
122
118
  } else {
123
- priceParams = $[22];
119
+ t8 = $[22];
124
120
  }
125
- const t8 = isCrossChain ? toToken?.network : void 0;
126
- let t9;
127
- if ($[23] !== fromToken.network || $[24] !== isCrossChain || $[25] !== priceParams || $[26] !== t8) {
128
- t9 = {
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 = {
129
126
  priceParams,
130
127
  isCrossChain,
131
128
  chainId: fromToken.network,
132
- destChainId: t8
129
+ destChainId: t9
133
130
  };
134
131
  $[23] = fromToken.network;
135
132
  $[24] = isCrossChain;
136
133
  $[25] = priceParams;
137
- $[26] = t8;
138
- $[27] = t9;
134
+ $[26] = t9;
135
+ $[27] = t10;
139
136
  } else {
140
- t9 = $[27];
137
+ t10 = $[27];
141
138
  }
142
- return t9;
139
+ return t10;
143
140
  }
144
141
  function useExtraDeltaPriceParams() {
145
142
  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 { 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=100 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 = 100;\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":";;;;;;;;;;;AA+CO,SAAAA,gBAAAC,SAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAML,EAAA,MAAA;AAAA,IAAAC,aAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAuCC,sBAAsBL,SAAS,CAAA;AACtE,EAAA,MAAAM,SAAAA,GAAkBC,aAAaJ,aAAa,CAAA;AAC5C,EAAA,MAAAK,OAAAA,GAAgBD,aAAaH,WAAW,CAAA;AAExC,EAAA,MAAAK,gBAAAA,GAAyBC,4BAA4BV,SAAS,CAAA;AAC9D,EAAA,MAAAW,oBAAAA,GAA6BC,gCAAgCZ,SAAS,CAAA;AAEtE,EAAA,MAAAa,YAAAA,GAAqBN,aAAaE,gBAAgB,CAAA;AAClD,EAAA,MAAAK,gBAAAA,GAAyBP,YAAAA,CAAaI,oBAA2B,CAAA,IAAxC,GAAA;AAA0C,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAK,SAAAA,CAAAU,WAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAK,SAAAA,CAAAW,OAAAA,EAAA;AAElBF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,cACjCZ,SAAAA,CAASU,OAAAA;AAAAA,MAAQG,SACtBb,SAAAA,CAASW;AAAAA,KACpB;AAAChB,IAAAA,CAAAA,CAAA,CAAA,IAAAK,SAAAA,CAAAU,OAAAA;AAAAf,IAAAA,CAAAA,CAAA,CAAA,IAAAK,SAAAA,CAAAW,OAAAA;AAAAhB,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAmB,IAAAA,EAAAC;AAAAA,GAAA,GAAkCC,eAAeP,EAGhD,CAAA;AAGe,EAAA,MAAAQ,KAAAf,OAAAA,EAAOQ,OAAAA;AACZ,EAAA,MAAAQ,KAAAhB,OAAAA,EAAOS,OAAAA;AAAS,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAsB,MAAAtB,CAAAA,QAAAuB,EAAAA,EAAA;AAFoBC,IAAAA,EAAAA,GAAA;AAAA,MAAAP,YAAAA,EAC/BK,EAAAA;AAAAA,MAAgBJ,OAAAA,EACrBK;AAAAA,KACX;AAACvB,IAAAA,CAAAA,MAAAsB,EAAAA;AAAAtB,IAAAA,CAAAA,MAAAuB,EAAAA;AAAAvB,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAmB,IAAAA,EAAAM;AAAAA,GAAA,GAAgCJ,eAAeG,EAG9C,CAAA;AAAE,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAA1B,CAAAA,CAAA,CAAA,CAAA,KAAAoB,eAAAA,EAAAO,OAAAA,EAAA;AAE4BD,IAAAA,EAAAA,GAAAN,eAAAA,EAAeO,SAAmBC,QAAAA,EAAC;AAAC5B,IAAAA,CAAAA,CAAA,CAAA,IAAAoB,eAAAA,EAAAO,OAAAA;AAAA3B,IAAAA,CAAAA,MAAA0B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAnE,EAAA,MAAA6B,sBAAAA,GAA+BH,EAAAA;AAAqC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA9B,CAAAA,CAAA,CAAA,CAAA,KAAAyB,aAAAA,EAAAM,MAAAA,EAAA;AACpCD,IAAAA,EAAAA,GAAAL,aAAAA,EAAaM,QAAkBH,QAAAA,EAAC;AAAC5B,IAAAA,CAAAA,CAAA,CAAA,IAAAyB,aAAAA,EAAAM,MAAAA;AAAA/B,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAjE,EAAA,MAAAgC,uBAAAA,GAAgCF,EAAAA;AAEhC,EAAA,MAAA;AAAA,IAAAf;AAAAA,MAAoBkB,UAAAA,EAAW;AAE/B,EAAA,MAAA;AAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,MAAmCC,UAAAA,EAAW;AAC9C,EAAA,MAAAC,SAAAA,GAAkB/B,aAAagC,kBAAkB,CAAA;AAEjD,EAAA,MAAAC,eAAqB,CAAC,CAAChC,OAAAA,IAAWF,SAAAA,CAASW,YAAaT,OAAAA,CAAOS,OAAAA;AAE/D,EAAA,MAAAwB,WAAiBC,WAAAA,EAAY;AAC7B,EAAA,MAAAC,IAAAA,GAAa3C,SAAAA,KAAc,MAAA,GAAdyC,QAAAA,GAAA,MAAA;AACb,EAAA,MAAAG,MAAAA,GAAeD,IAAAA,KAAS,MAAA,GAAT9B,YAAAA,GAAAC,gBAAAA;AAIF,EAAA,MAAA+B,KAAArC,OAAAA,EAAOQ,OAAAA;AAEJ,EAAA,MAAA8B,KAAAtC,OAAAA,EAAOuC,QAAAA;AAAU,EAAA,IAAAC,WAAAA;AAAA,EAAA,IAAA/C,CAAAA,SAAAe,OAAAA,IAAAf,EAAA,EAAA,CAAA,KAAA2C,MAAAA,IAAA3C,CAAAA,CAAA,EAAA,CAAA,KAAAqC,aAAArC,CAAAA,CAAA,EAAA,MAAAgC,uBAAAA,IAAAhC,CAAAA,CAAA,EAAA,CAAA,KAAAK,SAAAA,CAAAU,OAAAA,IAAAf,CAAAA,CAAA,EAAA,CAAA,KAAAK,UAAAyC,QAAAA,IAAA9C,CAAAA,CAAA,EAAA,CAAA,KAAAkC,OAAAA,IAAAlC,EAAA,EAAA,CAAA,KAAAmC,aAAAA,IAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAA0C,QAAA1C,CAAAA,CAAA,EAAA,CAAA,KAAA6B,sBAAAA,IAAA7B,CAAAA,SAAA4C,EAAAA,IAAA5C,CAAAA,CAAA,EAAA,CAAA,KAAA6C,EAAAA,EAAA;AAJjCE,IAAAA,WAAAA,GAAsC;AAAA,MAAAC,UAC1B3C,SAAAA,CAASU,OAAAA;AAAAA,MAAQkC,SAAAA,EAChBL,EAAAA;AAAAA,MAAgBM,aACd7C,SAAAA,CAASyC,QAAAA;AAAAA,MAASK,YAAAA,EACjBN,EAAAA;AAAAA,MAAiBH,IAAAA;AAAAA,MAAAC,MAAAA;AAAAA,MAAAS,WAAAA,EAGlBrC,OAAAA;AAAAA,MAAOmB,OAAAA;AAAAA,MAAAC,aAAAA;AAAAA,MAAAN,sBAAAA;AAAAA,MAAAG,uBAAAA;AAAAA,MAAAqB,mBAAAA,EAKC;AAAA,KACvB;AAMA,IAAA,IAAIhB,SAAAA,EAAS;AACXU,MAAAA,WAAAA,CAAWO,SAAAA,GAAa,GAAA;AACxBP,MAAAA,WAAAA,CAAWQ,iBAAAA,GAAqB,IAAA;AAChCR,MAAAA,WAAAA,CAAWV,SAAAA,GAAa,IAAA;AAAA,IAAH;AACtBrC,IAAAA,CAAAA,OAAAe,OAAAA;AAAAf,IAAAA,CAAAA,OAAA2C,MAAAA;AAAA3C,IAAAA,CAAAA,OAAAqC,SAAAA;AAAArC,IAAAA,CAAAA,OAAAgC,uBAAAA;AAAAhC,IAAAA,CAAAA,CAAA,EAAA,IAAAK,SAAAA,CAAAU,OAAAA;AAAAf,IAAAA,CAAAA,CAAA,EAAA,IAAAK,SAAAA,CAAAyC,QAAAA;AAAA9C,IAAAA,CAAAA,OAAAkC,OAAAA;AAAAlC,IAAAA,CAAAA,OAAAmC,aAAAA;AAAAnC,IAAAA,CAAAA,OAAA0C,IAAAA;AAAA1C,IAAAA,CAAAA,OAAA6B,sBAAAA;AAAA7B,IAAAA,CAAAA,OAAA4C,EAAAA;AAAA5C,IAAAA,CAAAA,OAAA6C,EAAAA;AAAA7C,IAAAA,CAAAA,OAAA+C,WAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,WAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA,EAAA;AAMc,EAAA,MAAAwD,EAAAA,GAAAjB,YAAAA,GAAehC,OAAAA,EAAOS,OAAAA,GAAtByC,MAAAA;AAA2C,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA1D,EAAA,EAAA,CAAA,KAAAK,SAAAA,CAAAW,OAAAA,IAAAhB,EAAA,EAAA,CAAA,KAAAuC,YAAAA,IAAAvC,CAAAA,CAAA,EAAA,CAAA,KAAA+C,WAAAA,IAAA/C,CAAAA,SAAAwD,EAAAA,EAAA;AAJnDE,IAAAA,EAAAA,GAAA;AAAA,MAAAX,WAAAA;AAAAA,MAAAR,YAAAA;AAAAA,MAAArB,SAGIb,SAAAA,CAASW,OAAAA;AAAAA,MAAQ2C,WAAAA,EACbH;AAAAA,KACf;AAACxD,IAAAA,CAAAA,CAAA,EAAA,IAAAK,SAAAA,CAAAW,OAAAA;AAAAhB,IAAAA,CAAAA,OAAAuC,YAAAA;AAAAvC,IAAAA,CAAAA,OAAA+C,WAAAA;AAAA/C,IAAAA,CAAAA,OAAAwD,EAAAA;AAAAxD,IAAAA,CAAAA,OAAA0D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1D,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALM0D,EAAAA;AAKN;AAGI,SAAAE,wBAAAA,GAAA;AAAA,EAAA,MAAA5D,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAKL,EAAA,MAAA4D,cAAAA,GAAuBvD,aAAawD,kBAAkB,CAAA;AAEtD,EAAA,MAAAC,kBAAwBC,2BAAAA,EAA4B;AAAE,EAAA,IAAAlD,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAA6D,kBAAA7D,CAAAA,QAAA+D,eAAAA,EAAA;AAE/CjD,IAAAA,EAAAA,GAAA;AAAA,MAAA+C,cAAAA;AAAAA,MAAAI,WAAAA,EAEQF;AAAAA,KACf;AAAC/D,IAAAA,CAAAA,MAAA6D,cAAAA;AAAA7D,IAAAA,CAAAA,MAAA+D,eAAAA;AAAA/D,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMc,EAAAA;AAGN;;;;"}
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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"}