@velora-dex/widget 0.8.1 → 0.8.3-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (692) hide show
  1. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/button.js.map +1 -1
  4. package/dist/components/ui/card.js.map +1 -1
  5. package/dist/components/ui/drawer.js.map +1 -1
  6. package/dist/components/ui/dropdown-menu.js.map +1 -1
  7. package/dist/components/ui/input.js.map +1 -1
  8. package/dist/components/ui/progress.js.map +1 -1
  9. package/dist/components/ui/skeleton.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/switch.js.map +1 -1
  12. package/dist/components/ui/tooltip.js.map +1 -1
  13. package/dist/components/web3/AccountButton.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  15. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  16. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/index.js +1 -1
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  23. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  27. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  28. package/dist/components/web3/providers.js.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  30. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  35. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  36. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  38. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  39. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  40. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  41. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  42. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  43. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  44. package/dist/components/widget/BridgeList/hooks.js +79 -73
  45. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  46. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  47. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  48. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  49. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  50. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  52. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  53. package/dist/components/widget/Button/RefreshButton.js.map +1 -1
  54. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  55. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  56. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  57. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  58. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  59. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  60. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  61. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  62. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  63. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  71. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  72. package/dist/components/widget/Drawer/index.js.map +1 -1
  73. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  74. package/dist/components/widget/Duration/Duration.js.map +1 -1
  75. package/dist/components/widget/Duration/utils.js.map +1 -1
  76. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  77. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  78. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  79. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  80. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  81. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  82. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  83. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  84. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  85. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  86. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  87. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  88. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  90. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  91. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  92. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  93. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  94. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  95. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  96. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  97. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  98. package/dist/components/widget/Line/Line.js.map +1 -1
  99. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  100. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  102. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  103. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  104. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  105. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  106. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  107. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  108. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  109. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  110. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  111. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  112. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  113. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  114. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  115. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  116. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  117. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  118. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  119. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  120. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  121. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  122. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  123. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  124. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  125. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  126. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  127. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  128. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  129. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  130. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  131. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  132. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  133. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  134. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  135. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  136. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  137. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  138. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  139. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  140. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  141. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  142. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  143. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  144. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  145. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  146. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  147. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  148. package/dist/components/widget/TokenInput/index.js.map +1 -1
  149. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  151. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  154. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  155. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  156. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  162. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  181. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  182. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
  188. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  189. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  190. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  191. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  192. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  193. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  194. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  195. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  196. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  197. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  198. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  218. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  219. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  220. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  221. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  222. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  223. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  224. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  225. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  226. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  227. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  228. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  229. package/dist/components/widget/Warning/Warning.js.map +1 -1
  230. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  231. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  232. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  233. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  234. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  235. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  236. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  237. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  238. package/dist/core/LimitOrderButton.js +46 -52
  239. package/dist/core/LimitOrderButton.js.map +1 -1
  240. package/dist/core/LimitOrderDetails.js.map +1 -1
  241. package/dist/core/OtcOrderButton.js.map +1 -1
  242. package/dist/core/OtcOrderDetails.js.map +1 -1
  243. package/dist/core/Toaster.js.map +1 -1
  244. package/dist/core/TradeFlowScreenButton.d.ts +3 -4
  245. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  246. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  247. package/dist/core/TwapDetails.js.map +1 -1
  248. package/dist/core/Updaters.js.map +1 -1
  249. package/dist/core/Warnings.js.map +1 -1
  250. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  251. package/dist/core/across/utils.js.map +1 -1
  252. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  253. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
  254. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  255. package/dist/core/index.js.map +1 -1
  256. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  257. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  258. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  259. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  260. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  261. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  262. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  263. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  264. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  265. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  266. package/dist/core/inputs/hooks/utils.js +7 -5
  267. package/dist/core/inputs/hooks/utils.js.map +1 -1
  268. package/dist/core/inputs/state/common.js.map +1 -1
  269. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  270. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  271. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  272. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  273. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  274. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  275. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  276. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  277. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  278. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  279. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  280. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  281. package/dist/core/limit/state/utils.js.map +1 -1
  282. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  283. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  284. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  285. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitRate.d.ts +2 -3
  287. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  288. package/dist/core/limit/useLimitRate.js +54 -110
  289. package/dist/core/limit/useLimitRate.js.map +1 -1
  290. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  291. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  292. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  293. package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
  294. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  295. package/dist/core/logger.js.map +1 -1
  296. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  297. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  298. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  299. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  300. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  301. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  302. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  303. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  304. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  305. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  306. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  307. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  308. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  309. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  310. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  311. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  312. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  313. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  314. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  315. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  316. package/dist/core/screen/state/screenAtom.js.map +1 -1
  317. package/dist/core/state/apiConfigAtom.js.map +1 -1
  318. package/dist/core/state/chainToAtom.js.map +1 -1
  319. package/dist/core/state/configActionsAtom.js.map +1 -1
  320. package/dist/core/state/configEffectAtom.js.map +1 -1
  321. package/dist/core/state/containerAtom.js.map +1 -1
  322. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  323. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  324. package/dist/core/state/externalProviderAtom.js.map +1 -1
  325. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  326. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  327. package/dist/core/state/tradeModeAtom.js.map +1 -1
  328. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  329. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  330. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  331. package/dist/core/subscriptions.js.map +1 -1
  332. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  333. package/dist/core/swapDetails/fees.js +16 -11
  334. package/dist/core/swapDetails/fees.js.map +1 -1
  335. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  336. package/dist/core/swapDetails/maxToPay.js +18 -17
  337. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  338. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  339. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  340. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  341. package/dist/core/swapDetails/youGet.js.map +1 -1
  342. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  343. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  344. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  345. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  346. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  347. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  348. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  349. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  350. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  351. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  352. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  353. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  354. package/dist/events/effects/formInput.js.map +1 -1
  355. package/dist/events/effects/price.js.map +1 -1
  356. package/dist/events/effects/swapMode.js.map +1 -1
  357. package/dist/events/getters/limit.js.map +1 -1
  358. package/dist/events/getters/otc.js.map +1 -1
  359. package/dist/events/getters/settings.js.map +1 -1
  360. package/dist/events/getters/swap.js.map +1 -1
  361. package/dist/events/getters/twap.js.map +1 -1
  362. package/dist/events/getters/widgetState.js.map +1 -1
  363. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  364. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  365. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  366. package/dist/events/types/priceChange.d.ts +2 -2
  367. package/dist/events/types/priceChange.d.ts.map +1 -1
  368. package/dist/events/types/swap.d.ts +2 -2
  369. package/dist/events/types/swap.d.ts.map +1 -1
  370. package/dist/events/types/twap.d.ts +2 -2
  371. package/dist/events/types/twap.d.ts.map +1 -1
  372. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  373. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  374. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  375. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  376. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  377. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  378. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  379. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  380. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  381. package/dist/hooks/gas/utils.js.map +1 -1
  382. package/dist/hooks/getCode/query.js.map +1 -1
  383. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  384. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  385. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  386. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  387. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  388. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  389. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  390. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  391. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  392. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  393. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  394. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  395. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  396. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  397. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  401. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  402. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  403. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  404. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  405. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  406. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  407. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  408. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  409. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  410. package/dist/hooks/permit/utils/constants.js.map +1 -1
  411. package/dist/hooks/permit/utils/construct.js.map +1 -1
  412. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  413. package/dist/hooks/permit/utils/detect.js.map +1 -1
  414. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  415. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  416. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  417. package/dist/hooks/permit/utils/utils.js.map +1 -1
  418. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  419. package/dist/hooks/sdk/useSpender.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
  421. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  422. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
  424. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  425. package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
  426. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  429. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  430. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  431. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  434. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  435. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  436. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  439. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
  440. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  442. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  443. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  444. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  448. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  449. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  450. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  451. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  452. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  453. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
  454. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  455. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  456. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  457. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  458. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  459. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  460. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  461. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  462. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
  463. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  464. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
  465. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  466. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  467. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  468. package/dist/hooks/swap/prices/delta/orders/types.d.ts +2 -1
  469. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  470. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  471. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  472. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  473. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +11 -14
  474. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  475. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  476. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  477. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -2
  478. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  479. package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
  480. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  481. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  482. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  483. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  484. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  485. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  486. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  487. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  488. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  489. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  490. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +17 -34
  491. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  492. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  493. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  494. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  495. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  496. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  497. package/dist/hooks/swap/prices/factory.js +1 -1
  498. package/dist/hooks/swap/prices/factory.js.map +1 -1
  499. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  500. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  501. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  502. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  503. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  504. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  505. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  506. package/dist/hooks/swap/prices/types.d.ts +2 -3
  507. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  508. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  509. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  510. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  511. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  512. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  513. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  514. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  515. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  516. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  517. package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
  518. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  519. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  520. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  521. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +10 -17
  522. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  523. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  524. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  525. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  526. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  527. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  528. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  529. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  530. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  531. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  532. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  533. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  534. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  535. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  536. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  537. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
  538. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  539. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  540. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  541. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  542. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
  543. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  544. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  545. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  546. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  547. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  548. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  549. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +217 -229
  550. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  551. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  552. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  553. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  554. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  555. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  556. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  557. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  558. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  559. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  560. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  561. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  562. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  563. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  564. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  565. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  566. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  567. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  568. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  569. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  570. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  571. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  572. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  573. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  574. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  575. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  576. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  577. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  578. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  579. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  580. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  581. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  582. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  583. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  584. package/dist/hooks/txs/queries/utils.js.map +1 -1
  585. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  586. package/dist/hooks/useBreakpoints.js.map +1 -1
  587. package/dist/hooks/useBridgeInfo.js.map +1 -1
  588. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  589. package/dist/hooks/useCachedQueryError.js.map +1 -1
  590. package/dist/hooks/useChainMatches.js.map +1 -1
  591. package/dist/hooks/useClickOutside.js.map +1 -1
  592. package/dist/hooks/useCurrentChain.js.map +1 -1
  593. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  594. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  595. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  596. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  597. package/dist/hooks/useMinViemClient.js.map +1 -1
  598. package/dist/hooks/useSDK.d.ts +19 -3
  599. package/dist/hooks/useSDK.d.ts.map +1 -1
  600. package/dist/hooks/useSDK.js +65 -35
  601. package/dist/hooks/useSDK.js.map +1 -1
  602. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  603. package/dist/hooks/useSlippage.js.map +1 -1
  604. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  605. package/dist/lib/constants/urls.js.map +1 -1
  606. package/dist/lib/ipfs.js.map +1 -1
  607. package/dist/lib/queryClient.js +1 -1
  608. package/dist/lib/queryClient.js.map +1 -1
  609. package/dist/lib/tradeMode.js.map +1 -1
  610. package/dist/lib/utils/approval.js.map +1 -1
  611. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  612. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  613. package/dist/lib/utils/delta.js.map +1 -1
  614. package/dist/lib/utils/dexes.js.map +1 -1
  615. package/dist/lib/utils/explorer.js.map +1 -1
  616. package/dist/lib/utils/fee.js.map +1 -1
  617. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  618. package/dist/lib/utils/formatPercent.js.map +1 -1
  619. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  620. package/dist/lib/utils/index.js.map +1 -1
  621. package/dist/lib/utils/logger.js.map +1 -1
  622. package/dist/lib/utils/metabase.js.map +1 -1
  623. package/dist/lib/utils/mobile.js.map +1 -1
  624. package/dist/lib/utils/price.d.ts +5 -2
  625. package/dist/lib/utils/price.d.ts.map +1 -1
  626. package/dist/lib/utils/price.js +8 -5
  627. package/dist/lib/utils/price.js.map +1 -1
  628. package/dist/lib/utils/priceImpact.js.map +1 -1
  629. package/dist/lib/utils/providerErrors.js.map +1 -1
  630. package/dist/lib/utils/rate.js.map +1 -1
  631. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  632. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  633. package/dist/lib/utils/scaleFactor.js.map +1 -1
  634. package/dist/lib/utils/slippage.js.map +1 -1
  635. package/dist/lib/utils/time.js.map +1 -1
  636. package/dist/lib/utils/toDecimal.js.map +1 -1
  637. package/dist/lib/utils/toasts.js.map +1 -1
  638. package/dist/lib/utils/tradeFlow.js.map +1 -1
  639. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  640. package/dist/lib/utils/tuple.js.map +1 -1
  641. package/dist/lib/utils/twap.d.ts +2 -2
  642. package/dist/lib/utils/twap.d.ts.map +1 -1
  643. package/dist/lib/utils/twap.js +2 -2
  644. package/dist/lib/utils/twap.js.map +1 -1
  645. package/dist/lib/utils/useDateNow.js.map +1 -1
  646. package/dist/lib/web3/wagmi/config.js.map +1 -1
  647. package/dist/lib/web3/wagmi/external.js.map +1 -1
  648. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  649. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  650. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  651. package/dist/tokens/blacklist.js.map +1 -1
  652. package/dist/tokens/constructor.js.map +1 -1
  653. package/dist/tokens/defaultTokens.js.map +1 -1
  654. package/dist/tokens/hooks.js.map +1 -1
  655. package/dist/tokens/lists/constants.js.map +1 -1
  656. package/dist/tokens/lists/download.js.map +1 -1
  657. package/dist/tokens/lists/state/effects.js.map +1 -1
  658. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  659. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  660. package/dist/tokens/overrides.js.map +1 -1
  661. package/dist/tokens/queries.js.map +1 -1
  662. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  663. package/dist/tokens/stabeCoins/index.js.map +1 -1
  664. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  665. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  666. package/dist/tokens/state/constructTokens.js.map +1 -1
  667. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  668. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  669. package/dist/tokens/utils/brand.js.map +1 -1
  670. package/dist/tokens/utils/eth.js.map +1 -1
  671. package/dist/tokens/utils/filtering.js.map +1 -1
  672. package/dist/tokens/utils/sets.js.map +1 -1
  673. package/dist/tokens/utils/sorting.js.map +1 -1
  674. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  675. package/dist/transactions/hash.js.map +1 -1
  676. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  677. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  678. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  679. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  680. package/dist/transactions/state/effects/finalize.js.map +1 -1
  681. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  682. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  683. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  684. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  685. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  686. package/dist/transactions/status.js.map +1 -1
  687. package/dist/transactions/utils.js.map +1 -1
  688. package/package.json +6 -6
  689. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
  690. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
  691. package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
  692. package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
@@ -1,15 +1,16 @@
1
1
  import { Query, QueryClient, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { DeltaPrice, BridgePrice, DeltaPriceParams as DParams, OptimalRate } from '@velora-dex/sdk';
2
+ import { DeltaPriceV2, DeltaPriceV2Params as DParams, OptimalRate } from '@velora-dex/sdk';
3
3
  import { MarkOptional } from 'ts-essentials';
4
4
  type RequiredDeltaPriceParams = Omit<DParams, "destChainId">;
5
5
  export type DeltaPriceQueryParams = MarkOptional<RequiredDeltaPriceParams, "destToken" | "destDecimals">;
6
- type DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>, "queryKey" | "queryFn">;
7
- type DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;
8
- type DeltaPriceQueryInput<TData = DeltaPrice> = {
6
+ type DeltaQueryParams<TData = DeltaPriceV2> = Omit<UseQueryOptions<DeltaPriceV2, Error, TData, DeltaPriceQueryKey>, "queryKey" | "queryFn">;
7
+ type DeltaQueryResult<TData = DeltaPriceV2> = UseQueryResult<TData, Error>;
8
+ type DeltaPriceQueryInput<TData = DeltaPriceV2> = {
9
9
  priceParams: DeltaPriceQueryParams;
10
10
  query?: DeltaQueryParams<TData>;
11
11
  chainId: number;
12
12
  timeout?: number;
13
+ destChainId?: number;
13
14
  };
14
15
  export declare const DeltaPriceQueryKeyPrefix = "swap/prices/delta";
15
16
  export type DeltaPriceQueryKey = readonly [
@@ -19,63 +20,45 @@ export type DeltaPriceQueryKey = readonly [
19
20
  destChainId?: number;
20
21
  }
21
22
  ];
22
- /**
23
- * 1. With destChainId: number -> returns BridgePrice
24
- * 2. With destChainId?: undefined -> returns DeltaPrice
25
- * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice
26
- */
27
- export declare function useDeltaPriceQuery<TData = BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
28
- destChainId: number;
29
- }): {
30
- result: DeltaQueryResult<TData>;
31
- queryKey: DeltaPriceQueryKey;
32
- };
33
- export declare function useDeltaPriceQuery<TData = DeltaPrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
34
- destChainId?: undefined;
35
- }): {
23
+ export declare function useDeltaPriceQuery<TData = DeltaPriceV2>({ priceParams: _priceParams, query, chainId, timeout, destChainId, }: DeltaPriceQueryInput<TData>): {
36
24
  result: DeltaQueryResult<TData>;
37
25
  queryKey: DeltaPriceQueryKey;
38
26
  };
39
- export declare function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
40
- destChainId?: number;
41
- }): {
42
- result: DeltaQueryResult<TData>;
43
- queryKey: DeltaPriceQueryKey;
44
- };
45
- export declare function isDeltaPrice(price: OptimalRate | DeltaPrice): price is DeltaPrice;
46
- export declare function isBridgePrice(price: DeltaPrice | BridgePrice): price is BridgePrice;
27
+ export declare function isDeltaPrice(price: OptimalRate | DeltaPriceV2): price is DeltaPriceV2;
28
+ export declare function isBridgePrice(price: DeltaPriceV2): boolean;
47
29
  type GetDeltaPriceQueryForPriceInput = {
48
- price: DeltaPrice | BridgePrice;
30
+ price: DeltaPriceV2;
49
31
  chainId: number;
50
32
  };
51
- type GetDeltaPriceQueryForPrice = (input: GetDeltaPriceQueryForPriceInput) => Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice, DeltaPriceQueryKey> | undefined;
33
+ type DeltaPriceQuery = Query<DeltaPriceV2, Error, DeltaPriceV2, DeltaPriceQueryKey>;
34
+ type GetDeltaPriceQueryForPrice = (input: GetDeltaPriceQueryForPriceInput) => DeltaPriceQuery | undefined;
52
35
  export declare function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice;
53
36
  type SubscribeToDeltaPriceInput = {
54
37
  queryKey: DeltaPriceQueryKey;
55
- onData?: (data: DeltaPrice | BridgePrice) => void;
38
+ onData?: (data: DeltaPriceV2) => void;
56
39
  onError?: (error: Error) => void;
57
40
  };
58
41
  type SubscribeToDeltaPriceResult = (input: SubscribeToDeltaPriceInput) => () => void;
59
42
  export declare function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult;
60
- export declare function getLastDeltaPrice(queryClient: QueryClient): DeltaPrice | BridgePrice | undefined;
43
+ export declare function getLastDeltaPrice(queryClient: QueryClient): DeltaPriceV2 | undefined;
61
44
  export declare function isLastDeltaPriceQueryInError(queryClient: QueryClient): boolean;
62
- export declare function isDataDeltaOrBridgePrice(price: unknown): price is DeltaPrice | BridgePrice;
45
+ export declare function isDataDeltaPriceV2(price: unknown): price is DeltaPriceV2;
63
46
  export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainId, }: Pick<DeltaPriceQueryInput, "priceParams" | "chainId"> & {
64
47
  destChainId?: number;
65
48
  }): {
66
49
  queryKey: DeltaPriceQueryKey;
67
50
  sanitizedPriceParams: {
68
51
  amount: string;
69
- side?: ("SELL" | "BUY") | undefined;
70
- userAddress?: string | undefined;
52
+ side?: ("BUY" | "SELL") | undefined;
71
53
  partner?: string | undefined;
72
54
  excludeAgents?: string[] | undefined;
73
55
  includeAgents?: string[] | undefined;
56
+ userAddress?: string | undefined;
74
57
  degenMode?: boolean | undefined;
75
58
  beneficiary?: string | undefined;
59
+ partnerFeeBps?: number | undefined;
76
60
  srcToken: string;
77
61
  destToken?: string | undefined;
78
- partnerFeeBps?: number | undefined;
79
62
  srcDecimals: number;
80
63
  destDecimals?: number | undefined;
81
64
  maxImpact?: number | 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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"}
@@ -1,4 +1,4 @@
1
- import { useDeltaSDK as e } from "../../../../useSDK.js";
1
+ import { useDeltaV2SDK as e } from "../../../../useSDK.js";
2
2
  import { PRICE_FETCH_TIMEOUT_MS as t } from "../../constants.js";
3
3
  import { c as n } from "react-compiler-runtime";
4
4
  import { useMemo as r } from "react";
@@ -19,7 +19,7 @@ function u(r) {
19
19
  let { queryKey: v, sanitizedPriceParams: b } = y(_), x;
20
20
  i[6] !== b || i[7] !== h || i[8] !== p ? (x = (e) => {
21
21
  let { signal: t } = e;
22
- return s(d(b), "destToken is required"), h.getDeltaPrice(b, {
22
+ return s(d(b), "destToken is required"), h.getDeltaPriceV2(b, {
23
23
  signal: t,
24
24
  timeout: p
25
25
  });
@@ -43,10 +43,10 @@ function d(e) {
43
43
  return !!e.destToken && e.destDecimals !== void 0 && Number(e.amount) > 0;
44
44
  }
45
45
  function f(e) {
46
- return "bridge" in e;
46
+ return "route" in e;
47
47
  }
48
48
  function p(e) {
49
- return e.bridge.destinationChainId !== 0;
49
+ return e.route.bridge !== null;
50
50
  }
51
51
  function m() {
52
52
  let e = n(2), t = o(), r;
@@ -78,7 +78,7 @@ function _(e) {
78
78
  return !!h(e)?.state.error;
79
79
  }
80
80
  function v(e) {
81
- return typeof e == "object" && !!e && "bridge" in e && "srcToken" in e && "destToken" in e && "srcAmount" in e && "destAmount" in e;
81
+ return typeof e == "object" && !!e && "route" in e && "inputToken" in e && "outputToken" in e;
82
82
  }
83
83
  function y({ priceParams: e, chainId: t, destChainId: n }) {
84
84
  "use no memo";
@@ -135,6 +135,6 @@ function y({ priceParams: e, chainId: t, destChainId: n }) {
135
135
  ]);
136
136
  }
137
137
  //#endregion
138
- export { l as DeltaPriceQueryKeyPrefix, g as getLastDeltaPrice, p as isBridgePrice, v as isDataDeltaOrBridgePrice, f as isDeltaPrice, _ as isLastDeltaPriceQueryInError, u as useDeltaPriceQuery, m as useSubscribeToDeltaPrice };
138
+ export { l as DeltaPriceQueryKeyPrefix, g as getLastDeltaPrice, p as isBridgePrice, v as isDataDeltaPriceV2, f as isDeltaPrice, _ as isLastDeltaPriceQueryInError, u as useDeltaPriceQuery, m as useSubscribeToDeltaPrice };
139
139
 
140
140
  //# sourceMappingURL=useDeltaPriceQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.js","names":["useDeltaSDK","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","useDebouncedValue","DeltaPrice","BridgePrice","DeltaPriceParams","DParams","OptimalRate","assert","MarkOptional","useMemo","PRICE_FETCH_TIMEOUT_MS","RequiredDeltaPriceParams","Omit","DeltaPriceQueryParams","DeltaQueryParams","Error","TData","DeltaPriceQueryKey","DeltaQueryResult","DeltaPriceQueryInput","priceParams","query","chainId","timeout","DeltaPriceQueryKeyPrefix","base","destChainId","useDeltaPriceQuery","result","queryKey","t0","$","_c","_priceParams","t1","undefined","t2","sdk","queryEnabled","enabled","t3","sanitizedPriceParams","useDeltaPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getDeltaPrice","t6","queryFn","t7","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","GetDeltaPriceQueryForPriceInput","DeltaPriceQuery","GetDeltaPriceQueryForPrice","input","useDeltaPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToDeltaPriceInput","onData","onError","error","SubscribeToDeltaPriceResult","useSubscribeToDeltaPrice","observer","subscribe","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","Pick","debouncedAmount","wait","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"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\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\nexport type DeltaPriceQueryParams = 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: DeltaPriceQueryParams;\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: DeltaPriceQueryParams & {\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 = PRICE_FETCH_TIMEOUT_MS,\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: DeltaPriceQueryParams\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: DeltaPriceQueryParams & {\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"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.js","names":["useDeltaV2SDK","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","useDebouncedValue","DeltaPriceV2","DeltaPriceV2Params","DParams","OptimalRate","assert","MarkOptional","useMemo","PRICE_FETCH_TIMEOUT_MS","RequiredDeltaPriceParams","Omit","DeltaPriceQueryParams","DeltaQueryParams","Error","TData","DeltaPriceQueryKey","DeltaQueryResult","DeltaPriceQueryInput","priceParams","query","chainId","timeout","destChainId","DeltaPriceQueryKeyPrefix","base","useDeltaPriceQuery","t0","$","_c","_priceParams","t1","undefined","t2","sdk","queryEnabled","enabled","t3","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getDeltaPriceV2","t6","queryFn","result","t7","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","route","bridge","GetDeltaPriceQueryForPriceInput","DeltaPriceQuery","GetDeltaPriceQueryForPrice","input","useDeltaPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToDeltaPriceInput","onData","onError","error","SubscribeToDeltaPriceResult","useSubscribeToDeltaPrice","observer","subscribe","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaPriceV2","Pick","debouncedAmount","wait","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaV2SDK } 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 DeltaPriceV2,\n DeltaPriceV2Params as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\n// destChainId is passed separately to keep the query key stable\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\nexport type DeltaPriceQueryParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPriceV2> = Omit<\n UseQueryOptions<DeltaPriceV2, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPriceV2> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPriceV2> = {\n priceParams: DeltaPriceQueryParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n destChainId?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceQueryParams & {\n destChainId?: number;\n },\n];\n\nexport function useDeltaPriceQuery<TData = DeltaPriceV2>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout = PRICE_FETCH_TIMEOUT_MS,\n destChainId,\n}: DeltaPriceQueryInput<TData>): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaV2SDK({ 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<DeltaPriceV2, Error, TData, DeltaPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPriceV2(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: DeltaPriceQueryParams\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 | DeltaPriceV2\n): price is DeltaPriceV2 {\n return \"route\" in price;\n}\n\nexport function isBridgePrice(price: DeltaPriceV2): boolean {\n return price.route.bridge !== null;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPriceV2;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPriceV2,\n Error,\n DeltaPriceV2,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) => DeltaPriceQuery | 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<DeltaPriceV2, Error, DeltaPriceV2>({\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: DeltaPriceV2) => 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 DeltaPriceV2,\n Error,\n DeltaPriceV2,\n DeltaPriceV2,\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): Query<DeltaPriceV2, Error, DeltaPriceV2> | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPriceV2, Error, DeltaPriceV2>({\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): DeltaPriceV2 | 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 isDataDeltaPriceV2(\n price: unknown\n): price is DeltaPriceV2 {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"route\" in price &&\n \"inputToken\" in price &&\n \"outputToken\" 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: DeltaPriceQueryParams & {\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsTokenSupportedInDelta.js","names":["useGlobalDeltaEnabled","useDeltaSDK","useQuery","UseQueryOptions","UseQueryResult","assert","IsTokenSupportedInDeltaParams","IsTokenSupportedInDeltaReturn","IsTokenSupportedInDeltaQueryParams","Omit","Error","TData","IsTokenSupportedInDeltaQueryKey","IsTokenSupportedInDeltaQueryResult","IsTokenSupportedInDeltaQueryInput","token","query","chainId","base","useIsTokenSupportedInDeltaQuery","t0","$","_c","t1","sdk","enabledOnCurrentChain","t2","toLowerCase","t3","t4","t5","signal","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n const { enabledOnCurrentChain } = useGlobalDeltaEnabled();\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && enabledOnCurrentChain && (query?.enabled ?? true),\n });\n}\n"],"mappings":";;;;;;AAsCA,SAAOmB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAEL,EAAAP,UAAAC,UAAAC,eAAAG,GAIyCG;AAAA,CAAAF,EAAA,OAAAJ,IACFM,IAAAF,EAAA,MAAXE,IAAA,EAAAN,YAAW,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE;CAAvC,IAAA,EAAAC,WAAgBvB,EAAYsB,EAAY,EACxC,EAAAE,6BAAkCzB,GAAuB,EAAC0B;AAAA,CAAAL,EAAA,OAAAN,IAQiBW,IAAAL,EAAA,MAApBK,IAAAX,GAAKY,aAAe,EAAAN,EAAA,KAAAN,GAAAM,EAAA,KAAAK;CAAA,IAAAE;AAAA,CAAAP,EAAA,OAAAJ,KAAAI,EAAA,OAAAK,KAA/DE,IAAA;EAAC;EAAiCX;EAASS;EAAqB,EAAAL,EAAA,KAAAJ,GAAAI,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;AAAA,CAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KACjEc,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AAE2D,SADnEzB,EAAOU,GAAO,oBAAoB,EACdS,EAAGS,wBAAyBlB,GAAO,EAAAgB,WAAU,CAAC;IAEnEV,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAKQ,IAAAS,IAAA,CAAC,CAACf,KAAFU,MAAqCT,GAAKkB,WAAL,KAAuBC;AACtE,QADsEd,EAAA,QAAAL,KAAAK,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAXrEK,IAAA;EAAAC,UACUR;EAAgES,SACjER;EAIRS,WAEUC;EAAQC,QACXD;EAAQ,GACbvB;EAAKkB,SACCJ;EACV,EAAAT,EAAA,MAAAL,GAAAK,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAjBMnB,EAKLiC,EAYA"}
1
+ {"version":3,"file":"useIsTokenSupportedInDelta.js","names":["useGlobalDeltaEnabled","useDeltaSDK","useQuery","UseQueryOptions","UseQueryResult","assert","IsTokenSupportedInDeltaParams","IsTokenSupportedInDeltaReturn","IsTokenSupportedInDeltaQueryParams","Omit","Error","TData","IsTokenSupportedInDeltaQueryKey","IsTokenSupportedInDeltaQueryResult","IsTokenSupportedInDeltaQueryInput","token","query","chainId","base","useIsTokenSupportedInDeltaQuery","t0","$","_c","t1","sdk","enabledOnCurrentChain","t2","toLowerCase","t3","t4","t5","signal","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n const { enabledOnCurrentChain } = useGlobalDeltaEnabled();\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && enabledOnCurrentChain && (query?.enabled ?? true),\n });\n}\n"],"mappings":";;;;;;AAsCA,SAAOmB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAEL,EAAAP,UAAAC,UAAAC,eAAAG,GAIyCG;CAAA,AAAAF,EAAA,OAAAJ,IACFM,IAAAF,EAAA,MAAXE,IAAA,EAAAN,YAAW,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE;CAAvC,IAAA,EAAAC,WAAgBvB,EAAYsB,EAAY,EACxC,EAAAE,6BAAkCzB,GAAuB,EAAC0B;CAAA,AAAAL,EAAA,OAAAN,IAQiBW,IAAAL,EAAA,MAApBK,IAAAX,GAAKY,aAAe,EAAAN,EAAA,KAAAN,GAAAM,EAAA,KAAAK;CAAA,IAAAE;CAAA,AAAAP,EAAA,OAAAJ,KAAAI,EAAA,OAAAK,KAA/DE,IAAA;EAAC;EAAiCX;EAASS;EAAqB,EAAAL,EAAA,KAAAJ,GAAAI,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;CAAA,AAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KACjEc,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EAE2D,OADnEzB,EAAOU,GAAO,oBAAoB,EACdS,EAAGS,wBAAyBlB,GAAO,EAAAgB,WAAU,CAC1DC;IACRX,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAKQ,IAAAS,IAAA,CAAC,CAACf,KAAFU,MAAqCT,GAAKkB,WAAL,KAAuBC;CACtE,OADsEd,EAAA,QAAAL,KAAAK,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAXrEK,IAAA;EAAAC,UACUR;EAAgES,SACjER;EAIRS,WAEUC;EAAQC,QACXD;EAAQ,GACbvB;EAAKkB,SACCJ;EACV,EAAAT,EAAA,MAAAL,GAAAK,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAjBMnB,EAKLiC,EAYA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,iBAAiB,CA4B1B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,iBAAiB,CAiC1B"}
@@ -11,7 +11,7 @@ function r({ price: r, priceError: i }) {
11
11
  isUnavailable: !1
12
12
  };
13
13
  let a = null, o = null;
14
- return r ? (a = r.srcUSD, o = e(r) ? r.receivedDestUSD : r.destUSD) : i && n(i) && i.response && (a = i.response.data.priceRoute.srcUSD, o = i.response.data.priceRoute.destUSD), t({
14
+ return r ? e(r) ? (a = r.route.origin.input.amountUSD, o = r.route.destination.output.amountUSD) : (a = r.srcUSD, o = r.destUSD) : i && n(i) && i.response && (a = i.response.data.priceRoute.srcUSD, o = i.response.data.priceRoute.destUSD), t({
15
15
  srcUSD: a,
16
16
  destUSD: o
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","names":["getPriceImpact","PriceImpactResult","DeltaOrMarketPrice","isMarketPriceImpactError","isDeltaPrice","getPriceImpactFromPriceFactory","price","priceError","Error","priceImpact","undefined","isHighImpact","isMediumImpact","isUnavailable","srcUSD","destUSD","receivedDestUSD","response","data","priceRoute"],"sources":["../../../../src/hooks/swap/prices/factory.ts"],"sourcesContent":["import {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\n\nexport function getPriceImpactFromPriceFactory({\n price,\n priceError,\n}: {\n price?: DeltaOrMarketPrice;\n priceError: Error | null;\n}): () => PriceImpactResult {\n return () => {\n if (!price && !priceError) {\n return {\n priceImpact: undefined,\n isHighImpact: false,\n isMediumImpact: false,\n isUnavailable: false,\n };\n }\n\n let srcUSD: string | null = null;\n let destUSD: string | null = null;\n\n if (price) {\n srcUSD = price.srcUSD;\n destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n } else if (\n priceError &&\n isMarketPriceImpactError(priceError) &&\n priceError.response\n ) {\n srcUSD = priceError.response.data.priceRoute.srcUSD;\n destUSD = priceError.response.data.priceRoute.destUSD;\n }\n\n return getPriceImpact({ srcUSD, destUSD });\n };\n}\n"],"mappings":";;;;AAQA,SAAgBK,EAA+B,EAC7CC,UACAC,iBAI0B;AAC1B,cAAa;AACX,MAAI,CAACD,KAAS,CAACC,EACb,QAAO;GACLE,aAAaC,KAAAA;GACbC,cAAc;GACdC,gBAAgB;GAChBC,eAAe;GAChB;EAGH,IAAIC,IAAwB,MACxBC,IAAyB;AAc7B,SAZIT,KACFQ,IAASR,EAAMQ,QACfC,IAAUX,EAAaE,EAAM,GAAGA,EAAMU,kBAAkBV,EAAMS,WAE9DR,KACAJ,EAAyBI,EAAW,IACpCA,EAAWU,aAEXH,IAASP,EAAWU,SAASC,KAAKC,WAAWL,QAC7CC,IAAUR,EAAWU,SAASC,KAAKC,WAAWJ,UAGzCf,EAAe;GAAEc;GAAQC;GAAS,CAAC"}
1
+ {"version":3,"file":"factory.js","names":["getPriceImpact","PriceImpactResult","DeltaOrMarketPrice","isMarketPriceImpactError","isDeltaPrice","getPriceImpactFromPriceFactory","price","priceError","Error","priceImpact","undefined","isHighImpact","isMediumImpact","isUnavailable","srcUSD","destUSD","route","origin","input","amountUSD","destination","output","response","data","priceRoute"],"sources":["../../../../src/hooks/swap/prices/factory.ts"],"sourcesContent":["import {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\n\nexport function getPriceImpactFromPriceFactory({\n price,\n priceError,\n}: {\n price?: DeltaOrMarketPrice;\n priceError: Error | null;\n}): () => PriceImpactResult {\n return () => {\n if (!price && !priceError) {\n return {\n priceImpact: undefined,\n isHighImpact: false,\n isMediumImpact: false,\n isUnavailable: false,\n };\n }\n\n let srcUSD: string | null = null;\n let destUSD: string | null = null;\n\n if (price) {\n if (isDeltaPrice(price)) {\n srcUSD = price.route.origin.input.amountUSD;\n destUSD = price.route.destination.output.amountUSD;\n } else {\n srcUSD = price.srcUSD;\n destUSD = price.destUSD;\n }\n } else if (\n priceError &&\n isMarketPriceImpactError(priceError) &&\n priceError.response\n ) {\n srcUSD = priceError.response.data.priceRoute.srcUSD;\n destUSD = priceError.response.data.priceRoute.destUSD;\n }\n\n return getPriceImpact({ srcUSD, destUSD });\n };\n}\n"],"mappings":";;;;AAQA,SAAgBK,EAA+B,EAC7CC,UACAC,iBAI0B;CAC1B,aAAa;EACX,IAAI,CAACD,KAAS,CAACC,GACb,OAAO;GACLE,aAAaC,KAAAA;GACbC,cAAc;GACdC,gBAAgB;GAChBC,eAAe;GAChB;EAGH,IAAIC,IAAwB,MACxBC,IAAyB;EAmB7B,OAjBIT,IACEF,EAAaE,EAAM,IACrBQ,IAASR,EAAMU,MAAMC,OAAOC,MAAMC,WAClCJ,IAAUT,EAAMU,MAAMI,YAAYC,OAAOF,cAEzCL,IAASR,EAAMQ,QACfC,IAAUT,EAAMS,WAGlBR,KACAJ,EAAyBI,EAAW,IACpCA,EAAWe,aAEXR,IAASP,EAAWe,SAASC,KAAKC,WAAWV,QAC7CC,IAAUR,EAAWe,SAASC,KAAKC,WAAWT,UAGzCf,EAAe;GAAEc;GAAQC;GAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildTx.js","names":["useMarketSwapSDK","useMutation","UseMutationOptions","UseMutationResult","BuildSwapTxInput","BuildOptions","TransactionParams","BuildMarketSwapTxInput","swapTxInput","swapTxOptions","BuildTxReturn","BuildTxMutationOptions","Omit","Error","BuildTxMutationInput","mutationOptions","chainId","useBuildTx","t0","$","_c","t1","sdk","t2","t3","tx","buildTx","mutationFn"],"sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildSwapTxInput,\n BuildOptions,\n TransactionParams,\n} from \"@velora-dex/sdk\";\n\nexport type BuildMarketSwapTxInput = {\n swapTxInput: BuildSwapTxInput;\n swapTxOptions?: BuildOptions;\n};\nexport type BuildTxReturn = TransactionParams;\n\ntype BuildTxMutationOptions = Omit<\n UseMutationOptions<BuildTxReturn, Error, BuildMarketSwapTxInput, void>,\n \"mutationFn\"\n>;\n\ntype BuildTxMutationInput = {\n mutationOptions?: BuildTxMutationOptions;\n chainId: number;\n};\n\nexport function useBuildTx({\n mutationOptions,\n chainId,\n}: BuildTxMutationInput): UseMutationResult<\n BuildTxReturn,\n Error,\n BuildMarketSwapTxInput,\n void\n> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useMutation<BuildTxReturn, Error, BuildMarketSwapTxInput, void>({\n mutationFn: async ({\n swapTxInput,\n swapTxOptions,\n }: BuildMarketSwapTxInput) => {\n const tx = await sdk.buildTx(swapTxInput, swapTxOptions);\n return tx;\n },\n ...mutationOptions,\n });\n}\n"],"mappings":";;;;AA4BA,SAAOiB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAoB,EAAAL,oBAAAC,eAAAE,GAGJG;AAAA,CAAAF,EAAA,OAAAH,IAMuBK,IAAAF,EAAA,MAAXE,IAAA,EAAAL,YAAW,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgBtB,EAAiBqB,EAAY,EAACE;AAAA,CAAAJ,EAAA,OAAAG,IAS3CC,IAAAJ,EAAA,MANWI,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAhB,gBAAAC,qBAAAe;AAIwC,SAA9C,MAAMF,EAAGI,QAASlB,GAAaC,EAAc;IAEzDU,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAA,IAAAC;AAEF,QAFEL,EAAA,OAAAJ,KAAAI,EAAA,OAAAI,KAPoEC,IAAA;EAAAG,YACzDJ;EAMX,GACER;EACJ,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IATMlB,EAAgEuB,EASrE"}
1
+ {"version":3,"file":"useBuildTx.js","names":["useMarketSwapSDK","useMutation","UseMutationOptions","UseMutationResult","BuildSwapTxInput","BuildOptions","TransactionParams","BuildMarketSwapTxInput","swapTxInput","swapTxOptions","BuildTxReturn","BuildTxMutationOptions","Omit","Error","BuildTxMutationInput","mutationOptions","chainId","useBuildTx","t0","$","_c","t1","sdk","t2","t3","tx","buildTx","mutationFn"],"sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildSwapTxInput,\n BuildOptions,\n TransactionParams,\n} from \"@velora-dex/sdk\";\n\nexport type BuildMarketSwapTxInput = {\n swapTxInput: BuildSwapTxInput;\n swapTxOptions?: BuildOptions;\n};\nexport type BuildTxReturn = TransactionParams;\n\ntype BuildTxMutationOptions = Omit<\n UseMutationOptions<BuildTxReturn, Error, BuildMarketSwapTxInput, void>,\n \"mutationFn\"\n>;\n\ntype BuildTxMutationInput = {\n mutationOptions?: BuildTxMutationOptions;\n chainId: number;\n};\n\nexport function useBuildTx({\n mutationOptions,\n chainId,\n}: BuildTxMutationInput): UseMutationResult<\n BuildTxReturn,\n Error,\n BuildMarketSwapTxInput,\n void\n> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useMutation<BuildTxReturn, Error, BuildMarketSwapTxInput, void>({\n mutationFn: async ({\n swapTxInput,\n swapTxOptions,\n }: BuildMarketSwapTxInput) => {\n const tx = await sdk.buildTx(swapTxInput, swapTxOptions);\n return tx;\n },\n ...mutationOptions,\n });\n}\n"],"mappings":";;;;AA4BA,SAAOiB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAoB,EAAAL,oBAAAC,eAAAE,GAGJG;CAAA,AAAAF,EAAA,OAAAH,IAMuBK,IAAAF,EAAA,MAAXE,IAAA,EAAAL,YAAW,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgBtB,EAAiBqB,EAAY,EAACE;CAAA,AAAAJ,EAAA,OAAAG,IAS3CC,IAAAJ,EAAA,MANWI,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAhB,gBAAAC,qBAAAe;EAIwC,OAClDC,MADUH,EAAGI,QAASlB,GAAaC,EAAc;IAEzDU,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAA,IAAAC;CAEF,OAFEL,EAAA,OAAAJ,KAAAI,EAAA,OAAAI,KAPoEC,IAAA;EAAAG,YACzDJ;EAMX,GACER;EACJ,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IATMlB,EAAgEuB,EASrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMarketSwapTx.js","names":["Hash","txParamsToViemTxParams","TransactionParams","useSendArbitraryTx","UseSendArbitraryTxReturn","SupportedChainId","UseSendMarketSwapTxInput","onSuccess","hash","onError","error","Error","TxParamsWithChainId","chainId","UseSendMarketSwapTxReturn","Omit","sendTransaction","txParams","sendTransactionAsync","Promise","useSendMarketSwapTx","t0","$","_c","t1","_sendTransaction","_sendTransactionAsync","isPending","isSuccess","isError","txHash","reset","t2","t3","txParams_0","t4"],"sources":["../../../../../../src/hooks/swap/prices/market/mutations/useSendMarketSwapTx.ts"],"sourcesContent":["import { type Hash } from \"viem\";\nimport {\n txParamsToViemTxParams,\n type TransactionParams,\n} from \"@velora-dex/sdk\";\nimport {\n useSendArbitraryTx,\n type UseSendArbitraryTxReturn,\n} from \"@/hooks/txs/mutations/useSendTx\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ntype UseSendMarketSwapTxInput = {\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\ntype TxParamsWithChainId = TransactionParams & {\n chainId: SupportedChainId;\n};\n\ntype UseSendMarketSwapTxReturn = Omit<\n UseSendArbitraryTxReturn,\n \"sendTransaction\" | \"sendTransactionAsync\"\n> & {\n sendTransaction: (txParams: TxParamsWithChainId) => void;\n sendTransactionAsync: (txParams: TxParamsWithChainId) => Promise<Hash>;\n};\n\nexport const useSendMarketSwapTx = ({\n onSuccess,\n onError,\n}: UseSendMarketSwapTxInput): UseSendMarketSwapTxReturn => {\n const {\n sendTransaction: _sendTransaction,\n sendTransactionAsync: _sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n } = useSendArbitraryTx({\n onSuccess,\n onError,\n });\n\n const sendTransaction = (txParams: TxParamsWithChainId) => {\n _sendTransaction({\n ...txParamsToViemTxParams(txParams),\n chainId: txParams.chainId,\n });\n };\n\n const sendTransactionAsync = (txParams: TxParamsWithChainId) => {\n return _sendTransactionAsync({\n ...txParamsToViemTxParams(txParams),\n chainId: txParams.chainId,\n });\n };\n\n return {\n sendTransaction,\n sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"mappings":";;;;;AA4BA,IAAaoB,KAAsBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAhB,cAAAE,eAAAY,GAGTG;AAAA,CAAAF,EAAA,OAAAb,KAAAa,EAAA,OAAAf,KAUFiB,IAAA;EAAAjB;EAAAE;EAGtB,EAAAa,EAAA,KAAAb,GAAAa,EAAA,KAAAf,GAAAe,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAZD,IAAA,EAAAN,iBAAAS,GAAAP,sBAAAQ,GAAAC,cAAAC,cAAAC,YAAAnB,UAAAoB,WAAAC,aASI5B,EAAmBqB,EAGrB,EAACQ;AAAA,CAAAV,EAAA,OAAAG,IAOFO,IAAAV,EAAA,MALuBU,KAAAf,MAAA;AACtBQ,IAAiB;GAAA,GACZxB,EAAuBgB,EAAS;GAAAJ,SAC1BI,EAAQJ;GAClB,CAAC;IACHS,EAAA,KAAAG,GAAAH,EAAA,KAAAU;CALD,IAAAhB,IAAwBgB,GAKtBC;AAAA,CAAAX,EAAA,OAAAI,IAODO,IAAAX,EAAA,MAL4BW,KAAAC,MACpBR,EAAsB;EAAA,GACxBzB,EAAuBgB,EAAS;EAAAJ,SAC1BI,EAAQJ;EAClB,CACF,EAAAS,EAAA,KAAAI,GAAAJ,EAAA,KAAAW;CALD,IAAAf,IAA6Be,GAK3BE;AAWD,QAXCb,EAAA,OAAAZ,KAAAY,EAAA,OAAAO,KAAAP,EAAA,OAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAS,KAAAT,EAAA,QAAAN,KAAAM,EAAA,QAAAJ,KAAAI,EAAA,QAAAQ,KAEKK,IAAA;EAAAnB;EAAAE;EAAAS;EAAAC;EAAAC;EAAAnB;EAAAoB;EAAAC;EASN,EAAAT,EAAA,KAAAZ,GAAAY,EAAA,KAAAO,GAAAP,EAAA,KAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAS,GAAAT,EAAA,MAAAN,GAAAM,EAAA,MAAAJ,GAAAI,EAAA,MAAAQ,GAAAR,EAAA,MAAAa,KAAAA,IAAAb,EAAA,KATMa"}
1
+ {"version":3,"file":"useSendMarketSwapTx.js","names":["Hash","txParamsToViemTxParams","TransactionParams","useSendArbitraryTx","UseSendArbitraryTxReturn","SupportedChainId","UseSendMarketSwapTxInput","onSuccess","hash","onError","error","Error","TxParamsWithChainId","chainId","UseSendMarketSwapTxReturn","Omit","sendTransaction","txParams","sendTransactionAsync","Promise","useSendMarketSwapTx","t0","$","_c","t1","_sendTransaction","_sendTransactionAsync","isPending","isSuccess","isError","txHash","reset","t2","t3","txParams_0","t4"],"sources":["../../../../../../src/hooks/swap/prices/market/mutations/useSendMarketSwapTx.ts"],"sourcesContent":["import { type Hash } from \"viem\";\nimport {\n txParamsToViemTxParams,\n type TransactionParams,\n} from \"@velora-dex/sdk\";\nimport {\n useSendArbitraryTx,\n type UseSendArbitraryTxReturn,\n} from \"@/hooks/txs/mutations/useSendTx\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ntype UseSendMarketSwapTxInput = {\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\ntype TxParamsWithChainId = TransactionParams & {\n chainId: SupportedChainId;\n};\n\ntype UseSendMarketSwapTxReturn = Omit<\n UseSendArbitraryTxReturn,\n \"sendTransaction\" | \"sendTransactionAsync\"\n> & {\n sendTransaction: (txParams: TxParamsWithChainId) => void;\n sendTransactionAsync: (txParams: TxParamsWithChainId) => Promise<Hash>;\n};\n\nexport const useSendMarketSwapTx = ({\n onSuccess,\n onError,\n}: UseSendMarketSwapTxInput): UseSendMarketSwapTxReturn => {\n const {\n sendTransaction: _sendTransaction,\n sendTransactionAsync: _sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n } = useSendArbitraryTx({\n onSuccess,\n onError,\n });\n\n const sendTransaction = (txParams: TxParamsWithChainId) => {\n _sendTransaction({\n ...txParamsToViemTxParams(txParams),\n chainId: txParams.chainId,\n });\n };\n\n const sendTransactionAsync = (txParams: TxParamsWithChainId) => {\n return _sendTransactionAsync({\n ...txParamsToViemTxParams(txParams),\n chainId: txParams.chainId,\n });\n };\n\n return {\n sendTransaction,\n sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"mappings":";;;;;AA4BA,IAAaoB,KAAsBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAhB,cAAAE,eAAAY,GAGTG;CAAA,AAAAF,EAAA,OAAAb,KAAAa,EAAA,OAAAf,KAUFiB,IAAA;EAAAjB;EAAAE;EAGtB,EAAAa,EAAA,KAAAb,GAAAa,EAAA,KAAAf,GAAAe,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAZD,IAAA,EAAAN,iBAAAS,GAAAP,sBAAAQ,GAAAC,cAAAC,cAAAC,YAAAnB,UAAAoB,WAAAC,aASI5B,EAAmBqB,EAGrB,EAACQ;CAAA,AAAAV,EAAA,OAAAG,IAOFO,IAAAV,EAAA,MALuBU,KAAAf,MAAA;EACtBQ,EAAiB;GAAA,GACZxB,EAAuBgB,EAAS;GAAAJ,SAC1BI,EAAQJ;GAClB,CAAC;IACHS,EAAA,KAAAG,GAAAH,EAAA,KAAAU;CALD,IAAAhB,IAAwBgB,GAKtBC;CAAA,AAAAX,EAAA,OAAAI,IAODO,IAAAX,EAAA,MAL4BW,KAAAC,MACpBR,EAAsB;EAAA,GACxBzB,EAAuBgB,EAAS;EAAAJ,SAC1BI,EAAQJ;EAClB,CACF,EAAAS,EAAA,KAAAI,GAAAJ,EAAA,KAAAW;CALD,IAAAf,IAA6Be,GAK3BE;CAWD,OAXCb,EAAA,OAAAZ,KAAAY,EAAA,OAAAO,KAAAP,EAAA,OAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAS,KAAAT,EAAA,QAAAN,KAAAM,EAAA,QAAAJ,KAAAI,EAAA,QAAAQ,KAEKK,IAAA;EAAAnB;EAAAE;EAAAS;EAAAC;EAAAC;EAAAnB;EAAAoB;EAAAC;EASN,EAAAT,EAAA,KAAAZ,GAAAY,EAAA,KAAAO,GAAAP,EAAA,KAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAS,GAAAT,EAAA,MAAAN,GAAAM,EAAA,MAAAJ,GAAAI,EAAA,MAAAQ,GAAAR,EAAA,MAAAa,KAAAA,IAAAb,EAAA,KATMa"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDexesList.js","names":["useQuery","useChainId","DexesListReturn","DexesListQueryInput","DexesListQueryResult","DexesListQueryKeyType","useConnectedSafe","filterOutDexesForSafe","useMarketSwapSDK","useDexesListQuery","t0","$","_c","t1","undefined","query","chainId","t2","sdk","t3","t4","t5","signal","getAdapters","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime","useDexesList","isConnectedToSafe","select"],"sources":["../../../../../../../src/hooks/swap/prices/market/queries/dexesList/useDexesList.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type {\n DexesListReturn,\n DexesListQueryInput,\n DexesListQueryResult,\n DexesListQueryKeyType,\n} from \"./types\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { filterOutDexesForSafe } from \"@/lib/utils/dexes\";\nimport { useMarketSwapSDK } from \"@/hooks/useSDK\";\n\nexport function useDexesListQuery<TData = DexesListReturn>({\n query,\n}: DexesListQueryInput<TData> = {}): DexesListQueryResult<TData> {\n const chainId = useChainId();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<DexesListReturn, Error, TData, DexesListQueryKeyType>({\n queryKey: [\"swap/market/dexes-list\", chainId],\n queryFn: async ({ signal }) =>\n sdk.getAdapters({\n signal,\n }),\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\nexport function useDexesList() {\n const isConnectedToSafe = useConnectedSafe();\n\n return useDexesListQuery({\n query: {\n select: isConnectedToSafe ? filterOutDexesForSafe : undefined,\n },\n });\n}\n"],"mappings":";;;;;;;AAYA,SAAOS,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;AAAA,CAAAF,EAAA,OAAAD,IAE2BG,IAAAF,EAAA,MAFyBE,IAAAH,MAAAI,KAAAA,IAAA,EAEzB,GAFyBJ,GAEzBC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAFyB,IAAA,EAAAE,aAAAF,GAGzDG,IAAgBf,GAAY,EAACgB;AAAA,CAAAN,EAAA,OAAAK,IACeC,IAAAN,EAAA,MAAXM,IAAA,EAAAD,YAAW,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAM;CAA5C,IAAA,EAAAC,WAAgBV,EAAiBS,EAAY,EAACE;AAAA,CAAAR,EAAA,OAAAK,IAGCG,IAAAR,EAAA,MAAnCQ,IAAA,CAAC,0BAA0BH,EAAQ,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAQ;CAAA,IAAAC;AAAA,CAAAT,EAAA,OAAAO,IAIzCE,IAAAT,EAAA,MAHKS,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAC,cAAAD;AAAU,SACxBH,EAAGK,YAAa,EAAAD,WAEf,CAAC;IAAAX,EAAA,KAAAO,GAAAP,EAAA,KAAAS;CAKK,IAAAC,IAAAN,GAAKS,WAAL,IAAsBC;AAChC,QADgCd,EAAA,OAAAI,KAAAJ,EAAA,OAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAU,KAVqCI,IAAA;EAAAC,UAC1DP;EAAmCQ,SACpCP;EAGLQ,WAEOC;EAAQC,QACXD;EAAQ,GACbd;EAAKS,SACCH;EACV,EAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAU,GAAAV,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAXMX,EAA+DyB,EAWpE;;AAGJ,SAAOM,IAAA;CAAA,IAAApB,IAAAC,EAAA,EAAA,EAKOF,IAJcJ,GAAkB,GAIhCC,IAAAO,KAAAA,GAAqDD;AAEhE,QAFgEF,EAAA,OAAAD,IAEhEG,IAAAF,EAAA,MAJwBE,IAAA,EAAAE,OAChB,EAAAkB,QACGvB,GACV,EACD,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAJMJ,EAAkBI,EAIvB"}
1
+ {"version":3,"file":"useDexesList.js","names":["useQuery","useChainId","DexesListReturn","DexesListQueryInput","DexesListQueryResult","DexesListQueryKeyType","useConnectedSafe","filterOutDexesForSafe","useMarketSwapSDK","useDexesListQuery","t0","$","_c","t1","undefined","query","chainId","t2","sdk","t3","t4","t5","signal","getAdapters","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime","useDexesList","isConnectedToSafe","select"],"sources":["../../../../../../../src/hooks/swap/prices/market/queries/dexesList/useDexesList.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type {\n DexesListReturn,\n DexesListQueryInput,\n DexesListQueryResult,\n DexesListQueryKeyType,\n} from \"./types\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { filterOutDexesForSafe } from \"@/lib/utils/dexes\";\nimport { useMarketSwapSDK } from \"@/hooks/useSDK\";\n\nexport function useDexesListQuery<TData = DexesListReturn>({\n query,\n}: DexesListQueryInput<TData> = {}): DexesListQueryResult<TData> {\n const chainId = useChainId();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<DexesListReturn, Error, TData, DexesListQueryKeyType>({\n queryKey: [\"swap/market/dexes-list\", chainId],\n queryFn: async ({ signal }) =>\n sdk.getAdapters({\n signal,\n }),\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\nexport function useDexesList() {\n const isConnectedToSafe = useConnectedSafe();\n\n return useDexesListQuery({\n query: {\n select: isConnectedToSafe ? filterOutDexesForSafe : undefined,\n },\n });\n}\n"],"mappings":";;;;;;;AAYA,SAAOS,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAE2BG,IAAAF,EAAA,MAFyBE,IAAAH,MAAAI,KAAAA,IAAA,EAEzB,GAFyBJ,GAEzBC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAFyB,IAAA,EAAAE,aAAAF,GAGzDG,IAAgBf,GAAY,EAACgB;CAAA,AAAAN,EAAA,OAAAK,IACeC,IAAAN,EAAA,MAAXM,IAAA,EAAAD,YAAW,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAM;CAA5C,IAAA,EAAAC,WAAgBV,EAAiBS,EAAY,EAACE;CAAA,AAAAR,EAAA,OAAAK,IAGCG,IAAAR,EAAA,MAAnCQ,IAAA,CAAC,0BAA0BH,EAAQ,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAQ;CAAA,IAAAC;CAAA,AAAAT,EAAA,OAAAO,IAIzCE,IAAAT,EAAA,MAHKS,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAC,cAAAD;EAAU,OACxBH,EAAGK,YAAa,EAAAD,WAEf,CAAC;IAAAX,EAAA,KAAAO,GAAAP,EAAA,KAAAS;CAKK,IAAAC,IAAAN,GAAKS,WAAL,IAAsBC;CAChC,OADgCd,EAAA,OAAAI,KAAAJ,EAAA,OAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAU,KAVqCI,IAAA;EAAAC,UAC1DP;EAAmCQ,SACpCP;EAGLQ,WAEOC;EAAQC,QACXD;EAAQ,GACbd;EAAKS,SACCH;EACV,EAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAU,GAAAV,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAXMX,EAA+DyB,EAWpE;;AAGJ,SAAOM,IAAA;CAAA,IAAApB,IAAAC,EAAA,EAAA,EAKOF,IAJcJ,GAId0B,GAAAzB,IAAAO,KAAAA,GAAqDD;CAEhE,OAFgEF,EAAA,OAAAD,IAEhEG,IAAAF,EAAA,MAJwBE,IAAA,EAAAE,OAChB,EAAAkB,QACGvB,GACV,EACD,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAJMJ,EAAkBI,EAIvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["isFetcherError","OptimalRate","AxoisLikeError","response","data","TData","isMarketPriceImpactError","error","priceRoute","message","isMarketBadUsdPriceError","Error","isMarketNoLiquidityError"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"sourcesContent":["import { isFetcherError, type OptimalRate } from \"@velora-dex/sdk\";\n\n// {\n// \"error\": \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\",\n// \"value\": \"97.81%\",\n// \"priceRoute\": { ... }\n// }\ntype AxoisLikeError<TData = unknown> = {\n response: {\n data: TData;\n };\n};\nexport function isMarketPriceImpactError(\n error: unknown\n): error is AxoisLikeError<{\n priceRoute: OptimalRate;\n}> {\n if (!isFetcherError(error)) return false;\n\n return error.message === \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"Bad USD price\",\n// }\nexport function isMarketBadUsdPriceError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"Bad USD price\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"No routes found with enough liquidity\"\n// }\nexport function isMarketNoLiquidityError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"No routes found with enough liquidity\"; // e.error returned as e.message in SDK\n}\n"],"mappings":";;AAYA,SAAgBM,EACdC,GAGC;AAGD,QAFKP,EAAeO,EAAM,GAEnBA,EAAME,YAAY,2CAFU;;AAQrC,SAAgBC,EAAyBH,GAAyB;AAEhE,QADMA,aAAiBI,QAChBJ,EAAME,YAAY,kBADa;;AAOxC,SAAgBG,EAAyBL,GAAyB;AAEhE,QADMA,aAAiBI,QAChBJ,EAAME,YAAY,0CADa"}
1
+ {"version":3,"file":"errors.js","names":["isFetcherError","OptimalRate","AxoisLikeError","response","data","TData","isMarketPriceImpactError","error","priceRoute","message","isMarketBadUsdPriceError","Error","isMarketNoLiquidityError"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"sourcesContent":["import { isFetcherError, type OptimalRate } from \"@velora-dex/sdk\";\n\n// {\n// \"error\": \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\",\n// \"value\": \"97.81%\",\n// \"priceRoute\": { ... }\n// }\ntype AxoisLikeError<TData = unknown> = {\n response: {\n data: TData;\n };\n};\nexport function isMarketPriceImpactError(\n error: unknown\n): error is AxoisLikeError<{\n priceRoute: OptimalRate;\n}> {\n if (!isFetcherError(error)) return false;\n\n return error.message === \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"Bad USD price\",\n// }\nexport function isMarketBadUsdPriceError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"Bad USD price\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"No routes found with enough liquidity\"\n// }\nexport function isMarketNoLiquidityError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return error.message === \"No routes found with enough liquidity\"; // e.error returned as e.message in SDK\n}\n"],"mappings":";;AAYA,SAAgBM,EACdC,GAGC;CAGD,OAFKP,EAAeO,EAAM,GAEnBA,EAAME,YAAY,2CAFU;;AAQrC,SAAgBC,EAAyBH,GAAyB;CAEhE,OADMA,aAAiBI,QAChBJ,EAAME,YAAY,kBADa;;AAOxC,SAAgBG,EAAyBL,GAAyB;CAEhE,OADMA,aAAiBI,QAChBJ,EAAME,YAAY,0CADa"}
@@ -42,7 +42,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
42
42
  sanitizedPriceParams: {
43
43
  amount: string;
44
44
  userAddress: string | undefined;
45
- side: "SELL" | "BUY" | undefined;
45
+ side: "BUY" | "SELL" | undefined;
46
46
  srcDecimals: number | undefined;
47
47
  destDecimals: number | undefined;
48
48
  srcToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","PRICE_FETCH_TIMEOUT_MS","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","undefined","t2","sdk","queryEnabled","enabled","t3","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getRate","t6","queryFn","result","t7","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"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\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\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 = PRICE_FETCH_TIMEOUT_MS,\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"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","PRICE_FETCH_TIMEOUT_MS","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","undefined","t2","sdk","queryEnabled","enabled","t3","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getRate","t6","queryFn","result","t7","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"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\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\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 = PRICE_FETCH_TIMEOUT_MS,\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"],"mappings":"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"}