@velora-dex/widget 0.8.1-dev.0 → 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 (615) 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.d.ts +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +30 -16
  18. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  19. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  20. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/index.js +1 -1
  23. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  28. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  29. package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
  30. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  31. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  32. package/dist/components/web3/providers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  35. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  36. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  37. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  38. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  39. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  40. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  41. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  42. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +61 -53
  43. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  44. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  45. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  46. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  47. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  48. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  49. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  50. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  52. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  53. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  54. package/dist/components/widget/Button/RefreshButton.d.ts +3 -0
  55. package/dist/components/widget/Button/RefreshButton.d.ts.map +1 -0
  56. package/dist/components/widget/Button/RefreshButton.js +28 -0
  57. package/dist/components/widget/Button/RefreshButton.js.map +1 -0
  58. package/dist/components/widget/Button/types.d.ts +7 -0
  59. package/dist/components/widget/Button/types.d.ts.map +1 -0
  60. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -1
  61. package/dist/components/widget/CompareQuotes/CompareQuotes.js +67 -73
  62. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  63. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  64. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  65. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  66. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  67. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  68. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  69. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  70. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  71. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  72. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  78. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  79. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  80. package/dist/components/widget/Drawer/index.js.map +1 -1
  81. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  82. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  83. package/dist/components/widget/Dropdown/DropdownWithItems.js +3 -2
  84. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  85. package/dist/components/widget/Dropdown/types.d.ts +1 -1
  86. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  87. package/dist/components/widget/Duration/Duration.js.map +1 -1
  88. package/dist/components/widget/Duration/utils.js.map +1 -1
  89. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  90. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  91. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  92. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  93. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  94. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  95. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  96. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  97. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  98. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  99. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  100. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  101. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  102. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  103. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  104. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  105. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  106. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  107. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  108. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  109. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  110. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  111. package/dist/components/widget/Line/Line.js.map +1 -1
  112. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  113. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  114. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  115. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  116. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  117. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  118. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  119. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  120. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  121. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  122. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  123. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  124. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  125. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  126. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  127. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  128. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  129. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  130. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  131. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  132. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  133. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  134. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  135. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  136. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  137. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  138. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  139. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  140. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  141. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  142. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  143. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  144. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  145. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  146. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  147. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  148. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  149. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  150. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +4 -1
  151. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
  152. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +51 -28
  153. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  154. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  155. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  156. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  157. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  158. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  159. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  160. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  161. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  162. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  163. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  164. package/dist/components/widget/TokenInput/index.js.map +1 -1
  165. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  181. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  182. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  188. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  189. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  190. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  191. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  192. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  193. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  194. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  195. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  196. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  197. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  198. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  218. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  219. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  220. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  221. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  222. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  223. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  224. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  225. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  226. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  227. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  228. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  229. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  230. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  231. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  232. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  233. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  234. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  235. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  236. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  237. package/dist/components/widget/Warning/Warning.js.map +1 -1
  238. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  239. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  240. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  241. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  242. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  243. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  244. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  245. package/dist/core/LimitOrderButton.js.map +1 -1
  246. package/dist/core/LimitOrderDetails.js.map +1 -1
  247. package/dist/core/OtcOrderButton.js.map +1 -1
  248. package/dist/core/OtcOrderDetails.js.map +1 -1
  249. package/dist/core/Toaster.js.map +1 -1
  250. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  251. package/dist/core/TwapDetails.js.map +1 -1
  252. package/dist/core/Updaters.js.map +1 -1
  253. package/dist/core/Warnings.js.map +1 -1
  254. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  255. package/dist/core/across/utils.js.map +1 -1
  256. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  257. package/dist/core/index.js.map +1 -1
  258. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  259. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  260. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  261. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  262. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  263. package/dist/core/inputs/hooks/utils.js.map +1 -1
  264. package/dist/core/inputs/state/common.js.map +1 -1
  265. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  266. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  267. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  268. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  269. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  270. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  271. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  272. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  273. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  274. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  275. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  276. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  277. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  278. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  279. package/dist/core/limit/state/utils.js.map +1 -1
  280. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  281. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  282. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  283. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  284. package/dist/core/limit/useLimitRate.js.map +1 -1
  285. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  287. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  288. package/dist/core/logger.js.map +1 -1
  289. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  290. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  291. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  292. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  293. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  294. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  295. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  296. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  297. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  298. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  299. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  300. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  301. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  302. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  303. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  304. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  305. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  306. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  307. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  308. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  309. package/dist/core/screen/state/screenAtom.js.map +1 -1
  310. package/dist/core/state/apiConfigAtom.js.map +1 -1
  311. package/dist/core/state/chainToAtom.js.map +1 -1
  312. package/dist/core/state/configActionsAtom.js.map +1 -1
  313. package/dist/core/state/configAtom.js +2 -2
  314. package/dist/core/state/configAtom.js.map +1 -1
  315. package/dist/core/state/configEffectAtom.js.map +1 -1
  316. package/dist/core/state/containerAtom.js.map +1 -1
  317. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  318. package/dist/core/state/enabledTradeModesAtom.d.ts +7 -1
  319. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  320. package/dist/core/state/enabledTradeModesAtom.js +1 -1
  321. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  322. package/dist/core/state/externalProviderAtom.js.map +1 -1
  323. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  324. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  325. package/dist/core/state/tradeModeAtom.js +1 -1
  326. package/dist/core/state/tradeModeAtom.js.map +1 -1
  327. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  328. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  329. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  330. package/dist/core/subscriptions.js.map +1 -1
  331. package/dist/core/swapDetails/fees.js.map +1 -1
  332. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  333. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  334. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  335. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  336. package/dist/core/swapDetails/useSwapDetailsListProps.js +37 -31
  337. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  338. package/dist/core/swapDetails/youGet.js.map +1 -1
  339. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  340. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  341. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  342. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  343. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  344. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  345. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -1
  346. package/dist/core/twap/useTwapDetailsListProps.js +36 -31
  347. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  348. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  349. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  350. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  351. package/dist/events/effects/formInput.js.map +1 -1
  352. package/dist/events/effects/price.js.map +1 -1
  353. package/dist/events/effects/swapMode.js.map +1 -1
  354. package/dist/events/getters/limit.js.map +1 -1
  355. package/dist/events/getters/otc.js.map +1 -1
  356. package/dist/events/getters/settings.js.map +1 -1
  357. package/dist/events/getters/swap.js.map +1 -1
  358. package/dist/events/getters/twap.js.map +1 -1
  359. package/dist/events/getters/widgetState.js.map +1 -1
  360. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  361. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  362. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  363. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  364. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  365. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  366. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  367. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  368. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  369. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  370. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  371. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  372. package/dist/hooks/gas/utils.js.map +1 -1
  373. package/dist/hooks/getCode/query.js.map +1 -1
  374. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  375. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  376. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  377. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  378. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  379. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  380. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  381. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  382. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  383. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  384. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  385. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  386. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  387. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  388. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  389. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  390. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  391. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  392. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  393. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  394. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  395. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  396. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  397. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  401. package/dist/hooks/permit/utils/constants.js.map +1 -1
  402. package/dist/hooks/permit/utils/construct.js.map +1 -1
  403. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  404. package/dist/hooks/permit/utils/detect.js.map +1 -1
  405. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  406. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  407. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  408. package/dist/hooks/permit/utils/utils.js.map +1 -1
  409. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  410. package/dist/hooks/sdk/useSpender.js.map +1 -1
  411. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  412. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  413. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  414. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  415. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  416. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  417. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  418. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  419. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  421. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  422. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  424. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  425. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  426. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  429. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  430. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  431. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  434. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  435. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  436. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  439. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  440. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  442. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  443. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  444. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/factory.js.map +1 -1
  448. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  449. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  450. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  451. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  452. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  453. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  454. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  455. package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -7
  456. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  457. package/dist/hooks/swap/prices/useSwapPrices.js +28 -24
  458. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  459. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  460. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  461. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  462. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  463. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  464. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  465. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  466. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  467. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  468. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  469. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  470. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  471. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  472. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  473. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  474. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  475. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  476. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  477. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  478. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  479. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  480. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  481. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  482. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  483. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  484. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  485. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  486. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  487. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  488. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  489. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  490. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  491. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  492. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  493. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  494. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  495. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  496. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  497. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  498. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  499. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  500. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  501. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  502. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  503. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  504. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  505. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  506. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  507. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  508. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  509. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  510. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  511. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  512. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  513. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  514. package/dist/hooks/txs/queries/utils.js.map +1 -1
  515. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  516. package/dist/hooks/useBreakpoints.js.map +1 -1
  517. package/dist/hooks/useBridgeInfo.js.map +1 -1
  518. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  519. package/dist/hooks/useCachedQueryError.js.map +1 -1
  520. package/dist/hooks/useChainMatches.js.map +1 -1
  521. package/dist/hooks/useClickOutside.js.map +1 -1
  522. package/dist/hooks/useCurrentChain.js.map +1 -1
  523. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  524. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  525. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  526. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  527. package/dist/hooks/useMinViemClient.js.map +1 -1
  528. package/dist/hooks/useSDK.js.map +1 -1
  529. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  530. package/dist/hooks/useSlippage.js.map +1 -1
  531. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  532. package/dist/lib/constants/urls.js.map +1 -1
  533. package/dist/lib/ipfs.js.map +1 -1
  534. package/dist/lib/queryClient.js.map +1 -1
  535. package/dist/lib/tradeMode.d.ts +1 -0
  536. package/dist/lib/tradeMode.d.ts.map +1 -1
  537. package/dist/lib/tradeMode.js +4 -1
  538. package/dist/lib/tradeMode.js.map +1 -1
  539. package/dist/lib/utils/approval.js.map +1 -1
  540. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  541. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  542. package/dist/lib/utils/delta.js.map +1 -1
  543. package/dist/lib/utils/dexes.js.map +1 -1
  544. package/dist/lib/utils/explorer.js.map +1 -1
  545. package/dist/lib/utils/fee.js.map +1 -1
  546. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  547. package/dist/lib/utils/formatPercent.js.map +1 -1
  548. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  549. package/dist/lib/utils/index.js.map +1 -1
  550. package/dist/lib/utils/logger.js.map +1 -1
  551. package/dist/lib/utils/metabase.js.map +1 -1
  552. package/dist/lib/utils/mobile.js.map +1 -1
  553. package/dist/lib/utils/price.js.map +1 -1
  554. package/dist/lib/utils/priceImpact.js.map +1 -1
  555. package/dist/lib/utils/providerErrors.js.map +1 -1
  556. package/dist/lib/utils/rate.js.map +1 -1
  557. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  558. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  559. package/dist/lib/utils/scaleFactor.js.map +1 -1
  560. package/dist/lib/utils/slippage.js.map +1 -1
  561. package/dist/lib/utils/time.js.map +1 -1
  562. package/dist/lib/utils/toDecimal.js.map +1 -1
  563. package/dist/lib/utils/toasts.js.map +1 -1
  564. package/dist/lib/utils/tradeFlow.js.map +1 -1
  565. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  566. package/dist/lib/utils/tuple.js.map +1 -1
  567. package/dist/lib/utils/twap.js.map +1 -1
  568. package/dist/lib/utils/useDateNow.js.map +1 -1
  569. package/dist/lib/web3/wagmi/config.d.ts +0 -18
  570. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  571. package/dist/lib/web3/wagmi/config.js +19 -6
  572. package/dist/lib/web3/wagmi/config.js.map +1 -1
  573. package/dist/lib/web3/wagmi/external.js.map +1 -1
  574. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  575. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  576. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  577. package/dist/styles.css +1 -1
  578. package/dist/tokens/blacklist.js.map +1 -1
  579. package/dist/tokens/constructor.js.map +1 -1
  580. package/dist/tokens/defaultTokens.js.map +1 -1
  581. package/dist/tokens/hooks.js.map +1 -1
  582. package/dist/tokens/lists/constants.js.map +1 -1
  583. package/dist/tokens/lists/download.js.map +1 -1
  584. package/dist/tokens/lists/state/effects.js.map +1 -1
  585. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  586. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  587. package/dist/tokens/overrides.js.map +1 -1
  588. package/dist/tokens/queries.js.map +1 -1
  589. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  590. package/dist/tokens/stabeCoins/index.js.map +1 -1
  591. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  592. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  593. package/dist/tokens/state/constructTokens.js.map +1 -1
  594. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  595. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  596. package/dist/tokens/utils/brand.js.map +1 -1
  597. package/dist/tokens/utils/eth.js.map +1 -1
  598. package/dist/tokens/utils/filtering.js.map +1 -1
  599. package/dist/tokens/utils/sets.js.map +1 -1
  600. package/dist/tokens/utils/sorting.js.map +1 -1
  601. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  602. package/dist/transactions/hash.js.map +1 -1
  603. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  604. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  605. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  606. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  607. package/dist/transactions/state/effects/finalize.js.map +1 -1
  608. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  609. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  610. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  611. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  612. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  613. package/dist/transactions/status.js.map +1 -1
  614. package/dist/transactions/utils.js.map +1 -1
  615. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["BridgeStatus","DeltaAuction","DeltaAuctionOrder","DeltaAuctionStatus","DeltaPrice","ExternalDeltaOrder","SwapSideUnion","TWAPBuyDeltaOrder","TWAPDeltaOrder","DeltaAuctionTransaction","DeltaAuctionWithTwapOrder","ExecutedDeltaAuction","FailedDeltaAuction","TwapSellOrBuyOrder","replaceUnderscoresWithSpaces","Big","millisecondsToSeconds","scaleByFactor","isTwapSellDeltaOrder","order","isTwapBuyDeltaOrder","isOrderCrosschain","bridge","destinationChainId","isDeltaAuctionData","data","isCrosschainAuctionExecuted","auction","isTwapAuction","transactions","length","numSlices","bridgeStatus","isExecutedDeltaAuction","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","active","success","completed","cancellable","BridgeStatusChecker","VisualOrderStatus","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getAuctionDestChainId","chainId","Pick","getOverallOrderStatus","getDisplayedOrderStatus","onChainOrderType","isTwapOrder","getTotalTwapSrcAmount","totalSrcAmount","maxSrcAmount","getTotalTwapDestAmount","destAmount","destAmountPerSlice","times","totalDestAmount","scalingFactor","toFixed","getTotalTwapOrderAmounts","srcAmount","getTwapAuctionAmounts","twapAuction","isExecuted","getTransactionAmounts","getTwapOrderDeadlineFromSlices","createdAt","Math","floor","Date","getTime","interval","UnifiedDeltaOrderData","srcChainId","destChainId","srcToken","destToken","swapSide","getUnifiedDeltaOrderData","getOrderTokenAddresses","getAuctionAmounts","getAuctionSwapSide","outputToken","reduce","acc","spentAmount","receivedAmount","bridgeMetadata","BigInt","outputAmount","toString","isTwap","expectedAmount","getSwapSideFromTwapOrderType","getSwapSideFromDeltaOrder","getSwapSideFromDeltaPrice","price","srcAmountBeforeFee","OrderKindToSwapSide","const","kind","TwapTypeToSwapSide","TWAPOrder","TWAPBuyOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n DeltaAuctionStatus,\n DeltaPrice,\n ExternalDeltaOrder,\n SwapSideUnion,\n TWAPBuyDeltaOrder,\n TWAPDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport type {\n DeltaAuctionTransaction,\n DeltaAuctionWithTwapOrder,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n TwapSellOrBuyOrder,\n} from \"./types\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds } from \"@/lib/utils/time\";\nimport { scaleByFactor } from \"@/lib/utils/scaleFactor\";\n\nexport function isTwapSellDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPDeltaOrder {\n return \"destAmountPerSlice\" in order && \"totalSrcAmount\" in order;\n}\n\nexport function isTwapBuyDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPBuyDeltaOrder {\n return \"totalDestAmount\" in order && \"maxSrcAmount\" in order;\n}\n\nexport function isOrderCrosschain(\n order: DeltaAuction[\"order\"]\n): order is DeltaAuctionOrder | TwapSellOrBuyOrder {\n return (\n \"bridge\" in order && order.bridge && order.bridge.destinationChainId !== 0\n );\n}\n\nexport function isDeltaAuctionData(data: unknown): data is DeltaAuction {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nfunction isCrosschainAuctionExecuted(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n // crosschain TWAP order is executed when all slices are executed on source chain\n if (isTwapAuction(auction)) {\n return auction.transactions.length === auction.order.numSlices;\n }\n\n // crosschain Order is executed if bridgeStatus is filled\n return auction.bridgeStatus === \"filled\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n if (isOrderCrosschain(auction.order)) {\n return isCrosschainAuctionExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: DeltaAuction\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (auction.status === \"EXECUTED\" && isOrderCrosschain(auction.order)) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getAuctionDestChainId({\n order,\n chainId,\n}: Pick<DeltaAuction, \"order\" | \"chainId\">) {\n return isOrderCrosschain(order) ? order.bridge.destinationChainId : chainId;\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? // TWAP orders don't have order.bridgeStatus, instead\n // each slice has its own bridgeStatus in transactions[].bridgeMetadata,\n // and some slices could have been bridged while others not yet, or refunded\n // @TODO display \"partially executed\" for TWAP?\n getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n// -------------------- TWAP -------------------\n\nexport function isTwapAuction(\n order: DeltaAuction\n): order is DeltaAuctionWithTwapOrder {\n return (\n order.onChainOrderType === \"TWAPOrder\" ||\n order.onChainOrderType === \"TWAPBuyOrder\"\n );\n}\n\nexport function isTwapOrder(\n order: DeltaAuction[\"order\"]\n): order is TwapSellOrBuyOrder {\n return \"numSlices\" in order && typeof order.numSlices === \"number\";\n}\n\nfunction getTotalTwapSrcAmount(order: TwapSellOrBuyOrder) {\n return \"totalSrcAmount\" in order ? order.totalSrcAmount : order.maxSrcAmount;\n}\n\nfunction getTotalTwapDestAmount(order: TwapSellOrBuyOrder) {\n const destAmount =\n \"destAmountPerSlice\" in order\n ? Big(order.destAmountPerSlice).times(order.numSlices) // SELL\n : Big(order.totalDestAmount); // BUY\n\n if (isOrderCrosschain(order)) {\n return scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(0);\n }\n\n return destAmount.toFixed(0);\n}\n\nexport function getTotalTwapOrderAmounts(order: TwapSellOrBuyOrder) {\n const srcAmount = getTotalTwapSrcAmount(order);\n const destAmount = getTotalTwapDestAmount(order);\n return { srcAmount, destAmount };\n}\n\nfunction getTwapAuctionAmounts(twapAuction: DeltaAuctionWithTwapOrder) {\n const isExecuted =\n twapAuction.status === \"EXECUTED\" &&\n twapAuction.transactions.length === twapAuction.order.numSlices;\n\n if (isExecuted) {\n return getTransactionAmounts(\n twapAuction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n return getTotalTwapOrderAmounts(twapAuction.order);\n}\n\n/** Returns the order deadline based on slices and interval */\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n order.numSlices * order.interval // order.interval is in seconds\n );\n}\n\n// -------------------- Auction Unified Data --------------------\n\ntype UnifiedDeltaOrderData = {\n /** @description source chain id */\n srcChainId: number;\n /** @description destination chain id (same as source chain id for single chain orders) */\n destChainId: number;\n /** @description input token amount */\n srcAmount: string;\n /** @description output token amount (expected amount for pending orders, actual received amount for executed orders) */\n destAmount: string;\n /** @description input token address */\n srcToken: string;\n /** @description output token address */\n destToken: string;\n /** @description swap side of the order */\n swapSide: SwapSideUnion;\n};\n\nexport function getUnifiedDeltaOrderData(\n auction: DeltaAuction\n): UnifiedDeltaOrderData {\n const { order, chainId } = auction;\n\n const { srcToken, destToken } = getOrderTokenAddresses(order);\n const { srcAmount, destAmount } = getAuctionAmounts(auction);\n\n const srcChainId = chainId;\n const destChainId = getAuctionDestChainId({ order, chainId });\n\n const swapSide = getAuctionSwapSide(auction);\n\n return {\n srcChainId,\n destChainId,\n srcAmount,\n destAmount,\n srcToken,\n destToken,\n swapSide,\n };\n}\n\nexport function getOrderTokenAddresses(order: DeltaAuction[\"order\"]) {\n const srcToken = order.srcToken;\n const destToken = isOrderCrosschain(order)\n ? order.bridge.outputToken\n : order.destToken;\n return {\n srcToken,\n destToken,\n };\n}\n\nfunction getTransactionAmounts(transactions: DeltaAuctionTransaction[]) {\n const { srcAmount, destAmount } = transactions.reduce(\n (acc, { spentAmount, receivedAmount, bridgeMetadata }) => {\n return {\n srcAmount: acc.srcAmount + BigInt(spentAmount),\n destAmount:\n acc.destAmount +\n BigInt(bridgeMetadata ? bridgeMetadata.outputAmount : receivedAmount),\n };\n },\n {\n srcAmount: 0n,\n destAmount: 0n,\n }\n );\n\n return {\n srcAmount: srcAmount.toString(),\n destAmount: destAmount.toString(),\n };\n}\n\nfunction getAuctionAmounts(auction: DeltaAuction) {\n const isTwap = isTwapAuction(auction);\n if (isTwap) {\n return getTwapAuctionAmounts(auction);\n }\n\n const isExecuted = isExecutedDeltaAuction(auction);\n if (isExecuted) {\n return getTransactionAmounts(\n auction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n const order = auction.order;\n\n const srcAmount = order.srcAmount;\n const destAmount = order.expectedAmount || order.destAmount;\n\n if (isOrderCrosschain(order)) {\n return {\n srcAmount,\n destAmount: scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(\n 0\n ),\n };\n }\n\n return {\n srcAmount,\n destAmount,\n };\n}\n\n// -------------------- SwapSide --------------------\n\nexport function getAuctionSwapSide(auction: DeltaAuction): SwapSideUnion {\n if (isTwapAuction(auction)) {\n // TWAP orders have onChainOrderType instead of kind\n return getSwapSideFromTwapOrderType(auction.onChainOrderType);\n }\n return getSwapSideFromDeltaOrder(auction.order);\n}\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n\nconst OrderKindToSwapSide = {\n 0: \"SELL\",\n 1: \"BUY\",\n} as const;\n\nexport function getSwapSideFromDeltaOrder(\n order: DeltaAuctionOrder | ExternalDeltaOrder\n): SwapSideUnion {\n return OrderKindToSwapSide[order.kind];\n}\n\nconst TwapTypeToSwapSide = {\n TWAPOrder: \"SELL\",\n TWAPBuyOrder: \"BUY\",\n} as const;\n\nexport function getSwapSideFromTwapOrderType(\n onChainOrderType: \"TWAPOrder\" | \"TWAPBuyOrder\"\n): SwapSideUnion {\n return TwapTypeToSwapSide[onChainOrderType];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["BridgeStatus","DeltaAuction","DeltaAuctionOrder","DeltaAuctionStatus","DeltaPrice","ExternalDeltaOrder","SwapSideUnion","TWAPBuyDeltaOrder","TWAPDeltaOrder","DeltaAuctionTransaction","DeltaAuctionWithTwapOrder","ExecutedDeltaAuction","FailedDeltaAuction","TwapSellOrBuyOrder","replaceUnderscoresWithSpaces","Big","millisecondsToSeconds","scaleByFactor","isTwapSellDeltaOrder","order","isTwapBuyDeltaOrder","isOrderCrosschain","bridge","destinationChainId","isDeltaAuctionData","data","isCrosschainAuctionExecuted","auction","isTwapAuction","transactions","length","numSlices","bridgeStatus","isExecutedDeltaAuction","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","active","success","completed","cancellable","BridgeStatusChecker","VisualOrderStatus","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getAuctionDestChainId","chainId","Pick","getOverallOrderStatus","getDisplayedOrderStatus","onChainOrderType","isTwapOrder","getTotalTwapSrcAmount","totalSrcAmount","maxSrcAmount","getTotalTwapDestAmount","destAmount","destAmountPerSlice","times","totalDestAmount","scalingFactor","toFixed","getTotalTwapOrderAmounts","srcAmount","getTwapAuctionAmounts","twapAuction","isExecuted","getTransactionAmounts","getTwapOrderDeadlineFromSlices","createdAt","Math","floor","Date","getTime","interval","UnifiedDeltaOrderData","srcChainId","destChainId","srcToken","destToken","swapSide","getUnifiedDeltaOrderData","getOrderTokenAddresses","getAuctionAmounts","getAuctionSwapSide","outputToken","reduce","acc","spentAmount","receivedAmount","bridgeMetadata","BigInt","outputAmount","toString","isTwap","expectedAmount","getSwapSideFromTwapOrderType","getSwapSideFromDeltaOrder","getSwapSideFromDeltaPrice","price","srcAmountBeforeFee","OrderKindToSwapSide","const","kind","TwapTypeToSwapSide","TWAPOrder","TWAPBuyOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n DeltaAuctionStatus,\n DeltaPrice,\n ExternalDeltaOrder,\n SwapSideUnion,\n TWAPBuyDeltaOrder,\n TWAPDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport type {\n DeltaAuctionTransaction,\n DeltaAuctionWithTwapOrder,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n TwapSellOrBuyOrder,\n} from \"./types\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds } from \"@/lib/utils/time\";\nimport { scaleByFactor } from \"@/lib/utils/scaleFactor\";\n\nexport function isTwapSellDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPDeltaOrder {\n return \"destAmountPerSlice\" in order && \"totalSrcAmount\" in order;\n}\n\nexport function isTwapBuyDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPBuyDeltaOrder {\n return \"totalDestAmount\" in order && \"maxSrcAmount\" in order;\n}\n\nexport function isOrderCrosschain(\n order: DeltaAuction[\"order\"]\n): order is DeltaAuctionOrder | TwapSellOrBuyOrder {\n return (\n \"bridge\" in order && order.bridge && order.bridge.destinationChainId !== 0\n );\n}\n\nexport function isDeltaAuctionData(data: unknown): data is DeltaAuction {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nfunction isCrosschainAuctionExecuted(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n // crosschain TWAP order is executed when all slices are executed on source chain\n if (isTwapAuction(auction)) {\n return auction.transactions.length === auction.order.numSlices;\n }\n\n // crosschain Order is executed if bridgeStatus is filled\n return auction.bridgeStatus === \"filled\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n if (isOrderCrosschain(auction.order)) {\n return isCrosschainAuctionExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: DeltaAuction\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (auction.status === \"EXECUTED\" && isOrderCrosschain(auction.order)) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getAuctionDestChainId({\n order,\n chainId,\n}: Pick<DeltaAuction, \"order\" | \"chainId\">) {\n return isOrderCrosschain(order) ? order.bridge.destinationChainId : chainId;\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? // TWAP orders don't have order.bridgeStatus, instead\n // each slice has its own bridgeStatus in transactions[].bridgeMetadata,\n // and some slices could have been bridged while others not yet, or refunded\n // @TODO display \"partially executed\" for TWAP?\n getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n// -------------------- TWAP -------------------\n\nexport function isTwapAuction(\n order: DeltaAuction\n): order is DeltaAuctionWithTwapOrder {\n return (\n order.onChainOrderType === \"TWAPOrder\" ||\n order.onChainOrderType === \"TWAPBuyOrder\"\n );\n}\n\nexport function isTwapOrder(\n order: DeltaAuction[\"order\"]\n): order is TwapSellOrBuyOrder {\n return \"numSlices\" in order && typeof order.numSlices === \"number\";\n}\n\nfunction getTotalTwapSrcAmount(order: TwapSellOrBuyOrder) {\n return \"totalSrcAmount\" in order ? order.totalSrcAmount : order.maxSrcAmount;\n}\n\nfunction getTotalTwapDestAmount(order: TwapSellOrBuyOrder) {\n const destAmount =\n \"destAmountPerSlice\" in order\n ? Big(order.destAmountPerSlice).times(order.numSlices) // SELL\n : Big(order.totalDestAmount); // BUY\n\n if (isOrderCrosschain(order)) {\n return scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(0);\n }\n\n return destAmount.toFixed(0);\n}\n\nexport function getTotalTwapOrderAmounts(order: TwapSellOrBuyOrder) {\n const srcAmount = getTotalTwapSrcAmount(order);\n const destAmount = getTotalTwapDestAmount(order);\n return { srcAmount, destAmount };\n}\n\nfunction getTwapAuctionAmounts(twapAuction: DeltaAuctionWithTwapOrder) {\n const isExecuted =\n twapAuction.status === \"EXECUTED\" &&\n twapAuction.transactions.length === twapAuction.order.numSlices;\n\n if (isExecuted) {\n return getTransactionAmounts(\n twapAuction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n return getTotalTwapOrderAmounts(twapAuction.order);\n}\n\n/** Returns the order deadline based on slices and interval */\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n order.numSlices * order.interval // order.interval is in seconds\n );\n}\n\n// -------------------- Auction Unified Data --------------------\n\ntype UnifiedDeltaOrderData = {\n /** @description source chain id */\n srcChainId: number;\n /** @description destination chain id (same as source chain id for single chain orders) */\n destChainId: number;\n /** @description input token amount */\n srcAmount: string;\n /** @description output token amount (expected amount for pending orders, actual received amount for executed orders) */\n destAmount: string;\n /** @description input token address */\n srcToken: string;\n /** @description output token address */\n destToken: string;\n /** @description swap side of the order */\n swapSide: SwapSideUnion;\n};\n\nexport function getUnifiedDeltaOrderData(\n auction: DeltaAuction\n): UnifiedDeltaOrderData {\n const { order, chainId } = auction;\n\n const { srcToken, destToken } = getOrderTokenAddresses(order);\n const { srcAmount, destAmount } = getAuctionAmounts(auction);\n\n const srcChainId = chainId;\n const destChainId = getAuctionDestChainId({ order, chainId });\n\n const swapSide = getAuctionSwapSide(auction);\n\n return {\n srcChainId,\n destChainId,\n srcAmount,\n destAmount,\n srcToken,\n destToken,\n swapSide,\n };\n}\n\nexport function getOrderTokenAddresses(order: DeltaAuction[\"order\"]) {\n const srcToken = order.srcToken;\n const destToken = isOrderCrosschain(order)\n ? order.bridge.outputToken\n : order.destToken;\n return {\n srcToken,\n destToken,\n };\n}\n\nfunction getTransactionAmounts(transactions: DeltaAuctionTransaction[]) {\n const { srcAmount, destAmount } = transactions.reduce(\n (acc, { spentAmount, receivedAmount, bridgeMetadata }) => {\n return {\n srcAmount: acc.srcAmount + BigInt(spentAmount),\n destAmount:\n acc.destAmount +\n BigInt(bridgeMetadata ? bridgeMetadata.outputAmount : receivedAmount),\n };\n },\n {\n srcAmount: 0n,\n destAmount: 0n,\n }\n );\n\n return {\n srcAmount: srcAmount.toString(),\n destAmount: destAmount.toString(),\n };\n}\n\nfunction getAuctionAmounts(auction: DeltaAuction) {\n const isTwap = isTwapAuction(auction);\n if (isTwap) {\n return getTwapAuctionAmounts(auction);\n }\n\n const isExecuted = isExecutedDeltaAuction(auction);\n if (isExecuted) {\n return getTransactionAmounts(\n auction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n const order = auction.order;\n\n const srcAmount = order.srcAmount;\n const destAmount = order.expectedAmount || order.destAmount;\n\n if (isOrderCrosschain(order)) {\n return {\n srcAmount,\n destAmount: scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(\n 0\n ),\n };\n }\n\n return {\n srcAmount,\n destAmount,\n };\n}\n\n// -------------------- SwapSide --------------------\n\nexport function getAuctionSwapSide(auction: DeltaAuction): SwapSideUnion {\n if (isTwapAuction(auction)) {\n // TWAP orders have onChainOrderType instead of kind\n return getSwapSideFromTwapOrderType(auction.onChainOrderType);\n }\n return getSwapSideFromDeltaOrder(auction.order);\n}\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n\nconst OrderKindToSwapSide = {\n 0: \"SELL\",\n 1: \"BUY\",\n} as const;\n\nexport function getSwapSideFromDeltaOrder(\n order: DeltaAuctionOrder | ExternalDeltaOrder\n): SwapSideUnion {\n return OrderKindToSwapSide[order.kind];\n}\n\nconst TwapTypeToSwapSide = {\n TWAPOrder: \"SELL\",\n TWAPBuyOrder: \"BUY\",\n} as const;\n\nexport function getSwapSideFromTwapOrderType(\n onChainOrderType: \"TWAPOrder\" | \"TWAPBuyOrder\"\n): SwapSideUnion {\n return TwapTypeToSwapSide[onChainOrderType];\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeInfosLoadedAtom.js","names":["atomWithQuery","bridgeInfoQueryKey","BridgeInfo","atom","bridgeInfoQueryAtom","queryKey","enabled","bridgeInfoNoBridgeAndSwapQueryAtom","allowBridgeAndSwap","bridgeInfosLoadedAtom","get","bridgeInfoQuery","data","bridgeInfoNoBridgeAndSwap"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"sourcesContent":["import { atomWithQuery } from \"jotai-tanstack-query\";\nimport { bridgeInfoQueryKey } from \"./common\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\n\n// query atom that will change each time any of the query state changes\nconst bridgeInfoQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey(),\n enabled: false,\n}));\n\n// query atom specific to Crosschain Limit/TWAP Orders query that will change each time any of the query state changes\nconst bridgeInfoNoBridgeAndSwapQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey({ allowBridgeAndSwap: false }),\n enabled: false,\n}));\n\n// derived atom that will only be updated when both bridgeInfo for Swap/Limit/TWAP orders are loaded\n// subscribe to it to know when all crosschain tokens have been loaded\nexport const bridgeInfosLoadedAtom = atom<boolean>((get) => {\n const bridgeInfoQuery = get(bridgeInfoQueryAtom);\n if (!bridgeInfoQuery.data) return false;\n const bridgeInfoNoBridgeAndSwap = get(bridgeInfoNoBridgeAndSwapQueryAtom);\n if (!bridgeInfoNoBridgeAndSwap.data) return false;\n return true;\n});\n"],"mappings":";;;;AAMA,IAAMI,IAAsBJ,SAAiC;CAC3DK,UAAUJ,GAAoB;CAC9BK,SAAS;CACV,EAAE,EAGGC,IAAqCP,SAAiC;CAC1EK,UAAUJ,EAAmB,EAAEO,oBAAoB,IAAO,CAAC;CAC3DF,SAAS;CACV,EAAE,EAIUG,IAAwBN,GAAeO,MAIlD,EAFI,CADoBA,EAAIN,EAAoB,CAC3BQ,QAEjB,CAD8BF,EAAIH,EAAmC,CAC1CK,MAE/B"}
1
+ {"version":3,"file":"bridgeInfosLoadedAtom.js","names":["atomWithQuery","bridgeInfoQueryKey","BridgeInfo","atom","bridgeInfoQueryAtom","queryKey","enabled","bridgeInfoNoBridgeAndSwapQueryAtom","allowBridgeAndSwap","bridgeInfosLoadedAtom","get","bridgeInfoQuery","data","bridgeInfoNoBridgeAndSwap"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"sourcesContent":["import { atomWithQuery } from \"jotai-tanstack-query\";\nimport { bridgeInfoQueryKey } from \"./common\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\n\n// query atom that will change each time any of the query state changes\nconst bridgeInfoQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey(),\n enabled: false,\n}));\n\n// query atom specific to Crosschain Limit/TWAP Orders query that will change each time any of the query state changes\nconst bridgeInfoNoBridgeAndSwapQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey({ allowBridgeAndSwap: false }),\n enabled: false,\n}));\n\n// derived atom that will only be updated when both bridgeInfo for Swap/Limit/TWAP orders are loaded\n// subscribe to it to know when all crosschain tokens have been loaded\nexport const bridgeInfosLoadedAtom = atom<boolean>((get) => {\n const bridgeInfoQuery = get(bridgeInfoQueryAtom);\n if (!bridgeInfoQuery.data) return false;\n const bridgeInfoNoBridgeAndSwap = get(bridgeInfoNoBridgeAndSwapQueryAtom);\n if (!bridgeInfoNoBridgeAndSwap.data) return false;\n return true;\n});\n"],"mappings":";;;;AAMA,IAAMI,IAAsBJ,SAAiC;CAC3DK,UAAUJ,GAAoB;CAC9BK,SAAS;CACV,EAAE,EAGGC,IAAqCP,SAAiC;CAC1EK,UAAUJ,EAAmB,EAAEO,oBAAoB,IAAO,CAAC;CAC3DF,SAAS;CACV,EAAE,EAIUG,IAAwBN,GAAeO,MAIlD,EAFI,CADoBA,EAAIN,EACvBO,CAAgBC,QAEjB,CAD8BF,EAAIH,EACjCM,CAA0BD,MAE/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","names":["BridgeInfoQueryKeyType","BridgeInfoInputParams","defaultInputParams","allowBridgeAndSwap","bridgeInfoQueryKey","inputParams","const"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"sourcesContent":["import type { BridgeInfoQueryKeyType, BridgeInfoInputParams } from \"./types\";\n\nexport const defaultInputParams = {\n allowBridgeAndSwap: true,\n} satisfies BridgeInfoInputParams;\n\nexport function bridgeInfoQueryKey(\n inputParams: BridgeInfoInputParams = defaultInputParams\n): BridgeInfoQueryKeyType {\n return [\"swap/delta/bridge-info\", inputParams] as const;\n}\n"],"mappings":";AAEA,IAAaE,IAAqB,EAChCC,oBAAoB,IACrB;AAED,SAAgBC,EACdC,IAAqCH,GACb;AACxB,QAAO,CAAC,0BAA0BG,EAAY"}
1
+ {"version":3,"file":"common.js","names":["BridgeInfoQueryKeyType","BridgeInfoInputParams","defaultInputParams","allowBridgeAndSwap","bridgeInfoQueryKey","inputParams","const"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"sourcesContent":["import type { BridgeInfoQueryKeyType, BridgeInfoInputParams } from \"./types\";\n\nexport const defaultInputParams = {\n allowBridgeAndSwap: true,\n} satisfies BridgeInfoInputParams;\n\nexport function bridgeInfoQueryKey(\n inputParams: BridgeInfoInputParams = defaultInputParams\n): BridgeInfoQueryKeyType {\n return [\"swap/delta/bridge-info\", inputParams] as const;\n}\n"],"mappings":";AAEA,IAAaE,IAAqB,EAChCC,oBAAoB,IACrB;AAED,SAAgBC,EACdC,IAAqCH,GACb;CACxB,OAAO,CAAC,0BAA0BG,EAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBridgeInfoQueryData.js","names":["queryClient","BridgeInfoMode","BridgeInfo","bridgeInfoQueryKey","getBridgeInfoQueryData","mode","inputParams","undefined","allowBridgeAndSwap","getQueryData"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfoMode } from \"./types\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { bridgeInfoQueryKey } from \"./common\";\n\nexport function getBridgeInfoQueryData(mode: BridgeInfoMode) {\n const inputParams =\n mode === \"swap\" ? undefined : { allowBridgeAndSwap: false };\n return queryClient.getQueryData<BridgeInfo>(bridgeInfoQueryKey(inputParams));\n}\n"],"mappings":";;;AAKA,SAAgBI,EAAuBC,GAAsB;CAC3D,IAAMC,IACJD,MAAS,SAASE,KAAAA,IAAY,EAAEC,oBAAoB,IAAO;AAC7D,QAAOR,EAAYS,aAAyBN,EAAmBG,EAAY,CAAC"}
1
+ {"version":3,"file":"getBridgeInfoQueryData.js","names":["queryClient","BridgeInfoMode","BridgeInfo","bridgeInfoQueryKey","getBridgeInfoQueryData","mode","inputParams","undefined","allowBridgeAndSwap","getQueryData"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfoMode } from \"./types\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { bridgeInfoQueryKey } from \"./common\";\n\nexport function getBridgeInfoQueryData(mode: BridgeInfoMode) {\n const inputParams =\n mode === \"swap\" ? undefined : { allowBridgeAndSwap: false };\n return queryClient.getQueryData<BridgeInfo>(bridgeInfoQueryKey(inputParams));\n}\n"],"mappings":";;;AAKA,SAAgBI,EAAuBC,GAAsB;CAC3D,IAAMC,IACJD,MAAS,SAASE,KAAAA,IAAY,EAAEC,oBAAoB,IAAO;CAC7D,OAAOR,EAAYS,aAAyBN,EAAmBG,EAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeInfo.js","names":["useDeltaSDK","useQuery","bridgeInfoQueryKey","defaultInputParams","BridgeInfoQueryInput","BridgeInfoQueryKeyType","BridgeInfoQueryResult","BridgeInfoReturn","useBridgeInfoQuery","t0","$","_c","t1","undefined","query","input","t2","t3","Symbol","for","chainId","sdk","t4","t5","t6","signal","bridgeInfo","getBridgeInfo","enabled","t7","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { bridgeInfoQueryKey, defaultInputParams } from \"./common\";\nimport type {\n BridgeInfoQueryInput,\n BridgeInfoQueryKeyType,\n BridgeInfoQueryResult,\n BridgeInfoReturn,\n} from \"./types\";\n\n\nexport function useBridgeInfoQuery<TData = BridgeInfoReturn>({\n query,\n input = defaultInputParams,\n}: BridgeInfoQueryInput<TData> = {}): BridgeInfoQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter for bridge info\n\n return useQuery<BridgeInfoReturn, Error, TData, BridgeInfoQueryKeyType>({\n queryKey: bridgeInfoQueryKey(input),\n queryFn: ({ signal }) => {\n const bridgeInfo = sdk.getBridgeInfo(input, { signal });\n return bridgeInfo;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"mappings":";;;;;AAWA,SAAOQ,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;AAAA,CAAAF,EAAA,OAAAD,IAG4BG,IAAAF,EAAA,MAH0BE,IAAAH,MAAAI,KAAAA,IAAA,EAG1B,GAH0BJ,GAG1BC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAH0B,IAAA,EAAAE,UAAAC,OAAAC,MAAAJ,GAE3DG,IAAAC,MAAAH,KAAAA,IAAAV,IAAAa,GAA0BC;AAAA,CAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,IAEEF,IAAA,EAAAG,SAAW,GAAG,EAAAV,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAA1C,IAAA,EAAAW,WAAgBrB,EAAYiB,EAAe,EAACK;AAAA,CAAAZ,EAAA,OAAAK,IAGPO,IAAAZ,EAAA,MAAzBY,IAAApB,EAAmBa,EAAM,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAY;CAAA,IAAAC;AAAA,CAAAb,EAAA,OAAAK,KAAAL,EAAA,OAAAW,KAC1BE,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACgD,SAArCH,EAAGM,cAAeZ,GAAO,EAAAU,WAAU,CAAC;IAExDf,EAAA,KAAAK,GAAAL,EAAA,KAAAW,GAAAX,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAKQ,IAAAc,IAAAV,GAAKc,WAAL,IAAsBC;AAChC,QADgCnB,EAAA,OAAAI,KAAAJ,EAAA,OAAAY,KAAAZ,EAAA,QAAAa,KAAAb,EAAA,QAAAc,KAVuCK,IAAA;EAAAC,UAC5DR;EAAyBS,SAC1BR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbnB;EAAKc,SACCJ;EACV,EAAAd,EAAA,KAAAI,GAAAJ,EAAA,KAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAAAd,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KAXMT,EAAiE4B,EAWtE"}
1
+ {"version":3,"file":"useBridgeInfo.js","names":["useDeltaSDK","useQuery","bridgeInfoQueryKey","defaultInputParams","BridgeInfoQueryInput","BridgeInfoQueryKeyType","BridgeInfoQueryResult","BridgeInfoReturn","useBridgeInfoQuery","t0","$","_c","t1","undefined","query","input","t2","t3","Symbol","for","chainId","sdk","t4","t5","t6","signal","bridgeInfo","getBridgeInfo","enabled","t7","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { bridgeInfoQueryKey, defaultInputParams } from \"./common\";\nimport type {\n BridgeInfoQueryInput,\n BridgeInfoQueryKeyType,\n BridgeInfoQueryResult,\n BridgeInfoReturn,\n} from \"./types\";\n\n\nexport function useBridgeInfoQuery<TData = BridgeInfoReturn>({\n query,\n input = defaultInputParams,\n}: BridgeInfoQueryInput<TData> = {}): BridgeInfoQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter for bridge info\n\n return useQuery<BridgeInfoReturn, Error, TData, BridgeInfoQueryKeyType>({\n queryKey: bridgeInfoQueryKey(input),\n queryFn: ({ signal }) => {\n const bridgeInfo = sdk.getBridgeInfo(input, { signal });\n return bridgeInfo;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"mappings":";;;;;AAWA,SAAOQ,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAG4BG,IAAAF,EAAA,MAH0BE,IAAAH,MAAAI,KAAAA,IAAA,EAG1B,GAH0BJ,GAG1BC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAH0B,IAAA,EAAAE,UAAAC,OAAAC,MAAAJ,GAE3DG,IAAAC,MAAAH,KAAAA,IAAAV,IAAAa,GAA0BC;CAAA,AAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,IAEEF,IAAA,EAAAG,SAAW,GAAG,EAAAV,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAA1C,IAAA,EAAAW,WAAgBrB,EAAYiB,EAAe,EAACK;CAAA,AAAAZ,EAAA,OAAAK,IAGPO,IAAAZ,EAAA,MAAzBY,IAAApB,EAAmBa,EAAM,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAY;CAAA,IAAAC;CAAA,AAAAb,EAAA,OAAAK,KAAAL,EAAA,OAAAW,KAC1BE,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EACgD,OAArCH,EAAGM,cAAeZ,GAAO,EAAAU,WAAU,CAC/CC;IACRhB,EAAA,KAAAK,GAAAL,EAAA,KAAAW,GAAAX,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAKQ,IAAAc,IAAAV,GAAKc,WAAL,IAAsBC;CAChC,OADgCnB,EAAA,OAAAI,KAAAJ,EAAA,OAAAY,KAAAZ,EAAA,QAAAa,KAAAb,EAAA,QAAAc,KAVuCK,IAAA;EAAAC,UAC5DR;EAAyBS,SAC1BR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbnB;EAAKc,SACCJ;EACV,EAAAd,EAAA,KAAAI,GAAAJ,EAAA,KAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAAAd,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KAXMT,EAAiE4B,EAWtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeProtocols.js","names":["useDeltaSDK","useQuery","BridgeProtocolsQueryInput","BridgeProtocolsQueryKeyType","BridgeProtocolsQueryResult","BridgeProtocolsReturn","useBridgeProtocolsQuery","t0","$","_c","t1","undefined","query","t2","Symbol","for","chainId","sdk","t3","t4","t5","signal","bridgeProtocols","getBridgeProtocols","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type {\n BridgeProtocolsQueryInput,\n BridgeProtocolsQueryKeyType,\n BridgeProtocolsQueryResult,\n BridgeProtocolsReturn,\n} from \"./types\";\n\nexport function useBridgeProtocolsQuery<TData = BridgeProtocolsReturn>({\n query,\n}: BridgeProtocolsQueryInput<TData> = {}): BridgeProtocolsQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter for bridge protocols\n\n return useQuery<\n BridgeProtocolsReturn,\n Error,\n TData,\n BridgeProtocolsQueryKeyType\n >({\n queryKey: [\"swap/delta/bridge-protocols\"],\n queryFn: ({ signal }) => {\n const bridgeProtocols = sdk.getBridgeProtocols({ signal });\n return bridgeProtocols;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"mappings":";;;;AASA,SAAOM,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;AAAA,CAAAF,EAAA,OAAAD,IAEiCG,IAAAF,EAAA,MAF+BE,IAAAH,MAAAI,KAAAA,IAAA,EAE/B,GAF+BJ,GAE/BC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAF+B,IAAA,EAAAE,aAAAF,GAE/BG;AAAA,CAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IACVF,IAAA,EAAAG,SAAW,GAAG,EAAAR,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAA1C,IAAA,EAAAS,WAAgBjB,EAAYa,EAAe,EAACK;AAAA,CAAAV,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IAQhCG,IAAA,CAAC,8BAA8B,EAAAV,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAW;AAAA,CAAAX,EAAA,OAAAS,IAIxCE,IAAAX,EAAA,MAHQW,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACmD,SAAnCH,EAAGM,mBAAoB,EAAAF,WAAU,CAAC;IAE3Db,EAAA,KAAAS,GAAAT,EAAA,KAAAW;CAKQ,IAAAC,IAAAR,GAAKY,WAAL,IAAsBC;AAChC,QADgCjB,EAAA,OAAAI,KAAAJ,EAAA,OAAAW,KAAAX,EAAA,OAAAY,KAV/BK,IAAA;EAAAC,UACUR;EAA+BS,SAChCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbjB;EAAKY,SACCJ;EACV,EAAAZ,EAAA,KAAAI,GAAAJ,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA,IAhBMP,EAKLwB,EAWA"}
1
+ {"version":3,"file":"useBridgeProtocols.js","names":["useDeltaSDK","useQuery","BridgeProtocolsQueryInput","BridgeProtocolsQueryKeyType","BridgeProtocolsQueryResult","BridgeProtocolsReturn","useBridgeProtocolsQuery","t0","$","_c","t1","undefined","query","t2","Symbol","for","chainId","sdk","t3","t4","t5","signal","bridgeProtocols","getBridgeProtocols","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type {\n BridgeProtocolsQueryInput,\n BridgeProtocolsQueryKeyType,\n BridgeProtocolsQueryResult,\n BridgeProtocolsReturn,\n} from \"./types\";\n\nexport function useBridgeProtocolsQuery<TData = BridgeProtocolsReturn>({\n query,\n}: BridgeProtocolsQueryInput<TData> = {}): BridgeProtocolsQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter for bridge protocols\n\n return useQuery<\n BridgeProtocolsReturn,\n Error,\n TData,\n BridgeProtocolsQueryKeyType\n >({\n queryKey: [\"swap/delta/bridge-protocols\"],\n queryFn: ({ signal }) => {\n const bridgeProtocols = sdk.getBridgeProtocols({ signal });\n return bridgeProtocols;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"mappings":";;;;AASA,SAAOM,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAEiCG,IAAAF,EAAA,MAF+BE,IAAAH,MAAAI,KAAAA,IAAA,EAE/B,GAF+BJ,GAE/BC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAF+B,IAAA,EAAAE,aAAAF,GAE/BG;CAAA,AAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IACVF,IAAA,EAAAG,SAAW,GAAG,EAAAR,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAA1C,IAAA,EAAAS,WAAgBjB,EAAYa,EAAe,EAACK;CAAA,AAAAV,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IAQhCG,IAAA,CAAC,8BAA8B,EAAAV,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAW;CAAA,AAAAX,EAAA,OAAAS,IAIxCE,IAAAX,EAAA,MAHQW,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EACmD,OAAnCH,EAAGM,mBAAoB,EAAAF,WAAU,CAClDC;IACRd,EAAA,KAAAS,GAAAT,EAAA,KAAAW;CAKQ,IAAAC,IAAAR,GAAKY,WAAL,IAAsBC;CAChC,OADgCjB,EAAA,OAAAI,KAAAJ,EAAA,OAAAW,KAAAX,EAAA,OAAAY,KAV/BK,IAAA;EAAAC,UACUR;EAA+BS,SAChCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbjB;EAAKY,SACCJ;EACV,EAAAZ,EAAA,KAAAI,GAAAJ,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA,IAhBMP,EAKLwB,EAWA"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["FailedDeltaAuction","DeltaOrderFailedError","Error","order","constructor","message","name","captureStackTrace","isDeltaOrderFailedError","error","DeltaPriceErrorType","DELTA_PRICE_ERROR_TYPES","Set","getDeltaPriceErrorType","has"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"sourcesContent":["import type { FailedDeltaAuction } from \"../orders/types\";\n\nexport class DeltaOrderFailedError extends Error {\n public readonly order: FailedDeltaAuction;\n\n public constructor({\n message,\n order,\n }: {\n message?: string;\n order: FailedDeltaAuction;\n }) {\n super(message);\n this.name = this.constructor.name;\n this.message = message || \"DeltaOrderFailed\";\n this.order = order;\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DeltaOrderFailedError);\n }\n }\n}\n\nexport function isDeltaOrderFailedError(\n error: unknown\n): error is DeltaOrderFailedError {\n return error instanceof DeltaOrderFailedError;\n}\n\n// ------------------------------ DeltaPrice/BridgePrice errors ------------------------------\n\n/**\n * API error shapes (e.errorType returned as e.message in SDK):\n * - { \"errorType\": \"MaxImpactReached\", \"details\": \"Max price impact reached. Impact: 97.81%\" }\n * - { \"errorType\": \"NoUSDPriceForToken\", \"details\": \"No USD price available for token 0x6eed...\" }\n * - { \"errorType\": \"NoAvailablePrices\", \"details\": \"No available prices found\" }\n * - { \"errorType\": \"UnsupportedToken\", \"details\": \"Token 0xc4d4... is not supported\" }\n * - { \"errorType\": \"NoAvailableBridgeOptions\", \"details\": \"No available bridge options\" }\n */\nexport type DeltaPriceErrorType =\n | \"MaxImpactReached\"\n | \"NoUSDPriceForToken\"\n | \"NoAvailablePrices\"\n | \"UnsupportedToken\"\n | \"NoAvailableBridgeOptions\";\n\nconst DELTA_PRICE_ERROR_TYPES = new Set<string>([\n \"MaxImpactReached\",\n \"NoUSDPriceForToken\",\n \"NoAvailablePrices\",\n \"UnsupportedToken\",\n \"NoAvailableBridgeOptions\",\n] satisfies DeltaPriceErrorType[]);\n\nexport function getDeltaPriceErrorType(\n error: unknown\n): DeltaPriceErrorType | null {\n if (!(error instanceof Error)) return null;\n if (DELTA_PRICE_ERROR_TYPES.has(error.message)) {\n return error.message as DeltaPriceErrorType;\n }\n return null;\n}\n"],"mappings":";AAEA,IAAaC,IAAb,MAAaA,UAA8BC,MAAM;CAC/C;CAEA,YAAmB,EACjBG,YACAF,YAIC;AAOD,EANA,MAAME,EAAQ,EACd,KAAKC,OAAO,KAAKF,YAAYE,MAC7B,KAAKD,UAAUA,KAAW,oBAC1B,KAAKF,QAAQA,GAGTD,MAAMK,qBACRL,MAAMK,kBAAkB,MAAMN,EAAsB;;;AAK1D,SAAgBO,EACdC,GACgC;AAChC,QAAOA,aAAiBR;;AAoB1B,IAAMU,IAA0B,IAAIC,IAAY;CAC9C;CACA;CACA;CACA;CACA;CACD,CAAiC;AAElC,SAAgBC,EACdJ,GAC4B;AAK5B,QAJMA,aAAiBP,SACnBS,EAAwBG,IAAIL,EAAMJ,QAAQ,GACrCI,EAAMJ,UAER"}
1
+ {"version":3,"file":"errors.js","names":["FailedDeltaAuction","DeltaOrderFailedError","Error","order","constructor","message","name","captureStackTrace","isDeltaOrderFailedError","error","DeltaPriceErrorType","DELTA_PRICE_ERROR_TYPES","Set","getDeltaPriceErrorType","has"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/errors.ts"],"sourcesContent":["import type { FailedDeltaAuction } from \"../orders/types\";\n\nexport class DeltaOrderFailedError extends Error {\n public readonly order: FailedDeltaAuction;\n\n public constructor({\n message,\n order,\n }: {\n message?: string;\n order: FailedDeltaAuction;\n }) {\n super(message);\n this.name = this.constructor.name;\n this.message = message || \"DeltaOrderFailed\";\n this.order = order;\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DeltaOrderFailedError);\n }\n }\n}\n\nexport function isDeltaOrderFailedError(\n error: unknown\n): error is DeltaOrderFailedError {\n return error instanceof DeltaOrderFailedError;\n}\n\n// ------------------------------ DeltaPrice/BridgePrice errors ------------------------------\n\n/**\n * API error shapes (e.errorType returned as e.message in SDK):\n * - { \"errorType\": \"MaxImpactReached\", \"details\": \"Max price impact reached. Impact: 97.81%\" }\n * - { \"errorType\": \"NoUSDPriceForToken\", \"details\": \"No USD price available for token 0x6eed...\" }\n * - { \"errorType\": \"NoAvailablePrices\", \"details\": \"No available prices found\" }\n * - { \"errorType\": \"UnsupportedToken\", \"details\": \"Token 0xc4d4... is not supported\" }\n * - { \"errorType\": \"NoAvailableBridgeOptions\", \"details\": \"No available bridge options\" }\n */\nexport type DeltaPriceErrorType =\n | \"MaxImpactReached\"\n | \"NoUSDPriceForToken\"\n | \"NoAvailablePrices\"\n | \"UnsupportedToken\"\n | \"NoAvailableBridgeOptions\";\n\nconst DELTA_PRICE_ERROR_TYPES = new Set<string>([\n \"MaxImpactReached\",\n \"NoUSDPriceForToken\",\n \"NoAvailablePrices\",\n \"UnsupportedToken\",\n \"NoAvailableBridgeOptions\",\n] satisfies DeltaPriceErrorType[]);\n\nexport function getDeltaPriceErrorType(\n error: unknown\n): DeltaPriceErrorType | null {\n if (!(error instanceof Error)) return null;\n if (DELTA_PRICE_ERROR_TYPES.has(error.message)) {\n return error.message as DeltaPriceErrorType;\n }\n return null;\n}\n"],"mappings":";AAEA,IAAaC,IAAb,MAAaA,UAA8BC,MAAM;CAC/C;CAEA,YAAmB,EACjBG,YACAF,YAIC;EAOD,AANA,MAAME,EAAQ,EACd,KAAKC,OAAO,KAAKF,YAAYE,MAC7B,KAAKD,UAAUA,KAAW,oBAC1B,KAAKF,QAAQA,GAGTD,MAAMK,qBACRL,MAAMK,kBAAkB,MAAMN,EAAsB;;;AAK1D,SAAgBO,EACdC,GACgC;CAChC,OAAOA,aAAiBR;;AAoB1B,IAAMU,IAA0B,IAAIC,IAAY;CAC9C;CACA;CACA;CACA;CACA;CACD,CAAiC;AAElC,SAAgBC,EACdJ,GAC4B;CAK5B,OAJMA,aAAiBP,SACnBS,EAAwBG,IAAIL,EAAMJ,QAAQ,GACrCI,EAAMJ,UAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaLimitOrderRequiredBalance.js","names":["useDeltaSDK","assert","MarkRequired","useAccount","useChainId","useMinViemClient","useQuery","UseQueryOptions","UseQueryResult","isAddress","Address","SupportedChainId","LONG_STALE_TIME_FOR_REACTIVENESS","DeltaLimitOrderRequiredBalanceReturn","Record","DeltaLimitOrderRequiredBalanceQueryParams","Omit","Error","TData","DeltaLimitOrderRequiredBalanceQueryKey","DeltaLimitOrderRequiredBalanceQueryResult","DeltaLimitOrderRequiredBalanceQueryInput","tokenAddress","query","base","chainId","account","useDeltaLimitOrderRequiredBalance","t0","$","_c","address","t1","minClient","t2","client","sdk","t3","deltaLimitOrderRequiredBalanceQueryKey","t4","t5","signal","getRequiredBalanceForDeltaLimitOrders","userAddress","enabled","t6","queryKey","queryFn","toLowerCase","const","DeltaOrderRequiredAllowanceInput","amount","DeltaOrderRequiredAllowanceResult","combinedAllowance","isLoading","useDeltaOrderRequiredAllowance","data","balanceRequiredForCurrentOrders","staleTime","select","balanceRequired","BigInt","undefined"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\n\nimport { isAddress, type Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\n// ============================================================================\n// Types for getRequiredBalanceForDeltaLimitOrders\n// ============================================================================\n\ntype DeltaLimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype DeltaLimitOrderRequiredBalanceQueryParams<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaLimitOrderRequiredBalanceQueryResult<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype DeltaLimitOrderRequiredBalanceQueryInput<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: DeltaLimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype DeltaLimitOrderRequiredBalanceQueryKey = [\n base: \"delta/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useDeltaLimitOrderRequiredBalance<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: DeltaLimitOrderRequiredBalanceQueryInput<TData>): DeltaLimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useDeltaSDK({\n chainId,\n client: minClient,\n account,\n });\n\n return useQuery<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n }),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(account, \"account is required\");\n\n return sdk.getRequiredBalanceForDeltaLimitOrders(\n { userAddress: account, tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or a token with a valid address\n isAddress(tokenAddress)) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): DeltaLimitOrderRequiredBalanceQueryKey {\n return [\n \"delta/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype DeltaOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype DeltaOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<DeltaOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n DeltaOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput & {\n amount: undefined;\n}): DeltaOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useDeltaLimitOrderRequiredBalance({\n tokenAddress,\n query: {\n enabled: !!tokenAddress && enabled,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n select: (data) => {\n if (!tokenAddress) return 0n;\n\n const balanceRequired = data[tokenAddress.toLowerCase()];\n if (!balanceRequired) return 0n;\n return BigInt(balanceRequired);\n },\n },\n });\n\n if (!amount || !enabled || !balanceRequiredForCurrentOrders)\n // don't include current orders allowance if not enabled\n return {\n isLoading,\n combinedAllowance: amount !== undefined ? BigInt(amount) : undefined,\n };\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const combinedAllowance = BigInt(amount) + balanceRequiredForCurrentOrders;\n\n return {\n combinedAllowance,\n isLoading,\n };\n}\n"],"mappings":";;;;;;;;;AA+CA,SAAO2B,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAEL,EAAAR,iBAAAC,aAAAK,GAIAH,IAAgBrB,GAAY,EAC5B,EAAA2B,SAAAL,MAA6BvB,GAAY,EAAC6B;AAAA,CAAAH,EAAA,OAAAH,KAAAG,EAAA,OAAAJ,KACHO,IAAA;EAAAP;EAAAC;EAAoB,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAJ,GAAAI,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAA3D,IAAA,EAAAI,iBAAsB5B,EAAiB2B,EAAqB,EAACE;AAAA,CAAAL,EAAA,OAAAH,KAAAG,EAAA,OAAAJ,KAAAI,EAAA,OAAAI,KAEjCC,IAAA;EAAAT;EAAAU,QAElBF;EAASP;EAElB,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAJD,IAAA,EAAAO,WAAgBpC,EAAYkC,EAI1B,EAACG;AAAA,CAAAR,EAAA,OAAAH,KAAAG,EAAA,OAAAJ,KAAAI,EAAA,OAAAP,KAQSe,IAAAC,EAAuC;EAAAb;EAAAC;EAAAJ;EAIhD,CAAC,EAAAO,EAAA,KAAAH,GAAAG,EAAA,KAAAJ,GAAAI,EAAA,KAAAP,GAAAO,EAAA,MAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAU;AAAA,CAAAV,EAAA,QAAAH,KAAAG,EAAA,QAAAO,KAAAP,EAAA,QAAAP,KACOiB,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AAE8B,SADtCvC,EAAOmC,GAAK,sBAAsB,EAClCnC,EAAOyB,GAAS,sBAAsB,EAE/BU,EAAGM,sCACR;GAAAC,aAAejB;GAAOJ;GAAgB,EACtC,EAAAmB,WACF,CAAC;IACFZ,EAAA,MAAAH,GAAAG,EAAA,MAAAO,GAAAP,EAAA,MAAAP,GAAAO,EAAA,MAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAW;AAAA,CAAAX,EAAA,QAAAH,KAAAG,EAAA,QAAAJ,KAAAI,EAAA,QAAAN,GAAAqB,WAAAf,EAAA,QAAAO,KAAAP,EAAA,QAAAP,KAGCkB,IAAA,CAAC,EAAEf,KAAAC,KAAAU,OAEF,CAACd,KAEAb,EAAUa,EAAc,MACzBC,GAAKqB,WAAL,KAAuBf,EAAA,MAAAH,GAAAG,EAAA,MAAAJ,GAAAI,EAAA,MAAAN,GAAAqB,SAAAf,EAAA,MAAAO,GAAAP,EAAA,MAAAP,GAAAO,EAAA,MAAAW,KAAAA,IAAAX,EAAA;CAAA,IAAAgB;AAC3B,QAD2BhB,EAAA,QAAAN,KAAAM,EAAA,QAAAQ,KAAAR,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAtB1BK,IAAA;EAAAC,UACUT;EAIRU,SACOR;EAQR,GACEhB;EAAKqB,SAENJ;EAMH,EAAAX,EAAA,MAAAN,GAAAM,EAAA,MAAAQ,GAAAR,EAAA,MAAAU,GAAAV,EAAA,MAAAW,GAAAX,EAAA,MAAAgB,KAAAA,IAAAhB,EAAA,KA5BMvB,EAKLuC,EAuBA;;AAGJ,SAAgBP,EAAuC,EACrDb,YACAC,YACAJ,mBAKyC;AACzC,QAAO,CACL,4BACA;EACEG;EACAC,SAASA,GAASsB,aAAa;EAC/B1B,cAAcA,GAAc0B,aAAY;EACzC,CACF;;AAiCH,SAAgBO,EAA+B,EAC7CjC,iBACA6B,WACAP,cACsE;CACtE,IAAM,EAAEY,MAAMC,GAAiCH,iBAC7C3B,EAAkC;EAChCL;EACAC,OAAO;GACLqB,SAAS,CAAC,CAACtB,KAAgBsB;GAC3Bc,WAAW9C;GACX+C,SAASH,MAAS;AAChB,QAAI,CAAClC,EAAc,QAAO;IAE1B,IAAMsC,IAAkBJ,EAAKlC,EAAa0B,aAAa;AAEvD,WADKY,IACEC,OAAOD,EAAgB,GADD;;GAGjC;EACD,CAAC;AAYJ,QAVI,CAACT,KAAU,CAACP,KAAW,CAACa,IAEnB;EACLH;EACAD,mBAAmBF,MAAWW,KAAAA,IAA6BA,KAAAA,IAAjBD,OAAOV,EAAO;EACzD,GAKI;EACLE,mBAHwBQ,OAAOV,EAAO,GAAGM;EAIzCH;EACD"}
1
+ {"version":3,"file":"useDeltaLimitOrderRequiredBalance.js","names":["useDeltaSDK","assert","MarkRequired","useAccount","useChainId","useMinViemClient","useQuery","UseQueryOptions","UseQueryResult","isAddress","Address","SupportedChainId","LONG_STALE_TIME_FOR_REACTIVENESS","DeltaLimitOrderRequiredBalanceReturn","Record","DeltaLimitOrderRequiredBalanceQueryParams","Omit","Error","TData","DeltaLimitOrderRequiredBalanceQueryKey","DeltaLimitOrderRequiredBalanceQueryResult","DeltaLimitOrderRequiredBalanceQueryInput","tokenAddress","query","base","chainId","account","useDeltaLimitOrderRequiredBalance","t0","$","_c","address","t1","minClient","t2","client","sdk","t3","deltaLimitOrderRequiredBalanceQueryKey","t4","t5","signal","getRequiredBalanceForDeltaLimitOrders","userAddress","enabled","t6","queryKey","queryFn","toLowerCase","const","DeltaOrderRequiredAllowanceInput","amount","DeltaOrderRequiredAllowanceResult","combinedAllowance","isLoading","useDeltaOrderRequiredAllowance","data","balanceRequiredForCurrentOrders","staleTime","select","balanceRequired","BigInt","undefined"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\n\nimport { isAddress, type Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\n// ============================================================================\n// Types for getRequiredBalanceForDeltaLimitOrders\n// ============================================================================\n\ntype DeltaLimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype DeltaLimitOrderRequiredBalanceQueryParams<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaLimitOrderRequiredBalanceQueryResult<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype DeltaLimitOrderRequiredBalanceQueryInput<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: DeltaLimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype DeltaLimitOrderRequiredBalanceQueryKey = [\n base: \"delta/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useDeltaLimitOrderRequiredBalance<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: DeltaLimitOrderRequiredBalanceQueryInput<TData>): DeltaLimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useDeltaSDK({\n chainId,\n client: minClient,\n account,\n });\n\n return useQuery<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n }),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(account, \"account is required\");\n\n return sdk.getRequiredBalanceForDeltaLimitOrders(\n { userAddress: account, tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or a token with a valid address\n isAddress(tokenAddress)) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): DeltaLimitOrderRequiredBalanceQueryKey {\n return [\n \"delta/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype DeltaOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype DeltaOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<DeltaOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n DeltaOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput & {\n amount: undefined;\n}): DeltaOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useDeltaLimitOrderRequiredBalance({\n tokenAddress,\n query: {\n enabled: !!tokenAddress && enabled,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n select: (data) => {\n if (!tokenAddress) return 0n;\n\n const balanceRequired = data[tokenAddress.toLowerCase()];\n if (!balanceRequired) return 0n;\n return BigInt(balanceRequired);\n },\n },\n });\n\n if (!amount || !enabled || !balanceRequiredForCurrentOrders)\n // don't include current orders allowance if not enabled\n return {\n isLoading,\n combinedAllowance: amount !== undefined ? BigInt(amount) : undefined,\n };\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const combinedAllowance = BigInt(amount) + balanceRequiredForCurrentOrders;\n\n return {\n combinedAllowance,\n isLoading,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaOrderPreConditions.js","names":["useGetContracts","emptyArray","MEDIUM_STALE_TIME_FOR_REACTIVENESS","wagmiConfig","SupportedChainId","useQueryClient","isAddress","isHash","Address","Hash","useAccount","useReadContracts","readContractsQueryKey","readContractsQueryOptions","NonceManagementModuleMinAbi","type","name","inputs","internalType","outputs","stateMutability","const","PreSignModuleMinAbi","makePreConditionsContractParams","chainId","account","DeltaContract","nonce","orderHash","abi","address","functionName","args","UseDeltaOrderPreConditions","query","enabled","useDeltaOrderPreConditions","t0","$","_c","_nonce","data","contracts","t1","ParaswapDelta","undefined","t2","t3","t4","BigInt","t5","t6","refetchInterval","_temp","staleTime","_temp2","t7","allowFailure","queryResult","_isNonceUsed","_isPreSigned","t8","t9","isCancellable","isNonceUsed","isPreSigned","state","state_0","isNonceUsed_0","Infinity","deltaOrderPreConditionsQueryKey","deltaContract","UseEnsureDeltaOrdePreConditionsFnInput","useEnsureDeltaOrderPreConditions","queryClient","queryOptions","ensureQueryData","ensureFn"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isAddress, isHash, type Address, type Hash } from \"viem\";\nimport { useAccount, useReadContracts } from \"wagmi\";\nimport { readContractsQueryKey, readContractsQueryOptions } from \"wagmi/query\";\n\nconst NonceManagementModuleMinAbi = [\n {\n type: \"function\",\n name: \"isNonceUsed\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"used\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\nconst PreSignModuleMinAbi = [\n {\n type: \"function\",\n name: \"isPreSigned\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"orderHash\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\n/**\n * Returns the params to call wagmi.readContracts for checking Delta order pre-conditions (isNonceUsed and isPreSigned).\n * All params are optional to calm down the typescript, so the consumers must ensure they are present before calling the queryFn\n */\nfunction makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n DeltaContract?: Address;\n nonce?: bigint;\n orderHash?: string | null; // not available on old Orders only, so can be null\n}) {\n return [\n {\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n },\n {\n chainId,\n abi: PreSignModuleMinAbi,\n address: DeltaContract,\n functionName: \"isPreSigned\",\n args: [account as Address, orderHash as Hash],\n },\n ] as const;\n}\n\ntype UseDeltaOrderPreConditions = {\n chainId?: SupportedChainId;\n nonce?: string;\n orderHash?: string | null; // not available on old Orders only, so can be null\n query?: {\n enabled?: boolean;\n };\n};\n\n/**\n * Returns `[isNonceUsed, isPreSigned]` for a Delta order.\n * If the nonce is already used, the query is marked as never stale\n * (regardless of `isPreSigned`), since a used nonce is terminal.\n */\nexport function useDeltaOrderPreConditions({\n chainId,\n nonce: _nonce,\n orderHash,\n query,\n}: UseDeltaOrderPreConditions) {\n const { address: account } = useAccount();\n const { data: contracts } = useGetContracts();\n\n const DeltaContract =\n contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta)\n ? contracts.ParaswapDelta\n : undefined;\n const nonce = _nonce !== undefined ? BigInt(_nonce) : undefined;\n\n const queryResult = useReadContracts({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n query: {\n enabled:\n chainId &&\n account &&\n DeltaContract &&\n !!orderHash &&\n isHash(orderHash) &&\n typeof nonce === \"bigint\" &&\n (query?.enabled ?? true),\n refetchInterval: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return false;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return Infinity;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n },\n });\n const [_isNonceUsed, _isPreSigned] = queryResult.data ?? emptyArray;\n\n return {\n queryResult,\n // determine onchain conditions for order cancellability\n isCancellable: _isNonceUsed === false && _isPreSigned === true,\n isNonceUsed: _isNonceUsed,\n isPreSigned: _isPreSigned,\n };\n}\n\nexport function deltaOrderPreConditionsQueryKey({\n chainId,\n account,\n deltaContract,\n nonce: _nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n deltaContract?: string;\n nonce?: string;\n orderHash?: string | null;\n}) {\n const DeltaContract =\n deltaContract && isAddress(deltaContract) ? deltaContract : undefined;\n const nonce = _nonce ? BigInt(_nonce) : undefined;\n\n return readContractsQueryKey({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n });\n}\n\ntype UseEnsureDeltaOrdePreConditionsFnInput = {\n nonce: string;\n account: Address;\n DeltaContract: Address;\n chainId: SupportedChainId;\n orderHash: Hash;\n};\n\nexport function useEnsureDeltaOrderPreConditions(): (\n data: UseEnsureDeltaOrdePreConditionsFnInput\n) => Promise<{ isNonceUsed: boolean; isPreSigned: boolean }> {\n const queryClient = useQueryClient();\n\n const ensureFn = async ({\n account,\n nonce,\n DeltaContract,\n chainId,\n orderHash,\n }: UseEnsureDeltaOrdePreConditionsFnInput) => {\n const queryOptions = readContractsQueryOptions(wagmiConfig, {\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce: BigInt(nonce),\n orderHash,\n }),\n });\n\n const [isNonceUsed, isPreSigned] =\n await queryClient.ensureQueryData(queryOptions);\n\n return { isNonceUsed, isPreSigned };\n };\n\n return ensureFn;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaOrderPreConditions.js","names":["useGetContracts","emptyArray","MEDIUM_STALE_TIME_FOR_REACTIVENESS","wagmiConfig","SupportedChainId","useQueryClient","isAddress","isHash","Address","Hash","useAccount","useReadContracts","readContractsQueryKey","readContractsQueryOptions","NonceManagementModuleMinAbi","type","name","inputs","internalType","outputs","stateMutability","const","PreSignModuleMinAbi","makePreConditionsContractParams","chainId","account","DeltaContract","nonce","orderHash","abi","address","functionName","args","UseDeltaOrderPreConditions","query","enabled","useDeltaOrderPreConditions","t0","$","_c","_nonce","data","contracts","t1","ParaswapDelta","undefined","t2","t3","t4","BigInt","t5","t6","refetchInterval","_temp","staleTime","_temp2","t7","allowFailure","queryResult","_isNonceUsed","_isPreSigned","t8","t9","isCancellable","isNonceUsed","isPreSigned","state","state_0","isNonceUsed_0","Infinity","deltaOrderPreConditionsQueryKey","deltaContract","UseEnsureDeltaOrdePreConditionsFnInput","useEnsureDeltaOrderPreConditions","queryClient","queryOptions","ensureQueryData","ensureFn"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isAddress, isHash, type Address, type Hash } from \"viem\";\nimport { useAccount, useReadContracts } from \"wagmi\";\nimport { readContractsQueryKey, readContractsQueryOptions } from \"wagmi/query\";\n\nconst NonceManagementModuleMinAbi = [\n {\n type: \"function\",\n name: \"isNonceUsed\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"used\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\nconst PreSignModuleMinAbi = [\n {\n type: \"function\",\n name: \"isPreSigned\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"orderHash\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\n/**\n * Returns the params to call wagmi.readContracts for checking Delta order pre-conditions (isNonceUsed and isPreSigned).\n * All params are optional to calm down the typescript, so the consumers must ensure they are present before calling the queryFn\n */\nfunction makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n DeltaContract?: Address;\n nonce?: bigint;\n orderHash?: string | null; // not available on old Orders only, so can be null\n}) {\n return [\n {\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n },\n {\n chainId,\n abi: PreSignModuleMinAbi,\n address: DeltaContract,\n functionName: \"isPreSigned\",\n args: [account as Address, orderHash as Hash],\n },\n ] as const;\n}\n\ntype UseDeltaOrderPreConditions = {\n chainId?: SupportedChainId;\n nonce?: string;\n orderHash?: string | null; // not available on old Orders only, so can be null\n query?: {\n enabled?: boolean;\n };\n};\n\n/**\n * Returns `[isNonceUsed, isPreSigned]` for a Delta order.\n * If the nonce is already used, the query is marked as never stale\n * (regardless of `isPreSigned`), since a used nonce is terminal.\n */\nexport function useDeltaOrderPreConditions({\n chainId,\n nonce: _nonce,\n orderHash,\n query,\n}: UseDeltaOrderPreConditions) {\n const { address: account } = useAccount();\n const { data: contracts } = useGetContracts();\n\n const DeltaContract =\n contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta)\n ? contracts.ParaswapDelta\n : undefined;\n const nonce = _nonce !== undefined ? BigInt(_nonce) : undefined;\n\n const queryResult = useReadContracts({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n query: {\n enabled:\n chainId &&\n account &&\n DeltaContract &&\n !!orderHash &&\n isHash(orderHash) &&\n typeof nonce === \"bigint\" &&\n (query?.enabled ?? true),\n refetchInterval: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return false;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return Infinity;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n },\n });\n const [_isNonceUsed, _isPreSigned] = queryResult.data ?? emptyArray;\n\n return {\n queryResult,\n // determine onchain conditions for order cancellability\n isCancellable: _isNonceUsed === false && _isPreSigned === true,\n isNonceUsed: _isNonceUsed,\n isPreSigned: _isPreSigned,\n };\n}\n\nexport function deltaOrderPreConditionsQueryKey({\n chainId,\n account,\n deltaContract,\n nonce: _nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n deltaContract?: string;\n nonce?: string;\n orderHash?: string | null;\n}) {\n const DeltaContract =\n deltaContract && isAddress(deltaContract) ? deltaContract : undefined;\n const nonce = _nonce ? BigInt(_nonce) : undefined;\n\n return readContractsQueryKey({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n });\n}\n\ntype UseEnsureDeltaOrdePreConditionsFnInput = {\n nonce: string;\n account: Address;\n DeltaContract: Address;\n chainId: SupportedChainId;\n orderHash: Hash;\n};\n\nexport function useEnsureDeltaOrderPreConditions(): (\n data: UseEnsureDeltaOrdePreConditionsFnInput\n) => Promise<{ isNonceUsed: boolean; isPreSigned: boolean }> {\n const queryClient = useQueryClient();\n\n const ensureFn = async ({\n account,\n nonce,\n DeltaContract,\n chainId,\n orderHash,\n }: UseEnsureDeltaOrdePreConditionsFnInput) => {\n const queryOptions = readContractsQueryOptions(wagmiConfig, {\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce: BigInt(nonce),\n orderHash,\n }),\n });\n\n const [isNonceUsed, isPreSigned] =\n await queryClient.ensureQueryData(queryOptions);\n\n return { isNonceUsed, isPreSigned };\n };\n\n return ensureFn;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaOrders.js","names":["useDeltaSDK","queryClient","_queryClient","assertProp","QueryClient","useQuery","UseQueryOptions","UseQueryResult","DeltaAuction","GetDeltaOrdersFunctions","MarkOptional","useAccount","DeltaOrderByHashParams","DeltaOrderByHashReturn","DeltaOrderByHashQueryParams","Omit","Error","TData","DeltaOrderByHashQueryKey","DeltaOrderByHashQueryResult","DeltaOrderByHashQueryInput","orderHash","query","base","DELTA_ORDER_BY_HASH_QUERY_KEY","orderParams","DeltaOrderByIdParams","DeltaOrderByIdReturn","DeltaOrderByIdQueryParams","DeltaOrderByIdQueryKey","DeltaOrderByIdQueryResult","DeltaOrderByIdQueryInput","DeltaOrdersParams","Parameters","DeltaOrdersReturn","Awaited","ReturnType","DeltaOrdersQueryParams","DeltaOrdersQueryKey","DeltaOrdersQueryResult","DeltaOrdersQueryInput","UserDeltaOrdersQueryInput","useDeltaOrderByHashQuery","t0","$","_c","t1","Symbol","for","chainId","sdk","t2","t3","t4","signal","order","getDeltaOrderByHash","enabled","t5","queryKey","queryFn","ensureDeltaOrderByHashFactory","Promise","ensureFn","ensureQueryData","useDeltaOrderByIdQuery","getDeltaOrderById","useDeltaOrdersQuery","deltaOrdersQueryKey","orders","getDeltaOrders","userAddress","useUserDeltaOrdersQuery","_orderParams","address","account","toLowerCase","const"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { assertProp } from \"@/lib/utils\";\nimport {\n QueryClient,\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { DeltaAuction, GetDeltaOrdersFunctions } from \"@velora-dex/sdk\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\n// ============================================================================\n// Types for getDeltaOrderByHash\n// ============================================================================\n\ntype DeltaOrderByHashParams = string; // orderHash\ntype DeltaOrderByHashReturn = DeltaAuction;\n\ntype DeltaOrderByHashQueryParams<TData = DeltaOrderByHashReturn> = Omit<\n UseQueryOptions<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByHashQueryResult<TData = DeltaOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype DeltaOrderByHashQueryInput<TData = DeltaOrderByHashReturn> = {\n orderHash: DeltaOrderByHashParams;\n query?: DeltaOrderByHashQueryParams<TData>;\n};\n\ntype DeltaOrderByHashQueryKey = [\n base: typeof DELTA_ORDER_BY_HASH_QUERY_KEY,\n orderParams: DeltaOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrderById\n// ============================================================================\n\ntype DeltaOrderByIdParams = string; // orderId\ntype DeltaOrderByIdReturn = DeltaAuction;\n\ntype DeltaOrderByIdQueryParams<TData = DeltaOrderByIdReturn> = Omit<\n UseQueryOptions<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByIdQueryResult<TData = DeltaOrderByIdReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrderByIdQueryInput<TData = DeltaOrderByIdReturn> = {\n orderParams: DeltaOrderByIdParams;\n query?: DeltaOrderByIdQueryParams<TData>;\n};\n\ntype DeltaOrderByIdQueryKey = [\n base: \"swap/delta/order-by-id\",\n orderParams: DeltaOrderByIdParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrders\n// ============================================================================\n\ntype DeltaOrdersParams = Parameters<\n GetDeltaOrdersFunctions[\"getDeltaOrders\"]\n>[0];\ntype DeltaOrdersReturn = Awaited<\n ReturnType<GetDeltaOrdersFunctions[\"getDeltaOrders\"]>\n>;\n\ntype DeltaOrdersQueryParams<TData = DeltaOrdersReturn> = Omit<\n UseQueryOptions<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrdersQueryResult<TData = DeltaOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype UserDeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: Omit<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype DeltaOrdersQueryKey = [\n base: \"swap/delta/orders\",\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">,\n];\n\n// ============================================================================\n// Hook for getDeltaOrderByHash\n// ============================================================================\n\nconst DELTA_ORDER_BY_HASH_QUERY_KEY = \"swap/delta/order-by-hash\";\n\nexport function useDeltaOrderByHashQuery<TData = DeltaOrderByHashReturn>({\n orderHash,\n query,\n}: DeltaOrderByHashQueryInput<TData>): DeltaOrderByHashQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderByHash(orderHash, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\nexport function ensureDeltaOrderByHashFactory({\n queryClient = _queryClient,\n sdk,\n}: {\n queryClient?: QueryClient;\n sdk: GetDeltaOrdersFunctions;\n}): (orderHash: string) => Promise<DeltaOrderByHashReturn> {\n const ensureFn = async (orderHash: string) => {\n return queryClient.ensureQueryData<\n DeltaOrderByHashReturn,\n Error,\n DeltaOrderByHashReturn,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => sdk.getDeltaOrderByHash(orderHash, { signal }),\n });\n };\n\n return ensureFn;\n}\n\n// ============================================================================\n// Hook for getDeltaOrderById\n// ============================================================================\n\nexport function useDeltaOrderByIdQuery<TData = DeltaOrderByIdReturn>({\n orderParams,\n query,\n}: DeltaOrderByIdQueryInput<TData>): DeltaOrderByIdQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>({\n queryKey: [\"swap/delta/order-by-id\", orderParams],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderById(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\n// ============================================================================\n// Hook for getDeltaOrders\n// ============================================================================\n\nexport function useDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams,\n query,\n}: DeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>({\n queryKey: deltaOrdersQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assertProp(orderParams, \"userAddress\");\n const orders = sdk.getDeltaOrders(orderParams, { signal });\n return orders;\n },\n ...query,\n enabled: !!orderParams.userAddress && (query?.enabled ?? true),\n });\n}\n\nexport function useUserDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams: _orderParams,\n query,\n}: UserDeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = {\n ..._orderParams,\n userAddress: account,\n };\n\n return useDeltaOrdersQuery({ orderParams, query });\n}\n\nexport function deltaOrdersQueryKey({\n userAddress,\n ...orderParams\n}: MarkOptional<DeltaOrdersParams, \"userAddress\">): DeltaOrdersQueryKey {\n return [\n \"swap/delta/orders\",\n {\n ...orderParams,\n userAddress: userAddress?.toLowerCase(),\n },\n ] as const;\n}\n"],"mappings":";;;;;;;AA2GA,IAAMwB,IAAgC;AAwBtC,SAAgBqC,EAA8B,EAC5C5D,aAAAA,IAAcC,GACdgD,UAIyD;AAazD,QAZiB,OAAO7B,MACfpB,EAAY+D,gBAKjB;EACAL,UAAU,CAACnC,GAA+BH,EAAU;EACpDuC,UAAU,EAAEN,gBAAaJ,EAAIM,oBAAoBnC,GAAW,EAAEiC,WAAQ,CAAA;EACvE,CAAC;;AA+BN,SAAOa,EAAAxB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAwD,EAAApB,gBAAAH,aAAAqB,GAGhCG;AAAA,CAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACDF,IAAA,EAAAG,SAAW,GAAG,EAAAL,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA1C,IAAA,EAAAM,WAAgBlD,EAAY8C,EAAe,EAACK;AAAA,CAAAP,EAAA,OAAAnB,IAGA0B,IAAAP,EAAA,MAAhCO,IAAAiB,EAAoB3C,EAAY,EAAAmB,EAAA,KAAAnB,GAAAmB,EAAA,KAAAO;CAAA,IAAAC;AAAA,CAAAR,EAAA,OAAAnB,KAAAmB,EAAA,OAAAM,KACjCE,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AAEmD,SAD3DlD,EAAWsB,GAAa,cAAc,EACvByB,EAAGoB,eAAgB7C,GAAa,EAAA6B,WAAU,CAAC;IAE3DV,EAAA,KAAAnB,GAAAmB,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAEQ,IAAAS,IAAA,CAAC,CAAC5B,EAAW8C,gBAAiBjD,GAAKmC,WAAL,KAAuBC;AAC/D,QAD+Dd,EAAA,OAAAtB,KAAAsB,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAAAR,EAAA,OAAAS,KARMK,IAAA;EAAAC,UAC1DR;EAAgCS,SACjCR;EAIR,GACE9B;EAAKmC,SACCJ;EACV,EAAAT,EAAA,KAAAtB,GAAAsB,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KATMvC,EAA+DqD,EASpE;;AAGJ,SAAOc,EAAA7B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA4D,EAAApB,aAAAgD,GAAAnD,aAAAqB,GAIjE,EAAA+B,SAAAC,MAA6BhE,GAAY,EAACmC;AAAA,CAAAF,EAAA,OAAA6B,KAAA7B,EAAA,OAAA+B,KAEtB7B,IAAA;EAAA,GACf2B;EAAYF,aACFI;EACd,EAAA/B,EAAA,KAAA6B,GAAA7B,EAAA,KAAA+B,GAAA/B,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAHD,IAAAnB,IAAoBqB,GAGlBK;AAE+C,QAF/CP,EAAA,OAAAnB,KAAAmB,EAAA,OAAAtB,KAEyB6B,IAAA;EAAA1B;EAAAH;EAAsB,EAAAsB,EAAA,KAAAnB,GAAAmB,EAAA,KAAAtB,GAAAsB,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAA1CuB,EAAoBhB,EAAuB;;AAGpD,SAAgBiB,EAAoB,EAClCG,gBACA,GAAG9C,KACmE;AACtE,QAAO,CACL,qBACA;EACE,GAAGA;EACH8C,aAAaA,GAAaK,aAAY;EACvC,CACF"}
1
+ {"version":3,"file":"useDeltaOrders.js","names":["useDeltaSDK","queryClient","_queryClient","assertProp","QueryClient","useQuery","UseQueryOptions","UseQueryResult","DeltaAuction","GetDeltaOrdersFunctions","MarkOptional","useAccount","DeltaOrderByHashParams","DeltaOrderByHashReturn","DeltaOrderByHashQueryParams","Omit","Error","TData","DeltaOrderByHashQueryKey","DeltaOrderByHashQueryResult","DeltaOrderByHashQueryInput","orderHash","query","base","DELTA_ORDER_BY_HASH_QUERY_KEY","orderParams","DeltaOrderByIdParams","DeltaOrderByIdReturn","DeltaOrderByIdQueryParams","DeltaOrderByIdQueryKey","DeltaOrderByIdQueryResult","DeltaOrderByIdQueryInput","DeltaOrdersParams","Parameters","DeltaOrdersReturn","Awaited","ReturnType","DeltaOrdersQueryParams","DeltaOrdersQueryKey","DeltaOrdersQueryResult","DeltaOrdersQueryInput","UserDeltaOrdersQueryInput","useDeltaOrderByHashQuery","t0","$","_c","t1","Symbol","for","chainId","sdk","t2","t3","t4","signal","order","getDeltaOrderByHash","enabled","t5","queryKey","queryFn","ensureDeltaOrderByHashFactory","Promise","ensureFn","ensureQueryData","useDeltaOrderByIdQuery","getDeltaOrderById","useDeltaOrdersQuery","deltaOrdersQueryKey","orders","getDeltaOrders","userAddress","useUserDeltaOrdersQuery","_orderParams","address","account","toLowerCase","const"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { assertProp } from \"@/lib/utils\";\nimport {\n QueryClient,\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { DeltaAuction, GetDeltaOrdersFunctions } from \"@velora-dex/sdk\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\n// ============================================================================\n// Types for getDeltaOrderByHash\n// ============================================================================\n\ntype DeltaOrderByHashParams = string; // orderHash\ntype DeltaOrderByHashReturn = DeltaAuction;\n\ntype DeltaOrderByHashQueryParams<TData = DeltaOrderByHashReturn> = Omit<\n UseQueryOptions<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByHashQueryResult<TData = DeltaOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype DeltaOrderByHashQueryInput<TData = DeltaOrderByHashReturn> = {\n orderHash: DeltaOrderByHashParams;\n query?: DeltaOrderByHashQueryParams<TData>;\n};\n\ntype DeltaOrderByHashQueryKey = [\n base: typeof DELTA_ORDER_BY_HASH_QUERY_KEY,\n orderParams: DeltaOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrderById\n// ============================================================================\n\ntype DeltaOrderByIdParams = string; // orderId\ntype DeltaOrderByIdReturn = DeltaAuction;\n\ntype DeltaOrderByIdQueryParams<TData = DeltaOrderByIdReturn> = Omit<\n UseQueryOptions<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByIdQueryResult<TData = DeltaOrderByIdReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrderByIdQueryInput<TData = DeltaOrderByIdReturn> = {\n orderParams: DeltaOrderByIdParams;\n query?: DeltaOrderByIdQueryParams<TData>;\n};\n\ntype DeltaOrderByIdQueryKey = [\n base: \"swap/delta/order-by-id\",\n orderParams: DeltaOrderByIdParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrders\n// ============================================================================\n\ntype DeltaOrdersParams = Parameters<\n GetDeltaOrdersFunctions[\"getDeltaOrders\"]\n>[0];\ntype DeltaOrdersReturn = Awaited<\n ReturnType<GetDeltaOrdersFunctions[\"getDeltaOrders\"]>\n>;\n\ntype DeltaOrdersQueryParams<TData = DeltaOrdersReturn> = Omit<\n UseQueryOptions<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrdersQueryResult<TData = DeltaOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype UserDeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: Omit<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype DeltaOrdersQueryKey = [\n base: \"swap/delta/orders\",\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">,\n];\n\n// ============================================================================\n// Hook for getDeltaOrderByHash\n// ============================================================================\n\nconst DELTA_ORDER_BY_HASH_QUERY_KEY = \"swap/delta/order-by-hash\";\n\nexport function useDeltaOrderByHashQuery<TData = DeltaOrderByHashReturn>({\n orderHash,\n query,\n}: DeltaOrderByHashQueryInput<TData>): DeltaOrderByHashQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderByHash(orderHash, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\nexport function ensureDeltaOrderByHashFactory({\n queryClient = _queryClient,\n sdk,\n}: {\n queryClient?: QueryClient;\n sdk: GetDeltaOrdersFunctions;\n}): (orderHash: string) => Promise<DeltaOrderByHashReturn> {\n const ensureFn = async (orderHash: string) => {\n return queryClient.ensureQueryData<\n DeltaOrderByHashReturn,\n Error,\n DeltaOrderByHashReturn,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => sdk.getDeltaOrderByHash(orderHash, { signal }),\n });\n };\n\n return ensureFn;\n}\n\n// ============================================================================\n// Hook for getDeltaOrderById\n// ============================================================================\n\nexport function useDeltaOrderByIdQuery<TData = DeltaOrderByIdReturn>({\n orderParams,\n query,\n}: DeltaOrderByIdQueryInput<TData>): DeltaOrderByIdQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>({\n queryKey: [\"swap/delta/order-by-id\", orderParams],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderById(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\n// ============================================================================\n// Hook for getDeltaOrders\n// ============================================================================\n\nexport function useDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams,\n query,\n}: DeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>({\n queryKey: deltaOrdersQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assertProp(orderParams, \"userAddress\");\n const orders = sdk.getDeltaOrders(orderParams, { signal });\n return orders;\n },\n ...query,\n enabled: !!orderParams.userAddress && (query?.enabled ?? true),\n });\n}\n\nexport function useUserDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams: _orderParams,\n query,\n}: UserDeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = {\n ..._orderParams,\n userAddress: account,\n };\n\n return useDeltaOrdersQuery({ orderParams, query });\n}\n\nexport function deltaOrdersQueryKey({\n userAddress,\n ...orderParams\n}: MarkOptional<DeltaOrdersParams, \"userAddress\">): DeltaOrdersQueryKey {\n return [\n \"swap/delta/orders\",\n {\n ...orderParams,\n userAddress: userAddress?.toLowerCase(),\n },\n ] as const;\n}\n"],"mappings":";;;;;;;AA2GA,IAAMwB,IAAgC;AAwBtC,SAAgBqC,EAA8B,EAC5C5D,aAAAA,IAAcC,GACdgD,UAIyD;CAazD,OAAOa,OAZiB1C,MACfpB,EAAY+D,gBAKjB;EACAL,UAAU,CAACnC,GAA+BH,EAAU;EACpDuC,UAAU,EAAEN,gBAAaJ,EAAIM,oBAAoBnC,GAAW,EAAEiC,WAAQ,CAAA;EACvE,CAAC;;AA+BN,SAAOa,EAAAxB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAwD,EAAApB,gBAAAH,aAAAqB,GAGhCG;CAAA,AAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACDF,IAAA,EAAAG,SAAW,GAAG,EAAAL,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA1C,IAAA,EAAAM,WAAgBlD,EAAY8C,EAAe,EAACK;CAAA,AAAAP,EAAA,OAAAnB,IAGA0B,IAAAP,EAAA,MAAhCO,IAAAiB,EAAoB3C,EAAY,EAAAmB,EAAA,KAAAnB,GAAAmB,EAAA,KAAAO;CAAA,IAAAC;CAAA,AAAAR,EAAA,OAAAnB,KAAAmB,EAAA,OAAAM,KACjCE,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EAEmD,OAD3DlD,EAAWsB,GAAa,cAAc,EACvByB,EAAGoB,eAAgB7C,GAAa,EAAA6B,WAAU,CAClDe;IACRzB,EAAA,KAAAnB,GAAAmB,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAEQ,IAAAS,IAAA,CAAC,CAAC5B,EAAW8C,gBAAiBjD,GAAKmC,WAAL,KAAuBC;CAC/D,OAD+Dd,EAAA,OAAAtB,KAAAsB,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAAAR,EAAA,OAAAS,KARMK,IAAA;EAAAC,UAC1DR;EAAgCS,SACjCR;EAIR,GACE9B;EAAKmC,SACCJ;EACV,EAAAT,EAAA,KAAAtB,GAAAsB,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KATMvC,EAA+DqD,EASpE;;AAGJ,SAAOc,EAAA7B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA4D,EAAApB,aAAAgD,GAAAnD,aAAAqB,GAIjE,EAAA+B,SAAAC,MAA6BhE,GAAY,EAACmC;CAAA,AAAAF,EAAA,OAAA6B,KAAA7B,EAAA,OAAA+B,KAEtB7B,IAAA;EAAA,GACf2B;EAAYF,aACFI;EACd,EAAA/B,EAAA,KAAA6B,GAAA7B,EAAA,KAAA+B,GAAA/B,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAHD,IAAAnB,IAAoBqB,GAGlBK;CAE+C,OAF/CP,EAAA,OAAAnB,KAAAmB,EAAA,OAAAtB,KAEyB6B,IAAA;EAAA1B;EAAAH;EAAsB,EAAAsB,EAAA,KAAAnB,GAAAmB,EAAA,KAAAtB,GAAAsB,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAA1CuB,EAAoBhB,EAAuB;;AAGpD,SAAgBiB,EAAoB,EAClCG,gBACA,GAAG9C,KACmE;CACtE,OAAO,CACL,qBACA;EACE,GAAGA;EACH8C,aAAaA,GAAaK,aAAY;EACvC,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.js","names":["useDeltaSDK","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","useDebouncedValue","DeltaPrice","BridgePrice","DeltaPriceParams","DParams","OptimalRate","assert","MarkOptional","useMemo","PRICE_FETCH_TIMEOUT_MS","RequiredDeltaPriceParams","Omit","DeltaPriceQueryParams","DeltaQueryParams","Error","TData","DeltaPriceQueryKey","DeltaQueryResult","DeltaPriceQueryInput","priceParams","query","chainId","timeout","DeltaPriceQueryKeyPrefix","base","destChainId","useDeltaPriceQuery","result","queryKey","t0","$","_c","_priceParams","t1","undefined","t2","sdk","queryEnabled","enabled","t3","sanitizedPriceParams","useDeltaPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getDeltaPrice","t6","queryFn","t7","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","GetDeltaPriceQueryForPriceInput","DeltaPriceQuery","GetDeltaPriceQueryForPrice","input","useDeltaPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToDeltaPriceInput","onData","onError","error","SubscribeToDeltaPriceResult","useSubscribeToDeltaPrice","observer","subscribe","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","Pick","debouncedAmount","wait","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\nexport type DeltaPriceQueryParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceQueryParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceQueryParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout = PRICE_FETCH_TIMEOUT_MS,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceQueryParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceQueryParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n maxImpact: priceParams.maxImpact,\n degenMode: priceParams.degenMode,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n priceParams.maxImpact,\n priceParams.degenMode,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"mappings":";;;;;;;;AAyCA,IAAa+B,IAA2B;AAgDxC,SAAOG,EAAAG,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA8D,EAAAZ,aAAAa,GAAAZ,UAAAC,YAAAC,SAAAW,GAAAR,mBAAAI,GAInEP,IAAAW,MAAAC,KAAAA,IAAAzB,IAAAwB,GAAgCE;AAAA,CAAAL,EAAA,OAAAT,IAQOc,IAAAL,EAAA,MAAXK,IAAA,EAAAd,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAK;CAAvC,IAAA,EAAAC,WAAgB5C,EAAY2C,EAAY,EAExCE,IAAqBjB,GAAKkB,WAAL,IAAuBC;AAAA,CAAAT,EAAA,OAAAE,KAAAF,EAAA,OAAAT,KAAAS,EAAA,OAAAL,KAEqBc,IAAA;EAAApB,aAClDa;EAAYX;EAAAI;EAG1B,EAAAK,EAAA,KAAAE,GAAAF,EAAA,KAAAT,GAAAS,EAAA,KAAAL,GAAAK,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAJD,IAAA,EAAAF,aAAAY,4BAA2CC,EAAsBF,EAI/D,EAACG;AAAA,CAAAZ,EAAA,OAAAU,KAAAV,EAAA,OAAAM,KAAAN,EAAA,OAAAR,KASQoB,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AAKL,SAJHrC,EAAOuC,EAAmBL,EAAqB,EAAE,wBAAwB,EAC3DJ,EAAGW,cAAeP,GAAsB;GAAAI;GAAAtB;GAGrD,CAAC;IAEHQ,EAAA,KAAAU,GAAAV,EAAA,KAAAM,GAAAN,EAAA,KAAAR,GAAAQ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,QAAAO,KAAAP,EAAA,QAAAU,KAEQG,IAAAN,KAAgBQ,EAAmBL,EAAqB,EAAAV,EAAA,MAAAO,GAAAP,EAAA,MAAAU,GAAAV,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAkB;AAAA,CAAAlB,EAAA,QAAAV,KAAAU,EAAA,QAAAF,KAAAE,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KAXjEK,IAAA;EAAApB;EAAAqB,SAESP;EAOR,GACEtB;EAAKkB,SACCK;EACV,EAAAb,EAAA,MAAAV,GAAAU,EAAA,MAAAF,GAAAE,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAjBD,IAAAH,IAAe/B,EAKboD,EAYA,EAACE;AAEwB,QAFxBpB,EAAA,QAAAF,KAAAE,EAAA,QAAAH,KAEIuB,IAAA;EAAAvB;EAAAC;EAAoB,EAAAE,EAAA,MAAAF,GAAAE,EAAA,MAAAH,GAAAG,EAAA,MAAAoB,KAAAA,IAAApB,EAAA,KAApBoB;;AAGT,SAASL,EACP1B,GACyC;AACzC,QACE,CAAC,CAACA,EAAYgC,aACdhC,EAAYiC,iBAAiBlB,KAAAA,KAC7BmB,OAAOlC,EAAYmC,OAAO,GAAG;;AAIjC,SAAgBC,EACdT,GACqB;AACrB,QAAO,YAAYA;;AAGrB,SAAgBU,EACdV,GACsB;AACtB,QAAOA,EAAMW,OAAOC,uBAAuB;;AA+D7C,SAAOoB,IAAA;CAAA,IAAAhD,IAAAC,EAAA,EAAA,EACLiC,IAAoBnE,GAAgB,EAACgC;AAyBpC,QAzBoCC,EAAA,OAAAkC,IAyBpCnC,IAAAC,EAAA,MAvBMD,KAAAI,MAAA;EAAC,IAAA,EAAAL,aAAA8C,WAAAC,eAAA1C;AAWH,SAVc,IAAItC,EAMnBqE,GAAa;GAAApC;GAAAU,SAGJ;GACV,CAAC,CAGa0C,WAAWrD,MAAA;AACxB,OAAIA,EAAMiD,OAAM;AACdD,QAAUhD,EAAMiD,MAAO;AAAA;;AAGzB,GAAIjD,EAAM6C,QACRE,IAAS/C,EAAM6C,KAAM;IAEvB;IACH1C,EAAA,KAAAkC,GAAAlC,EAAA,KAAAD,IAvBMA;;AA0BT,SAASoD,EACPjB,GAGY;AACZ,QAAOA,EACJE,eAAe,CACfE,KAAgE;EAC/DxC,UAAU,CAACL,EAAyB;EACpC8C,OAAO;EACPa,MAAM;EACP,CAAC;;AAGN,SAAgBC,EACdnB,GACsC;AAGtC,QAFciB,EAAuBjB,EAAY,EAEnCO,MAAMC;;AAGtB,SAAgBY,EACdpB,GACS;AAGT,QAAO,CAAC,CAFMiB,EAAuBjB,EAAY,EAC5BO,MAAMK;;AAI7B,SAAgBS,EACdvC,GACmC;AACnC,QACE,OAAOA,KAAU,cACjBA,KACA,YAAYA,KACZ,cAAcA,KACd,eAAeA,KACf,eAAeA,KACf,gBAAgBA;;AAIpB,SAAgBL,EAAsB,EACpCtB,gBACAE,YACAI,kBAGC;AACD;CAGA,IAAM,CAAC8D,KAAmBvF,EAAkBmB,EAAYmC,QAAQ,EAC9DkC,MAAM,KACP,CAAC;AAEF,QAAOhF,QAAc;EAEnB,IAAMgC,IAEF;GACFc,QAAQiC;GACRE,UAAUtE,EAAYsE;GACtBtC,WAAWhC,EAAYgC;GACvBuC,aAAavE,EAAYuE;GACzBtC,cAAcjC,EAAYiC;GAC1BuC,aAAaxE,EAAYwE;GACzBC,aAAazE,EAAYyE;GACzBC,SAAS1E,EAAY0E;GACrBC,eAAe3E,EAAY2E;GAC3BC,MAAM5E,EAAY4E;GAClBC,eAAe7E,EAAY6E;GAC3BC,eAAe9E,EAAY8E;GAC3BC,gBAAgB/E,EAAY+E;GAC5BC,gBAAgBhF,EAAYgF;GAC5BC,oBAAoBjF,EAAYiF;GACnB3E;GACb4E,WAAWlF,EAAYkF;GACvBC,WAAWnF,EAAYmF;GACxB;AAQD,SAAO;GAAE1E,UAN4B;IACnCL;IACAF;IACAmB;IACD;GAEkBA;GAAsB;IACxC;EACDrB,EAAYyE;EACZzE,EAAYiC;EACZjC,EAAYgC;EACZhC,EAAY8E;EACZ9E,EAAY6E;EACZ7E,EAAY+E;EACZ/E,EAAYgF;EACZhF,EAAY0E;EACZ1E,EAAY2E;EACZ3E,EAAY4E;EACZ5E,EAAYuE;EACZvE,EAAYsE;EACZtE,EAAYwE;EACZxE,EAAYiF;EACZjF,EAAYkF;EACZlF,EAAYmF;EACZjF;EACAkE;EACA9D;EACD,CAAC"}
1
+ {"version":3,"file":"useDeltaPriceQuery.js","names":["useDeltaSDK","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","useDebouncedValue","DeltaPrice","BridgePrice","DeltaPriceParams","DParams","OptimalRate","assert","MarkOptional","useMemo","PRICE_FETCH_TIMEOUT_MS","RequiredDeltaPriceParams","Omit","DeltaPriceQueryParams","DeltaQueryParams","Error","TData","DeltaPriceQueryKey","DeltaQueryResult","DeltaPriceQueryInput","priceParams","query","chainId","timeout","DeltaPriceQueryKeyPrefix","base","destChainId","useDeltaPriceQuery","result","queryKey","t0","$","_c","_priceParams","t1","undefined","t2","sdk","queryEnabled","enabled","t3","sanitizedPriceParams","useDeltaPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getDeltaPrice","t6","queryFn","t7","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","GetDeltaPriceQueryForPriceInput","DeltaPriceQuery","GetDeltaPriceQueryForPrice","input","useDeltaPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToDeltaPriceInput","onData","onError","error","SubscribeToDeltaPriceResult","useSubscribeToDeltaPrice","observer","subscribe","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","Pick","debouncedAmount","wait","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\nexport type DeltaPriceQueryParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceQueryParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceQueryParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout = PRICE_FETCH_TIMEOUT_MS,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceQueryParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceQueryParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n maxImpact: priceParams.maxImpact,\n degenMode: priceParams.degenMode,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n priceParams.maxImpact,\n priceParams.degenMode,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsTokenSupportedInDelta.js","names":["useGlobalDeltaEnabled","useDeltaSDK","useQuery","UseQueryOptions","UseQueryResult","assert","IsTokenSupportedInDeltaParams","IsTokenSupportedInDeltaReturn","IsTokenSupportedInDeltaQueryParams","Omit","Error","TData","IsTokenSupportedInDeltaQueryKey","IsTokenSupportedInDeltaQueryResult","IsTokenSupportedInDeltaQueryInput","token","query","chainId","base","useIsTokenSupportedInDeltaQuery","t0","$","_c","t1","sdk","enabledOnCurrentChain","t2","toLowerCase","t3","t4","t5","signal","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n const { enabledOnCurrentChain } = useGlobalDeltaEnabled();\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && enabledOnCurrentChain && (query?.enabled ?? true),\n });\n}\n"],"mappings":";;;;;;AAsCA,SAAOmB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAEL,EAAAP,UAAAC,UAAAC,eAAAG,GAIyCG;AAAA,CAAAF,EAAA,OAAAJ,IACFM,IAAAF,EAAA,MAAXE,IAAA,EAAAN,YAAW,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE;CAAvC,IAAA,EAAAC,WAAgBvB,EAAYsB,EAAY,EACxC,EAAAE,6BAAkCzB,GAAuB,EAAC0B;AAAA,CAAAL,EAAA,OAAAN,IAQiBW,IAAAL,EAAA,MAApBK,IAAAX,GAAKY,aAAe,EAAAN,EAAA,KAAAN,GAAAM,EAAA,KAAAK;CAAA,IAAAE;AAAA,CAAAP,EAAA,OAAAJ,KAAAI,EAAA,OAAAK,KAA/DE,IAAA;EAAC;EAAiCX;EAASS;EAAqB,EAAAL,EAAA,KAAAJ,GAAAI,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;AAAA,CAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KACjEc,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AAE2D,SADnEzB,EAAOU,GAAO,oBAAoB,EACdS,EAAGS,wBAAyBlB,GAAO,EAAAgB,WAAU,CAAC;IAEnEV,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAKQ,IAAAS,IAAA,CAAC,CAACf,KAAFU,MAAqCT,GAAKkB,WAAL,KAAuBC;AACtE,QADsEd,EAAA,QAAAL,KAAAK,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAXrEK,IAAA;EAAAC,UACUR;EAAgES,SACjER;EAIRS,WAEUC;EAAQC,QACXD;EAAQ,GACbvB;EAAKkB,SACCJ;EACV,EAAAT,EAAA,MAAAL,GAAAK,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAjBMnB,EAKLiC,EAYA"}
1
+ {"version":3,"file":"useIsTokenSupportedInDelta.js","names":["useGlobalDeltaEnabled","useDeltaSDK","useQuery","UseQueryOptions","UseQueryResult","assert","IsTokenSupportedInDeltaParams","IsTokenSupportedInDeltaReturn","IsTokenSupportedInDeltaQueryParams","Omit","Error","TData","IsTokenSupportedInDeltaQueryKey","IsTokenSupportedInDeltaQueryResult","IsTokenSupportedInDeltaQueryInput","token","query","chainId","base","useIsTokenSupportedInDeltaQuery","t0","$","_c","t1","sdk","enabledOnCurrentChain","t2","toLowerCase","t3","t4","t5","signal","isSupported","isTokenSupportedInDelta","enabled","t6","queryKey","queryFn","staleTime","Infinity","gcTime"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.ts"],"sourcesContent":["import { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { assert } from \"ts-essentials\";\n\ntype IsTokenSupportedInDeltaParams = string | undefined; // token address\ntype IsTokenSupportedInDeltaReturn = boolean;\n\ntype IsTokenSupportedInDeltaQueryParams<TData = IsTokenSupportedInDeltaReturn> =\n Omit<\n UseQueryOptions<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n >;\ntype IsTokenSupportedInDeltaQueryResult<TData = IsTokenSupportedInDeltaReturn> =\n UseQueryResult<TData, Error>;\n\ntype IsTokenSupportedInDeltaQueryInput<TData = IsTokenSupportedInDeltaReturn> =\n {\n token: IsTokenSupportedInDeltaParams;\n query?: IsTokenSupportedInDeltaQueryParams<TData>;\n chainId: number;\n };\n\ntype IsTokenSupportedInDeltaQueryKey = [\n base: \"swap/delta/is-token-supported\",\n chainId: number,\n token: IsTokenSupportedInDeltaParams,\n];\n\nexport function useIsTokenSupportedInDeltaQuery<\n TData = IsTokenSupportedInDeltaReturn,\n>({\n token,\n query,\n chainId,\n}: IsTokenSupportedInDeltaQueryInput<TData>): IsTokenSupportedInDeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n const { enabledOnCurrentChain } = useGlobalDeltaEnabled();\n\n return useQuery<\n IsTokenSupportedInDeltaReturn,\n Error,\n TData,\n IsTokenSupportedInDeltaQueryKey\n >({\n queryKey: [\"swap/delta/is-token-supported\", chainId, token?.toLowerCase()],\n queryFn: ({ signal }) => {\n assert(token, \"token is required\");\n const isSupported = sdk.isTokenSupportedInDelta(token, { signal });\n return isSupported;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: !!token && enabledOnCurrentChain && (query?.enabled ?? true),\n });\n}\n"],"mappings":";;;;;;AAsCA,SAAOmB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAEL,EAAAP,UAAAC,UAAAC,eAAAG,GAIyCG;CAAA,AAAAF,EAAA,OAAAJ,IACFM,IAAAF,EAAA,MAAXE,IAAA,EAAAN,YAAW,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE;CAAvC,IAAA,EAAAC,WAAgBvB,EAAYsB,EAAY,EACxC,EAAAE,6BAAkCzB,GAAuB,EAAC0B;CAAA,AAAAL,EAAA,OAAAN,IAQiBW,IAAAL,EAAA,MAApBK,IAAAX,GAAKY,aAAe,EAAAN,EAAA,KAAAN,GAAAM,EAAA,KAAAK;CAAA,IAAAE;CAAA,AAAAP,EAAA,OAAAJ,KAAAI,EAAA,OAAAK,KAA/DE,IAAA;EAAC;EAAiCX;EAASS;EAAqB,EAAAL,EAAA,KAAAJ,GAAAI,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;CAAA,AAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KACjEc,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;EAE2D,OADnEzB,EAAOU,GAAO,oBAAoB,EACdS,EAAGS,wBAAyBlB,GAAO,EAAAgB,WAAU,CAC1DC;IACRX,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAKQ,IAAAS,IAAA,CAAC,CAACf,KAAFU,MAAqCT,GAAKkB,WAAL,KAAuBC;CACtE,OADsEd,EAAA,QAAAL,KAAAK,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAXrEK,IAAA;EAAAC,UACUR;EAAgES,SACjER;EAIRS,WAEUC;EAAQC,QACXD;EAAQ,GACbvB;EAAKkB,SACCJ;EACV,EAAAT,EAAA,MAAAL,GAAAK,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KAjBMnB,EAKLiC,EAYA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}