@velora-dex/widget 0.8.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) 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.js.map +1 -1
  43. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  44. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  45. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  46. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  47. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  48. package/dist/components/widget/Button/RefreshButton.js.map +1 -1
  49. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  50. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  51. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  52. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  53. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  54. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  55. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  56. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  57. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  58. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  59. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  61. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  62. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  63. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  66. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  67. package/dist/components/widget/Drawer/index.js.map +1 -1
  68. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  69. package/dist/components/widget/Duration/Duration.js.map +1 -1
  70. package/dist/components/widget/Duration/utils.js.map +1 -1
  71. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  72. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  73. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  74. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  75. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  76. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  77. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  78. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  79. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  80. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  81. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  82. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  83. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  84. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  85. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  86. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  87. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  88. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  90. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  91. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  92. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  93. package/dist/components/widget/Line/Line.js.map +1 -1
  94. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  95. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  96. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  97. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  98. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  99. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  100. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  102. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  103. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  104. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  105. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  106. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  107. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  108. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  109. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  110. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  111. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  112. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  113. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  114. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  115. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  116. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  117. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  118. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  119. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  120. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  121. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  122. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  123. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  124. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  125. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  126. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  127. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  128. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  129. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  130. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  131. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  132. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  133. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  134. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  135. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  136. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  137. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  138. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  139. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  140. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  141. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  142. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  143. package/dist/components/widget/TokenInput/index.js.map +1 -1
  144. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  148. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  149. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  151. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  162. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  178. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  179. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  180. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  181. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  182. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  183. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  184. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  185. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  186. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  187. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  188. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  189. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  190. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  191. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  192. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  193. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  194. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  195. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  196. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  197. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  198. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  205. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  206. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  207. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  208. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  209. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  210. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  211. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  212. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  213. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  214. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  215. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  216. package/dist/components/widget/Warning/Warning.js.map +1 -1
  217. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  218. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  219. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  220. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  221. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  222. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  223. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  224. package/dist/core/LimitOrderButton.js.map +1 -1
  225. package/dist/core/LimitOrderDetails.js.map +1 -1
  226. package/dist/core/OtcOrderButton.js.map +1 -1
  227. package/dist/core/OtcOrderDetails.js.map +1 -1
  228. package/dist/core/Toaster.js.map +1 -1
  229. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  230. package/dist/core/TwapDetails.js.map +1 -1
  231. package/dist/core/Updaters.js.map +1 -1
  232. package/dist/core/Warnings.js.map +1 -1
  233. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  234. package/dist/core/across/utils.js.map +1 -1
  235. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  236. package/dist/core/index.js.map +1 -1
  237. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  238. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  239. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  240. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  241. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  242. package/dist/core/inputs/hooks/utils.js.map +1 -1
  243. package/dist/core/inputs/state/common.js.map +1 -1
  244. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  245. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  246. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  247. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  248. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  249. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  250. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  251. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  252. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  253. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  254. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  255. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  256. package/dist/core/limit/state/utils.js.map +1 -1
  257. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  258. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  259. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  260. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  261. package/dist/core/limit/useLimitRate.js.map +1 -1
  262. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  263. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  264. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  265. package/dist/core/logger.js.map +1 -1
  266. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  267. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  268. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  269. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  270. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  271. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  272. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  273. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  274. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  275. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  276. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  277. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  278. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  279. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  280. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  281. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  282. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  283. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  284. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  285. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  286. package/dist/core/screen/state/screenAtom.js.map +1 -1
  287. package/dist/core/state/apiConfigAtom.js.map +1 -1
  288. package/dist/core/state/chainToAtom.js.map +1 -1
  289. package/dist/core/state/configActionsAtom.js.map +1 -1
  290. package/dist/core/state/configEffectAtom.js.map +1 -1
  291. package/dist/core/state/containerAtom.js.map +1 -1
  292. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  293. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  294. package/dist/core/state/externalProviderAtom.js.map +1 -1
  295. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  296. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  297. package/dist/core/state/tradeModeAtom.js.map +1 -1
  298. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  299. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  300. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  301. package/dist/core/subscriptions.js.map +1 -1
  302. package/dist/core/swapDetails/fees.js.map +1 -1
  303. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  304. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  305. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  306. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  307. package/dist/core/swapDetails/youGet.js.map +1 -1
  308. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  309. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  310. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  311. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  312. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  313. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  314. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  315. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  316. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  317. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  318. package/dist/events/effects/formInput.js.map +1 -1
  319. package/dist/events/effects/price.js.map +1 -1
  320. package/dist/events/effects/swapMode.js.map +1 -1
  321. package/dist/events/getters/limit.js.map +1 -1
  322. package/dist/events/getters/otc.js.map +1 -1
  323. package/dist/events/getters/settings.js.map +1 -1
  324. package/dist/events/getters/swap.js.map +1 -1
  325. package/dist/events/getters/twap.js.map +1 -1
  326. package/dist/events/getters/widgetState.js.map +1 -1
  327. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  328. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  329. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  330. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  331. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  332. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  333. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  334. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  335. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  336. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  337. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  338. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  339. package/dist/hooks/gas/utils.js.map +1 -1
  340. package/dist/hooks/getCode/query.js.map +1 -1
  341. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  342. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  343. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  344. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  345. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  346. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  347. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  348. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  349. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  350. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  351. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  352. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  353. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  354. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  355. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  356. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  357. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  358. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  359. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  360. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  361. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  362. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  363. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  364. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  365. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  366. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  367. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  368. package/dist/hooks/permit/utils/constants.js.map +1 -1
  369. package/dist/hooks/permit/utils/construct.js.map +1 -1
  370. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  371. package/dist/hooks/permit/utils/detect.js.map +1 -1
  372. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  373. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  374. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  375. package/dist/hooks/permit/utils/utils.js.map +1 -1
  376. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  377. package/dist/hooks/sdk/useSpender.js.map +1 -1
  378. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  379. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  380. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  381. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  382. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  383. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  384. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  385. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  386. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  387. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  388. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  389. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  390. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  391. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  392. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  393. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  394. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  395. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  396. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  397. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  398. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  399. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  400. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +8 -11
  401. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  402. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  403. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  404. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  405. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  406. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  407. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  408. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  409. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  410. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  411. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  412. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  413. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
  414. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  415. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  416. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  417. package/dist/hooks/swap/prices/factory.js.map +1 -1
  418. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  419. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  420. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  421. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  422. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  423. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  424. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  425. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  426. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  427. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  428. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  429. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  430. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  431. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  432. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  433. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  434. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  435. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  436. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  437. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  438. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  439. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  440. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  441. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  442. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  443. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  444. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  445. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  446. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  447. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  448. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  449. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  450. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  451. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  452. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  453. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  454. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  455. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  456. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  457. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  458. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  459. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  460. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  461. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  462. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  463. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  464. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  465. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  466. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  467. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  468. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  469. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  470. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  471. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  472. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  473. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  474. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  475. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  476. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  477. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  478. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  479. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  480. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  481. package/dist/hooks/txs/queries/utils.js.map +1 -1
  482. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  483. package/dist/hooks/useBreakpoints.js.map +1 -1
  484. package/dist/hooks/useBridgeInfo.js.map +1 -1
  485. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  486. package/dist/hooks/useCachedQueryError.js.map +1 -1
  487. package/dist/hooks/useChainMatches.js.map +1 -1
  488. package/dist/hooks/useClickOutside.js.map +1 -1
  489. package/dist/hooks/useCurrentChain.js.map +1 -1
  490. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  491. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  492. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  493. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  494. package/dist/hooks/useMinViemClient.js.map +1 -1
  495. package/dist/hooks/useSDK.js.map +1 -1
  496. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  497. package/dist/hooks/useSlippage.js.map +1 -1
  498. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  499. package/dist/lib/constants/urls.js.map +1 -1
  500. package/dist/lib/ipfs.js.map +1 -1
  501. package/dist/lib/queryClient.js.map +1 -1
  502. package/dist/lib/tradeMode.js.map +1 -1
  503. package/dist/lib/utils/approval.js.map +1 -1
  504. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  505. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  506. package/dist/lib/utils/delta.js.map +1 -1
  507. package/dist/lib/utils/dexes.js.map +1 -1
  508. package/dist/lib/utils/explorer.js.map +1 -1
  509. package/dist/lib/utils/fee.js.map +1 -1
  510. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  511. package/dist/lib/utils/formatPercent.js.map +1 -1
  512. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  513. package/dist/lib/utils/index.js.map +1 -1
  514. package/dist/lib/utils/logger.js.map +1 -1
  515. package/dist/lib/utils/metabase.js.map +1 -1
  516. package/dist/lib/utils/mobile.js.map +1 -1
  517. package/dist/lib/utils/price.js.map +1 -1
  518. package/dist/lib/utils/priceImpact.js.map +1 -1
  519. package/dist/lib/utils/providerErrors.js.map +1 -1
  520. package/dist/lib/utils/rate.js.map +1 -1
  521. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  522. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  523. package/dist/lib/utils/scaleFactor.js.map +1 -1
  524. package/dist/lib/utils/slippage.js.map +1 -1
  525. package/dist/lib/utils/time.js.map +1 -1
  526. package/dist/lib/utils/toDecimal.js.map +1 -1
  527. package/dist/lib/utils/toasts.js.map +1 -1
  528. package/dist/lib/utils/tradeFlow.js.map +1 -1
  529. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  530. package/dist/lib/utils/tuple.js.map +1 -1
  531. package/dist/lib/utils/twap.js.map +1 -1
  532. package/dist/lib/utils/useDateNow.js.map +1 -1
  533. package/dist/lib/web3/wagmi/config.js.map +1 -1
  534. package/dist/lib/web3/wagmi/external.js.map +1 -1
  535. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  536. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  537. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  538. package/dist/tokens/blacklist.js.map +1 -1
  539. package/dist/tokens/constructor.js.map +1 -1
  540. package/dist/tokens/defaultTokens.js.map +1 -1
  541. package/dist/tokens/hooks.js.map +1 -1
  542. package/dist/tokens/lists/constants.js.map +1 -1
  543. package/dist/tokens/lists/download.js.map +1 -1
  544. package/dist/tokens/lists/state/effects.js.map +1 -1
  545. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  546. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  547. package/dist/tokens/overrides.js.map +1 -1
  548. package/dist/tokens/queries.js.map +1 -1
  549. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  550. package/dist/tokens/stabeCoins/index.js.map +1 -1
  551. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  552. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  553. package/dist/tokens/state/constructTokens.js.map +1 -1
  554. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  555. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  556. package/dist/tokens/utils/brand.js.map +1 -1
  557. package/dist/tokens/utils/eth.js.map +1 -1
  558. package/dist/tokens/utils/filtering.js.map +1 -1
  559. package/dist/tokens/utils/sets.js.map +1 -1
  560. package/dist/tokens/utils/sorting.js.map +1 -1
  561. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  562. package/dist/transactions/hash.js.map +1 -1
  563. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  564. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  565. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  566. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  567. package/dist/transactions/state/effects/finalize.js.map +1 -1
  568. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  569. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  570. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  571. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  572. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  573. package/dist/transactions/status.js.map +1 -1
  574. package/dist/transactions/utils.js.map +1 -1
  575. package/package.json +6 -6
@@ -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.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","receivedDestUSD","response","data","priceRoute"],"sources":["../../../../src/hooks/swap/prices/factory.ts"],"sourcesContent":["import {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\n\nexport function getPriceImpactFromPriceFactory({\n price,\n priceError,\n}: {\n price?: DeltaOrMarketPrice;\n priceError: Error | null;\n}): () => PriceImpactResult {\n return () => {\n if (!price && !priceError) {\n return {\n priceImpact: undefined,\n isHighImpact: false,\n isMediumImpact: false,\n isUnavailable: false,\n };\n }\n\n let srcUSD: string | null = null;\n let destUSD: string | null = null;\n\n if (price) {\n srcUSD = price.srcUSD;\n destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n } else if (\n priceError &&\n isMarketPriceImpactError(priceError) &&\n priceError.response\n ) {\n srcUSD = priceError.response.data.priceRoute.srcUSD;\n destUSD = priceError.response.data.priceRoute.destUSD;\n }\n\n return getPriceImpact({ srcUSD, destUSD });\n };\n}\n"],"mappings":";;;;AAQA,SAAgBK,EAA+B,EAC7CC,UACAC,iBAI0B;CAC1B,aAAa;EACX,IAAI,CAACD,KAAS,CAACC,GACb,OAAO;GACLE,aAAaC,KAAAA;GACbC,cAAc;GACdC,gBAAgB;GAChBC,eAAe;GAChB;EAGH,IAAIC,IAAwB,MACxBC,IAAyB;EAc7B,OAZIT,KACFQ,IAASR,EAAMQ,QACfC,IAAUX,EAAaE,EAAM,GAAGA,EAAMU,kBAAkBV,EAAMS,WAE9DR,KACAJ,EAAyBI,EAAW,IACpCA,EAAWU,aAEXH,IAASP,EAAWU,SAASC,KAAKC,WAAWL,QAC7CC,IAAUR,EAAWU,SAASC,KAAKC,WAAWJ,UAGzCf,EAAe;GAAEc;GAAQC;GAAS,CAAC"}
@@ -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"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\ntype GetContractsReturn = AdaptersContractsResult;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\ntype EnsureContractsQueryInput = {\n chainId: number;\n};\n\ntype EnsureContractsQueryResult = {\n ensureContractsLoaded: ({\n signal,\n }: {\n signal?: AbortSignal;\n }) => Promise<GetContractsReturn>;\n};\n\nexport function useEnsureContractsQuery({\n chainId,\n}: EnsureContractsQueryInput): EnsureContractsQueryResult {\n const queryClient = useQueryClient();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const ensureContractsLoaded: EnsureContractsQueryResult[\"ensureContractsLoaded\"] =\n async ({ signal }) => {\n const contracts = await queryClient.ensureQueryData<\n GetContractsReturn,\n Error,\n GetContractsReturn,\n GetContractsQueryKey\n >({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: () => sdk.getContracts({ signal }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return contracts;\n };\n\n return { ensureContractsLoaded };\n}\n"],"mappings":";;;;AAiFA,SAAO0C,EAAAlB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0D,EAAAX,UAAAC,eAAAQ,GAGjCG;AAAA,CAAAF,EAAA,OAAAT,IACcW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAAA,CAAAJ,EAAA,OAAAT,IAGAa,IAAAJ,EAAA,MAAlCI,IAAA,CAAC,yBAAyBb,EAAQ,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAI;CAAA,IAAAC;AAAA,CAAAL,EAAA,OAAAG,IAI3CE,IAAAL,EAAA,MAHQK,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACuC,SAA7BH,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;IAE/CP,EAAA,KAAAG,GAAAH,EAAA,KAAAK;CAKQ,IAAAC,IAAAhB,GAAKoB,WAAL,IAAsBC;AAChC,QADgCX,EAAA,OAAAV,KAAAU,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAVuCK,IAAA;EAAAC,UAC5DR;EAAkCS,SACnCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbzB;EAAKoB,SACCJ;EACV,EAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAXMxB,EAAiEmC,EAWtE;;AAeJ,SAAOc,EAAA1B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAiC,EAAAV,eAAAQ,GAGtC2B,IAAoBjD,GAAgB,EAACyB;AAAA,CAAAF,EAAA,OAAAT,IACOW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAmBd,QAnBcJ,EAAA,OAAAT,KAAAS,EAAA,OAAA0B,KAAA1B,EAAA,OAAAG,KAmBvCC,IAAA,EAAAkB,uBAhBL,OAAAjB,MAAA;EAAO,IAAA,EAAAE,cAAAF;AAWF,SAVe,MAAMqB,EAAWC,gBAKjC;GAAAf,UACU,CAAC,yBAAyBrB,EAAQ;GAAAsB,eAC7BV,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;GAAAO,WAChCC;GAAQC,QACXD;GACT,CAAC;IAK0B,EAAAf,EAAA,KAAAT,GAAAS,EAAA,KAAA0B,GAAA1B,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAAzBI"}
1
+ {"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\ntype GetContractsReturn = AdaptersContractsResult;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\ntype EnsureContractsQueryInput = {\n chainId: number;\n};\n\ntype EnsureContractsQueryResult = {\n ensureContractsLoaded: ({\n signal,\n }: {\n signal?: AbortSignal;\n }) => Promise<GetContractsReturn>;\n};\n\nexport function useEnsureContractsQuery({\n chainId,\n}: EnsureContractsQueryInput): EnsureContractsQueryResult {\n const queryClient = useQueryClient();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const ensureContractsLoaded: EnsureContractsQueryResult[\"ensureContractsLoaded\"] =\n async ({ signal }) => {\n const contracts = await queryClient.ensureQueryData<\n GetContractsReturn,\n Error,\n GetContractsReturn,\n GetContractsQueryKey\n >({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: () => sdk.getContracts({ signal }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return contracts;\n };\n\n return { ensureContractsLoaded };\n}\n"],"mappings":";;;;AAiFA,SAAO0C,EAAAlB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0D,EAAAX,UAAAC,eAAAQ,GAGjCG;CAAA,AAAAF,EAAA,OAAAT,IACcW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;CAAA,AAAAJ,EAAA,OAAAT,IAGAa,IAAAJ,EAAA,MAAlCI,IAAA,CAAC,yBAAyBb,EAAQ,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAI;CAAA,IAAAC;CAAA,AAAAL,EAAA,OAAAG,IAI3CE,IAAAL,EAAA,MAHQK,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EACuC,OAA7BH,EAAGgB,aAAc,EAAAZ,WAAU,CACtCW;IACRlB,EAAA,KAAAG,GAAAH,EAAA,KAAAK;CAKQ,IAAAC,IAAAhB,GAAKoB,WAAL,IAAsBC;CAChC,OADgCX,EAAA,OAAAV,KAAAU,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAVuCK,IAAA;EAAAC,UAC5DR;EAAkCS,SACnCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbzB;EAAKoB,SACCJ;EACV,EAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAXMxB,EAAiEmC,EAWtE;;AAeJ,SAAOc,EAAA1B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAiC,EAAAV,eAAAQ,GAGtC2B,IAAoBjD,GAAgB,EAACyB;CAAA,AAAAF,EAAA,OAAAT,IACOW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;CAmBd,OAnBcJ,EAAA,OAAAT,KAAAS,EAAA,OAAA0B,KAAA1B,EAAA,OAAAG,KAmBvCC,IAAA,EAAAkB,8BAhBLjB,MAAA;EAAO,IAAA,EAAAE,cAAAF;EAWF,OAEIa,MAZiBQ,EAAWC,gBAKjC;GAAAf,UACU,CAAC,yBAAyBrB,EAAQ;GAAAsB,eAC7BV,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;GAAAO,WAChCC;GAAQC,QACXD;GACT,CAAC;IAK0B,EAAAf,EAAA,KAAAT,GAAAS,EAAA,KAAA0B,GAAA1B,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAAzBI"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.js","names":["RateParamsInput","useAtomValue","useAccount","useChainId","MarkOptional","MarkRequired","Prettify","SupportedChainId","useTokenTaxFee","usePartner","TradeMode","tradeModeToPayAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","tradeModeToSideAtom","tradeModeToTokenAtoms","useSwapReceiverAddressValue","excludeBridgesAtom","useDegenMode","Address","DEGEN_MODE_MAX_IMPACT","useCurrentDisabledDexes","FetchPriceParams","Pick","usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","fromToken","toToken","payAmountWeiAtom","receiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","partner","partnerFeeBps","degenMode","isCrossChain","sideAtom","side","amount","t6","t7","decimals","priceParams","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","maxImpact","ignoreBadUsdPrice","t8","undefined","t9","destChainId","useExtraMarketPriceParams","excludeDEXS","useExtraDeltaPriceParams","excludeBridges","receiverAddress","beneficiary"],"sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport type { MarkOptional, MarkRequired, Prettify } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToSideAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport type { Address } from \"viem\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"./constants\";\nimport { useCurrentDisabledDexes } from \"@/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n | \"partnerFeeBps\"\n | \"maxImpact\"\n | \"degenMode\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const { partner, partnerFeeBps } = usePartner();\n const degenMode = useDegenMode();\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const sideAtom = tradeModeToSideAtom[tradeMode];\n const side = useAtomValue(sideAtom);\n\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n partnerFeeBps,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n // Degen Mode:\n // set maxImpact=DEGEN_MODE_MAX_IMPACT to bypass ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\n // set ignoreBadUsdPrice=true to allow tokens without USD price data\n // set degenMode=true for tracing\n if (degenMode) {\n priceParams.maxImpact = DEGEN_MODE_MAX_IMPACT;\n priceParams.ignoreBadUsdPrice = true;\n priceParams.degenMode = true;\n }\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n\nexport function useExtraMarketPriceParams(): Prettify<\n Pick<RateParamsInput, \"excludeDEXS\">\n> {\n const chainId = useChainId();\n // excluded DEXs from user preferences\n const excludeDEXS = useCurrentDisabledDexes(chainId);\n return { excludeDEXS };\n}\n\nexport function useExtraDeltaPriceParams(): {\n excludeBridges?: string[];\n beneficiary?: Address;\n} {\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\n\n return {\n excludeBridges,\n beneficiary: receiverAddress,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"usePricesParams.js","names":["RateParamsInput","useAtomValue","useAccount","useChainId","MarkOptional","MarkRequired","Prettify","SupportedChainId","useTokenTaxFee","usePartner","TradeMode","tradeModeToPayAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","tradeModeToSideAtom","tradeModeToTokenAtoms","useSwapReceiverAddressValue","excludeBridgesAtom","useDegenMode","Address","DEGEN_MODE_MAX_IMPACT","useCurrentDisabledDexes","FetchPriceParams","Pick","usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","fromToken","toToken","payAmountWeiAtom","receiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","partner","partnerFeeBps","degenMode","isCrossChain","sideAtom","side","amount","t6","t7","decimals","priceParams","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","maxImpact","ignoreBadUsdPrice","t8","undefined","t9","destChainId","useExtraMarketPriceParams","excludeDEXS","useExtraDeltaPriceParams","excludeBridges","receiverAddress","beneficiary"],"sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport type { MarkOptional, MarkRequired, Prettify } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToSideAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport type { Address } from \"viem\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"./constants\";\nimport { useCurrentDisabledDexes } from \"@/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n | \"partnerFeeBps\"\n | \"maxImpact\"\n | \"degenMode\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const { partner, partnerFeeBps } = usePartner();\n const degenMode = useDegenMode();\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const sideAtom = tradeModeToSideAtom[tradeMode];\n const side = useAtomValue(sideAtom);\n\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n partnerFeeBps,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n // Degen Mode:\n // set maxImpact=DEGEN_MODE_MAX_IMPACT to bypass ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\n // set ignoreBadUsdPrice=true to allow tokens without USD price data\n // set degenMode=true for tracing\n if (degenMode) {\n priceParams.maxImpact = DEGEN_MODE_MAX_IMPACT;\n priceParams.ignoreBadUsdPrice = true;\n priceParams.degenMode = true;\n }\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n\nexport function useExtraMarketPriceParams(): Prettify<\n Pick<RateParamsInput, \"excludeDEXS\">\n> {\n const chainId = useChainId();\n // excluded DEXs from user preferences\n const excludeDEXS = useCurrentDisabledDexes(chainId);\n return { excludeDEXS };\n}\n\nexport function useExtraDeltaPriceParams(): {\n excludeBridges?: string[];\n beneficiary?: Address;\n} {\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\n\n return {\n excludeBridges,\n beneficiary: receiverAddress,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","BridgePrice","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","BridgePrice","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromPrice.js","names":["isDeltaPrice","isMarketPriceImpactError","DeltaOrMarketPrice","useCurrentSwapPrice","useSwapSide","UseTokenInputsFromPriceReturn","InputOverridesFromPrice","ReturnType","useTokenInputsFromPrice","$","_c","currentSwapPrice","side","t0","cachedError","price","getInputOverridesFromPrice","priceError","overrides","t1","tokenFromAmount","amountWei","tokenToAmount","Error","tokenFromAmountWei","srcAmount","response","data","priceRoute","tokenToAmountWei","receivedDestAmount","destAmount"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = InputOverridesFromPrice &\n ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n const overrides = getInputOverridesFromPrice({\n priceError: currentSwapPrice.cachedError,\n price: currentSwapPrice.price,\n side,\n });\n\n return {\n ...overrides,\n ...currentSwapPrice,\n };\n}\n\nexport type InputOverridesFromPrice = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n};\n\nfunction getInputOverridesFromPrice({\n priceError,\n price,\n side,\n}: {\n priceError: Error | null;\n price?: DeltaOrMarketPrice;\n side: \"BUY\" | \"SELL\";\n}): InputOverridesFromPrice {\n if (side === \"BUY\") {\n let tokenFromAmountWei = \"0\";\n\n if (price) {\n tokenFromAmountWei = price.srcAmount;\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use srcAmount from it\n tokenFromAmountWei = priceError.response.data.priceRoute.srcAmount;\n }\n\n return {\n tokenFromAmount: {\n amountWei: tokenFromAmountWei,\n },\n };\n }\n\n let tokenToAmountWei = \"0\";\n\n if (price) {\n if (isDeltaPrice(price)) {\n // delta has separate receivedDestAmount\n tokenToAmountWei = price.receivedDestAmount;\n } else {\n // for market, price.destAmount is amount before fee\n tokenToAmountWei = price.destAmount;\n }\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use destAmount from it\n tokenToAmountWei = priceError.response.data.priceRoute.destAmount;\n }\n\n return {\n tokenToAmount: {\n amountWei: tokenToAmountWei,\n },\n };\n}\n"],"mappings":";;;;;;AASA,SAAOQ,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBR,GAAqB,EAE9CS,IAAaR,GAAa,EAACS;AAAA,CAAAJ,EAAA,OAAAE,EAAAG,eAAAL,EAAA,OAAAE,EAAAI,SAAAN,EAAA,OAAAG,KACTC,IAAAG,EAA2B;EAAAC,YAC/BN,EAAgBG;EAAYC,OACjCJ,EAAgBI;EAAMH;EAE9B,CAAC,EAAAH,EAAA,KAAAE,EAAAG,aAAAL,EAAA,KAAAE,EAAAI,OAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAS,IAAkBL,GAIfM;AAKF,QALEV,EAAA,OAAAE,KAAAF,EAAA,OAAAS,KAEIC,IAAA;EAAA,GACFD;EAAS,GACTP;EACJ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAHMU;;AAeT,SAASH,EAA2B,EAClCC,eACAF,UACAH,WAK0B;AAC1B,KAAIA,MAAS,OAAO;EAClB,IAAIY,IAAqB;AAWzB,SATIT,MACFS,IAAqBT,EAAMU,YAGzBxB,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDF,IAAqBP,EAAWS,SAASC,KAAKC,WAAWH,YAGpD,EACLL,iBAAiB,EACfC,WAAWG,GACb,EACD;;CAGH,IAAIK,IAAmB;AAiBvB,QAfId,MACF,AAKEc,IALE7B,EAAae,EAAM,GAEFA,EAAMe,qBAGNf,EAAMgB,aAIzB9B,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDG,IAAmBZ,EAAWS,SAASC,KAAKC,WAAWG,aAGlD,EACLT,eAAe,EACbD,WAAWQ,GACb,EACD"}
1
+ {"version":3,"file":"useTokenInputsFromPrice.js","names":["isDeltaPrice","isMarketPriceImpactError","DeltaOrMarketPrice","useCurrentSwapPrice","useSwapSide","UseTokenInputsFromPriceReturn","InputOverridesFromPrice","ReturnType","useTokenInputsFromPrice","$","_c","currentSwapPrice","side","t0","cachedError","price","getInputOverridesFromPrice","priceError","overrides","t1","tokenFromAmount","amountWei","tokenToAmount","Error","tokenFromAmountWei","srcAmount","response","data","priceRoute","tokenToAmountWei","receivedDestAmount","destAmount"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { isDeltaPrice } from \"./delta/queries/useDeltaPriceQuery\";\nimport { isMarketPriceImpactError } from \"./market/queries/errors\";\nimport type { DeltaOrMarketPrice } from \"./types\";\nimport { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = InputOverridesFromPrice &\n ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n const overrides = getInputOverridesFromPrice({\n priceError: currentSwapPrice.cachedError,\n price: currentSwapPrice.price,\n side,\n });\n\n return {\n ...overrides,\n ...currentSwapPrice,\n };\n}\n\nexport type InputOverridesFromPrice = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n};\n\nfunction getInputOverridesFromPrice({\n priceError,\n price,\n side,\n}: {\n priceError: Error | null;\n price?: DeltaOrMarketPrice;\n side: \"BUY\" | \"SELL\";\n}): InputOverridesFromPrice {\n if (side === \"BUY\") {\n let tokenFromAmountWei = \"0\";\n\n if (price) {\n tokenFromAmountWei = price.srcAmount;\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use srcAmount from it\n tokenFromAmountWei = priceError.response.data.priceRoute.srcAmount;\n }\n\n return {\n tokenFromAmount: {\n amountWei: tokenFromAmountWei,\n },\n };\n }\n\n let tokenToAmountWei = \"0\";\n\n if (price) {\n if (isDeltaPrice(price)) {\n // delta has separate receivedDestAmount\n tokenToAmountWei = price.receivedDestAmount;\n } else {\n // for market, price.destAmount is amount before fee\n tokenToAmountWei = price.destAmount;\n }\n }\n\n if (isMarketPriceImpactError(priceError) && priceError.response) {\n // price impact error returns priceRoute, use destAmount from it\n tokenToAmountWei = priceError.response.data.priceRoute.destAmount;\n }\n\n return {\n tokenToAmount: {\n amountWei: tokenToAmountWei,\n },\n };\n}\n"],"mappings":";;;;;;AASA,SAAOQ,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBR,GAAqB,EAE9CS,IAAaR,GAAa,EAACS;CAAA,AAAAJ,EAAA,OAAAE,EAAAG,eAAAL,EAAA,OAAAE,EAAAI,SAAAN,EAAA,OAAAG,KACTC,IAAAG,EAA2B;EAAAC,YAC/BN,EAAgBG;EAAYC,OACjCJ,EAAgBI;EAAMH;EAE9B,CAAC,EAAAH,EAAA,KAAAE,EAAAG,aAAAL,EAAA,KAAAE,EAAAI,OAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAS,IAAkBL,GAIfM;CAKF,OALEV,EAAA,OAAAE,KAAAF,EAAA,OAAAS,KAEIC,IAAA;EAAA,GACFD;EAAS,GACTP;EACJ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAHMU;;AAeT,SAASH,EAA2B,EAClCC,eACAF,UACAH,WAK0B;CAC1B,IAAIA,MAAS,OAAO;EAClB,IAAIY,IAAqB;EAWzB,OATIT,MACFS,IAAqBT,EAAMU,YAGzBxB,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDF,IAAqBP,EAAWS,SAASC,KAAKC,WAAWH,YAGpD,EACLL,iBAAiB,EACfC,WAAWG,GACb,EACD;;CAGH,IAAIK,IAAmB;CAiBvB,OAfId,MACF,AAKEc,IALE7B,EAAae,EAAM,GAEFA,EAAMe,qBAGNf,EAAMgB,aAIzB9B,EAAyBgB,EAAW,IAAIA,EAAWS,aAErDG,IAAmBZ,EAAWS,SAASC,KAAKC,WAAWG,aAGlD,EACLT,eAAe,EACbD,WAAWQ,GACb,EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","BridgePrice","DeltaPrice","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { BridgePrice, DeltaPrice, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaPrice | BridgePrice;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASkB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;AAStC,QARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB3B,GAAe,EAClC4B,IAA0B1B,GAAa,EACvCO,IAAakB,EAAUlB,QAAVmB,GAAqCC;AAAA,CAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;AAYF,QAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAAnB,SAAAiB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAAStB,OACLmB,EAAUnB;EAAMC;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAAnB,OAAAiB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}
1
+ {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","BridgePrice","DeltaPrice","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { BridgePrice, DeltaPrice, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaPrice | BridgePrice;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASkB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;CAStC,OARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB3B,GAAe,EAClC4B,IAA0B1B,GAAa,EACvCO,IAAakB,EAAUlB,QAAVmB,GAAqCC;CAAA,AAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;CAYF,OAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAAnB,SAAAiB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAAStB,OACLmB,EAAUnB;EAAMC;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAAnB,OAAAiB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}