@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":"useCanBatchTxs.js","names":["CapabilitiesSchema","useAccount","useCapabilities","useMemo","useLogger","AtomicCapabilities","Required","Pick","AtomicStatus","CanBatchTxsResult","byChain","Record","forCurrentChain","currentChainStatus","isLoading","useCanBatchTxs","$","_c","address","account","chainId","connector","t0","uid","t1","scopeKey","data","logger","once","log","t2","bb0","undefined","t3","Object","fromEntries","entries","map","_temp","t4","chainId_0","capabilities","atomicBatch","supported","atomic","status","const"],"sources":["../../../src/hooks/batch/useCanBatchTxs.ts"],"sourcesContent":["import { type CapabilitiesSchema } from \"viem\";\nimport { useAccount, useCapabilities } from \"wagmi\";\nimport { useMemo } from \"react\";\nimport { useLogger } from \"@/core/logger\";\n\ntype AtomicCapabilities = Required<\n Pick<CapabilitiesSchema[\"getCapabilities\"][\"ReturnType\"], \"atomic\">\n>;\n\ntype AtomicStatus = AtomicCapabilities[\"atomic\"][\"status\"];\n\ntype CanBatchTxsResult = {\n byChain?: Record<number, AtomicStatus>;\n forCurrentChain?: boolean;\n currentChainStatus?: AtomicStatus;\n isLoading: boolean;\n};\n\nexport function useCanBatchTxs(): CanBatchTxsResult {\n const { address: account, chainId, connector } = useAccount();\n\n const { data, isLoading } = useCapabilities({\n account,\n scopeKey: connector?.uid, // unique for App session & wallet connection\n });\n const logger = useLogger(\"BATCH::useCanBatchTxs::wagmi\");\n\n logger.once.log(\"capabilities\", data);\n\n const byChain = useMemo<CanBatchTxsResult[\"byChain\"]>(() => {\n if (!data) return;\n return Object.fromEntries(\n Object.entries(data).map(\n ([chainId, capabilities]) =>\n [\n chainId,\n // Safe returns atomicBatch.supported instead of atomic.status\n (capabilities.atomicBatch?.supported && \"supported\") ||\n capabilities.atomic?.status ||\n \"unsupported\", // nothing returned --> consider unsupported\n ] as const\n )\n );\n }, [data]);\n\n const currentChainStatus = chainId ? byChain?.[chainId] : undefined;\n\n return {\n byChain,\n forCurrentChain:\n // ready means the user will be asked to upgrade to delegated EOA\n currentChainStatus === \"supported\" || currentChainStatus === \"ready\",\n currentChainStatus,\n isLoading,\n };\n}\n"],"mappings":";;;;;;AAkBA,SAAOe,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACL,EAAAC,SAAAC,GAAAC,YAAAC,iBAAiDpB,GAAY,EAIjDqB,IAAAD,GAASE,KAAKC;AAAA,CAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAM,KAFkBE,IAAA;EAAAL;EAAAM,UAEhCH;EACX,EAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAHD,IAAA,EAAAU,SAAAZ,iBAA4BZ,EAAgBsB,EAG1C;AACapB,GAAU,+BAA+B,CAElDwB,KAAKC,IAAK,gBAAgBH,EAAK;CAAA,IAAAI;AAAAC,MAAA;AAGnC,MAAI,CAACL,GAAI;AAAEI,OAAAE,KAAAA;AAAA,SAAAD;;EAAO,IAAAE;AAClBH,EADkBd,EAAA,OAAAU,IAYjBO,IAAAjB,EAAA,MAXMiB,IAAAC,OAAMC,YACXD,OAAME,QAASV,EAAK,CAAAW,IAClBC,EASJ,CAAC,EAAAtB,EAAA,KAAAU,GAAAV,EAAA,KAAAiB,IAXDH,IAAOG;;CAFT,IAAAvB,IAAgBoB,GAgBhBjB,IAA2BO,IAAUV,IAAUU,KAApBY,KAAAA,GAMvBC,IAAApB,MAAuB,eAAeA,MAAuB,SAAO0B;AAGvE,QAHuEvB,EAAA,OAAAN,KAAAM,EAAA,OAAAH,KAAAG,EAAA,OAAAF,KAAAE,EAAA,OAAAiB,KAJjEM,IAAA;EAAA7B;EAAAE,iBAIHqB;EAAoEpB;EAAAC;EAGvE,EAAAE,EAAA,KAAAN,GAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAF,GAAAE,EAAA,KAAAiB,GAAAjB,EAAA,KAAAuB,KAAAA,IAAAvB,EAAA,IAPMuB;;AA7BF,SAAAD,EAAAhB,GAAA;CAeE,IAAA,CAAAkB,GAAAC,KAAAnB;AAAuB,QACtB,CACEF,GAECqB,EAAYC,aAAuBC,aAAnC,eACCF,EAAYG,QAAeC,UAD7B,cAGD"}
1
+ {"version":3,"file":"useCanBatchTxs.js","names":["CapabilitiesSchema","useAccount","useCapabilities","useMemo","useLogger","AtomicCapabilities","Required","Pick","AtomicStatus","CanBatchTxsResult","byChain","Record","forCurrentChain","currentChainStatus","isLoading","useCanBatchTxs","$","_c","address","account","chainId","connector","t0","uid","t1","scopeKey","data","logger","once","log","t2","bb0","undefined","t3","Object","fromEntries","entries","map","_temp","t4","chainId_0","capabilities","atomicBatch","supported","atomic","status","const"],"sources":["../../../src/hooks/batch/useCanBatchTxs.ts"],"sourcesContent":["import { type CapabilitiesSchema } from \"viem\";\nimport { useAccount, useCapabilities } from \"wagmi\";\nimport { useMemo } from \"react\";\nimport { useLogger } from \"@/core/logger\";\n\ntype AtomicCapabilities = Required<\n Pick<CapabilitiesSchema[\"getCapabilities\"][\"ReturnType\"], \"atomic\">\n>;\n\ntype AtomicStatus = AtomicCapabilities[\"atomic\"][\"status\"];\n\ntype CanBatchTxsResult = {\n byChain?: Record<number, AtomicStatus>;\n forCurrentChain?: boolean;\n currentChainStatus?: AtomicStatus;\n isLoading: boolean;\n};\n\nexport function useCanBatchTxs(): CanBatchTxsResult {\n const { address: account, chainId, connector } = useAccount();\n\n const { data, isLoading } = useCapabilities({\n account,\n scopeKey: connector?.uid, // unique for App session & wallet connection\n });\n const logger = useLogger(\"BATCH::useCanBatchTxs::wagmi\");\n\n logger.once.log(\"capabilities\", data);\n\n const byChain = useMemo<CanBatchTxsResult[\"byChain\"]>(() => {\n if (!data) return;\n return Object.fromEntries(\n Object.entries(data).map(\n ([chainId, capabilities]) =>\n [\n chainId,\n // Safe returns atomicBatch.supported instead of atomic.status\n (capabilities.atomicBatch?.supported && \"supported\") ||\n capabilities.atomic?.status ||\n \"unsupported\", // nothing returned --> consider unsupported\n ] as const\n )\n );\n }, [data]);\n\n const currentChainStatus = chainId ? byChain?.[chainId] : undefined;\n\n return {\n byChain,\n forCurrentChain:\n // ready means the user will be asked to upgrade to delegated EOA\n currentChainStatus === \"supported\" || currentChainStatus === \"ready\",\n currentChainStatus,\n isLoading,\n };\n}\n"],"mappings":";;;;;;AAkBA,SAAOe,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACL,EAAAC,SAAAC,GAAAC,YAAAC,iBAAiDpB,GAAY,EAIjDqB,IAAAD,GAASE,KAAKC;CAAA,AAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAM,KAFkBE,IAAA;EAAAL;EAAAM,UAEhCH;EACX,EAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAHD,IAAA,EAAAU,SAAAZ,iBAA4BZ,EAAgBsB,EAG1C;CAGFG,EAFyB,+BAEzBA,CAAMC,KAAKC,IAAK,gBAAgBH,EAAK;CAAA,IAAAI;CAAAC,KAAA;EAGnC,IAAI,CAACL,GAAI;GAAEI,IAAAE,KAAAA;GAAA,MAAAD;;EAAO,IAAAE;EAClBH,AADkBd,EAAA,OAAAU,IAYjBO,IAAAjB,EAAA,MAXMiB,IAAAC,OAAMC,YACXD,OAAME,QAASV,EAAK,CAAAW,IAClBC,EASJ,CAAC,EAAAtB,EAAA,KAAAU,GAAAV,EAAA,KAAAiB,IAXDH,IAAOG;;CAFT,IAAAvB,IAAgBoB,GAgBhBjB,IAA2BO,IAAUV,IAAUU,KAApBY,KAAAA,GAMvBC,IAAApB,MAAuB,eAAeA,MAAuB,SAAO0B;CAGvE,OAHuEvB,EAAA,OAAAN,KAAAM,EAAA,OAAAH,KAAAG,EAAA,OAAAF,KAAAE,EAAA,OAAAiB,KAJjEM,IAAA;EAAA7B;EAAAE,iBAIHqB;EAAoEpB;EAAAC;EAGvE,EAAAE,EAAA,KAAAN,GAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAF,GAAAE,EAAA,KAAAiB,GAAAjB,EAAA,KAAAuB,KAAAA,IAAAvB,EAAA,IAPMuB;;AA7BF,SAAAD,EAAAhB,GAAA;CAeE,IAAA,CAAAkB,GAAAC,KAAAnB;CAAuB,OACtB,CACEF,GAECqB,EAAYC,aAAuBC,aAAnC,eACCF,EAAYG,QAAeC,UAD7B,cAGD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSendBatchTx.js","names":["Config","useSendCalls","UseSendCallsReturnType","SendCallsData","SendCallsVariables","SendCallsErrorType","SendTransactionParameters","MutationFilters","useIsMutating","useCallback","assert","Call","SupportedChainId","TxParams","isTruthy","SendCallsVars","UseSendBatchTxInput","onMutate","vars","onSuccess","data","variables","onError","error","Error","onSettled","UseSendBatchTxResult","Pick","sendCalls","SendCalls","input","Omit","calls","txsParams","options","Promise","useSendBatchTx","$","_c","t0","mutation","isPending","isSuccess","isError","reset","sendCallsAsync","t1","t2","options_0","map","txParamsToCalls","filter","length","chainId","IsConfirmingBatchTxInput","useIsConfirmingBatchTx","Symbol","for","predicate","exact","status","mutationKey","txParams","to","value"],"sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"sourcesContent":["import { type Config, useSendCalls, type UseSendCallsReturnType } from \"wagmi\";\nimport { type SendCallsData, type SendCallsVariables } from \"wagmi/query\";\nimport {\n type SendCallsErrorType,\n type SendTransactionParameters,\n} from \"@wagmi/core\";\nimport { type MutationFilters, useIsMutating } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport type { Call } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TxParams } from \"./useBatchWithApproveTxs\";\nimport { isTruthy } from \"@/lib/utils\";\n\ntype SendCallsVars = SendCallsVariables<Config, SupportedChainId>;\n\nexport type UseSendBatchTxInput = {\n onMutate?: (vars: SendCallsVars) => void;\n onSuccess?: (data: SendCallsData, variables: SendCallsVars) => void;\n onError?: (error: Error, variables: SendCallsVars) => void;\n onSettled?: (\n data: SendCallsData | undefined,\n error: SendCallsErrorType | null,\n variables: SendCallsVars\n ) => void;\n};\n\nexport type UseSendBatchTxResult = Pick<\n UseSendCallsReturnType<Config, unknown>,\n \"isPending\" | \"error\" | \"data\" | \"isSuccess\" | \"isError\" | \"reset\"\n> & {\n sendCalls: SendCalls;\n};\n\nexport type SendCalls = (\n input: Omit<SendCallsVars, \"calls\"> & {\n calls?: Call[]; // can pass expected Calls directly\n // or txsParams to be converted to Calls\n txsParams?: SendTransactionParameters<Config, SupportedChainId>[];\n },\n options?: Omit<UseSendBatchTxInput, \"onMutate\">\n) => Promise<SendCallsData>;\n\nexport function useSendBatchTx(\n options?: UseSendBatchTxInput\n): UseSendBatchTxResult {\n const { data, isPending, isSuccess, isError, reset, error, sendCallsAsync } =\n useSendCalls({\n mutation: options,\n // mutationKey = ['sendCalls'] inside\n });\n\n const sendCalls = useCallback<SendCalls>(\n ({ txsParams, ...input }, options) => {\n const calls: Call[] | undefined =\n input.calls || txsParams?.map(txParamsToCalls).filter(isTruthy);\n\n assert(calls && calls.length > 0, \"calls must be provided\");\n\n const chainId = input.chainId || txsParams?.[0]?.chainId;\n\n return sendCallsAsync(\n {\n ...input,\n chainId: chainId as SupportedChainId | undefined,\n calls,\n },\n options\n );\n },\n [sendCallsAsync]\n );\n\n return { data, isPending, isSuccess, isError, reset, error, sendCalls };\n}\n\ntype IsConfirmingBatchTxInput = Omit<\n MutationFilters<\n SendCallsData,\n SendCallsErrorType,\n SendCallsVariables<Config, number>\n >,\n \"mutationKey\"\n>;\n\nexport function useIsConfirmingBatchTx(\n options: IsConfirmingBatchTxInput\n): boolean {\n return (\n useIsMutating({\n mutationKey: [\"sendCalls\"],\n exact: options.exact,\n status: options.status,\n predicate: options.predicate as MutationFilters[\"predicate\"],\n }) > 0\n );\n}\n\nfunction txParamsToCalls(\n txParams: Pick<TxParams, \"to\" | \"data\" | \"value\">\n): Call | null {\n if (!txParams.to) {\n return null;\n }\n\n return {\n to: txParams.to,\n data: txParams.data,\n value: txParams.value,\n };\n}\n"],"mappings":";;;;;;;;;AA2CA,SAAOoC,EAAAF,GAAA;CAAA,IAAAG,IAAAC,EAAA,GAAA,EAAAC;AAAA,CAAAF,EAAA,OAAAH,IAOFK,IAAAF,EAAA,MAHYE,IAAA,EAAAC,UACDN,GAEX,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAJH,IAAA,EAAAnB,SAAAqB,cAAAC,cAAAC,YAAAC,UAAArB,UAAAsB,sBACE5C,EAAasC,EAGX,EAACO;AAAA,CAAAT,EAAA,OAAAQ,IAmBFC,IAAAT,EAAA,MAhBDS,KAAAC,GAAAC,MAAA;EAAC,IAAA,EAAAf,cAAA,GAAAH,MAAAiB,GACCf,IACEF,EAAKE,SAAUC,GAASgB,IAAMC,EAAuB,CAAAC,OAACrC,EAAS;AAEjEJ,IAAOsB,KAASA,EAAKoB,SAAU,GAAG,yBAAyB;EAE3D,IAAAC,IAAgBvB,EAAKuB,WAAYpB,IAAS,IAAcoB;AAAC,SAElDR,EACL;GAAA,GACKf;GACMuB;GAAuCrB;GAEjD,EACDE,EACD;IACFG,EAAA,KAAAQ,GAAAR,EAAA,KAAAS;CAjBH,IAAAlB,IAAkBkB,GAmBhBC;AAEqE,QAFrEV,EAAA,OAAAjB,KAAAiB,EAAA,OAAAd,KAAAc,EAAA,OAAAM,KAAAN,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAO,KAAAP,EAAA,QAAAT,KAEKmB,IAAA;EAAA3B;EAAAqB;EAAAC;EAAAC;EAAAC;EAAArB;EAAAK;EAAgE,EAAAS,EAAA,KAAAjB,GAAAiB,EAAA,KAAAd,GAAAc,EAAA,KAAAM,GAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAO,GAAAP,EAAA,MAAAT,GAAAS,EAAA,MAAAU,KAAAA,IAAAV,EAAA,KAAhEU;;AAyBT,SAASG,EACPY,GACa;AAKb,QAJKA,EAASC,KAIP;EACLA,IAAID,EAASC;EACb3C,MAAM0C,EAAS1C;EACf4C,OAAOF,EAASE;EACjB,GAPQ"}
1
+ {"version":3,"file":"useSendBatchTx.js","names":["Config","useSendCalls","UseSendCallsReturnType","SendCallsData","SendCallsVariables","SendCallsErrorType","SendTransactionParameters","MutationFilters","useIsMutating","useCallback","assert","Call","SupportedChainId","TxParams","isTruthy","SendCallsVars","UseSendBatchTxInput","onMutate","vars","onSuccess","data","variables","onError","error","Error","onSettled","UseSendBatchTxResult","Pick","sendCalls","SendCalls","input","Omit","calls","txsParams","options","Promise","useSendBatchTx","$","_c","t0","mutation","isPending","isSuccess","isError","reset","sendCallsAsync","t1","t2","options_0","map","txParamsToCalls","filter","length","chainId","IsConfirmingBatchTxInput","useIsConfirmingBatchTx","Symbol","for","predicate","exact","status","mutationKey","txParams","to","value"],"sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"sourcesContent":["import { type Config, useSendCalls, type UseSendCallsReturnType } from \"wagmi\";\nimport { type SendCallsData, type SendCallsVariables } from \"wagmi/query\";\nimport {\n type SendCallsErrorType,\n type SendTransactionParameters,\n} from \"@wagmi/core\";\nimport { type MutationFilters, useIsMutating } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport type { Call } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TxParams } from \"./useBatchWithApproveTxs\";\nimport { isTruthy } from \"@/lib/utils\";\n\ntype SendCallsVars = SendCallsVariables<Config, SupportedChainId>;\n\nexport type UseSendBatchTxInput = {\n onMutate?: (vars: SendCallsVars) => void;\n onSuccess?: (data: SendCallsData, variables: SendCallsVars) => void;\n onError?: (error: Error, variables: SendCallsVars) => void;\n onSettled?: (\n data: SendCallsData | undefined,\n error: SendCallsErrorType | null,\n variables: SendCallsVars\n ) => void;\n};\n\nexport type UseSendBatchTxResult = Pick<\n UseSendCallsReturnType<Config, unknown>,\n \"isPending\" | \"error\" | \"data\" | \"isSuccess\" | \"isError\" | \"reset\"\n> & {\n sendCalls: SendCalls;\n};\n\nexport type SendCalls = (\n input: Omit<SendCallsVars, \"calls\"> & {\n calls?: Call[]; // can pass expected Calls directly\n // or txsParams to be converted to Calls\n txsParams?: SendTransactionParameters<Config, SupportedChainId>[];\n },\n options?: Omit<UseSendBatchTxInput, \"onMutate\">\n) => Promise<SendCallsData>;\n\nexport function useSendBatchTx(\n options?: UseSendBatchTxInput\n): UseSendBatchTxResult {\n const { data, isPending, isSuccess, isError, reset, error, sendCallsAsync } =\n useSendCalls({\n mutation: options,\n // mutationKey = ['sendCalls'] inside\n });\n\n const sendCalls = useCallback<SendCalls>(\n ({ txsParams, ...input }, options) => {\n const calls: Call[] | undefined =\n input.calls || txsParams?.map(txParamsToCalls).filter(isTruthy);\n\n assert(calls && calls.length > 0, \"calls must be provided\");\n\n const chainId = input.chainId || txsParams?.[0]?.chainId;\n\n return sendCallsAsync(\n {\n ...input,\n chainId: chainId as SupportedChainId | undefined,\n calls,\n },\n options\n );\n },\n [sendCallsAsync]\n );\n\n return { data, isPending, isSuccess, isError, reset, error, sendCalls };\n}\n\ntype IsConfirmingBatchTxInput = Omit<\n MutationFilters<\n SendCallsData,\n SendCallsErrorType,\n SendCallsVariables<Config, number>\n >,\n \"mutationKey\"\n>;\n\nexport function useIsConfirmingBatchTx(\n options: IsConfirmingBatchTxInput\n): boolean {\n return (\n useIsMutating({\n mutationKey: [\"sendCalls\"],\n exact: options.exact,\n status: options.status,\n predicate: options.predicate as MutationFilters[\"predicate\"],\n }) > 0\n );\n}\n\nfunction txParamsToCalls(\n txParams: Pick<TxParams, \"to\" | \"data\" | \"value\">\n): Call | null {\n if (!txParams.to) {\n return null;\n }\n\n return {\n to: txParams.to,\n data: txParams.data,\n value: txParams.value,\n };\n}\n"],"mappings":";;;;;;;;;AA2CA,SAAOoC,EAAAF,GAAA;CAAA,IAAAG,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAH,IAOFK,IAAAF,EAAA,MAHYE,IAAA,EAAAC,UACDN,GAEX,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAJH,IAAA,EAAAnB,SAAAqB,cAAAC,cAAAC,YAAAC,UAAArB,UAAAsB,sBACE5C,EAAasC,EAGX,EAACO;CAAA,AAAAT,EAAA,OAAAQ,IAmBFC,IAAAT,EAAA,MAhBDS,KAAAC,GAAAC,MAAA;EAAC,IAAA,EAAAf,cAAA,GAAAH,MAAAiB,GACCf,IACEF,EAAKE,SAAUC,GAASgB,IAAMC,EAAuB,CAAAC,OAACrC,EAAS;EAEjEJ,EAAOsB,KAASA,EAAKoB,SAAU,GAAG,yBAAyB;EAE3D,IAAAC,IAAgBvB,EAAKuB,WAAYpB,IAAS,IAAcoB;EAAC,OAElDR,EACL;GAAA,GACKf;GACMuB;GAAuCrB;GAEjD,EACDE,EACD;IACFG,EAAA,KAAAQ,GAAAR,EAAA,KAAAS;CAjBH,IAAAlB,IAAkBkB,GAmBhBC;CAEqE,OAFrEV,EAAA,OAAAjB,KAAAiB,EAAA,OAAAd,KAAAc,EAAA,OAAAM,KAAAN,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAO,KAAAP,EAAA,QAAAT,KAEKmB,IAAA;EAAA3B;EAAAqB;EAAAC;EAAAC;EAAAC;EAAArB;EAAAK;EAAgE,EAAAS,EAAA,KAAAjB,GAAAiB,EAAA,KAAAd,GAAAc,EAAA,KAAAM,GAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAO,GAAAP,EAAA,MAAAT,GAAAS,EAAA,MAAAU,KAAAA,IAAAV,EAAA,KAAhEU;;AAyBT,SAASG,EACPY,GACa;CAKb,OAJKA,EAASC,KAIP;EACLA,IAAID,EAASC;EACb3C,MAAM0C,EAAS1C;EACf4C,OAAOF,EAASE;EACjB,GAPQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsConnectedSafe.js","names":["wagmiConfig","useIsSafeConnector","isSafeConnectorThroughWalletConnect","useIsSafeThroughWalletConnect","getAccount","getWalletMetadata","walletMetadataQueryKey","queryClient","isConnectorWithSafeProvider","useIsExternalConnectorWithSafe","useConnectedSafe","isSafeConnector","isSafeThroughWalletConnect","isExternalProviderSafeIframe","useConnectedToSafeIframe","connectedSafe","connector","walletMeta","ensureQueryData","queryKey","uid","queryFn","gcTime","Infinity"],"sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useIsSafeConnector } from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport {\n isConnectorWithSafeProvider,\n useIsExternalConnectorWithSafe,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n\n return (\n isSafeConnector ||\n isSafeThroughWalletConnect ||\n isExternalProviderSafeIframe\n );\n}\n\nexport function useConnectedToSafeIframe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n return isExternalProviderSafeIframe || isSafeConnector;\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isConnectorWithSafeProvider(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.uid),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"mappings":";;;;;AAiBA,SAAOU,IAAA;CACL,IAAAC,IAAwBV,GAAoB,EAC5CW,IAAmCT,GAA+B,EAElEU,IAAqCJ,GAAgC;AAAC,QAGpEE,KAAAC,KAAAC;;AAMJ,SAAOC,IAAA;CACL,IAAAH,IAAwBV,GAAoB;AAC0B,QAAjCQ,GAAgC,IAC9DE"}
1
+ {"version":3,"file":"useIsConnectedSafe.js","names":["wagmiConfig","useIsSafeConnector","isSafeConnectorThroughWalletConnect","useIsSafeThroughWalletConnect","getAccount","getWalletMetadata","walletMetadataQueryKey","queryClient","isConnectorWithSafeProvider","useIsExternalConnectorWithSafe","useConnectedSafe","isSafeConnector","isSafeThroughWalletConnect","isExternalProviderSafeIframe","useConnectedToSafeIframe","connectedSafe","connector","walletMeta","ensureQueryData","queryKey","uid","queryFn","gcTime","Infinity"],"sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useIsSafeConnector } from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport {\n isConnectorWithSafeProvider,\n useIsExternalConnectorWithSafe,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n\n return (\n isSafeConnector ||\n isSafeThroughWalletConnect ||\n isExternalProviderSafeIframe\n );\n}\n\nexport function useConnectedToSafeIframe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n return isExternalProviderSafeIframe || isSafeConnector;\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isConnectorWithSafeProvider(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.uid),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"mappings":";;;;;AAiBA,SAAOU,IAAA;CACL,IAAAC,IAAwBV,GAAoB,EAC5CW,IAAmCT,GAA+B,EAElEU,IAAqCJ,GAAgC;CAAC,OAGpEE,KAAAC,KAAAC;;AAMJ,SAAOC,IAAA;CACL,IAAAH,IAAwBV,GAAoB;CAC0B,OAAjCQ,GAC9BI,IAAAF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsGnosisSafeConnector.js","names":["useAccount","Connector","safe","useIsSafeConnector","$","_c","connector","t0","isSafeConnector","SafeMinConnector","type","Pick","T"],"sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport type SafeMinConnector = {\n type: typeof safe.type;\n};\n\nexport function isSafeConnector<T extends Pick<Connector, \"type\">>(\n connector: T\n): connector is T & SafeMinConnector {\n return connector.type === safe.type;\n}\n"],"mappings":";;;;AAGA,SAAOG,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAC,iBAAsBN,GAAY;AAClC,KAAI,CAACM,EAAS,QAAS;CAAM,IAAAC;AACI,QADJH,EAAA,OAAAE,IACIC,IAAAH,EAAA,MAA1BG,IAAAC,EAAgBF,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA1BA;;AAOT,SAAgBC,EACdF,GACmC;AACnC,QAAOA,EAAUI,SAASR,EAAKQ"}
1
+ {"version":3,"file":"useIsGnosisSafeConnector.js","names":["useAccount","Connector","safe","useIsSafeConnector","$","_c","connector","t0","isSafeConnector","SafeMinConnector","type","Pick","T"],"sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport type SafeMinConnector = {\n type: typeof safe.type;\n};\n\nexport function isSafeConnector<T extends Pick<Connector, \"type\">>(\n connector: T\n): connector is T & SafeMinConnector {\n return connector.type === safe.type;\n}\n"],"mappings":";;;;AAGA,SAAOG,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAC,iBAAsBN,GAAY;CAClC,IAAI,CAACM,GAAS,OAAS;CAAM,IAAAC;CACI,OADJH,EAAA,OAAAE,IACIC,IAAAH,EAAA,MAA1BG,IAAAC,EAAgBF,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA1BA;;AAOT,SAAgBC,EACdF,GACmC;CACnC,OAAOA,EAAUI,SAASR,EAAKQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSafeThroughWalletConnect.js","names":["isExternalConnector","isExternalConnectorSafeWalletConnect","getWalletConnectMetadata","isWalletConnectConnector","useWalletMetadata","WalletMeta","useAccount","Connector","GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","$","_c","connector","walletMetadata","isWalletConnect","t0","isSafeConnectorThroughWalletConnect","connectorType","connectorId","name","Pick","isExternal","type","id","isWConnectConnector","isConnectorWithMaybeSafe","isSafe","some","rule","test","isWalletConnectConnectorWithSafe","T","Promise","provider","getProvider","metadata"],"sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n isExternalConnector,\n isExternalConnectorSafeWalletConnect,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\nimport {\n getWalletConnectMetadata,\n isWalletConnectConnector,\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useAccount, type Connector } from \"wagmi\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connector } = useAccount();\n const walletMetadata = useWalletMetadata(connector);\n\n if (!connector) {\n return false;\n }\n\n if (isExternalConnectorSafeWalletConnect(connector)) {\n // for external connector can determine if it's safe through WalletConnect by checking sync\n // connector.id is a special id is that case assigned on connection\n return true;\n }\n\n if (!isWalletConnectConnector(connector)) {\n // non-WalletConnect connectors are not safe through WalletConnect\n return false;\n }\n\n if (!walletMetadata?.isWalletConnect) {\n // if wallet metadata is not available, or is not a WalletConnect connector,\n // then it's not safe through WalletConnect\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect(walletMetadata);\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n connectorId,\n name,\n}: Pick<WalletMeta, \"connectorType\" | \"connectorId\" | \"name\">): boolean {\n const isExternal = isExternalConnector({\n type: connectorType,\n id: connectorId,\n });\n const isWConnectConnector = isWalletConnectConnector({ type: connectorType });\n\n const isConnectorWithMaybeSafe = isExternal || isWConnectConnector;\n\n if (!isConnectorWithMaybeSafe || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n\nexport async function isWalletConnectConnectorWithSafe<\n T extends Pick<Connector, \"type\" | \"id\" | \"getProvider\">,\n>(connector: T): Promise<boolean> {\n if (!isWalletConnectConnector(connector)) {\n return false;\n }\n\n const provider = await connector.getProvider();\n const metadata = getWalletConnectMetadata(provider);\n if (!metadata) {\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect({\n connectorType: connector.type,\n connectorId: connector.id,\n name: metadata.name,\n });\n}\n"],"mappings":";;;;;AAYA,IAAMQ,IAA0B,CAE9B,2CAGA,kCACD;AAED,SAAOC,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAC,iBAAsBN,GAAY,EAClCO,IAAuBT,EAAkBQ,EAAU;AAEnD,KAAI,CAACA,EAAS,QACL;AAGT,KAAIX,EAAqCW,EAAU,CAAA,QAG1C;AAQT,KALI,CAACT,EAAyBS,EAAU,IAKpC,CAACC,GAAcC,gBAAiB,QAG3B;CACR,IAAAC;AAEyD,QAFzDL,EAAA,OAAAG,IAEyDE,IAAAL,EAAA,MAAnDK,IAAAC,EAAoCH,EAAe,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAK,IAAnDA;;AAGT,SAAgBC,EAAoC,EAClDC,kBACAC,gBACAC,WACsE;CACtE,IAAME,IAAarB,EAAoB;EACrCsB,MAAML;EACNM,IAAIL;EACL,CAAC,EACIM,IAAsBrB,EAAyB,EAAEmB,MAAML,GAAe,CAAC;AAS7E,QALI,EAF6BI,KAAcG,MAEd,CAACL,IACzB,KAGMX,EAAwBmB,MAAMC,MAASA,EAAKC,KAAKV,EAAK,CAAC;;AAIxE,eAAsBW,EAEpBlB,GAAgC;AAChC,KAAI,CAACT,EAAyBS,EAAU,CACtC,QAAO;CAIT,IAAMuB,IAAWjC,EADA,MAAMU,EAAUsB,aAAa,CACK;AAKnD,QAJKC,IAIEnB,EAAoC;EACzCC,eAAeL,EAAUU;EACzBJ,aAAaN,EAAUW;EACvBJ,MAAMgB,EAAShB;EAChB,CAAC,GAPO"}
1
+ {"version":3,"file":"useIsSafeThroughWalletConnect.js","names":["isExternalConnector","isExternalConnectorSafeWalletConnect","getWalletConnectMetadata","isWalletConnectConnector","useWalletMetadata","WalletMeta","useAccount","Connector","GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","$","_c","connector","walletMetadata","isWalletConnect","t0","isSafeConnectorThroughWalletConnect","connectorType","connectorId","name","Pick","isExternal","type","id","isWConnectConnector","isConnectorWithMaybeSafe","isSafe","some","rule","test","isWalletConnectConnectorWithSafe","T","Promise","provider","getProvider","metadata"],"sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n isExternalConnector,\n isExternalConnectorSafeWalletConnect,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\nimport {\n getWalletConnectMetadata,\n isWalletConnectConnector,\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useAccount, type Connector } from \"wagmi\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connector } = useAccount();\n const walletMetadata = useWalletMetadata(connector);\n\n if (!connector) {\n return false;\n }\n\n if (isExternalConnectorSafeWalletConnect(connector)) {\n // for external connector can determine if it's safe through WalletConnect by checking sync\n // connector.id is a special id is that case assigned on connection\n return true;\n }\n\n if (!isWalletConnectConnector(connector)) {\n // non-WalletConnect connectors are not safe through WalletConnect\n return false;\n }\n\n if (!walletMetadata?.isWalletConnect) {\n // if wallet metadata is not available, or is not a WalletConnect connector,\n // then it's not safe through WalletConnect\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect(walletMetadata);\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n connectorId,\n name,\n}: Pick<WalletMeta, \"connectorType\" | \"connectorId\" | \"name\">): boolean {\n const isExternal = isExternalConnector({\n type: connectorType,\n id: connectorId,\n });\n const isWConnectConnector = isWalletConnectConnector({ type: connectorType });\n\n const isConnectorWithMaybeSafe = isExternal || isWConnectConnector;\n\n if (!isConnectorWithMaybeSafe || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n\nexport async function isWalletConnectConnectorWithSafe<\n T extends Pick<Connector, \"type\" | \"id\" | \"getProvider\">,\n>(connector: T): Promise<boolean> {\n if (!isWalletConnectConnector(connector)) {\n return false;\n }\n\n const provider = await connector.getProvider();\n const metadata = getWalletConnectMetadata(provider);\n if (!metadata) {\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect({\n connectorType: connector.type,\n connectorId: connector.id,\n name: metadata.name,\n });\n}\n"],"mappings":";;;;;AAYA,IAAMQ,IAA0B,CAE9B,2CAGA,kCACD;AAED,SAAOC,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAC,iBAAsBN,GAAY,EAClCO,IAAuBT,EAAkBQ,EAAU;CAEnD,IAAI,CAACA,GAAS,OACL;CAGT,IAAIX,EAAqCW,EAAU,EAAA,OAG1C;CAQT,IALI,CAACT,EAAyBS,EAAU,IAKpC,CAACC,GAAcC,iBAAiB,OAG3B;CACR,IAAAC;CAEyD,OAFzDL,EAAA,OAAAG,IAEyDE,IAAAL,EAAA,MAAnDK,IAAAC,EAAoCH,EAAe,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAK,IAAnDA;;AAGT,SAAgBC,EAAoC,EAClDC,kBACAC,gBACAC,WACsE;CACtE,IAAME,IAAarB,EAAoB;EACrCsB,MAAML;EACNM,IAAIL;EACL,CAAC,EACIM,IAAsBrB,EAAyB,EAAEmB,MAAML,GAAe,CAAC;CAS7E,OALI,EAF6BI,KAAcG,MAEd,CAACL,IACzB,KAGMX,EAAwBmB,MAAMC,MAASA,EAAKC,KAAKV,EAAK,CAC9DO;;AAGT,eAAsBI,EAEpBlB,GAAgC;CAChC,IAAI,CAACT,EAAyBS,EAAU,EACtC,OAAO;CAIT,IAAMuB,IAAWjC,EAAyB+B,MADnBrB,EAAUsB,aAAa,CACK;CAKnD,OAJKC,IAIEnB,EAAoC;EACzCC,eAAeL,EAAUU;EACzBJ,aAAaN,EAAUW;EACvBJ,MAAMgB,EAAShB;EAChB,CAAC,GAPO"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.js","names":["axios","useQuery","UseQueryResult","useChainId","ConsolidatedGasPrices","GasPricesAPIResponse","isLegacyPriceResponse","weiToGwei","gasPricesConfig","SupportedChainId","getApiURL","GAS_PRICES_BASE_QUERY_KEY","GasPricesQueryKey","chainId","eip1559Enabled","constructGasParamsQueryKey","eop1559Enabled","useGasPrices","t0","$","_c","t1","undefined","_chainId","appChainId","config","refetchInterval","import","meta","env","DEV","t2","eip1559","t3","t4","signal","allowEip1559","data","get","params","legacyPrices","slow","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","queryKey","queryFn","enabled","staleTime"],"sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n {\n signal,\n params: { eip1559: allowEip1559 },\n }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval,\n staleTime: refetchInterval,\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useGasPrices.js","names":["axios","useQuery","UseQueryResult","useChainId","ConsolidatedGasPrices","GasPricesAPIResponse","isLegacyPriceResponse","weiToGwei","gasPricesConfig","SupportedChainId","getApiURL","GAS_PRICES_BASE_QUERY_KEY","GasPricesQueryKey","chainId","eip1559Enabled","constructGasParamsQueryKey","eop1559Enabled","useGasPrices","t0","$","_c","t1","undefined","_chainId","appChainId","config","refetchInterval","import","meta","env","DEV","t2","eip1559","t3","t4","signal","allowEip1559","data","get","params","legacyPrices","slow","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","queryKey","queryFn","enabled","staleTime"],"sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n {\n signal,\n params: { eip1559: allowEip1559 },\n }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval,\n staleTime: refetchInterval,\n });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["formatGwei","parseGwei","GasPricesAPIResponse","LegacyGasPricesResponse","isLegacyPriceResponse","legacy","response","safeLow","weiToGwei","wei","Number","BigInt","gweiToWei","gwei","toString"],"sources":["../../../src/hooks/gas/utils.ts"],"sourcesContent":["import { formatGwei, parseGwei } from \"viem\";\nimport type { GasPricesAPIResponse, LegacyGasPricesResponse } from \"./types\";\n\nexport function isLegacyPriceResponse(\n legacy: boolean,\n response: GasPricesAPIResponse\n): response is LegacyGasPricesResponse {\n return legacy && typeof response.safeLow === \"string\";\n}\n\n/** * Converts a wei string value to gwei. Useful for gas that comes from API\n * @param wei - The wei value to convert.\n * @returns The converted value in gwei as a number.\n */\nexport function weiToGwei(wei: string): number {\n return Number(formatGwei(BigInt(wei)));\n}\n\n/** * Converts a gwei value to wei.\n * @param gwei - The gwei value to convert.\n * @returns The converted value in wei as a string.\n */\nexport function gweiToWei(gwei: number): string {\n return parseGwei(gwei.toString()).toString();\n}\n"],"mappings":";;AAGA,SAAgBI,EACdC,GACAC,GACqC;AACrC,QAAOD,KAAU,OAAOC,EAASC,WAAY;;AAO/C,SAAgBC,EAAUC,GAAqB;AAC7C,QAAOC,OAAOV,EAAWW,OAAOF,EAAI,CAAC,CAAC;;AAOxC,SAAgBG,EAAUC,GAAsB;AAC9C,QAAOZ,EAAUY,EAAKC,UAAU,CAAC,CAACA,UAAU"}
1
+ {"version":3,"file":"utils.js","names":["formatGwei","parseGwei","GasPricesAPIResponse","LegacyGasPricesResponse","isLegacyPriceResponse","legacy","response","safeLow","weiToGwei","wei","Number","BigInt","gweiToWei","gwei","toString"],"sources":["../../../src/hooks/gas/utils.ts"],"sourcesContent":["import { formatGwei, parseGwei } from \"viem\";\nimport type { GasPricesAPIResponse, LegacyGasPricesResponse } from \"./types\";\n\nexport function isLegacyPriceResponse(\n legacy: boolean,\n response: GasPricesAPIResponse\n): response is LegacyGasPricesResponse {\n return legacy && typeof response.safeLow === \"string\";\n}\n\n/** * Converts a wei string value to gwei. Useful for gas that comes from API\n * @param wei - The wei value to convert.\n * @returns The converted value in gwei as a number.\n */\nexport function weiToGwei(wei: string): number {\n return Number(formatGwei(BigInt(wei)));\n}\n\n/** * Converts a gwei value to wei.\n * @param gwei - The gwei value to convert.\n * @returns The converted value in wei as a string.\n */\nexport function gweiToWei(gwei: number): string {\n return parseGwei(gwei.toString()).toString();\n}\n"],"mappings":";;AAGA,SAAgBI,EACdC,GACAC,GACqC;CACrC,OAAOD,KAAU,OAAOC,EAASC,WAAY;;AAO/C,SAAgBC,EAAUC,GAAqB;CAC7C,OAAOC,OAAOV,EAAWW,OAAOF,EAAI,CAAC,CAAC;;AAOxC,SAAgBG,EAAUC,GAAsB;CAC9C,OAAOZ,EAAUY,EAAKC,UAAU,CAAC,CAACA,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","names":["wagmiConfig","SupportedChainId","getCode","GetIsContractAtAddressParams","GetIsContractAtAddressResult","IsContractAtAddressQueryKey","getIsContractAtAddress","address","chainId","Promise","client","getClient","codeAtAddress","isDelegatedEOA","length","toLowerCase","startsWith","isContract","undefined","isEOA","constructIsContractAtAddressQueryKey"],"sources":["../../../src/hooks/getCode/query.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getCode } from \"viem/actions\";\nimport type {\n GetIsContractAtAddressParams,\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey,\n} from \"./types\";\n\nexport async function getIsContractAtAddress({\n address,\n chainId,\n}: GetIsContractAtAddressParams): Promise<GetIsContractAtAddressResult> {\n const client = wagmiConfig.getClient({ chainId });\n\n // undefined if eth_getCode call returns \"0x\" hex\n const codeAtAddress = await getCode(client, { address });\n\n const isDelegatedEOA =\n codeAtAddress?.length === 48 &&\n codeAtAddress.toLowerCase().startsWith(\"0xef0100\");\n\n const isContract = codeAtAddress !== undefined && !isDelegatedEOA;\n const isEOA = codeAtAddress === undefined || isDelegatedEOA;\n\n return { isContract, isDelegatedEOA, isEOA };\n}\n\nexport function constructIsContractAtAddressQueryKey({\n address,\n chainId,\n}: {\n address?: string;\n chainId: SupportedChainId;\n}): IsContractAtAddressQueryKey {\n return [\"is-contract-at-address\", chainId, address?.toLowerCase()];\n}\n"],"mappings":";;;AASA,eAAsBM,EAAuB,EAC3CC,YACAC,cACsE;CAItE,IAAMI,IAAgB,MAAMV,EAHbF,EAAYW,UAAU,EAAEH,YAAS,CAAC,EAGL,EAAED,YAAS,CAAC,EAElDM,IACJD,GAAeE,WAAW,MAC1BF,EAAcG,aAAa,CAACC,WAAW,WAAW;AAKpD,QAAO;EAAEC,YAHUL,MAAkBM,KAAAA,KAAa,CAACL;EAG9BA;EAAgBM,OAFvBP,MAAkBM,KAAAA,KAAaL;EAED;;AAG9C,SAAgBO,EAAqC,EACnDb,YACAC,cAI8B;AAC9B,QAAO;EAAC;EAA0BA;EAASD,GAASQ,aAAa;EAAC"}
1
+ {"version":3,"file":"query.js","names":["wagmiConfig","SupportedChainId","getCode","GetIsContractAtAddressParams","GetIsContractAtAddressResult","IsContractAtAddressQueryKey","getIsContractAtAddress","address","chainId","Promise","client","getClient","codeAtAddress","isDelegatedEOA","length","toLowerCase","startsWith","isContract","undefined","isEOA","constructIsContractAtAddressQueryKey"],"sources":["../../../src/hooks/getCode/query.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getCode } from \"viem/actions\";\nimport type {\n GetIsContractAtAddressParams,\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey,\n} from \"./types\";\n\nexport async function getIsContractAtAddress({\n address,\n chainId,\n}: GetIsContractAtAddressParams): Promise<GetIsContractAtAddressResult> {\n const client = wagmiConfig.getClient({ chainId });\n\n // undefined if eth_getCode call returns \"0x\" hex\n const codeAtAddress = await getCode(client, { address });\n\n const isDelegatedEOA =\n codeAtAddress?.length === 48 &&\n codeAtAddress.toLowerCase().startsWith(\"0xef0100\");\n\n const isContract = codeAtAddress !== undefined && !isDelegatedEOA;\n const isEOA = codeAtAddress === undefined || isDelegatedEOA;\n\n return { isContract, isDelegatedEOA, isEOA };\n}\n\nexport function constructIsContractAtAddressQueryKey({\n address,\n chainId,\n}: {\n address?: string;\n chainId: SupportedChainId;\n}): IsContractAtAddressQueryKey {\n return [\"is-contract-at-address\", chainId, address?.toLowerCase()];\n}\n"],"mappings":";;;AASA,eAAsBM,EAAuB,EAC3CC,YACAC,cACsE;CAItE,IAAMI,IAAgB,MAAMV,EAHbF,EAAYW,UAAU,EAAEH,YAAS,CAGZE,EAAQ,EAAEH,YAAS,CAAC,EAElDM,IACJD,GAAeE,WAAW,MAC1BF,EAAcG,aAAa,CAACC,WAAW,WAAW;CAKpD,OAAO;EAAEC,YAHUL,MAAkBM,KAAAA,KAAa,CAACL;EAG9BA;EAAgBM,OAFvBP,MAAkBM,KAAAA,KAAaL;EAED;;AAG9C,SAAgBO,EAAqC,EACnDb,YACAC,cAI8B;CAC9B,OAAO;EAAC;EAA0BA;EAASD,GAASQ,aAAa;EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsAccountContract.js","names":["useAccount","useIsContractAtAddress","isSupportedChainId","useIsAccountContract","$","_c","address","chainId","t0","undefined","checkOnChainId","t1"],"sources":["../../../src/hooks/getCode/useIsAccountContract.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useIsContractAtAddress } from \"./useIsContractAtAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\nexport const useIsAccountContract = () => {\n const { address, chainId } = useAccount();\n\n // it makes more sense to check if the address is a contract on the same chain as it is connected to,\n // a Smart Contract Wallet will likely not be deployed on all chains the Widget supports\n const checkOnChainId =\n chainId && isSupportedChainId(chainId) ? chainId : undefined;\n // will default to Widget chainId anyway if Wallet is on an unsupported chain\n\n return useIsContractAtAddress({ address, chainId: checkOnChainId });\n};\n"],"mappings":";;;;;AAIA,IAAaG,UAAuB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAClC,EAAAC,YAAAC,eAA6BP,GAAY,EAACQ;AAAA,CAAAJ,EAAA,OAAAG,IAKoBC,IAAAJ,EAAA,MAA5DI,IAAAD,KAAWL,EAAmBK,EAA8B,GAA5DA,IAAAE,KAAAA,GAA4DL,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAD9D,IAAAE,IACEF,GAA6DG;AAGG,QAHHP,EAAA,OAAAE,KAAAF,EAAA,OAAAM,KAGjCC,IAAA;EAAAL;EAAAC,SAAoBG;EAAgB,EAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAA3DH,EAAuBU,EAAqC"}
1
+ {"version":3,"file":"useIsAccountContract.js","names":["useAccount","useIsContractAtAddress","isSupportedChainId","useIsAccountContract","$","_c","address","chainId","t0","undefined","checkOnChainId","t1"],"sources":["../../../src/hooks/getCode/useIsAccountContract.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useIsContractAtAddress } from \"./useIsContractAtAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\nexport const useIsAccountContract = () => {\n const { address, chainId } = useAccount();\n\n // it makes more sense to check if the address is a contract on the same chain as it is connected to,\n // a Smart Contract Wallet will likely not be deployed on all chains the Widget supports\n const checkOnChainId =\n chainId && isSupportedChainId(chainId) ? chainId : undefined;\n // will default to Widget chainId anyway if Wallet is on an unsupported chain\n\n return useIsContractAtAddress({ address, chainId: checkOnChainId });\n};\n"],"mappings":";;;;;AAIA,IAAaG,UAAuB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAClC,EAAAC,YAAAC,eAA6BP,GAAY,EAACQ;CAAA,AAAAJ,EAAA,OAAAG,IAKoBC,IAAAJ,EAAA,MAA5DI,IAAAD,KAAWL,EAAmBK,EAA8B,GAA5DA,IAAAE,KAAAA,GAA4DL,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAD9D,IAAAE,IACEF,GAA6DG;CAGG,OAHHP,EAAA,OAAAE,KAAAF,EAAA,OAAAM,KAGjCC,IAAA;EAAAL;EAAAC,SAAoBG;EAAgB,EAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAA3DH,EAAuBU,EAAqC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsContractAtAddress.js","names":["useQuery","isAddress","SupportedChainId","useChainId","assert","constructIsContractAtAddressQueryKey","getIsContractAtAddress","GetIsContractAtAddressResult","IsContractAtAddressQueryKey","useIsContractAtAddress","t0","$","_c","address","chainId","_chainId","undefined","appChainId","t1","t2","t3","t4","queryKey","queryFn","enabled","staleTime","Infinity","gcTime"],"sources":["../../../src/hooks/getCode/useIsContractAtAddress.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\n\nimport { isAddress } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"./query\";\nimport type {\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey,\n} from \"./types\";\n\nexport const useIsContractAtAddress = ({\n address,\n chainId: _chainId,\n}: {\n address?: string;\n chainId?: SupportedChainId;\n} = {}) => {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n return useQuery<\n GetIsContractAtAddressResult,\n Error,\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey\n >({\n queryKey: constructIsContractAtAddressQueryKey({ address, chainId }),\n queryFn: async () => {\n assert(address && isAddress(address), \"address is required\");\n return getIsContractAtAddress({\n address,\n chainId,\n });\n },\n enabled: !!address && isAddress(address),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n};\n"],"mappings":";;;;;;;AAeA,IAAaS,KAAyBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,YAAAC,SAAAC,MAAAL,MAAAM,KAAAA,IAAA,EAMjC,GANiCN,GAOrCO,IAAmBd,GAAY,EAC/BW,IAAgBC,KAAAE,GAQJC,IAAAb,EAAqC;EAAAQ;EAAAC;EAAoB,CAAC,EAAAK;AAAA,CAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAC3DK,IAAA,aACPf,EAAOS,KAAWZ,EAAUY,EAAQ,EAAE,sBAAsB,EACrDP,EAAuB;EAAAO;EAAAC;EAG7B,CAAC,GACHH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAS;AAAA,CAAAT,EAAA,OAAAE,IACuCO,IAAAT,EAAA,MAA/BS,IAAA,CAAC,CAACP,KAAWZ,EAAUY,EAAQ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CAAA,IAAAC;AAGzC,QAHyCV,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAAAR,EAAA,OAAAS,KATxCC,IAAA;EAAAC,UACUJ;EAA0DK,SAC3DJ;EAMRK,SACQJ;EAA+BK,WAC7BC;EAAQC,QACXD;EACT,EAAAf,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAjBMX,EAKLqB,EAYA"}
1
+ {"version":3,"file":"useIsContractAtAddress.js","names":["useQuery","isAddress","SupportedChainId","useChainId","assert","constructIsContractAtAddressQueryKey","getIsContractAtAddress","GetIsContractAtAddressResult","IsContractAtAddressQueryKey","useIsContractAtAddress","t0","$","_c","address","chainId","_chainId","undefined","appChainId","t1","t2","t3","t4","queryKey","queryFn","enabled","staleTime","Infinity","gcTime"],"sources":["../../../src/hooks/getCode/useIsContractAtAddress.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\n\nimport { isAddress } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"./query\";\nimport type {\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey,\n} from \"./types\";\n\nexport const useIsContractAtAddress = ({\n address,\n chainId: _chainId,\n}: {\n address?: string;\n chainId?: SupportedChainId;\n} = {}) => {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n return useQuery<\n GetIsContractAtAddressResult,\n Error,\n GetIsContractAtAddressResult,\n IsContractAtAddressQueryKey\n >({\n queryKey: constructIsContractAtAddressQueryKey({ address, chainId }),\n queryFn: async () => {\n assert(address && isAddress(address), \"address is required\");\n return getIsContractAtAddress({\n address,\n chainId,\n });\n },\n enabled: !!address && isAddress(address),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n};\n"],"mappings":";;;;;;;AAeA,IAAaS,KAAyBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,YAAAC,SAAAC,MAAAL,MAAAM,KAAAA,IAAA,EAMjC,GANiCN,GAOrCO,IAAmBd,GAAY,EAC/BW,IAAgBC,KAAAE,GAQJC,IAAAb,EAAqC;EAAAQ;EAAAC;EAAoB,CAAC,EAAAK;CAAA,AAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAC3DK,IAAA,aACPf,EAAOS,KAAWZ,EAAUY,EAAQ,EAAE,sBAAsB,EACrDP,EAAuB;EAAAO;EAAAC;EAG7B,CAAC,GACHH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAS;CAAA,AAAAT,EAAA,OAAAE,IACuCO,IAAAT,EAAA,MAA/BS,IAAA,CAAC,CAACP,KAAWZ,EAAUY,EAAQ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CAAA,IAAAC;CAGzC,OAHyCV,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAAAR,EAAA,OAAAS,KATxCC,IAAA;EAAAC,UACUJ;EAA0DK,SAC3DJ;EAMRK,SACQJ;EAA+BK,WAC7BC;EAAQC,QACXD;EACT,EAAAf,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAjBMX,EAKLqB,EAYA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCancelLimitOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","MinViemClient","LimitOrderFromApi","TxSendOverrides","assert","Address","Hash","TransactionReceipt","SupportedChainId","useAwaitTx","useEnsureTxReceipt","limitOrderByHashQueryKey","limitOrdersQueryKey","useWidgetEvents","limitOrderRequiredBalanceQueryKey","CancelOrderStepKey","CancelLimitOrderReturn","CancelLimitOrderAndWaitReturn","CancelLimitOrderInput","orderHash","overrides","signal","AbortSignal","CancelLimitOrderAndWaitInput","onTxSent","params","chainId","transactionHash","receiptPromise","Promise","CancelLimitOrderMutationOptions","Omit","Error","CancelLimitOrderAndWaitMutationOptions","CancelLimitOrderMutInput","mutationOptions","account","client","CancelLimitOrderAndWaitMutInput","CANCEL_LIMIT_ORDER_MUTATION_KEY","CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY","useCancelLimitOrder","t0","$","_c","t1","sdk","t2","Symbol","for","t3","t4","throwIfAborted","cancelLimitOrder","mutationKey","mutationFn","CancelOTCOrderQueryResult","CancelLimitOrderAndWaitResult","cancelOtcOrder","txHash","receipt","result","isPending","isError","isSuccess","error","reset","step","useCancelOtcOrderAndWait","ensureTxReceipt","mutateAsync","data","queryClient","hash","t5","variables","onMutationResult","context","invalidateQueries","queryKey","maker","type","exact","onSuccess","t6","t7","MinVars","Pick","CancelOrderEventCallbacks","options","onMutate","onError","useCancelOtcOrderEventCallbacks","order","onCancelOrder","orderType","orderSubType","const","chainId_0","event","name","variables_0","txReceipt","variables_1"],"sources":["../../../../src/hooks/otc/mutations/useCancelLimitOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n LimitOrderFromApi,\n TxSendOverrides,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n limitOrderByHashQueryKey,\n limitOrdersQueryKey,\n} from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { limitOrderRequiredBalanceQueryKey } from \"../queries/useLimitOrderRequiredBalance\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\ntype CancelLimitOrderReturn = `0x${string}`;\ntype CancelLimitOrderAndWaitReturn = TransactionReceipt;\n\ntype CancelLimitOrderInput = {\n orderHash: string;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CancelLimitOrderAndWaitInput = CancelLimitOrderInput & {\n onTxSent?: (params: {\n chainId: SupportedChainId;\n transactionHash: Hash;\n receiptPromise: Promise<TransactionReceipt>;\n }) => void;\n};\n\ntype CancelLimitOrderMutationOptions = Omit<\n UseMutationOptions<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n >,\n \"mutationFn\"\n>;\ntype CancelLimitOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CancelLimitOrderMutInput = {\n mutationOptions?: CancelLimitOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype CancelLimitOrderAndWaitMutInput = {\n mutationOptions?: CancelLimitOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const CANCEL_LIMIT_ORDER_MUTATION_KEY = \"cancelLimitOrder\";\nexport const CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY =\n \"cancelLimitOrderAndWait\";\n\nexport function useCancelLimitOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CancelLimitOrderMutInput): UseMutationResult<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n >({\n mutationKey: [CANCEL_LIMIT_ORDER_MUTATION_KEY],\n mutationFn: ({ orderHash, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"cancelLimitOrder\" in sdk,\n \"cancelLimitOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access cancelLimitOrder functionality\n\n return sdk.cancelLimitOrder(orderHash, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\ntype CancelOTCOrderQueryResult = UseMutationResult<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n>;\n\ntype CancelLimitOrderAndWaitResult = {\n cancelOtcOrder: CancelOTCOrderQueryResult[\"mutateAsync\"];\n txHash?: Hash;\n receipt?: TransactionReceipt;\n result: CancelOTCOrderQueryResult[\"data\"];\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n reset: () => void;\n step?: CancelOrderStepKey;\n};\n\nexport function useCancelOtcOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: CancelLimitOrderAndWaitMutInput): CancelLimitOrderAndWaitResult {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutateAsync, data: txHash } = useCancelLimitOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const { data: receipt } = useAwaitTx({\n chainId,\n hash: txHash,\n });\n\n const {\n isPending,\n isError,\n isSuccess,\n error,\n mutateAsync: cancelOtcOrder,\n data: result,\n reset,\n } = useMutation<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n >({\n mutationKey: [CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY],\n mutationFn: async ({ orderHash, overrides, onTxSent, signal }) => {\n const transactionHash = await mutateAsync({\n orderHash,\n overrides,\n signal,\n });\n\n const receiptPromise = ensureTxReceipt({\n chainId,\n hash: transactionHash,\n });\n\n onTxSent?.({\n chainId,\n transactionHash,\n receiptPromise,\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey(\n {\n maker: account, // only maker can cancel\n type: \"P2P\",\n },\n chainId\n ),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderByHashQueryKey(variables.orderHash),\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n }),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n let step: CancelOrderStepKey | undefined;\n if (isPending) {\n step = \"order-cancellation-approval\";\n if (txHash) {\n step = \"order-cancellation-execution\";\n }\n } else if (isSuccess) {\n // cancelAndWithdraw tx mined\n step = \"order-cancellation-success\";\n } else if (isError) {\n step = \"order-cancellation-error\";\n }\n\n return {\n cancelOtcOrder,\n txHash,\n receipt,\n isPending: isPending,\n isError: isError,\n isSuccess: isSuccess,\n error,\n result,\n reset,\n step,\n };\n}\n\ntype MinVars = Pick<CancelLimitOrderInput, \"orderHash\">;\n\ntype CancelOrderEventCallbacks = {\n onTxSent?: (options: { chainId: SupportedChainId; txHash: Hash }) => void;\n onMutate?: (variables: MinVars) => void;\n onSuccess?: (data: CancelLimitOrderAndWaitReturn, variables: MinVars) => void;\n onError?: (error: Error, variables: MinVars) => void;\n};\n/*\nCallbacks in useMutation options (onSuccess, onError, onSettled):\n - will run even if the component unmounts (tied to the mutation instance).\nCallbacks passed to mutate() or mutateAsync():\n - will not run if the component unmounts before the mutation finishes (tied to the component).\n\nSo always use useMutation callbacks if changing something outside of the immediate component\n*/\nexport function useCancelOtcOrderEventCallbacks(\n order?: Pick<LimitOrderFromApi, \"orderHash\" | \"type\" | \"chainId\">\n): CancelOrderEventCallbacks {\n const { onCancelOrder } = useWidgetEvents();\n\n if (!order) return {};\n\n const params = {\n orderHash: order.orderHash,\n orderType: \"OTC\",\n orderSubType: order.type,\n } as const;\n\n const chainId = order.chainId as SupportedChainId;\n\n return {\n onTxSent: ({ chainId, txHash }) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:sentTx\",\n params: {\n ...params,\n txHash,\n chainId,\n },\n },\n });\n },\n onMutate: (variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:request\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n },\n },\n });\n },\n onSuccess: (data, variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:confirmed\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n txHash: data.transactionHash,\n txReceipt: data,\n chainId,\n },\n },\n });\n },\n onError: (error: Error, variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:failed\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n error: error as Error,\n },\n },\n });\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useCancelLimitOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","MinViemClient","LimitOrderFromApi","TxSendOverrides","assert","Address","Hash","TransactionReceipt","SupportedChainId","useAwaitTx","useEnsureTxReceipt","limitOrderByHashQueryKey","limitOrdersQueryKey","useWidgetEvents","limitOrderRequiredBalanceQueryKey","CancelOrderStepKey","CancelLimitOrderReturn","CancelLimitOrderAndWaitReturn","CancelLimitOrderInput","orderHash","overrides","signal","AbortSignal","CancelLimitOrderAndWaitInput","onTxSent","params","chainId","transactionHash","receiptPromise","Promise","CancelLimitOrderMutationOptions","Omit","Error","CancelLimitOrderAndWaitMutationOptions","CancelLimitOrderMutInput","mutationOptions","account","client","CancelLimitOrderAndWaitMutInput","CANCEL_LIMIT_ORDER_MUTATION_KEY","CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY","useCancelLimitOrder","t0","$","_c","t1","sdk","t2","Symbol","for","t3","t4","throwIfAborted","cancelLimitOrder","mutationKey","mutationFn","CancelOTCOrderQueryResult","CancelLimitOrderAndWaitResult","cancelOtcOrder","txHash","receipt","result","isPending","isError","isSuccess","error","reset","step","useCancelOtcOrderAndWait","ensureTxReceipt","mutateAsync","data","queryClient","hash","t5","variables","onMutationResult","context","invalidateQueries","queryKey","maker","type","exact","onSuccess","t6","t7","MinVars","Pick","CancelOrderEventCallbacks","options","onMutate","onError","useCancelOtcOrderEventCallbacks","order","onCancelOrder","orderType","orderSubType","const","chainId_0","event","name","variables_0","txReceipt","variables_1"],"sources":["../../../../src/hooks/otc/mutations/useCancelLimitOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n LimitOrderFromApi,\n TxSendOverrides,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n limitOrderByHashQueryKey,\n limitOrdersQueryKey,\n} from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { limitOrderRequiredBalanceQueryKey } from \"../queries/useLimitOrderRequiredBalance\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\ntype CancelLimitOrderReturn = `0x${string}`;\ntype CancelLimitOrderAndWaitReturn = TransactionReceipt;\n\ntype CancelLimitOrderInput = {\n orderHash: string;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CancelLimitOrderAndWaitInput = CancelLimitOrderInput & {\n onTxSent?: (params: {\n chainId: SupportedChainId;\n transactionHash: Hash;\n receiptPromise: Promise<TransactionReceipt>;\n }) => void;\n};\n\ntype CancelLimitOrderMutationOptions = Omit<\n UseMutationOptions<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n >,\n \"mutationFn\"\n>;\ntype CancelLimitOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CancelLimitOrderMutInput = {\n mutationOptions?: CancelLimitOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype CancelLimitOrderAndWaitMutInput = {\n mutationOptions?: CancelLimitOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const CANCEL_LIMIT_ORDER_MUTATION_KEY = \"cancelLimitOrder\";\nexport const CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY =\n \"cancelLimitOrderAndWait\";\n\nexport function useCancelLimitOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CancelLimitOrderMutInput): UseMutationResult<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<\n CancelLimitOrderReturn,\n Error,\n CancelLimitOrderInput,\n void\n >({\n mutationKey: [CANCEL_LIMIT_ORDER_MUTATION_KEY],\n mutationFn: ({ orderHash, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"cancelLimitOrder\" in sdk,\n \"cancelLimitOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access cancelLimitOrder functionality\n\n return sdk.cancelLimitOrder(orderHash, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\ntype CancelOTCOrderQueryResult = UseMutationResult<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n>;\n\ntype CancelLimitOrderAndWaitResult = {\n cancelOtcOrder: CancelOTCOrderQueryResult[\"mutateAsync\"];\n txHash?: Hash;\n receipt?: TransactionReceipt;\n result: CancelOTCOrderQueryResult[\"data\"];\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n reset: () => void;\n step?: CancelOrderStepKey;\n};\n\nexport function useCancelOtcOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: CancelLimitOrderAndWaitMutInput): CancelLimitOrderAndWaitResult {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutateAsync, data: txHash } = useCancelLimitOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const { data: receipt } = useAwaitTx({\n chainId,\n hash: txHash,\n });\n\n const {\n isPending,\n isError,\n isSuccess,\n error,\n mutateAsync: cancelOtcOrder,\n data: result,\n reset,\n } = useMutation<\n CancelLimitOrderAndWaitReturn,\n Error,\n CancelLimitOrderAndWaitInput,\n void\n >({\n mutationKey: [CANCEL_LIMIT_ORDER_AND_WAIT_MUTATION_KEY],\n mutationFn: async ({ orderHash, overrides, onTxSent, signal }) => {\n const transactionHash = await mutateAsync({\n orderHash,\n overrides,\n signal,\n });\n\n const receiptPromise = ensureTxReceipt({\n chainId,\n hash: transactionHash,\n });\n\n onTxSent?.({\n chainId,\n transactionHash,\n receiptPromise,\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey(\n {\n maker: account, // only maker can cancel\n type: \"P2P\",\n },\n chainId\n ),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderByHashQueryKey(variables.orderHash),\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n }),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n let step: CancelOrderStepKey | undefined;\n if (isPending) {\n step = \"order-cancellation-approval\";\n if (txHash) {\n step = \"order-cancellation-execution\";\n }\n } else if (isSuccess) {\n // cancelAndWithdraw tx mined\n step = \"order-cancellation-success\";\n } else if (isError) {\n step = \"order-cancellation-error\";\n }\n\n return {\n cancelOtcOrder,\n txHash,\n receipt,\n isPending: isPending,\n isError: isError,\n isSuccess: isSuccess,\n error,\n result,\n reset,\n step,\n };\n}\n\ntype MinVars = Pick<CancelLimitOrderInput, \"orderHash\">;\n\ntype CancelOrderEventCallbacks = {\n onTxSent?: (options: { chainId: SupportedChainId; txHash: Hash }) => void;\n onMutate?: (variables: MinVars) => void;\n onSuccess?: (data: CancelLimitOrderAndWaitReturn, variables: MinVars) => void;\n onError?: (error: Error, variables: MinVars) => void;\n};\n/*\nCallbacks in useMutation options (onSuccess, onError, onSettled):\n - will run even if the component unmounts (tied to the mutation instance).\nCallbacks passed to mutate() or mutateAsync():\n - will not run if the component unmounts before the mutation finishes (tied to the component).\n\nSo always use useMutation callbacks if changing something outside of the immediate component\n*/\nexport function useCancelOtcOrderEventCallbacks(\n order?: Pick<LimitOrderFromApi, \"orderHash\" | \"type\" | \"chainId\">\n): CancelOrderEventCallbacks {\n const { onCancelOrder } = useWidgetEvents();\n\n if (!order) return {};\n\n const params = {\n orderHash: order.orderHash,\n orderType: \"OTC\",\n orderSubType: order.type,\n } as const;\n\n const chainId = order.chainId as SupportedChainId;\n\n return {\n onTxSent: ({ chainId, txHash }) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:sentTx\",\n params: {\n ...params,\n txHash,\n chainId,\n },\n },\n });\n },\n onMutate: (variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:request\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n },\n },\n });\n },\n onSuccess: (data, variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:confirmed\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n txHash: data.transactionHash,\n txReceipt: data,\n chainId,\n },\n },\n });\n },\n onError: (error: Error, variables) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:failed\",\n params: {\n ...params,\n orderHash: variables.orderHash,\n error: error as Error,\n },\n },\n });\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateLimitOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","BuildLimitOrderInput","LimitOrderFromApi","MinViemClient","assert","MarkRequired","Address","orderInputWithTaker","limitOrdersQueryKey","SupportedChainId","limitOrderRequiredBalanceQueryKey","CreateLimitOrderParams","CreateLimitOrderReturn","CreateLimitOrderInput","orderInput","signal","AbortSignal","CreateLimitOrderMutationOptions","Omit","Error","CreateLimitOrderMutInput","mutationOptions","chainId","account","client","LIMIT_ORDER_MUTATION_KEY","useCreateLimitOrder","t0","$","_c","t1","sdk","queryClient","t2","Symbol","for","t3","t4","throwIfAborted","signableTypedData","buildLimitOrder","signature","signLimitOrder","orderFromAPI","postP2POrder","data","variables","onMutationResult","context","invalidateQueries","queryKey","maker","type","exact","tokenAddress","makerAsset","onSuccess","t5","mutationKey","mutationFn"],"sources":["../../../../src/hooks/otc/mutations/useCreateLimitOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildLimitOrderInput,\n LimitOrderFromApi,\n MinViemClient,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport type { Address } from \"viem\";\nimport { orderInputWithTaker } from \"./utils\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitOrderRequiredBalanceQueryKey } from \"../queries/useLimitOrderRequiredBalance\";\n\ntype CreateLimitOrderParams = MarkRequired<\n BuildLimitOrderInput,\n \"taker\" // do not allow creating legacy limit orders\n>;\ntype CreateLimitOrderReturn = LimitOrderFromApi;\n\ntype CreateLimitOrderInput = {\n orderInput: CreateLimitOrderParams;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CreateLimitOrderMutationOptions = Omit<\n UseMutationOptions<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CreateLimitOrderMutInput = {\n mutationOptions?: CreateLimitOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const LIMIT_ORDER_MUTATION_KEY = \"createLimitOrder\";\n\nexport function useCreateLimitOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateLimitOrderMutInput): UseMutationResult<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n const queryClient = useQueryClient();\n\n return useMutation<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n >({\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signLimitOrder\" in sdk,\n \"signLimitOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signLimitOrder functionality\n\n assert(\n orderInputWithTaker(orderInput),\n \"taker must be provided and not be zero address\"\n );\n\n // Step 1: Build the Limit order\n const signableTypedData = await sdk.buildLimitOrder(orderInput, {\n signal,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Limit order\n const signature = await sdk.signLimitOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Limit order to the API\n const orderFromAPI = await sdk.postP2POrder(\n { ...signableTypedData.data, signature },\n { signal }\n );\n\n return orderFromAPI;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ maker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress: data.makerAsset,\n }),\n exact: false,\n });\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n}\n"],"mappings":";;;;;;;;AA+CA,IAAa6B,IAA2B;AAExC,SAAOC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA6B,EAAAR,oBAAAC,YAAAC,YAAAC,cAAAG,GAKTG;AAAA,CAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAMSM,IAAA;EAAAR;EAAAC;EAAAC;EAA4B,EAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA9D,IAAA,EAAAG,WAAgBnC,EAAkBkC,EAA6B,EAC/DE,IAAoBlC,GAAgB,EAACmC;AAAA,CAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IAQtBF,IAAA,CAACR,EAAyB,EAAAG,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAAA,IAAAQ;AAAA,CAAAR,EAAA,OAAAG,IAsCtCK,IAAAR,EAAA,MArCWQ,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAvB,eAAAC,cAAAsB;AAWjBjC,EATAW,GAAMuB,gBAAkB,EAExBlC,EACE,oBAAoB2B,GACpB,8CACD,EAID3B,EACEG,EAAoBO,EAAW,EAC/B,iDACD;EAGD,IAAAyB,IAA0B,MAAMR,EAAGS,gBAAiB1B,GAAY,EAAAC,WAE/D,CAAC;AAGFA,KAAMuB,gBAAkB;EAGxB,IAAAG,IAAkB,MAAMV,EAAGW,eAAgBH,EAAkB;AAS3D,SANFxB,GAAMuB,gBAAkB,EAGH,MAAMP,EAAGa,aAC5B;GAAA,GAAKL,EAAiBM;GAAKJ;GAAa,EACxC,EAAA1B,WACF,CAAC;IAGFa,EAAA,KAAAG,GAAAH,EAAA,KAAAQ;CAAA,IAAAC;AAAA,CAAAT,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAP,KAAAO,EAAA,QAAAI,KAEUK,KAAAQ,GAAAC,GAAAC,GAAAC,MAAA;AAaT3B,EAZAW,EAAWiB,kBAAmB;GAAAC,UAClB1C,EAAoB;IAAA2C,OAAS5B;IAAO6B,MAAQ;IAAO,EAAE9B,EAAQ;GAAA+B,OAChE;GACR,CAAC,EACFrB,EAAWiB,kBAAmB;GAAAC,UAClBxC,EAAkC;IAAAY;IAAAC;IAAA+B,cAG5BT,EAAIU;IACnB,CAAC;GAAAF,OACK;GACR,CAAC,EACFhC,GAAemC,YAAcX,GAAMC,GAAWC,GAAkBC,EAAQ;IACzEpB,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAP,GAAAO,EAAA,MAAAI,GAAAJ,EAAA,MAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAA6B;AACF,QADE7B,EAAA,QAAAP,KAAAO,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAvDDoB,IAAA;EAAAC,aACazB;EAA0B0B,YAC3BvB;EAqCX,GACEf;EAAemC,WACPnB;EAeZ,EAAAT,EAAA,MAAAP,GAAAO,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA,KA7DM/B,EAKL4D,EAwDA"}
1
+ {"version":3,"file":"useCreateLimitOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","BuildLimitOrderInput","LimitOrderFromApi","MinViemClient","assert","MarkRequired","Address","orderInputWithTaker","limitOrdersQueryKey","SupportedChainId","limitOrderRequiredBalanceQueryKey","CreateLimitOrderParams","CreateLimitOrderReturn","CreateLimitOrderInput","orderInput","signal","AbortSignal","CreateLimitOrderMutationOptions","Omit","Error","CreateLimitOrderMutInput","mutationOptions","chainId","account","client","LIMIT_ORDER_MUTATION_KEY","useCreateLimitOrder","t0","$","_c","t1","sdk","queryClient","t2","Symbol","for","t3","t4","throwIfAborted","signableTypedData","buildLimitOrder","signature","signLimitOrder","orderFromAPI","postP2POrder","data","variables","onMutationResult","context","invalidateQueries","queryKey","maker","type","exact","tokenAddress","makerAsset","onSuccess","t5","mutationKey","mutationFn"],"sources":["../../../../src/hooks/otc/mutations/useCreateLimitOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildLimitOrderInput,\n LimitOrderFromApi,\n MinViemClient,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport type { Address } from \"viem\";\nimport { orderInputWithTaker } from \"./utils\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitOrderRequiredBalanceQueryKey } from \"../queries/useLimitOrderRequiredBalance\";\n\ntype CreateLimitOrderParams = MarkRequired<\n BuildLimitOrderInput,\n \"taker\" // do not allow creating legacy limit orders\n>;\ntype CreateLimitOrderReturn = LimitOrderFromApi;\n\ntype CreateLimitOrderInput = {\n orderInput: CreateLimitOrderParams;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CreateLimitOrderMutationOptions = Omit<\n UseMutationOptions<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CreateLimitOrderMutInput = {\n mutationOptions?: CreateLimitOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const LIMIT_ORDER_MUTATION_KEY = \"createLimitOrder\";\n\nexport function useCreateLimitOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateLimitOrderMutInput): UseMutationResult<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n const queryClient = useQueryClient();\n\n return useMutation<\n CreateLimitOrderReturn,\n Error,\n CreateLimitOrderInput,\n void\n >({\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signLimitOrder\" in sdk,\n \"signLimitOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signLimitOrder functionality\n\n assert(\n orderInputWithTaker(orderInput),\n \"taker must be provided and not be zero address\"\n );\n\n // Step 1: Build the Limit order\n const signableTypedData = await sdk.buildLimitOrder(orderInput, {\n signal,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Limit order\n const signature = await sdk.signLimitOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Limit order to the API\n const orderFromAPI = await sdk.postP2POrder(\n { ...signableTypedData.data, signature },\n { signal }\n );\n\n return orderFromAPI;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ maker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress: data.makerAsset,\n }),\n exact: false,\n });\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n}\n"],"mappings":";;;;;;;;AA+CA,IAAa6B,IAA2B;AAExC,SAAOC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA6B,EAAAR,oBAAAC,YAAAC,YAAAC,cAAAG,GAKTG;CAAA,AAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAMSM,IAAA;EAAAR;EAAAC;EAAAC;EAA4B,EAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA9D,IAAA,EAAAG,WAAgBnC,EAAkBkC,EAA6B,EAC/DE,IAAoBlC,GAAgB,EAACmC;CAAA,AAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,IAQtBF,IAAA,CAACR,EAAyB,EAAAG,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAAA,IAAAQ;CAAA,AAAAR,EAAA,OAAAG,IAsCtCK,IAAAR,EAAA,MArCWQ,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAvB,eAAAC,cAAAsB;EAWjBjC,AATAW,GAAMuB,gBAAkB,EAExBlC,EACE,oBAAoB2B,GACpB,8CACD,EAID3B,EACEG,EAAoBO,EAAW,EAC/B,iDACD;EAGD,IAAAyB,IAA0B,MAAMR,EAAGS,gBAAiB1B,GAAY,EAAAC,WAE/D,CAAC;EAGFA,GAAMuB,gBAAkB;EAGxB,IAAAG,IAAkB,MAAMV,EAAGW,eAAgBH,EAAkB;EAS3D,OANFxB,GAAMuB,gBAAkB,EAQjBK,MALoBZ,EAAGa,aAC5B;GAAA,GAAKL,EAAiBM;GAAKJ;GAAa,EACxC,EAAA1B,WACF,CAAC;IAGFa,EAAA,KAAAG,GAAAH,EAAA,KAAAQ;CAAA,IAAAC;CAAA,AAAAT,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAP,KAAAO,EAAA,QAAAI,KAEUK,KAAAQ,GAAAC,GAAAC,GAAAC,MAAA;EAaT3B,AAZAW,EAAWiB,kBAAmB;GAAAC,UAClB1C,EAAoB;IAAA2C,OAAS5B;IAAO6B,MAAQ;IAAO,EAAE9B,EAAQ;GAAA+B,OAChE;GACR,CAAC,EACFrB,EAAWiB,kBAAmB;GAAAC,UAClBxC,EAAkC;IAAAY;IAAAC;IAAA+B,cAG5BT,EAAIU;IACnB,CAAC;GAAAF,OACK;GACR,CAAC,EACFhC,GAAemC,YAAcX,GAAMC,GAAWC,GAAkBC,EAAQ;IACzEpB,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAP,GAAAO,EAAA,MAAAI,GAAAJ,EAAA,MAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAA6B;CACF,OADE7B,EAAA,QAAAP,KAAAO,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAvDDoB,IAAA;EAAAC,aACazB;EAA0B0B,YAC3BvB;EAqCX,GACEf;EAAemC,WACPnB;EAeZ,EAAAT,EAAA,MAAAP,GAAAO,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA,KA7DM/B,EAKL4D,EAwDA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","MinViemClient","TxSendOverrides","FillOrderDirectlyFunctions","assert","Address","TransactionReceipt","SupportedChainId","useEnsureTxReceipt","TxSentObject","limitOrdersQueryKey","FillOrderReturn","FillOrderAndWaitReturn","OrderFillData","Parameters","FillOrderInput","orderFillData","overrides","signal","AbortSignal","FillOrderAndWaitInput","onTxSent","txSent","FillOrderMutationOptions","Omit","Error","FillOrderAndWaitMutationOptions","FillOrderMutInput","mutationOptions","chainId","account","client","FillOrderAndWaitMutInput","useFillOrder","t0","$","_c","t1","sdk","t2","Symbol","for","t3","t4","throwIfAborted","fillOrderDirectly","mutationKey","mutationFn","useFillOrderAndWait","ensureTxReceipt","fillTx","mutateAsync","mutate","queryClient","t5","txHash","receiptPromise","hash","transactionHash","action","transactionSpecificData","filledOrder","order","data","variables","onMutationResult","context","invalidateQueries","queryKey","taker","type","exact","onSuccess","t6","mutationResult","t7"],"sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"mappings":";;;;;AA2DA,SAAOqC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAsB,EAAAR,oBAAAC,YAAAC,YAAAC,cAAAG,GAKTG;AAAA,CAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAMgBM,IAAA;EAAAR;EAAAC;EAAAC;EAA4B,EAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA9D,IAAA,EAAAG,WAAgB1C,EAAkByC,EAA6B,EAACE;AAAA,CAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IAGjDF,IAAA,CAAC,YAAY,EAAAJ,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAO;AAAA,CAAAP,EAAA,OAAAG,IAazBI,IAAAP,EAAA,MAZWO,KAAAC,MAAA;EAAC,IAAA,EAAA3B,kBAAAC,cAAAC,cAAAyB;AAOV,SALDzB,GAAM0B,gBAAkB,EAExBxC,EACE,uBAAuBkC,GACvB,iDACD,EAIMA,EAAGO,kBAAmB7B,GAAeC,GAAW,EAAAC,WAAU,CAAC;IACnEiB,EAAA,KAAAG,GAAAH,EAAA,KAAAO;CAAA,IAAAC;AAEF,QAFER,EAAA,OAAAP,KAAAO,EAAA,OAAAO,KAd8DC,IAAA;EAAAG,aAClDP;EAAaQ,YACdL;EAYX,GACEd;EACJ,EAAAO,EAAA,KAAAP,GAAAO,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAhBMtC,EAA0D8C,EAgB/D"}
1
+ {"version":3,"file":"useFillOrder.js","names":["useLimitOrdersSDK","useMutation","useQueryClient","UseMutationOptions","UseMutationResult","MinViemClient","TxSendOverrides","FillOrderDirectlyFunctions","assert","Address","TransactionReceipt","SupportedChainId","useEnsureTxReceipt","TxSentObject","limitOrdersQueryKey","FillOrderReturn","FillOrderAndWaitReturn","OrderFillData","Parameters","FillOrderInput","orderFillData","overrides","signal","AbortSignal","FillOrderAndWaitInput","onTxSent","txSent","FillOrderMutationOptions","Omit","Error","FillOrderAndWaitMutationOptions","FillOrderMutInput","mutationOptions","chainId","account","client","FillOrderAndWaitMutInput","useFillOrder","t0","$","_c","t1","sdk","t2","Symbol","for","t3","t4","throwIfAborted","fillOrderDirectly","mutationKey","mutationFn","useFillOrderAndWait","ensureTxReceipt","fillTx","mutateAsync","mutate","queryClient","t5","txHash","receiptPromise","hash","transactionHash","action","transactionSpecificData","filledOrder","order","data","variables","onMutationResult","context","invalidateQueries","queryKey","taker","type","exact","onSuccess","t6","mutationResult","t7"],"sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"mappings":";;;;;AA2DA,SAAOqC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAsB,EAAAR,oBAAAC,YAAAC,YAAAC,cAAAG,GAKTG;CAAA,AAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAMgBM,IAAA;EAAAR;EAAAC;EAAAC;EAA4B,EAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAA9D,IAAA,EAAAG,WAAgB1C,EAAkByC,EAA6B,EAACE;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IAGjDF,IAAA,CAAC,YAAY,EAAAJ,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAO;CAAA,AAAAP,EAAA,OAAAG,IAazBI,IAAAP,EAAA,MAZWO,KAAAC,MAAA;EAAC,IAAA,EAAA3B,kBAAAC,cAAAC,cAAAyB;EAOV,OALDzB,GAAM0B,gBAAkB,EAExBxC,EACE,uBAAuBkC,GACvB,iDACD,EAIMA,EAAGO,kBAAmB7B,GAAeC,GAAW,EAAAC,WAAU,CAAC;IACnEiB,EAAA,KAAAG,GAAAH,EAAA,KAAAO;CAAA,IAAAC;CAEF,OAFER,EAAA,OAAAP,KAAAO,EAAA,OAAAO,KAd8DC,IAAA;EAAAG,aAClDP;EAAaQ,YACdL;EAYX,GACEd;EACJ,EAAAO,EAAA,KAAAP,GAAAO,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAhBMtC,EAA0D8C,EAgB/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["BuildLimitOrderInput","zeroAddress","MarkRequired","orderInputWithTaker","orderInput","taker"],"sources":["../../../../src/hooks/otc/mutations/utils.ts"],"sourcesContent":["import type { BuildLimitOrderInput } from \"@velora-dex/sdk\";\nimport { zeroAddress } from \"viem\";\nimport type { MarkRequired } from \"ts-essentials\";\n\nexport function orderInputWithTaker(\n orderInput: BuildLimitOrderInput\n): orderInput is MarkRequired<BuildLimitOrderInput, \"taker\"> {\n return !!orderInput.taker && orderInput.taker !== zeroAddress;\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GAC2D;AAC3D,QAAO,CAAC,CAACA,EAAWC,SAASD,EAAWC,UAAUJ"}
1
+ {"version":3,"file":"utils.js","names":["BuildLimitOrderInput","zeroAddress","MarkRequired","orderInputWithTaker","orderInput","taker"],"sources":["../../../../src/hooks/otc/mutations/utils.ts"],"sourcesContent":["import type { BuildLimitOrderInput } from \"@velora-dex/sdk\";\nimport { zeroAddress } from \"viem\";\nimport type { MarkRequired } from \"ts-essentials\";\n\nexport function orderInputWithTaker(\n orderInput: BuildLimitOrderInput\n): orderInput is MarkRequired<BuildLimitOrderInput, \"taker\"> {\n return !!orderInput.taker && orderInput.taker !== zeroAddress;\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GAC2D;CAC3D,OAAO,CAAC,CAACA,EAAWC,SAASD,EAAWC,UAAUJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitOrderRequiredBalance.js","names":["useLimitOrdersSDK","assert","MarkRequired","useAccount","useChainId","useMinViemClient","useQuery","UseQueryOptions","UseQueryResult","isETHaddress","isAddress","Address","SupportedChainId","LONG_STALE_TIME_FOR_REACTIVENESS","LimitOrderRequiredBalanceReturn","Record","LimitOrderRequiredBalanceQueryParams","Omit","Error","TData","LimitOrderRequiredBalanceQueryKey","LimitOrderRequiredBalanceQueryResult","LimitOrderRequiredBalanceQueryInput","tokenAddress","query","base","chainId","account","useLimitOrderRequiredBalance","t0","$","_c","address","t1","minClient","t2","client","sdk","t3","limitOrderRequiredBalanceQueryKey","t4","t5","signal","getRequiredBalance","maker","token","enabled","t6","queryKey","queryFn","toLowerCase","const","OTCOrderRequiredAllowanceInput","amount","OTCOrderRequiredAllowanceResult","combinedAllowance","isLoading","useOTCOrderRequiredAllowance","data","balanceRequiredForCurrentOrders","staleTime","select","balanceRequired","BigInt","undefined"],"sources":["../../../../src/hooks/otc/queries/useLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useLimitOrdersSDK } 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 { isETHaddress } from \"@/tokens/utils/eth\";\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 getRequiredBalance\n// ============================================================================\n\ntype LimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype LimitOrderRequiredBalanceQueryParams<\n TData = LimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n LimitOrderRequiredBalanceReturn,\n Error,\n TData,\n LimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrderRequiredBalanceQueryResult<\n TData = LimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype LimitOrderRequiredBalanceQueryInput<\n TData = LimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: LimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype LimitOrderRequiredBalanceQueryKey = [\n base: \"limit/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useLimitOrderRequiredBalance<\n TData = LimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: LimitOrderRequiredBalanceQueryInput<TData>): LimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useLimitOrdersSDK({ chainId, client: minClient, account });\n\n return useQuery<\n LimitOrderRequiredBalanceReturn,\n Error,\n TData,\n LimitOrderRequiredBalanceQueryKey\n >({\n queryKey: limitOrderRequiredBalanceQueryKey({\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.getRequiredBalance(\n { maker: account, token: tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or a non-ETH token with a valid address\n (isAddress(tokenAddress) && !isETHaddress(tokenAddress))) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): LimitOrderRequiredBalanceQueryKey {\n return [\n \"limit/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype OTCOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype OTCOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<OTCOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n OTCOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput & {\n amount: undefined;\n}): OTCOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput): OTCOrderRequiredAllowanceResult;\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput): OTCOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useLimitOrderRequiredBalance({\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 ? 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
+ {"version":3,"file":"useLimitOrderRequiredBalance.js","names":["useLimitOrdersSDK","assert","MarkRequired","useAccount","useChainId","useMinViemClient","useQuery","UseQueryOptions","UseQueryResult","isETHaddress","isAddress","Address","SupportedChainId","LONG_STALE_TIME_FOR_REACTIVENESS","LimitOrderRequiredBalanceReturn","Record","LimitOrderRequiredBalanceQueryParams","Omit","Error","TData","LimitOrderRequiredBalanceQueryKey","LimitOrderRequiredBalanceQueryResult","LimitOrderRequiredBalanceQueryInput","tokenAddress","query","base","chainId","account","useLimitOrderRequiredBalance","t0","$","_c","address","t1","minClient","t2","client","sdk","t3","limitOrderRequiredBalanceQueryKey","t4","t5","signal","getRequiredBalance","maker","token","enabled","t6","queryKey","queryFn","toLowerCase","const","OTCOrderRequiredAllowanceInput","amount","OTCOrderRequiredAllowanceResult","combinedAllowance","isLoading","useOTCOrderRequiredAllowance","data","balanceRequiredForCurrentOrders","staleTime","select","balanceRequired","BigInt","undefined"],"sources":["../../../../src/hooks/otc/queries/useLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useLimitOrdersSDK } 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 { isETHaddress } from \"@/tokens/utils/eth\";\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 getRequiredBalance\n// ============================================================================\n\ntype LimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype LimitOrderRequiredBalanceQueryParams<\n TData = LimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n LimitOrderRequiredBalanceReturn,\n Error,\n TData,\n LimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrderRequiredBalanceQueryResult<\n TData = LimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype LimitOrderRequiredBalanceQueryInput<\n TData = LimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: LimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype LimitOrderRequiredBalanceQueryKey = [\n base: \"limit/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useLimitOrderRequiredBalance<\n TData = LimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: LimitOrderRequiredBalanceQueryInput<TData>): LimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useLimitOrdersSDK({ chainId, client: minClient, account });\n\n return useQuery<\n LimitOrderRequiredBalanceReturn,\n Error,\n TData,\n LimitOrderRequiredBalanceQueryKey\n >({\n queryKey: limitOrderRequiredBalanceQueryKey({\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.getRequiredBalance(\n { maker: account, token: tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or a non-ETH token with a valid address\n (isAddress(tokenAddress) && !isETHaddress(tokenAddress))) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function limitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): LimitOrderRequiredBalanceQueryKey {\n return [\n \"limit/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype OTCOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype OTCOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<OTCOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n OTCOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput & {\n amount: undefined;\n}): OTCOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput): OTCOrderRequiredAllowanceResult;\nexport function useOTCOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: OTCOrderRequiredAllowanceInput): OTCOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useLimitOrderRequiredBalance({\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 ? 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":"useLimitOrders.js","names":["useLimitOrdersSDK","SupportedChainId","useQuery","UseQueryOptions","UseQueryResult","LimitOrderFromApi","LimitOrdersApiResponse","LimitOrdersUserParams","assert","DeepMarkOptional","useAccount","LimitOrderByHashParams","LimitOrderByHashReturn","LimitOrderByHashQueryParams","Omit","Error","TData","LimitOrderByHashQueryKey","LimitOrderByHashQueryResult","LimitOrderByHashQueryInput","orderParams","query","base","LimitOrdersParams","LimitOrdersReturn","LimitOrdersQueryParams","LimitOrdersQueryKey","LimitOrdersQueryResult","LimitOrdersQueryInput","chainId","UserLimitOrdersQueryInput","asMaker","useLimitOrderByHashQuery","t0","$","_c","t1","Symbol","for","sdk","t2","limitOrderByHashQueryKey","t3","t4","signal","order","getLimitOrderByHash","enabled","t5","queryKey","queryFn","useLimitOrdersQuery","limitOrdersQueryKey","maker","orders","getLimitOrders","taker","orders_0","useUserLimitOrdersQuery","_orderParams","address","account","const","orderParamsOverrides","toLowerCase","undefined"],"sources":["../../../../src/hooks/otc/queries/useLimitOrders.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n LimitOrderFromApi,\n LimitOrdersApiResponse,\n LimitOrdersUserParams,\n} from \"@velora-dex/sdk\";\nimport { assert, type DeepMarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\n// ============================================================================\n// Types for getLimitOrderByHash\n// ============================================================================\n\ntype LimitOrderByHashParams = string; // orderHash\ntype LimitOrderByHashReturn = LimitOrderFromApi;\n\ntype LimitOrderByHashQueryParams<TData = LimitOrderByHashReturn> = Omit<\n UseQueryOptions<\n LimitOrderByHashReturn,\n Error,\n TData,\n LimitOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrderByHashQueryResult<TData = LimitOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype LimitOrderByHashQueryInput<TData = LimitOrderByHashReturn> = {\n orderParams?: LimitOrderByHashParams;\n query?: LimitOrderByHashQueryParams<TData>;\n};\n\ntype LimitOrderByHashQueryKey = [\n base: \"limit/order-by-hash\",\n orderParams?: LimitOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getLimitOrders\n// ============================================================================\n\ntype LimitOrdersParams = LimitOrdersUserParams;\ntype LimitOrdersReturn = LimitOrdersApiResponse;\n\ntype LimitOrdersQueryParams<TData = LimitOrdersReturn> = Omit<\n UseQueryOptions<LimitOrdersReturn, Error, TData, LimitOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrdersQueryResult<TData = LimitOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype LimitOrdersQueryInput<TData = LimitOrdersReturn> = {\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">;\n chainId: SupportedChainId;\n query?: LimitOrdersQueryParams<TData>;\n};\n\ntype UserLimitOrdersQueryInput<TData = LimitOrdersReturn> = {\n orderParams: Omit<LimitOrdersParams, \"taker\" | \"maker\">;\n chainId: SupportedChainId;\n asMaker: boolean;\n query?: LimitOrdersQueryParams<TData>;\n};\n\ntype LimitOrdersQueryKey = [\n base: \"limit/orders\",\n chainId: SupportedChainId,\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">,\n];\n\n// ============================================================================\n// Hook for getLimitOrderByHash\n// ============================================================================\n\nexport function useLimitOrderByHashQuery<TData = LimitOrderByHashReturn>({\n orderParams,\n query,\n}: LimitOrderByHashQueryInput<TData>): LimitOrderByHashQueryResult<TData> {\n const { sdk } = useLimitOrdersSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n LimitOrderByHashReturn,\n Error,\n TData,\n LimitOrderByHashQueryKey\n >({\n queryKey: limitOrderByHashQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(orderParams, \"orderParams is required\");\n const order = sdk.getLimitOrderByHash(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: !!orderParams && (query?.enabled ?? true),\n });\n}\n\n// ============================================================================\n// Hook for getLimitOrders\n// ============================================================================\n\nexport function useLimitOrdersQuery<TData = LimitOrdersReturn>({\n orderParams,\n chainId,\n query,\n}: LimitOrdersQueryInput<TData>): LimitOrdersQueryResult<TData> {\n const { sdk } = useLimitOrdersSDK({ chainId });\n\n return useQuery<LimitOrdersReturn, Error, TData, LimitOrdersQueryKey>({\n queryKey: limitOrdersQueryKey(orderParams, chainId),\n queryFn: ({ signal }) => {\n if (\"maker\" in orderParams && orderParams.maker) {\n const orders = sdk.getLimitOrders(\n { ...orderParams, maker: orderParams.maker },\n { signal }\n );\n return orders;\n }\n\n if (\"taker\" in orderParams && orderParams.taker) {\n const orders = sdk.getLimitOrders(\n { ...orderParams, taker: orderParams.taker },\n { signal }\n );\n return orders;\n }\n\n throw new Error(\"Either maker or taker must be provided in orderParams\");\n },\n ...query,\n enabled:\n !!(\n (\"maker\" in orderParams && orderParams.maker) ||\n (\"taker\" in orderParams && orderParams.taker)\n ) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function useUserLimitOrdersQuery<TData = LimitOrdersReturn>({\n orderParams: _orderParams,\n asMaker,\n chainId,\n query,\n}: UserLimitOrdersQueryInput<TData>): LimitOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = asMaker\n ? { ..._orderParams, maker: account }\n : { ..._orderParams, taker: account };\n\n return useLimitOrdersQuery({ orderParams, query, chainId });\n}\n\nexport function limitOrderByHashQueryKey(\n orderParams?: LimitOrderByHashParams\n): LimitOrderByHashQueryKey {\n return [\"limit/order-by-hash\", orderParams] as const;\n}\n\nexport function limitOrdersQueryKey(\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">,\n chainId: SupportedChainId\n): LimitOrdersQueryKey {\n // specifically lowercase maker/taker addresses for consistent caching\n const orderParamsOverrides =\n \"maker\" in orderParams && orderParams.maker\n ? { maker: orderParams.maker.toLowerCase() }\n : \"taker\" in orderParams && orderParams.taker\n ? { taker: orderParams.taker.toLowerCase() }\n : undefined;\n\n return [\n \"limit/orders\",\n chainId,\n {\n ...orderParams,\n ...orderParamsOverrides,\n },\n ] as const;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitOrders.js","names":["useLimitOrdersSDK","SupportedChainId","useQuery","UseQueryOptions","UseQueryResult","LimitOrderFromApi","LimitOrdersApiResponse","LimitOrdersUserParams","assert","DeepMarkOptional","useAccount","LimitOrderByHashParams","LimitOrderByHashReturn","LimitOrderByHashQueryParams","Omit","Error","TData","LimitOrderByHashQueryKey","LimitOrderByHashQueryResult","LimitOrderByHashQueryInput","orderParams","query","base","LimitOrdersParams","LimitOrdersReturn","LimitOrdersQueryParams","LimitOrdersQueryKey","LimitOrdersQueryResult","LimitOrdersQueryInput","chainId","UserLimitOrdersQueryInput","asMaker","useLimitOrderByHashQuery","t0","$","_c","t1","Symbol","for","sdk","t2","limitOrderByHashQueryKey","t3","t4","signal","order","getLimitOrderByHash","enabled","t5","queryKey","queryFn","useLimitOrdersQuery","limitOrdersQueryKey","maker","orders","getLimitOrders","taker","orders_0","useUserLimitOrdersQuery","_orderParams","address","account","const","orderParamsOverrides","toLowerCase","undefined"],"sources":["../../../../src/hooks/otc/queries/useLimitOrders.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n LimitOrderFromApi,\n LimitOrdersApiResponse,\n LimitOrdersUserParams,\n} from \"@velora-dex/sdk\";\nimport { assert, type DeepMarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\n// ============================================================================\n// Types for getLimitOrderByHash\n// ============================================================================\n\ntype LimitOrderByHashParams = string; // orderHash\ntype LimitOrderByHashReturn = LimitOrderFromApi;\n\ntype LimitOrderByHashQueryParams<TData = LimitOrderByHashReturn> = Omit<\n UseQueryOptions<\n LimitOrderByHashReturn,\n Error,\n TData,\n LimitOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrderByHashQueryResult<TData = LimitOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype LimitOrderByHashQueryInput<TData = LimitOrderByHashReturn> = {\n orderParams?: LimitOrderByHashParams;\n query?: LimitOrderByHashQueryParams<TData>;\n};\n\ntype LimitOrderByHashQueryKey = [\n base: \"limit/order-by-hash\",\n orderParams?: LimitOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getLimitOrders\n// ============================================================================\n\ntype LimitOrdersParams = LimitOrdersUserParams;\ntype LimitOrdersReturn = LimitOrdersApiResponse;\n\ntype LimitOrdersQueryParams<TData = LimitOrdersReturn> = Omit<\n UseQueryOptions<LimitOrdersReturn, Error, TData, LimitOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype LimitOrdersQueryResult<TData = LimitOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype LimitOrdersQueryInput<TData = LimitOrdersReturn> = {\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">;\n chainId: SupportedChainId;\n query?: LimitOrdersQueryParams<TData>;\n};\n\ntype UserLimitOrdersQueryInput<TData = LimitOrdersReturn> = {\n orderParams: Omit<LimitOrdersParams, \"taker\" | \"maker\">;\n chainId: SupportedChainId;\n asMaker: boolean;\n query?: LimitOrdersQueryParams<TData>;\n};\n\ntype LimitOrdersQueryKey = [\n base: \"limit/orders\",\n chainId: SupportedChainId,\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">,\n];\n\n// ============================================================================\n// Hook for getLimitOrderByHash\n// ============================================================================\n\nexport function useLimitOrderByHashQuery<TData = LimitOrderByHashReturn>({\n orderParams,\n query,\n}: LimitOrderByHashQueryInput<TData>): LimitOrderByHashQueryResult<TData> {\n const { sdk } = useLimitOrdersSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n LimitOrderByHashReturn,\n Error,\n TData,\n LimitOrderByHashQueryKey\n >({\n queryKey: limitOrderByHashQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(orderParams, \"orderParams is required\");\n const order = sdk.getLimitOrderByHash(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: !!orderParams && (query?.enabled ?? true),\n });\n}\n\n// ============================================================================\n// Hook for getLimitOrders\n// ============================================================================\n\nexport function useLimitOrdersQuery<TData = LimitOrdersReturn>({\n orderParams,\n chainId,\n query,\n}: LimitOrdersQueryInput<TData>): LimitOrdersQueryResult<TData> {\n const { sdk } = useLimitOrdersSDK({ chainId });\n\n return useQuery<LimitOrdersReturn, Error, TData, LimitOrdersQueryKey>({\n queryKey: limitOrdersQueryKey(orderParams, chainId),\n queryFn: ({ signal }) => {\n if (\"maker\" in orderParams && orderParams.maker) {\n const orders = sdk.getLimitOrders(\n { ...orderParams, maker: orderParams.maker },\n { signal }\n );\n return orders;\n }\n\n if (\"taker\" in orderParams && orderParams.taker) {\n const orders = sdk.getLimitOrders(\n { ...orderParams, taker: orderParams.taker },\n { signal }\n );\n return orders;\n }\n\n throw new Error(\"Either maker or taker must be provided in orderParams\");\n },\n ...query,\n enabled:\n !!(\n (\"maker\" in orderParams && orderParams.maker) ||\n (\"taker\" in orderParams && orderParams.taker)\n ) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function useUserLimitOrdersQuery<TData = LimitOrdersReturn>({\n orderParams: _orderParams,\n asMaker,\n chainId,\n query,\n}: UserLimitOrdersQueryInput<TData>): LimitOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = asMaker\n ? { ..._orderParams, maker: account }\n : { ..._orderParams, taker: account };\n\n return useLimitOrdersQuery({ orderParams, query, chainId });\n}\n\nexport function limitOrderByHashQueryKey(\n orderParams?: LimitOrderByHashParams\n): LimitOrderByHashQueryKey {\n return [\"limit/order-by-hash\", orderParams] as const;\n}\n\nexport function limitOrdersQueryKey(\n orderParams: DeepMarkOptional<LimitOrdersParams, \"taker\" | \"maker\">,\n chainId: SupportedChainId\n): LimitOrdersQueryKey {\n // specifically lowercase maker/taker addresses for consistent caching\n const orderParamsOverrides =\n \"maker\" in orderParams && orderParams.maker\n ? { maker: orderParams.maker.toLowerCase() }\n : \"taker\" in orderParams && orderParams.taker\n ? { taker: orderParams.taker.toLowerCase() }\n : undefined;\n\n return [\n \"limit/orders\",\n chainId,\n {\n ...orderParams,\n ...orderParamsOverrides,\n },\n ] as const;\n}\n"],"mappings":"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"}