@velora-dex/widget 0.0.11 → 0.0.13

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 (275) hide show
  1. package/dist/components/ui/drawer.d.ts +1 -1
  2. package/dist/components/ui/drawer.d.ts.map +1 -1
  3. package/dist/components/ui/drawer.js +1 -1
  4. package/dist/components/ui/drawer.js.map +1 -1
  5. package/dist/components/ui/dropdown-menu.js +25 -19
  6. package/dist/components/ui/dropdown-menu.js.map +1 -1
  7. package/dist/components/ui/vaul/browser.d.ts +8 -0
  8. package/dist/components/ui/vaul/browser.d.ts.map +1 -0
  9. package/dist/components/ui/vaul/browser.js +37 -0
  10. package/dist/components/ui/vaul/browser.js.map +1 -0
  11. package/dist/components/ui/vaul/constants.d.ts +12 -0
  12. package/dist/components/ui/vaul/constants.d.ts.map +1 -0
  13. package/dist/components/ui/vaul/constants.js +24 -0
  14. package/dist/components/ui/vaul/constants.js.map +1 -0
  15. package/dist/components/ui/vaul/context.d.ts +38 -0
  16. package/dist/components/ui/vaul/context.d.ts.map +1 -0
  17. package/dist/components/ui/vaul/context.js +72 -0
  18. package/dist/components/ui/vaul/context.js.map +1 -0
  19. package/dist/components/ui/vaul/helpers.d.ts +17 -0
  20. package/dist/components/ui/vaul/helpers.d.ts.map +1 -0
  21. package/dist/components/ui/vaul/helpers.js +87 -0
  22. package/dist/components/ui/vaul/helpers.js.map +1 -0
  23. package/dist/components/ui/vaul/index.d.ts +140 -0
  24. package/dist/components/ui/vaul/index.d.ts.map +1 -0
  25. package/dist/components/ui/vaul/index.js +807 -0
  26. package/dist/components/ui/vaul/index.js.map +1 -0
  27. package/dist/components/ui/vaul/types.d.ts +7 -0
  28. package/dist/components/ui/vaul/types.d.ts.map +1 -0
  29. package/dist/components/ui/vaul/use-composed-refs.d.ts +14 -0
  30. package/dist/components/ui/vaul/use-composed-refs.d.ts.map +1 -0
  31. package/dist/components/ui/vaul/use-composed-refs.js +28 -0
  32. package/dist/components/ui/vaul/use-composed-refs.js.map +1 -0
  33. package/dist/components/ui/vaul/use-controllable-state.d.ts +9 -0
  34. package/dist/components/ui/vaul/use-controllable-state.d.ts.map +1 -0
  35. package/dist/components/ui/vaul/use-controllable-state.js +134 -0
  36. package/dist/components/ui/vaul/use-controllable-state.js.map +1 -0
  37. package/dist/components/ui/vaul/use-position-fixed.d.ts +19 -0
  38. package/dist/components/ui/vaul/use-position-fixed.d.ts.map +1 -0
  39. package/dist/components/ui/vaul/use-position-fixed.js +109 -0
  40. package/dist/components/ui/vaul/use-position-fixed.js.map +1 -0
  41. package/dist/components/ui/vaul/use-prevent-scroll.d.ts +18 -0
  42. package/dist/components/ui/vaul/use-prevent-scroll.d.ts.map +1 -0
  43. package/dist/components/ui/vaul/use-prevent-scroll.js +182 -0
  44. package/dist/components/ui/vaul/use-prevent-scroll.js.map +1 -0
  45. package/dist/components/ui/vaul/use-scale-background.d.ts +2 -0
  46. package/dist/components/ui/vaul/use-scale-background.d.ts.map +1 -0
  47. package/dist/components/ui/vaul/use-scale-background.js +68 -0
  48. package/dist/components/ui/vaul/use-scale-background.js.map +1 -0
  49. package/dist/components/ui/vaul/use-snap-points.d.ts +32 -0
  50. package/dist/components/ui/vaul/use-snap-points.d.ts.map +1 -0
  51. package/dist/components/ui/vaul/use-snap-points.js +222 -0
  52. package/dist/components/ui/vaul/use-snap-points.js.map +1 -0
  53. package/dist/components/web3/AccountButton.d.ts.map +1 -1
  54. package/dist/components/web3/AccountButton.js +26 -30
  55. package/dist/components/web3/AccountButton.js.map +1 -1
  56. package/dist/components/web3/ConnectWallets/index.d.ts.map +1 -1
  57. package/dist/components/web3/ConnectWallets/index.js +12 -64
  58. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  59. package/dist/components/widget/AppHeader/ActivityButton.d.ts +2 -0
  60. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -0
  61. package/dist/components/widget/AppHeader/ActivityButton.js +46 -0
  62. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -0
  63. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  64. package/dist/components/widget/AppHeader/AppHeader.js +35 -29
  65. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  66. package/dist/components/widget/Drawer/index.d.ts +1 -1
  67. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  68. package/dist/components/widget/Drawer/index.js +37 -30
  69. package/dist/components/widget/Drawer/index.js.map +1 -1
  70. package/dist/components/widget/Informative/Informative.d.ts +7 -0
  71. package/dist/components/widget/Informative/Informative.d.ts.map +1 -0
  72. package/dist/components/widget/Informative/Informative.js +33 -0
  73. package/dist/components/widget/Informative/Informative.js.map +1 -0
  74. package/dist/components/widget/PoweredBy/PoweredBy.d.ts +2 -0
  75. package/dist/components/widget/PoweredBy/PoweredBy.d.ts.map +1 -0
  76. package/dist/components/widget/PoweredBy/PoweredBy.js +31 -0
  77. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -0
  78. package/dist/components/widget/PoweredBy/assets/velora.svg.js +12 -0
  79. package/dist/components/widget/PoweredBy/assets/velora.svg.js.map +1 -0
  80. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +35 -39
  81. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  82. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +1 -1
  83. package/dist/components/widget/SelectToken/SelectTokenButton.js +55 -65
  84. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  85. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
  86. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -0
  87. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  88. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  89. package/dist/components/widget/TokenInput/index.js +133 -103
  90. package/dist/components/widget/TokenInput/index.js.map +1 -1
  91. package/dist/components/widget/TokenInput/types.d.ts +4 -2
  92. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  93. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  94. package/dist/components/widget/TradeOverview/Stepper.js +38 -3
  95. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  96. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts +2 -1
  97. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  98. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +30 -29
  99. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  100. package/dist/hooks/gas/config.d.ts +6 -0
  101. package/dist/hooks/gas/config.d.ts.map +1 -0
  102. package/dist/hooks/gas/config.js +53 -0
  103. package/dist/hooks/gas/config.js.map +1 -0
  104. package/dist/hooks/gas/types.d.ts +43 -0
  105. package/dist/hooks/gas/types.d.ts.map +1 -0
  106. package/dist/hooks/gas/useGasPrices.d.ts +7 -0
  107. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -0
  108. package/dist/hooks/gas/useGasPrices.js +118 -0
  109. package/dist/hooks/gas/useGasPrices.js.map +1 -0
  110. package/dist/hooks/gas/utils.d.ts +8 -0
  111. package/dist/hooks/gas/utils.d.ts.map +1 -0
  112. package/dist/hooks/gas/utils.js +21 -0
  113. package/dist/hooks/gas/utils.js.map +1 -0
  114. package/dist/hooks/getCode/useIsAccountContract.d.ts +2 -0
  115. package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -0
  116. package/dist/hooks/getCode/useIsAccountContract.js +34 -0
  117. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -0
  118. package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts +27 -0
  119. package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts.map +1 -0
  120. package/dist/hooks/permit/hooks/useGetPermitInfo.js +98 -0
  121. package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +1 -0
  122. package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts +31 -0
  123. package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts.map +1 -0
  124. package/dist/hooks/permit/hooks/useGetSafePermitInfo.js +129 -0
  125. package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +1 -0
  126. package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts +38 -0
  127. package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts.map +1 -0
  128. package/dist/hooks/permit/hooks/usePermit1Nonce.js +153 -0
  129. package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +1 -0
  130. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts +18 -0
  131. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts.map +1 -0
  132. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js +109 -0
  133. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +1 -0
  134. package/dist/hooks/permit/hooks/useSignPermit.d.ts +13 -0
  135. package/dist/hooks/permit/hooks/useSignPermit.d.ts.map +1 -0
  136. package/dist/hooks/permit/hooks/useSignPermit.js +103 -0
  137. package/dist/hooks/permit/hooks/useSignPermit.js.map +1 -0
  138. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts +50 -0
  139. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts.map +1 -0
  140. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js +338 -0
  141. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +1 -0
  142. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts +10 -0
  143. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts.map +1 -0
  144. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js +69 -0
  145. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +1 -0
  146. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts +10 -0
  147. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts.map +1 -0
  148. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js +63 -0
  149. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +1 -0
  150. package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts +16 -0
  151. package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts.map +1 -0
  152. package/dist/hooks/permit/hooks/useTryToSignPermit1.js +94 -0
  153. package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +1 -0
  154. package/dist/hooks/permit/utils/abi.d.ts +219 -0
  155. package/dist/hooks/permit/utils/abi.d.ts.map +1 -0
  156. package/dist/hooks/permit/utils/abi.js +204 -0
  157. package/dist/hooks/permit/utils/abi.js.map +1 -0
  158. package/dist/hooks/permit/utils/constants.d.ts +224 -0
  159. package/dist/hooks/permit/utils/constants.d.ts.map +1 -0
  160. package/dist/hooks/permit/utils/constants.js +229 -0
  161. package/dist/hooks/permit/utils/constants.js.map +1 -0
  162. package/dist/hooks/permit/utils/construct.d.ts +161 -0
  163. package/dist/hooks/permit/utils/construct.d.ts.map +1 -0
  164. package/dist/hooks/permit/utils/construct.js +227 -0
  165. package/dist/hooks/permit/utils/construct.js.map +1 -0
  166. package/dist/hooks/permit/utils/detect.d.ts +35 -0
  167. package/dist/hooks/permit/utils/detect.d.ts.map +1 -0
  168. package/dist/hooks/permit/utils/detect.js +241 -0
  169. package/dist/hooks/permit/utils/detect.js.map +1 -0
  170. package/dist/hooks/permit/utils/domainSeparator.d.ts +44 -0
  171. package/dist/hooks/permit/utils/domainSeparator.d.ts.map +1 -0
  172. package/dist/hooks/permit/utils/domainSeparator.js +216 -0
  173. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -0
  174. package/dist/hooks/permit/utils/encodeArgs.d.ts +11 -0
  175. package/dist/hooks/permit/utils/encodeArgs.d.ts.map +1 -0
  176. package/dist/hooks/permit/utils/encodeArgs.js +29 -0
  177. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -0
  178. package/dist/hooks/permit/utils/trySignPermit1.d.ts +42 -0
  179. package/dist/hooks/permit/utils/trySignPermit1.d.ts.map +1 -0
  180. package/dist/hooks/permit/utils/trySignPermit1.js +283 -0
  181. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -0
  182. package/dist/hooks/permit/utils/types.d.ts +77 -0
  183. package/dist/hooks/permit/utils/types.d.ts.map +1 -0
  184. package/dist/hooks/permit/utils/utils.d.ts +15 -0
  185. package/dist/hooks/permit/utils/utils.d.ts.map +1 -0
  186. package/dist/hooks/permit/utils/utils.js +44 -0
  187. package/dist/hooks/permit/utils/utils.js.map +1 -0
  188. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -1
  189. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  190. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.d.ts +1 -1
  191. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.d.ts.map +1 -1
  192. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +94 -0
  193. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -0
  194. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +1 -1
  195. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  196. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
  197. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  198. package/dist/hooks/swap/prices/useSwapPrices.js +43 -29
  199. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  200. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +2 -10
  201. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  202. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +10 -10
  203. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  204. package/dist/hooks/swap/tradeFlow/common/types.d.ts +15 -0
  205. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  206. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  207. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  208. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +433 -268
  209. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  210. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  211. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +4 -1
  212. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  213. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -1
  214. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  215. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +411 -245
  216. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  217. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  218. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -1
  219. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  220. package/dist/hooks/tokens/allowance/types.d.ts +2 -0
  221. package/dist/hooks/tokens/allowance/types.d.ts.map +1 -1
  222. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.d.ts +3 -1
  223. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.d.ts.map +1 -1
  224. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +4 -2
  225. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  226. package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts +1 -1
  227. package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts.map +1 -1
  228. package/dist/hooks/tokens/allowance/useTokenAllowance.js +11 -8
  229. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  230. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts +1 -0
  231. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  232. package/dist/hooks/tokens/balances/useInvalidateTokenData.js +32 -5
  233. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  234. package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
  235. package/dist/hooks/txs/mutations/useSendTx.js +48 -44
  236. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  237. package/dist/hooks/useIsCrosschainPossible.d.ts +12 -0
  238. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -0
  239. package/dist/hooks/useIsCrosschainPossible.js +68 -0
  240. package/dist/hooks/useIsCrosschainPossible.js.map +1 -0
  241. package/dist/index.d.ts +0 -1
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +0 -1
  244. package/dist/index.js.map +1 -1
  245. package/dist/lib/utils/delta.d.ts +13 -0
  246. package/dist/lib/utils/delta.d.ts.map +1 -0
  247. package/dist/lib/utils/delta.js +35 -0
  248. package/dist/lib/utils/delta.js.map +1 -0
  249. package/dist/lib/utils/explorer.d.ts +2 -0
  250. package/dist/lib/utils/explorer.d.ts.map +1 -1
  251. package/dist/lib/utils/explorer.js +15 -1
  252. package/dist/lib/utils/explorer.js.map +1 -1
  253. package/dist/styles.css +317 -5
  254. package/dist/tokens/defaultTokens.js.map +1 -1
  255. package/dist/widget/Updaters.d.ts.map +1 -1
  256. package/dist/widget/Updaters.js +4 -0
  257. package/dist/widget/Updaters.js.map +1 -1
  258. package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts +9 -0
  259. package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -0
  260. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +81 -0
  261. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -0
  262. package/dist/widget/index.d.ts.map +1 -1
  263. package/dist/widget/index.js +302 -259
  264. package/dist/widget/index.js.map +1 -1
  265. package/dist/widget/inputs/hooks/types.d.ts +4 -0
  266. package/dist/widget/inputs/hooks/types.d.ts.map +1 -0
  267. package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts +3 -1
  268. package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  269. package/dist/widget/inputs/hooks/useTokenFromInputProps.js +160 -99
  270. package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  271. package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts +2 -1
  272. package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  273. package/dist/widget/inputs/hooks/useTokenToInputProps.js +136 -105
  274. package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
  275. package/package.json +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketFlow.ts"],"sourcesContent":["import { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useSendMarketSwapTx } from \"../prices/market/mutations/useSendMarketSwapTx\";\nimport { useBuildTx } from \"../prices/market/mutations/useBuildTx\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { ApprovalFlowResult, SubmitTxResult } from \"./common/types\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useInvalidateTokenDataQuery } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type { TxSentObject } from \"@/lib/utils/toasts\";\n\nexport type UseMarketFlowInput = {\n marketPrice?: OptimalRate;\n};\n\nexport type SubmitSwapResult = {\n tradeFlowType: \"marketSwap\";\n approve: SubmitTxResult;\n swap: SubmitTxResult;\n marketPrice: OptimalRate;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt}) when mined,\n// maybe??\ntype RunMarketOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseMarketFlowResult = {\n chainId: SupportedChainId;\n runMarketSwapFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n approval: ApprovalFlowResult;\n buildTxParams: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n swap: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitSwapResult;\n};\n\nconst MARKET_SWAP_MUTATION_KEY = \"runMarketSwapFlow\";\n\nexport function useMarketFlow({\n marketPrice,\n}: UseMarketFlowInput): UseMarketFlowResult {\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: marketPrice?.srcToken,\n amountToApproveInWei: marketPrice?.srcAmount,\n spenderContractType: \"AugustusSwapper\",\n });\n\n /* 2. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: marketPrice?.srcToken\n ? { address: marketPrice.srcToken }\n : undefined,\n allowanceData: { allowanceToSet: allowance.allowanceToSet },\n spender: allowance.spender,\n onSuccess: () => {\n console.log(\"Approve tx success\");\n },\n onError: (error) => {\n console.error(\"Approve tx error\", error);\n },\n });\n\n /* 3. await Approve tx */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: UseMarketFlowResult[\"approval\"] = {\n /* allowance fetching */\n needsApproval: allowance.needsApproval,\n allowanceToSet: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowance.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowance.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowance.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess: !allowance.needsApproval || approveTxMined.isSuccess, // final success\n error: allowance.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n /* 4. Build Swap tx */\n const buildTxMut = useBuildTx({\n chainId,\n mutationOptions: {\n onSuccess: () => {\n console.log(\"Build tx success\");\n },\n onError: (error) => {\n console.error(\"Build tx error\", error);\n },\n },\n });\n\n const buildTxParams: UseMarketFlowResult[\"buildTxParams\"] = {\n isPending: buildTxMut.isPending,\n isError: buildTxMut.isError,\n isSuccess: buildTxMut.isSuccess,\n error: buildTxMut.error,\n };\n\n /* 5. submit Swap tx */\n\n const sendSwapTxMut = useSendMarketSwapTx({\n onSuccess: () => {\n console.log(\"Swap tx success\");\n },\n onError: (error) => {\n console.error(\"Swap tx error\", error);\n },\n });\n\n /* 6. await Swap tx */\n const swapTxMined = useAwaitTx({\n hash: sendSwapTxMut.txHash,\n chainId,\n });\n\n const swap: UseMarketFlowResult[\"swap\"] = {\n txHash: sendSwapTxMut.txHash,\n receipt: swapTxMined.data,\n /* tx sending */\n isConfirmingTX: sendSwapTxMut.isPending,\n isTxSent: sendSwapTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: swapTxMined.isLoading,\n isTxMined: swapTxMined.isSuccess,\n /* combined */\n isPending: sendSwapTxMut.isPending || swapTxMined.isLoading,\n isSuccess: swapTxMined.isSuccess, // final success\n isError: sendSwapTxMut.isError || swapTxMined.isError,\n error: sendSwapTxMut.error || swapTxMined.error,\n };\n\n const { address: account } = useAccount();\n const { resolvedSlippage } = useSlippage();\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n // allows to abort (cancel) currently running flow,\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const reset = () => {\n approveTxMut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n marketSwapMut.reset();\n };\n\n const receiverAddress = useReceiverAddressValue();\n\n const submitSwapTx: UseMarketFlowResult[\"runMarketSwapFlow\"] = async ({\n onTxSent,\n } = {}) => {\n // reset all mutations,\n // otherwise we'll have previous data (txs) as mutation results\n reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n if (approval.needsApproval) {\n approveTxHash = await approveTxMut.approveAsync();\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n console.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n console.log(\"🚀 ~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(marketPrice, \"Market price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: marketPrice.srcAmount,\n destAmount: marketPrice.destAmount,\n },\n resolvedSlippage,\n marketPrice.side\n );\n\n const txParams = await buildTxMut.mutateAsync({\n swapTxInput: {\n userAddress: account,\n receiver: receiverAddress,\n srcToken: marketPrice.srcToken,\n destToken: marketPrice.destToken,\n srcDecimals: marketPrice.srcDecimals,\n destDecimals: marketPrice.destDecimals,\n\n /* @TODO fill in when available, at least `partner`\n referrer: \"\",\n partner: \"\",\n partnerAddress: \"\",\n partnerFeeBps: 0, \n takeSurplus: false,*/\n // permit: \"0x\", // @TODO fill in when Permit support is added\n\n priceRoute: marketPrice,\n ...amountsAfterSlippage,\n },\n /* swapTxOptions: {\n ignoreChecks: true,\n ignoreGasEstimate: true,\n ignoreAllowance: true,\n onlyParams: true,\n @TODO turn on ignore options when necessary (for Safe),\n add gasPrice params\n }, */\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const swapTxHash = await sendSwapTxMut.sendTransactionAsync(txParams);\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx canellation, in the future\n\n const swapTxReceiptPromise = ensureTxReceipt({\n hash: swapTxHash,\n chainId,\n onReplaced: (data) => {\n console.log(\"onReplaced:swapTx\", swapTxHash, data);\n },\n });\n if (onTxSent) {\n onTxSent({\n txHash: swapTxHash,\n actionType: \"swap\",\n receiptPromise: swapTxReceiptPromise,\n });\n }\n\n const swapTxReceipt = await swapTxReceiptPromise;\n console.log(\"🚀 ~ swapTx ~ receipt:\", swapTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"marketSwap\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n swap: {\n txHash: swapTxHash,\n receipt: swapTxReceipt,\n },\n marketPrice,\n // @TODO add whatever else may be relevant\n account,\n };\n };\n\n const invalidateBalancesAndAllowances = useInvalidateTokenDataQuery();\n\n const marketSwapMut = useMutation({\n mutationFn: submitSwapTx,\n mutationKey: [MARKET_SWAP_MUTATION_KEY],\n onSuccess: (data) => {\n console.log(\"Swap tx success\", data);\n },\n onError: (error) => {\n console.error(\"Swap tx error\", error);\n },\n onSettled: () => {\n console.log(\"Swap tx settled, invalidating balances and allowances\");\n invalidateBalancesAndAllowances();\n },\n });\n\n /* 7. return result */\n return {\n chainId,\n runMarketSwapFlow: marketSwapMut.mutateAsync,\n reset,\n cancelFlow,\n approval,\n buildTxParams,\n swap,\n // marketSwapMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: marketSwapMut.isPending,\n isSuccess: marketSwapMut.isSuccess,\n isError: marketSwapMut.isError,\n error: marketSwapMut.error,\n result: marketSwapMut.data,\n };\n}\n"],"names":["MARKET_SWAP_MUTATION_KEY","useMarketFlow","t0","$","_c","marketPrice","chainId","useChainId","t1","srcToken","t2","srcAmount","t3","tokenAddress","amountToApproveInWei","spenderContractType","allowance","useGenericTokenAllowanceMin","t4","address","undefined","t5","allowanceToSet","t6","spender","token","allowanceData","onSuccess","_temp","onError","_temp2","approveTxMut","useApprove","t7","txHash","hash","approveTxMined","useAwaitTx","t8","t9","needsApproval","isPending","isLoading","t10","isError","t11","isSuccess","t12","error","t13","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t14","Symbol","for","_temp3","_temp4","t15","mutationOptions","buildTxMut","useBuildTx","t16","buildTxParams","t17","_temp5","_temp6","sendSwapTxMut","useSendMarketSwapTx","t18","swapTxMined","t19","t20","t21","t22","swap","account","useAccount","resolvedSlippage","useSlippage","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t23","current","abort","UserCancelledError","cancelFlow","reset","marketSwapMut","receiverAddress","useReceiverAddressValue","submitSwapTx","t24","onTxSent","abortController","AbortController","signal","approveTxHash","approveTxReceipt","approveAsync","throwIfAborted","approveTxReceiptPromise","onReplaced","console","log","actionType","receiptPromise","assert","amountsAfterSlippage","applySlippage","destAmount","side","txParams","mutateAsync","swapTxInput","userAddress","receiver","destToken","srcDecimals","destDecimals","priceRoute","swapTxHash","sendTransactionAsync","swapTxReceiptPromise","data_0","swapTxReceipt","tradeFlowType","approve","invalidateBalancesAndAllowances","useInvalidateTokenDataQuery","t25","useMutation","mutationFn","mutationKey","_temp7","_temp8","onSettled","t26","runMarketSwapFlow","result","error_2","data_1","error_1","error_0"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketFlow.ts"],"sourcesContent":["import { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useSendMarketSwapTx } from \"../prices/market/mutations/useSendMarketSwapTx\";\nimport { useBuildTx } from \"../prices/market/mutations/useBuildTx\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useInvalidateTokenDataQuery } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type { TxSentObject } from \"@/lib/utils/toasts\";\nimport {\n useMarkPermit1NonceAsUsed,\n useSignTokenPermit1,\n type SignedPermitResult,\n} from \"@/hooks/permit/hooks/useSignTokenFromPermit1\";\n\nexport type UseMarketFlowInput = {\n marketPrice?: OptimalRate;\n};\n\nexport type SubmitSwapResult = {\n tradeFlowType: \"marketSwap\";\n approve: SubmitTxResult;\n swap: SubmitTxResult;\n marketPrice: OptimalRate;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt}) when mined,\n// maybe??\ntype RunMarketOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseMarketFlowResult = {\n chainId: SupportedChainId;\n runMarketSwapFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n buildTxParams: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n swap: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitSwapResult;\n};\n\nconst MARKET_SWAP_MUTATION_KEY = \"runMarketSwapFlow\";\n\nexport function useMarketFlow({\n marketPrice,\n}: UseMarketFlowInput): UseMarketFlowResult {\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: marketPrice?.srcToken,\n amountToApproveInWei: marketPrice?.srcAmount,\n spenderContractType: \"AugustusSwapper\",\n chainId,\n });\n\n /* 2.1. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: marketPrice?.srcToken\n ? { address: marketPrice.srcToken }\n : undefined,\n allowanceData: { allowanceToSet: allowance.allowanceToSet },\n spender: allowance.spender,\n onSuccess: () => {\n console.log(\"Approve tx success\");\n },\n onError: (error) => {\n console.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. sign Permit1 */\n\n const signPermit1Mut = useSignTokenPermit1({\n token: {\n address: marketPrice?.srcToken as Address,\n network: chainId,\n },\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: allowance.needsApproval,\n onSuccess: (signature) => {\n console.log(\"Permit1 signature\", signature);\n },\n onError: (error) => {\n console.error(\"Permit1 error\", error);\n },\n });\n\n const signPermit: UseMarketFlowResult[\"signPermit\"] = {\n isPermitSupported: signPermit1Mut.isPermitSupported,\n isPermitReadyToSign: signPermit1Mut.isPermitReadyToSign,\n amountToPermit: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n isLoadingPermitData: signPermit1Mut.permitFetchingState.isPending,\n isSigningPermit: signPermit1Mut.permitSigningState.isPending,\n isPermitSigned: signPermit1Mut.permitSigningState.isSuccess,\n signature: signPermit1Mut.signature,\n permitEncodedArgs: signPermit1Mut.permit1EncodedArgs,\n isPending: signPermit1Mut.isPending,\n isSuccess: signPermit1Mut.isSuccess,\n isError: signPermit1Mut.isError,\n error: signPermit1Mut.error,\n };\n\n /* 3. await Approve tx (if not using Permit) */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: UseMarketFlowResult[\"approval\"] = {\n /* allowance fetching */\n needsApproval: allowance.needsApproval,\n allowanceToSet: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowance.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowance.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowance.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess: !allowance.needsApproval || approveTxMined.isSuccess, // final success\n error: allowance.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n /* 4. Build Swap tx */\n const buildTxMut = useBuildTx({\n chainId,\n mutationOptions: {\n onSuccess: () => {\n console.log(\"Build tx success\");\n },\n onError: (error) => {\n console.error(\"Build tx error\", error);\n },\n },\n });\n\n const buildTxParams: UseMarketFlowResult[\"buildTxParams\"] = {\n isPending: buildTxMut.isPending,\n isError: buildTxMut.isError,\n isSuccess: buildTxMut.isSuccess,\n error: buildTxMut.error,\n };\n\n /* 5. submit Swap tx */\n\n const sendSwapTxMut = useSendMarketSwapTx({\n onSuccess: () => {\n console.log(\"Swap tx success\");\n },\n onError: (error) => {\n console.error(\"Swap tx error\", error);\n },\n });\n\n /* 6. await Swap tx */\n const swapTxMined = useAwaitTx({\n hash: sendSwapTxMut.txHash,\n chainId,\n });\n\n const swap: UseMarketFlowResult[\"swap\"] = {\n txHash: sendSwapTxMut.txHash,\n receipt: swapTxMined.data,\n /* tx sending */\n isConfirmingTX: sendSwapTxMut.isPending,\n isTxSent: sendSwapTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: swapTxMined.isLoading,\n isTxMined: swapTxMined.isSuccess,\n /* combined */\n isPending: sendSwapTxMut.isPending || swapTxMined.isLoading,\n isSuccess: swapTxMined.isSuccess, // final success\n isError: sendSwapTxMut.isError || swapTxMined.isError,\n error: sendSwapTxMut.error || swapTxMined.error,\n };\n\n const { address: account } = useAccount();\n const { resolvedSlippage } = useSlippage();\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n // allows to abort (cancel) currently running flow,\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const receiverAddress = useReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1NonceAsUsed({\n chainId,\n });\n\n const submitSwapTx: UseMarketFlowResult[\"runMarketSwapFlow\"] = async ({\n onTxSent,\n } = {}) => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermit1Mut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n if (approval.needsApproval) {\n // need allowance\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync();\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n console.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n console.log(\"🚀 ~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit1\n signedPermitResult = await signPermit1Mut.signPermit1Async();\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(marketPrice, \"Market price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: marketPrice.srcAmount,\n destAmount: marketPrice.destAmount,\n },\n resolvedSlippage,\n marketPrice.side\n );\n\n const txParams = await buildTxMut.mutateAsync({\n swapTxInput: {\n userAddress: account,\n receiver: receiverAddress,\n srcToken: marketPrice.srcToken,\n destToken: marketPrice.destToken,\n srcDecimals: marketPrice.srcDecimals,\n destDecimals: marketPrice.destDecimals,\n\n /* @TODO fill in when available, at least `partner`\n referrer: \"\",\n partner: \"\",\n partnerAddress: \"\",\n partnerFeeBps: 0, \n takeSurplus: false,*/\n permit: signedPermitResult?.permit1EncodedArgs, // just signed Permit signature\n\n priceRoute: marketPrice,\n ...amountsAfterSlippage,\n },\n /* swapTxOptions: {\n ignoreChecks: true,\n ignoreGasEstimate: true,\n ignoreAllowance: true,\n onlyParams: true,\n @TODO turn on ignore options when necessary (for Safe),\n add gasPrice params\n }, */\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const swapTxHash = await sendSwapTxMut.sendTransactionAsync(txParams);\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n try {\n const swapTxReceiptPromise = ensureTxReceipt({\n hash: swapTxHash,\n chainId,\n onReplaced: (data) => {\n console.log(\"onReplaced:swapTx\", swapTxHash, data);\n },\n });\n if (onTxSent) {\n onTxSent({\n txHash: swapTxHash,\n actionType: \"swap\",\n receiptPromise: swapTxReceiptPromise,\n });\n }\n\n const swapTxReceipt = await swapTxReceiptPromise;\n console.log(\"🚀 ~ swapTx ~ receipt:\", swapTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"marketSwap\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n swap: {\n txHash: swapTxHash,\n receipt: swapTxReceipt,\n },\n marketPrice,\n // @TODO add whatever else may be relevant\n account,\n };\n } catch (error) {\n // Market swap failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n // or even Order in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const invalidateTokenData = useInvalidateTokenDataQuery();\n\n const marketSwapMut = useMutation({\n mutationFn: submitSwapTx,\n mutationKey: [MARKET_SWAP_MUTATION_KEY],\n onSuccess: (data) => {\n console.log(\"Swap tx success\", data);\n },\n onError: (error) => {\n console.error(\"Swap tx error\", error);\n },\n onSettled: () => {\n console.log(\"Swap tx settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n },\n });\n\n const reset = () => {\n approveTxMut.reset();\n signPermit1Mut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n marketSwapMut.reset();\n };\n\n /* 7. return result */\n return {\n chainId,\n runMarketSwapFlow: marketSwapMut.mutateAsync,\n reset,\n cancelFlow,\n approval,\n signPermit,\n buildTxParams,\n swap,\n // marketSwapMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: marketSwapMut.isPending,\n isSuccess: marketSwapMut.isSuccess,\n isError: marketSwapMut.isError,\n error: marketSwapMut.error,\n result: marketSwapMut.data,\n };\n}\n"],"names":["MARKET_SWAP_MUTATION_KEY","useMarketFlow","t0","$","_c","marketPrice","chainId","useChainId","t1","srcToken","t2","srcAmount","t3","tokenAddress","amountToApproveInWei","spenderContractType","allowance","useGenericTokenAllowanceMin","t4","address","undefined","t5","allowanceToSet","t6","spender","token","allowanceData","onSuccess","_temp","onError","_temp2","approveTxMut","useApprove","t7","t8","network","t9","t10","needsApproval","value","enabled","_temp3","_temp4","signPermit1Mut","useSignTokenPermit1","t11","t12","error","isError","isPending","isPermitReadyToSign","isPermitSupported","isSuccess","permit1EncodedArgs","permitFetchingState","permitSigningState","signature","amountToPermit","isLoadingPermitData","isSigningPermit","isPermitSigned","permitEncodedArgs","signPermit","t13","txHash","hash","approveTxMined","useAwaitTx","t14","t15","isLoading","t16","t17","t18","t19","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t20","Symbol","for","_temp5","_temp6","t21","mutationOptions","buildTxMut","useBuildTx","t22","buildTxParams","t23","_temp7","_temp8","sendSwapTxMut","useSendMarketSwapTx","t24","swapTxMined","t25","t26","t27","t28","swap","account","useAccount","resolvedSlippage","useSlippage","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t29","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","t30","markNonceAsUsed","clearNonce","useMarkPermit1NonceAsUsed","t31","t32","onTxSent","reset","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","approveAsync","throwIfAborted","approveTxReceiptPromise","onReplaced","console","log","actionType","receiptPromise","signPermit1Async","assert","amountsAfterSlippage","applySlippage","destAmount","side","txParams","mutateAsync","swapTxInput","userAddress","receiver","destToken","srcDecimals","destDecimals","permit","priceRoute","swapTxHash","sendTransactionAsync","signedPermitData","swapTxReceiptPromise","data_0","swapTxReceipt","tradeFlowType","approve","t33","submitSwapTx","invalidateTokenData","useInvalidateTokenDataQuery","nonces","t34","mutationFn","mutationKey","_temp9","_temp0","onSettled","marketSwapMut","useMutation","t35","t36","runMarketSwapFlow","result","error_4","data_1","error_2","error_1","error_0"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAKzB,KAAK,uBAAuB,GAAG;IAC7B,eAAe,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAE1D,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAIF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,CAoEzB"}
1
+ {"version":3,"file":"useMarketSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAKzB,KAAK,uBAAuB,GAAG;IAC7B,eAAe,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAE1D,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAIF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,CAqFzB"}
@@ -21,8 +21,11 @@ function useMarketSwapStep(options) {
21
21
  const reset = marketFlow.reset;
22
22
  const cancelFlow = marketFlow.cancelFlow;
23
23
  let step;
24
+ const permitSigningHappeningOrNeverHappened = marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;
24
25
  const approvalHappeningOrNeverHappened = marketFlow.approval.isPending || !marketFlow.approval.isSuccess;
25
- if (marketFlow.approval.needsApproval && approvalHappeningOrNeverHappened) {
26
+ const willUsePermit = marketFlow.approval.needsApproval && marketFlow.signPermit.isPermitSupported && marketFlow.signPermit.isPermitReadyToSign;
27
+ const permitOrApprovalHappeningOrNeverHappened = willUsePermit ? permitSigningHappeningOrNeverHappened : approvalHappeningOrNeverHappened;
28
+ if (marketFlow.approval.needsApproval && permitOrApprovalHappeningOrNeverHappened) {
26
29
  step = "approve-spending";
27
30
  } else {
28
31
  if (marketFlow.buildTxParams.isPending || marketFlow.swap.isConfirmingTX) {
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"sourcesContent":["import type { MarketSwapStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport {\n useMarketFlow,\n type UseMarketFlowInput,\n type UseMarketFlowResult,\n type SubmitSwapResult,\n} from \"./useMarketFlow\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { createLogger } from \"@/lib/utils\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseMarketSwapStepResult = {\n startMarketSwap: UseMarketFlowResult[\"runMarketSwapFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseMarketFlowResult[\"reset\"];\n cancelFlow: UseMarketFlowResult[\"cancelFlow\"];\n isCancellable: boolean;\n // @TODO use Market Swap steps\n step?: MarketSwapStepKey;\n explorerLink?: string;\n error: Error | null;\n result?: SubmitSwapResult;\n};\n\nconst logger = createLogger(\"MarketSwapStep\");\n\nexport function useMarketSwapStep(\n options: UseMarketFlowInput\n): UseMarketSwapStepResult {\n const marketFlow = useMarketFlow(options);\n\n const startMarketSwap = marketFlow.runMarketSwapFlow;\n const reset = marketFlow.reset;\n const cancelFlow = marketFlow.cancelFlow;\n\n let step: MarketSwapStepKey | undefined;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n marketFlow.approval.isPending || !marketFlow.approval.isSuccess;\n\n if (marketFlow.approval.needsApproval && approvalHappeningOrNeverHappened) {\n step = \"approve-spending\";\n } else if (\n marketFlow.buildTxParams.isPending ||\n marketFlow.swap.isConfirmingTX\n ) {\n step = \"swap-tx-confirmation\";\n } else if (marketFlow.swap.isTxPending) {\n step = \"swap-tx-execution\";\n } else if (marketFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're in the first non-optional step\n step = \"swap-tx-confirmation\";\n }\n\n const approvalIsStarted =\n step === \"approve-spending\" && marketFlow.approval.isTxPending;\n\n const inSwapTxConfirmation = step === \"swap-tx-confirmation\";\n\n const notYetSwapTxSent =\n step === \"swap-tx-execution\" && !marketFlow.swap.isTxSent;\n\n // final tx is not yet sent, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n const isCancellable =\n approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;\n\n const txHash = marketFlow.swap.txHash;\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: marketFlow.chainId, txHash })\n : undefined;\n\n logger.once.log(\"step\", step, marketFlow, {\n isCancellable,\n explorerLink,\n txHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(marketFlow.error)\n ? null\n : marketFlow.error;\n\n return {\n startMarketSwap,\n reset,\n cancelFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n result: marketFlow.result,\n };\n}\n"],"names":["useMarketSwapStep","options","$","_c","marketFlow","useMarketFlow","startMarketSwap","runMarketSwapFlow","reset","cancelFlow","step","approvalHappeningOrNeverHappened","approval","isPending","isSuccess","needsApproval","buildTxParams","swap","isConfirmingTX","isTxPending","approvalIsStarted","inSwapTxConfirmation","notYetSwapTxSent","isTxSent","isCancellable","txHash","explorerLink","constructTxLinkForChain","chainId","undefined","t0","error","isUserCancelledError","t1","result"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"sourcesContent":["import type { MarketSwapStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport {\n useMarketFlow,\n type UseMarketFlowInput,\n type UseMarketFlowResult,\n type SubmitSwapResult,\n} from \"./useMarketFlow\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { createLogger } from \"@/lib/utils\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseMarketSwapStepResult = {\n startMarketSwap: UseMarketFlowResult[\"runMarketSwapFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseMarketFlowResult[\"reset\"];\n cancelFlow: UseMarketFlowResult[\"cancelFlow\"];\n isCancellable: boolean;\n // @TODO use Market Swap steps\n step?: MarketSwapStepKey;\n explorerLink?: string;\n error: Error | null;\n result?: SubmitSwapResult;\n};\n\nconst logger = createLogger(\"MarketSwapStep\");\n\nexport function useMarketSwapStep(\n options: UseMarketFlowInput\n): UseMarketSwapStepResult {\n const marketFlow = useMarketFlow(options);\n\n const startMarketSwap = marketFlow.runMarketSwapFlow;\n const reset = marketFlow.reset;\n const cancelFlow = marketFlow.cancelFlow;\n\n let step: MarketSwapStepKey | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n marketFlow.approval.isPending || !marketFlow.approval.isSuccess;\n\n const willUsePermit =\n marketFlow.approval.needsApproval &&\n marketFlow.signPermit.isPermitSupported &&\n marketFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n marketFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = \"approve-spending\";\n } else if (\n marketFlow.buildTxParams.isPending ||\n marketFlow.swap.isConfirmingTX\n ) {\n step = \"swap-tx-confirmation\";\n } else if (marketFlow.swap.isTxPending) {\n step = \"swap-tx-execution\";\n } else if (marketFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're in the first non-optional step\n step = \"swap-tx-confirmation\";\n }\n\n const approvalIsStarted =\n step === \"approve-spending\" && marketFlow.approval.isTxPending;\n\n const inSwapTxConfirmation = step === \"swap-tx-confirmation\";\n\n const notYetSwapTxSent =\n step === \"swap-tx-execution\" && !marketFlow.swap.isTxSent;\n\n // final tx is not yet sent, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n const isCancellable =\n approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;\n\n const txHash = marketFlow.swap.txHash;\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: marketFlow.chainId, txHash })\n : undefined;\n\n logger.once.log(\"step\", step, marketFlow, {\n isCancellable,\n explorerLink,\n txHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(marketFlow.error)\n ? null\n : marketFlow.error;\n\n return {\n startMarketSwap,\n reset,\n cancelFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n result: marketFlow.result,\n };\n}\n"],"names":["useMarketSwapStep","options","$","_c","marketFlow","useMarketFlow","startMarketSwap","runMarketSwapFlow","reset","cancelFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","buildTxParams","swap","isConfirmingTX","isTxPending","approvalIsStarted","inSwapTxConfirmation","notYetSwapTxSent","isTxSent","isCancellable","txHash","explorerLink","constructTxLinkForChain","chainId","undefined","t0","error","isUserCancelledError","t1","result"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { SpenderContractType } from '../../sdk/types';
2
+ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
2
3
  import { Token } from '@velora-dex/sdk';
3
4
  export type UseGenericTokenAllowanceInput = {
4
5
  token?: Pick<Token, "address" | "decimals">;
@@ -21,5 +22,6 @@ export type GenericTokenAllowance = {
21
22
  export type UseTokenAllowanceInput = {
22
23
  tokenAddress?: string;
23
24
  spender?: string;
25
+ chainId?: SupportedChainId;
24
26
  };
25
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;IAC5C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;IAC5C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC"}
@@ -1,15 +1,17 @@
1
1
  import { GenericTokenAllowance, UseGenericTokenAllowanceInput } from './types';
2
2
  import { SpenderContractType } from '../../sdk/types';
3
3
  import { QueryKey } from '@tanstack/react-query';
4
+ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
5
  export declare const useGenericTokenAllowance: ({ token, amountToApproveInWei, spenderContractType, }?: UseGenericTokenAllowanceInput) => GenericTokenAllowance;
5
6
  type UseGenericTokenAllowanceMinInput = {
6
7
  tokenAddress?: string;
7
8
  spenderContractType?: SpenderContractType;
8
9
  amountToApproveInWei?: string | bigint;
10
+ chainId?: SupportedChainId;
9
11
  };
10
12
  type GenericTokenAllowanceMin = Pick<GenericTokenAllowance, "isLoadingPrerequisites" | "allowance" | "needsApproval" | "enoughAllowance" | "allowanceToSet" | "spender"> & {
11
13
  queryKey: QueryKey;
12
14
  };
13
- export declare const useGenericTokenAllowanceMin: ({ tokenAddress, amountToApproveInWei, spenderContractType, }?: UseGenericTokenAllowanceMinInput) => GenericTokenAllowanceMin;
15
+ export declare const useGenericTokenAllowanceMin: ({ tokenAddress, amountToApproveInWei, spenderContractType, chainId, }?: UseGenericTokenAllowanceMinInput) => GenericTokenAllowanceMin;
14
16
  export {};
15
17
  //# sourceMappingURL=useGenericTokenAllowance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGenericTokenAllowance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/useGenericTokenAllowance.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAO,MAAM,wBAAwB,GAAI,wDAItC,6BAAkC,KAAG,qBAqCvC,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC,CAAC;AAEF,KAAK,wBAAwB,GAAG,IAAI,CAClC,qBAAqB,EACnB,wBAAwB,GACxB,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,CACZ,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAG3B,eAAO,MAAM,2BAA2B,GAAI,+DAIzC,gCAAqC,KAAG,wBA6D1C,CAAC"}
1
+ {"version":3,"file":"useGenericTokenAllowance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/useGenericTokenAllowance.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,GAAI,wDAItC,6BAAkC,KAAG,qBAqCvC,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,KAAK,wBAAwB,GAAG,IAAI,CAClC,qBAAqB,EACnB,wBAAwB,GACxB,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,CACZ,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAG3B,eAAO,MAAM,2BAA2B,GAAI,wEAKzC,gCAAqC,KAAG,wBA8D1C,CAAC"}
@@ -61,7 +61,8 @@ const useGenericTokenAllowance = ({
61
61
  const useGenericTokenAllowanceMin = ({
62
62
  tokenAddress,
63
63
  amountToApproveInWei = 0n,
64
- spenderContractType
64
+ spenderContractType,
65
+ chainId
65
66
  } = {}) => {
66
67
  const {
67
68
  isConnected
@@ -76,7 +77,8 @@ const useGenericTokenAllowanceMin = ({
76
77
  queryKey
77
78
  } = useTokenAllowance({
78
79
  tokenAddress,
79
- spender
80
+ spender,
81
+ chainId
80
82
  });
81
83
  const allowanceOnChain = useMemo(() => {
82
84
  const tokenDoesntRequireAllowance = !tokenAddress || isETH({
@@ -1 +1 @@
1
- {"version":3,"file":"useGenericTokenAllowance.js","sources":["../../../../src/hooks/tokens/allowance/useGenericTokenAllowance.ts"],"sourcesContent":["import { useTokenAllowance } from \"./useTokenAllowance\";\nimport { formatUnits } from \"viem\";\nimport { useSpender } from \"@/hooks/sdk/useSpender\";\n\nimport { useAccount } from \"wagmi\";\nimport { toDecimal } from \"@/lib/utils/toDecimal\";\nimport { useMemo } from \"react\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport type {\n AllowanceData,\n GenericTokenAllowance,\n UseGenericTokenAllowanceInput,\n} from \"./types\";\nimport type { SpenderContractType } from \"@/hooks/sdk/types\";\nimport type { QueryKey } from \"@tanstack/react-query\";\n\nexport const useGenericTokenAllowance = ({\n token,\n amountToApproveInWei = 0n,\n spenderContractType,\n}: UseGenericTokenAllowanceInput = {}): GenericTokenAllowance => {\n const { isConnected } = useAccount();\n\n const { spender, isLoading: isLoadingSpender } =\n useSpender(spenderContractType);\n\n const { data: allowance, isLoading: isLoadingAllowance } = useTokenAllowance({\n tokenAddress: token?.address,\n spender,\n });\n\n const allowanceOnChain = useMemo(() => {\n const tokenDoesntRequireAllowance = !token || isETH(token) || !isConnected;\n\n if (tokenDoesntRequireAllowance) {\n return {\n needsApproval: false,\n enoughAllowance: true,\n };\n }\n\n return calcAllowanceData({\n allowance: allowance || 0n,\n amountToApproveInWei: BigInt(amountToApproveInWei), // ok to cast wei\n tokenDecimals: token?.decimals,\n });\n }, [allowance, amountToApproveInWei, isConnected, token]);\n\n const isLoadingPrerequisites =\n isConnected && (isLoadingSpender || isLoadingAllowance);\n\n return {\n allowance,\n isLoadingPrerequisites,\n spender,\n ...allowanceOnChain,\n };\n};\n\ntype UseGenericTokenAllowanceMinInput = {\n tokenAddress?: string;\n spenderContractType?: SpenderContractType;\n amountToApproveInWei?: string | bigint;\n};\n\ntype GenericTokenAllowanceMin = Pick<\n GenericTokenAllowance,\n | \"isLoadingPrerequisites\"\n | \"allowance\"\n | \"needsApproval\"\n | \"enoughAllowance\"\n | \"allowanceToSet\"\n | \"spender\"\n> & { queryKey: QueryKey };\n\n// exclusively deals with wei\nexport const useGenericTokenAllowanceMin = ({\n tokenAddress,\n amountToApproveInWei = 0n,\n spenderContractType,\n}: UseGenericTokenAllowanceMinInput = {}): GenericTokenAllowanceMin => {\n const { isConnected } = useAccount();\n\n const { spender, isLoading: isLoadingSpender } =\n useSpender(spenderContractType);\n\n const {\n data: allowance,\n isLoading: isLoadingAllowance,\n queryKey,\n } = useTokenAllowance({\n tokenAddress,\n spender,\n });\n\n const allowanceOnChain = useMemo(() => {\n const tokenDoesntRequireAllowance =\n !tokenAddress || isETH({ address: tokenAddress }) || !isConnected;\n\n if (tokenDoesntRequireAllowance) {\n return {\n needsApproval: false,\n enoughAllowance: true,\n };\n }\n\n const amountToApproveInWeiBigInt = BigInt(amountToApproveInWei);\n\n const enoughAllowance =\n !!allowance && allowance >= amountToApproveInWeiBigInt;\n const needsApproval = !enoughAllowance;\n\n if (!needsApproval) {\n return {\n needsApproval: false,\n enoughAllowance,\n };\n }\n\n const differenceLeftToApprove =\n amountToApproveInWeiBigInt - (allowance || 0n);\n\n return {\n needsApproval,\n enoughAllowance,\n allowance,\n allowanceToSet: amountToApproveInWeiBigInt,\n differenceLeftToApprove,\n };\n }, [allowance, amountToApproveInWei, isConnected, tokenAddress]);\n\n const isLoadingPrerequisites =\n isConnected && (isLoadingSpender || isLoadingAllowance);\n\n return {\n allowance,\n isLoadingPrerequisites,\n spender,\n ...allowanceOnChain,\n queryKey,\n };\n};\n\nfunction calcAllowanceData({\n allowance,\n amountToApproveInWei,\n tokenDecimals,\n}: {\n allowance: bigint;\n amountToApproveInWei: bigint;\n tokenDecimals: number;\n}): AllowanceData {\n const enoughAllowance = allowance >= amountToApproveInWei;\n\n const needsApproval = !enoughAllowance;\n\n if (!needsApproval) {\n return {\n needsApproval: false,\n enoughAllowance,\n };\n }\n\n const differenceLeftToApprove = amountToApproveInWei - allowance;\n\n const amountToApproveUnits = formatUnits(amountToApproveInWei, tokenDecimals);\n const allowanceToSetHumanReadable = toDecimal(Number(amountToApproveUnits));\n\n const differenceLeftToApproveUnits = formatUnits(\n differenceLeftToApprove,\n tokenDecimals\n );\n const differenceLeftToApproveHumanReadable = toDecimal(\n Number(differenceLeftToApproveUnits)\n );\n\n return {\n needsApproval,\n enoughAllowance,\n allowance,\n allowanceToSet: amountToApproveInWei,\n allowanceToSetHumanReadable,\n differenceLeftToApprove,\n differenceLeftToApproveHumanReadable,\n };\n}\n"],"names":["useGenericTokenAllowance","token","amountToApproveInWei","spenderContractType","isConnected","useAccount","spender","isLoading","isLoadingSpender","useSpender","data","allowance","isLoadingAllowance","useTokenAllowance","tokenAddress","address","allowanceOnChain","useMemo","tokenDoesntRequireAllowance","isETH","needsApproval","enoughAllowance","calcAllowanceData","BigInt","tokenDecimals","decimals","isLoadingPrerequisites","useGenericTokenAllowanceMin","queryKey","amountToApproveInWeiBigInt","differenceLeftToApprove","allowanceToSet","amountToApproveUnits","formatUnits","allowanceToSetHumanReadable","toDecimal","Number","differenceLeftToApproveUnits","differenceLeftToApproveHumanReadable"],"mappings":"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"}
1
+ {"version":3,"file":"useGenericTokenAllowance.js","sources":["../../../../src/hooks/tokens/allowance/useGenericTokenAllowance.ts"],"sourcesContent":["import { useTokenAllowance } from \"./useTokenAllowance\";\nimport { formatUnits } from \"viem\";\nimport { useSpender } from \"@/hooks/sdk/useSpender\";\n\nimport { useAccount } from \"wagmi\";\nimport { toDecimal } from \"@/lib/utils/toDecimal\";\nimport { useMemo } from \"react\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport type {\n AllowanceData,\n GenericTokenAllowance,\n UseGenericTokenAllowanceInput,\n} from \"./types\";\nimport type { SpenderContractType } from \"@/hooks/sdk/types\";\nimport type { QueryKey } from \"@tanstack/react-query\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const useGenericTokenAllowance = ({\n token,\n amountToApproveInWei = 0n,\n spenderContractType,\n}: UseGenericTokenAllowanceInput = {}): GenericTokenAllowance => {\n const { isConnected } = useAccount();\n\n const { spender, isLoading: isLoadingSpender } =\n useSpender(spenderContractType);\n\n const { data: allowance, isLoading: isLoadingAllowance } = useTokenAllowance({\n tokenAddress: token?.address,\n spender,\n });\n\n const allowanceOnChain = useMemo(() => {\n const tokenDoesntRequireAllowance = !token || isETH(token) || !isConnected;\n\n if (tokenDoesntRequireAllowance) {\n return {\n needsApproval: false,\n enoughAllowance: true,\n };\n }\n\n return calcAllowanceData({\n allowance: allowance || 0n,\n amountToApproveInWei: BigInt(amountToApproveInWei), // ok to cast wei\n tokenDecimals: token?.decimals,\n });\n }, [allowance, amountToApproveInWei, isConnected, token]);\n\n const isLoadingPrerequisites =\n isConnected && (isLoadingSpender || isLoadingAllowance);\n\n return {\n allowance,\n isLoadingPrerequisites,\n spender,\n ...allowanceOnChain,\n };\n};\n\ntype UseGenericTokenAllowanceMinInput = {\n tokenAddress?: string;\n spenderContractType?: SpenderContractType;\n amountToApproveInWei?: string | bigint;\n chainId?: SupportedChainId;\n};\n\ntype GenericTokenAllowanceMin = Pick<\n GenericTokenAllowance,\n | \"isLoadingPrerequisites\"\n | \"allowance\"\n | \"needsApproval\"\n | \"enoughAllowance\"\n | \"allowanceToSet\"\n | \"spender\"\n> & { queryKey: QueryKey };\n\n// exclusively deals with wei\nexport const useGenericTokenAllowanceMin = ({\n tokenAddress,\n amountToApproveInWei = 0n,\n spenderContractType,\n chainId,\n}: UseGenericTokenAllowanceMinInput = {}): GenericTokenAllowanceMin => {\n const { isConnected } = useAccount();\n\n const { spender, isLoading: isLoadingSpender } =\n useSpender(spenderContractType);\n\n const {\n data: allowance,\n isLoading: isLoadingAllowance,\n queryKey,\n } = useTokenAllowance({\n tokenAddress,\n spender,\n chainId,\n });\n\n const allowanceOnChain = useMemo(() => {\n const tokenDoesntRequireAllowance =\n !tokenAddress || isETH({ address: tokenAddress }) || !isConnected;\n\n if (tokenDoesntRequireAllowance) {\n return {\n needsApproval: false,\n enoughAllowance: true,\n };\n }\n\n const amountToApproveInWeiBigInt = BigInt(amountToApproveInWei);\n\n const enoughAllowance =\n !!allowance && allowance >= amountToApproveInWeiBigInt;\n const needsApproval = !enoughAllowance;\n\n if (!needsApproval) {\n return {\n needsApproval: false,\n enoughAllowance,\n };\n }\n\n const differenceLeftToApprove =\n amountToApproveInWeiBigInt - (allowance || 0n);\n\n return {\n needsApproval,\n enoughAllowance,\n allowance,\n allowanceToSet: amountToApproveInWeiBigInt,\n differenceLeftToApprove,\n };\n }, [allowance, amountToApproveInWei, isConnected, tokenAddress]);\n\n const isLoadingPrerequisites =\n isConnected && (isLoadingSpender || isLoadingAllowance);\n\n return {\n allowance,\n isLoadingPrerequisites,\n spender,\n ...allowanceOnChain,\n queryKey,\n };\n};\n\nfunction calcAllowanceData({\n allowance,\n amountToApproveInWei,\n tokenDecimals,\n}: {\n allowance: bigint;\n amountToApproveInWei: bigint;\n tokenDecimals: number;\n}): AllowanceData {\n const enoughAllowance = allowance >= amountToApproveInWei;\n\n const needsApproval = !enoughAllowance;\n\n if (!needsApproval) {\n return {\n needsApproval: false,\n enoughAllowance,\n };\n }\n\n const differenceLeftToApprove = amountToApproveInWei - allowance;\n\n const amountToApproveUnits = formatUnits(amountToApproveInWei, tokenDecimals);\n const allowanceToSetHumanReadable = toDecimal(Number(amountToApproveUnits));\n\n const differenceLeftToApproveUnits = formatUnits(\n differenceLeftToApprove,\n tokenDecimals\n );\n const differenceLeftToApproveHumanReadable = toDecimal(\n Number(differenceLeftToApproveUnits)\n );\n\n return {\n needsApproval,\n enoughAllowance,\n allowance,\n allowanceToSet: amountToApproveInWei,\n allowanceToSetHumanReadable,\n differenceLeftToApprove,\n differenceLeftToApproveHumanReadable,\n };\n}\n"],"names":["useGenericTokenAllowance","token","amountToApproveInWei","spenderContractType","isConnected","useAccount","spender","isLoading","isLoadingSpender","useSpender","data","allowance","isLoadingAllowance","useTokenAllowance","tokenAddress","address","allowanceOnChain","useMemo","tokenDoesntRequireAllowance","isETH","needsApproval","enoughAllowance","calcAllowanceData","BigInt","tokenDecimals","decimals","isLoadingPrerequisites","useGenericTokenAllowanceMin","chainId","queryKey","amountToApproveInWeiBigInt","differenceLeftToApprove","allowanceToSet","amountToApproveUnits","formatUnits","allowanceToSetHumanReadable","toDecimal","Number","differenceLeftToApproveUnits","differenceLeftToApproveHumanReadable"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { UseTokenAllowanceInput } from './types';
2
- export declare const useTokenAllowance: ({ tokenAddress, spender, }: UseTokenAllowanceInput) => import('wagmi').UseReadContractReturnType<readonly [{
2
+ export declare const useTokenAllowance: ({ tokenAddress, spender, chainId, }: UseTokenAllowanceInput) => import('wagmi').UseReadContractReturnType<readonly [{
3
3
  readonly type: "event";
4
4
  readonly name: "Approval";
5
5
  readonly inputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenAllowance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/useTokenAllowance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,iBAAiB,GAAI,4BAG/B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAkBxB,CAAC"}
1
+ {"version":3,"file":"useTokenAllowance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/useTokenAllowance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,iBAAiB,GAAI,qCAI/B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAmBxB,CAAC"}
@@ -15,10 +15,11 @@ globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
15
15
  }
16
16
  };
17
17
  const useTokenAllowance = (t0) => {
18
- const $ = distExports.c(9);
18
+ const $ = distExports.c(10);
19
19
  const {
20
20
  tokenAddress,
21
- spender
21
+ spender,
22
+ chainId
22
23
  } = t0;
23
24
  const {
24
25
  address: account
@@ -48,20 +49,22 @@ const useTokenAllowance = (t0) => {
48
49
  t4 = $[4];
49
50
  }
50
51
  let t5;
51
- if ($[5] !== t1 || $[6] !== t2 || $[7] !== t4) {
52
+ if ($[5] !== chainId || $[6] !== t1 || $[7] !== t2 || $[8] !== t4) {
52
53
  t5 = {
53
54
  address: t1,
54
55
  functionName: "allowance",
55
56
  abi: erc20Abi,
57
+ chainId,
56
58
  args: t2,
57
59
  query: t4
58
60
  };
59
- $[5] = t1;
60
- $[6] = t2;
61
- $[7] = t4;
62
- $[8] = t5;
61
+ $[5] = chainId;
62
+ $[6] = t1;
63
+ $[7] = t2;
64
+ $[8] = t4;
65
+ $[9] = t5;
63
66
  } else {
64
- t5 = $[8];
67
+ t5 = $[9];
65
68
  }
66
69
  return useReadContract(t5);
67
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenAllowance.js","sources":["../../../../src/hooks/tokens/allowance/useTokenAllowance.ts"],"sourcesContent":["import { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { erc20Abi, isAddress } from \"viem\";\nimport { useAccount, useReadContract } from \"wagmi\";\nimport type { UseTokenAllowanceInput } from \"./types\";\n\nexport const useTokenAllowance = ({\n tokenAddress,\n spender,\n}: UseTokenAllowanceInput) => {\n const { address: account } = useAccount();\n\n return useReadContract({\n address: tokenAddress && isAddress(tokenAddress) ? tokenAddress : undefined,\n functionName: \"allowance\" as const,\n abi: erc20Abi,\n args:\n account && spender && isAddress(spender) ? [account, spender] : undefined,\n query: {\n enabled:\n !!tokenAddress &&\n !!account &&\n !!spender &&\n !isETH({ address: tokenAddress }),\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n"],"names":["useTokenAllowance","t0","$","_c","tokenAddress","spender","address","account","useAccount","t1","isAddress","undefined","t2","t3","isETH","t4","enabled","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","t5","functionName","abi","erc20Abi","args","query","useReadContract"],"mappings":";;;;;;;;;;;;;;;;AAMO,MAAMA,oBAAoBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAIhC,EAAA,MAAA;AAAA,IAAAK,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAG7B,EAAA,MAAAC,EAAAA,GAAAL,YAAAA,IAAgBM,SAAAA,CAAUN,YAAY,IAAIA,YAAAA,GAAYO,MAAAA;AAAY,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAV,EAAA,CAAA,CAAA,KAAAK,WAAAL,CAAAA,QAAAG,OAAAA,EAAA;AAIzEO,IAAAA,EAAAA,GAAAL,OAAAA,IAAWF,WAAWK,SAAAA,CAAUL,OAAO,IAAC,CAAIE,OAAAA,EAASF,OAAO,CAAA,GAAAM,MAAAA;AAAaT,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA;AAGvE,EAAA,MAAAW,EAAAA,KAAET,YAAAA,IAAY,CAAA,CACZG,OAAAA,IAAO,CAAA,CACPF,OAAAA,KACDS,KAAAA,CAAA;AAAA,IAAAR,OAAAA,EAAiBF;AAAAA,GAAc,CAAA;AAAC,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAW,EAAAA,EAAA;AAL9BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAAAA,EAEHH,EAAAA;AAAAA,MAGiCI,SAAAA,EAAAC;AAAAA,KAAA;AAEpChB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAiB,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAO,EAAAA,IAAAP,CAAAA,QAAAU,EAAAA,IAAAV,CAAAA,CAAA,CAAA,CAAA,KAAAa,EAAAA,EAAA;AAboBI,IAAAA,EAAAA,GAAA;AAAA,MAAAb,OAAAA,EACZG,EAAAA;AAAAA,MAAkEW,YAAAA,EAC7D,WAAA;AAAA,MAAoBC,GAAAA,EAAAC,QAAAA;AAAAA,MAAAC,IAAAA,EAGhCX,EAAAA;AAAAA,MAAyEY,KAAAA,EACpET;AAAAA,KAON;AACFb,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAa,EAAAA;AAAAb,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAdMuB,gBAAgBN,EActB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useTokenAllowance.js","sources":["../../../../src/hooks/tokens/allowance/useTokenAllowance.ts"],"sourcesContent":["import { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { erc20Abi, isAddress } from \"viem\";\nimport { useAccount, useReadContract } from \"wagmi\";\nimport type { UseTokenAllowanceInput } from \"./types\";\n\nexport const useTokenAllowance = ({\n tokenAddress,\n spender,\n chainId,\n}: UseTokenAllowanceInput) => {\n const { address: account } = useAccount();\n\n return useReadContract({\n address: tokenAddress && isAddress(tokenAddress) ? tokenAddress : undefined,\n functionName: \"allowance\" as const,\n abi: erc20Abi,\n chainId,\n args:\n account && spender && isAddress(spender) ? [account, spender] : undefined,\n query: {\n enabled:\n !!tokenAddress &&\n !!account &&\n !!spender &&\n !isETH({ address: tokenAddress }),\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n"],"names":["useTokenAllowance","t0","$","_c","tokenAddress","spender","chainId","address","account","useAccount","t1","isAddress","undefined","t2","t3","isETH","t4","enabled","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","t5","functionName","abi","erc20Abi","args","query","useReadContract"],"mappings":";;;;;;;;;;;;;;;;AAMO,MAAMA,oBAAoBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAKhC,EAAA,MAAA;AAAA,IAAAM,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAG7B,EAAA,MAAAC,EAAAA,GAAAN,YAAAA,IAAgBO,SAAAA,CAAUP,YAAY,IAAIA,YAAAA,GAAYQ,MAAAA;AAAY,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAM,WAAAN,CAAAA,QAAAG,OAAAA,EAAA;AAKzEQ,IAAAA,EAAAA,GAAAL,OAAAA,IAAWH,WAAWM,SAAAA,CAAUN,OAAO,IAAC,CAAIG,OAAAA,EAASH,OAAO,CAAA,GAAAO,MAAAA;AAAaV,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAGvE,EAAA,MAAAY,EAAAA,KAAEV,YAAAA,IAAY,CAAA,CACZI,OAAAA,IAAO,CAAA,CACPH,OAAAA,KACDU,KAAAA,CAAA;AAAA,IAAAR,OAAAA,EAAiBH;AAAAA,GAAc,CAAA;AAAC,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAY,EAAAA,EAAA;AAL9BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAAAA,EAEHH,EAAAA;AAAAA,MAGiCI,SAAAA,EAAAC;AAAAA,KAAA;AAEpCjB,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAQ,EAAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAW,EAAAA,IAAAX,CAAAA,QAAAc,EAAAA,EAAA;AAdoBI,IAAAA,EAAAA,GAAA;AAAA,MAAAb,OAAAA,EACZG,EAAAA;AAAAA,MAAkEW,YAAAA,EAC7D,WAAA;AAAA,MAAoBC,GAAAA,EAAAC,QAAAA;AAAAA,MAAAjB,OAAAA;AAAAA,MAAAkB,IAAAA,EAIhCX,EAAAA;AAAAA,MAAyEY,KAAAA,EACpET;AAAAA,KAON;AACFd,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAfMwB,gBAAgBN,EAetB,CAAA;AAAC;;;;"}
@@ -1,6 +1,7 @@
1
1
  type TokenFuncsToInvalidate = {
2
2
  allowance?: boolean;
3
3
  balanceOf?: boolean;
4
+ nonces?: boolean;
4
5
  };
5
6
  /**
6
7
  * Helper function to invalidate token-related query cache entries.
@@ -1 +1 @@
1
- {"version":3,"file":"useInvalidateTokenData.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"names":[],"mappings":"AAsCA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AACF;;;;;GAKG;AAEH,wBAAgB,2BAA2B,IAAI,CAC7C,aAAa,CAAC,EAAE,sBAAsB,KACnC,OAAO,CAAC,IAAI,CAAC,CAoDjB"}
1
+ {"version":3,"file":"useInvalidateTokenData.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"names":[],"mappings":"AAwDA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF;;;;;GAKG;AAEH,wBAAgB,2BAA2B,IAAI,CAC7C,aAAa,CAAC,EAAE,sBAAsB,KACnC,OAAO,CAAC,IAAI,CAAC,CAsFjB"}
@@ -14,9 +14,13 @@ globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
14
14
  return inst;
15
15
  }
16
16
  };
17
- function isReadERC20ContractQueryKey(queryKey) {
17
+ function isReadContractQueryKey(queryKey) {
18
18
  return queryKey[0] === "readContract";
19
19
  }
20
+ const nonceMethods = ["nonces", "_nonces", "nonce", "getNonce"];
21
+ function isReadContractsQueryKey(queryKey) {
22
+ return queryKey[0] === "readContracts";
23
+ }
20
24
  function useInvalidateTokenDataQuery() {
21
25
  const $ = distExports.c(2);
22
26
  const queryClient = useQueryClient();
@@ -25,10 +29,12 @@ function useInvalidateTokenDataQuery() {
25
29
  t0 = async (t1) => {
26
30
  const {
27
31
  allowance: t2,
28
- balanceOf: t3
32
+ balanceOf: t3,
33
+ nonces: t4
29
34
  } = t1 === void 0 ? {} : t1;
30
35
  const allowance = t2 === void 0 ? true : t2;
31
36
  const balanceOf = t3 === void 0 ? true : t3;
37
+ const nonces = t4 === void 0 ? false : t4;
32
38
  const queries = [];
33
39
  if (balanceOf) {
34
40
  const ethBalanceQuery = {
@@ -45,6 +51,7 @@ function useInvalidateTokenDataQuery() {
45
51
  tokenFuncs.push("allowance");
46
52
  }
47
53
  if (tokenFuncs.length > 0) {
54
+ const matchedERC20Funcs = tokenFuncs;
48
55
  const erc20BalanceQuery = {
49
56
  queryKey: ["readContract"],
50
57
  exact: false,
@@ -52,8 +59,8 @@ function useInvalidateTokenDataQuery() {
52
59
  const {
53
60
  queryKey
54
61
  } = query;
55
- if (isReadERC20ContractQueryKey(queryKey)) {
56
- if (tokenFuncs.includes(queryKey[1].functionName)) {
62
+ if (isReadContractQueryKey(queryKey)) {
63
+ if (queryKey[1].functionName && matchedERC20Funcs.includes(queryKey[1].functionName)) {
57
64
  return true;
58
65
  }
59
66
  }
@@ -62,8 +69,16 @@ function useInvalidateTokenDataQuery() {
62
69
  };
63
70
  queries.push(erc20BalanceQuery);
64
71
  }
72
+ if (nonces) {
73
+ const nonceQuery = {
74
+ queryKey: ["readContracts"],
75
+ exact: false,
76
+ predicate: _temp
77
+ };
78
+ queries.push(nonceQuery);
79
+ }
65
80
  if (queries.length > 0) {
66
- await Promise.all(queries.map((query_0) => queryClient.invalidateQueries(query_0)));
81
+ await Promise.all(queries.map((query_1) => queryClient.invalidateQueries(query_1)));
67
82
  }
68
83
  };
69
84
  $[0] = queryClient;
@@ -74,6 +89,18 @@ function useInvalidateTokenDataQuery() {
74
89
  const invalidateBalancesAndAllowances = t0;
75
90
  return invalidateBalancesAndAllowances;
76
91
  }
92
+ function _temp(query_0) {
93
+ const {
94
+ queryKey: queryKey_0
95
+ } = query_0;
96
+ if (isReadContractsQueryKey(queryKey_0)) {
97
+ const firstMethod = queryKey_0[1].contracts?.[0]?.functionName;
98
+ if (firstMethod && nonceMethods.includes(firstMethod)) {
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
77
104
 
78
105
  export { useInvalidateTokenDataQuery };
79
106
  //# sourceMappingURL=useInvalidateTokenData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInvalidateTokenData.js","sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"sourcesContent":["import { Query, useQueryClient, type QueryKey } from \"@tanstack/react-query\";\n\nimport { erc20Abi, type Address } from \"viem\";\nimport { type Config } from \"wagmi\";\nimport {\n type ReadContractQueryKey,\n type GetBalanceQueryKey,\n} from \"wagmi/query\";\n\ntype LooseQueryMatchToInvalidate<Q extends QueryKey> = {\n queryKey: [Q[0]];\n exact: false;\n predicate?: (query: Query) => boolean;\n};\n\ntype ETHBalanceQueryMatch = LooseQueryMatchToInvalidate<\n GetBalanceQueryKey<Config>\n>;\n\ntype ERC20BalanceQueryKey = ReadContractQueryKey<\n typeof erc20Abi,\n \"balanceOf\",\n [Address],\n Config\n>;\ntype ERC20BalanceQueryMatch = LooseQueryMatchToInvalidate<ERC20BalanceQueryKey>;\n\nfunction isReadERC20ContractQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractQueryKey<\n typeof erc20Abi,\n \"balanceOf\" | \"allowance\",\n [Address] | [Address, Address],\n Config\n> {\n return queryKey[0] === \"readContract\";\n}\n\ntype TokenFuncsToInvalidate = {\n allowance?: boolean;\n balanceOf?: boolean;\n};\n/**\n * Helper function to invalidate token-related query cache entries.\n * Used to refresh token balances and allowances after transactions that modify them.\n * Can selectively invalidate either balance or allowance queries, or both.\n * Invalidates for all tokens that have their queries currently mounted, which is easier than matching.\n */\n\nexport function useInvalidateTokenDataQuery(): (\n tokenDataType?: TokenFuncsToInvalidate\n) => Promise<void> {\n const queryClient = useQueryClient();\n\n const invalidateBalancesAndAllowances = async ({\n allowance = true,\n balanceOf = true,\n }: TokenFuncsToInvalidate = {}) => {\n const queries: LooseQueryMatchToInvalidate<QueryKey>[] = [];\n\n if (balanceOf) {\n const ethBalanceQuery: ETHBalanceQueryMatch = {\n // easier to just match the queryKey base\n queryKey: [\"balance\"],\n exact: false,\n };\n queries.push(ethBalanceQuery);\n }\n\n const tokenFuncs: ERC20BalanceQueryKey[1][\"functionName\"][] = [];\n if (balanceOf) {\n tokenFuncs.push(\"balanceOf\");\n }\n if (allowance) {\n tokenFuncs.push(\"allowance\");\n }\n\n if (tokenFuncs.length > 0) {\n const erc20BalanceQuery: ERC20BalanceQueryMatch = {\n queryKey: [\"readContract\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n if (isReadERC20ContractQueryKey(queryKey)) {\n // all queries that read Contract.balanceOf or Contract.allowance\n if (tokenFuncs.includes(queryKey[1].functionName)) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(erc20BalanceQuery);\n }\n\n if (queries.length > 0) {\n await Promise.all(\n queries.map((query) => queryClient.invalidateQueries(query))\n );\n }\n };\n\n return invalidateBalancesAndAllowances;\n}\n"],"names":["isReadERC20ContractQueryKey","queryKey","useInvalidateTokenDataQuery","$","_c","queryClient","useQueryClient","t0","t1","allowance","t2","balanceOf","t3","undefined","queries","ethBalanceQuery","exact","push","tokenFuncs","length","erc20BalanceQuery","predicate","query","includes","functionName","Promise","all","map","query_0","invalidateQueries","invalidateBalancesAndAllowances"],"mappings":";;;;;;;;;;;;;;;;AA2BA,SAASA,4BACPC,QAAAA,EAMA;AACA,EAAA,OAAOA,QAAAA,CAAS,CAAC,CAAA,KAAM,cAAA;AACzB;AAaO,SAAAC,2BAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAAC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,WAAAA,EAAA;AAEGE,IAAAA,EAAAA,UAAAC,EAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,SAAAA,EAAAC,EAAAA;AAAAA,QAAAC,SAAAA,EAAAC;AAAAA,OAAA,GAAAJ,EAAAA,KAGjBK,MAAAA,GAAA,EAAA,GAHiBL,EAAAA;AAC7C,MAAA,MAAAC,SAAAA,GAAAC,EAAAA,KAAgBG,MAAAA,UAAhBH,EAAAA;AACA,MAAA,MAAAC,SAAAA,GAAAC,EAAAA,KAAgBC,MAAAA,UAAhBD,EAAAA;AAEA,MAAA,MAAAE,UAAA,EAAA;AAA4D,MAAA,IAExDH,SAAAA,EAAS;AACX,QAAA,MAAAI,eAAAA,GAAA;AAAA,UAAAd,QAAAA,GAEa,SAAS,CAAA;AAAA,UAAAe,KAAAA,EAAA;AAAA,SAAA;AAGtBF,QAAAA,OAAAA,CAAOG,KAAMF,eAAe,CAAA;AAAA;AAG9B,MAAA,MAAAG,aAAA,EAAA;AAAiE,MAAA,IAC7DP,SAAAA,EAAS;AACXO,QAAAA,UAAAA,CAAUD,KAAM,WAAW,CAAA;AAAA;AAAC,MAAA,IAE1BR,SAAAA,EAAS;AACXS,QAAAA,UAAAA,CAAUD,KAAM,WAAW,CAAA;AAAA;AAAC,MAAA,IAG1BC,UAAAA,CAAUC,SAAA,CAAA,EAAW;AACvB,QAAA,MAAAC,iBAAAA,GAAA;AAAA,UAAAnB,QAAAA,GACa,cAAc,CAAA;AAAA,UAAAe,KAAAA,EAAA,KAAA;AAAA,UAAAK,WAAAC,CAAAA,KAAAA,KAAA;AAGvB,YAAA,MAAA;AAAA,cAAArB;AAAAA,aAAA,GAAqBqB,KAAAA;AAAM,YAAA,IACvBtB,2BAAAA,CAA4BC,QAAQ,CAAA,EAAC;AAAA,cAAA,IAEnCiB,WAAUK,QAAAA,CAAUtB,QAAAA,CAAQ,CAAA,CAAA,CAAAuB,YAAgB,CAAA,EAAC;AAAA,gBAAA,OAAA,IAAA;AAAA;AAAA;AAAA,YAAA,OAAA,KAAA;AAAA;AAAA,SAAA;AAOvDV,QAAAA,OAAAA,CAAOG,KAAMG,iBAAiB,CAAA;AAAA;AAAC,MAAA,IAG7BN,OAAAA,CAAOK,SAAA,CAAA,EAAW;AAAA,QAAA,MACdM,OAAAA,CAAAC,IACJZ,OAAAA,CAAOa,GAAAA,CAAAC,aAAgBvB,WAAAA,CAAWwB,iBAAAA,CAAmBP,OAAK,CAAC,CAC7D,CAAA;AAAA;AAAC,KAAA;AAEJnB,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA;AA9CD,EAAA,MAAA2B,+BAAAA,GAAwCvB,EAAAA;AA8CtC,EAAA,OAEKuB,+BAAAA;AAA+B;;;;"}
1
+ {"version":3,"file":"useInvalidateTokenData.js","sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"sourcesContent":["import type { NonceMethod } from \"@/hooks/permit/hooks/usePermit1Nonce\";\nimport { Query, useQueryClient, type QueryKey } from \"@tanstack/react-query\";\n\nimport { erc20Abi, type Address } from \"viem\";\nimport { type Config } from \"wagmi\";\nimport {\n type ReadContractQueryKey,\n type GetBalanceQueryKey,\n type ReadContractsQueryKey,\n} from \"wagmi/query\";\n\ntype LooseQueryMatchToInvalidate<Q extends QueryKey> = {\n queryKey: [Q[0]];\n exact: false;\n predicate?: (query: Query) => boolean;\n};\n\ntype ETHBalanceQueryMatch = LooseQueryMatchToInvalidate<\n GetBalanceQueryKey<Config>\n>;\n\ntype ERC20BalanceQueryKey = ReadContractQueryKey<\n typeof erc20Abi,\n \"balanceOf\" | \"allowance\",\n [Address],\n Config\n>;\ntype ERC20BalanceAllowanceQueryMatch =\n LooseQueryMatchToInvalidate<ERC20BalanceQueryKey>;\n\nfunction isReadContractQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractQueryKey<unknown[], string, unknown[], Config> {\n return queryKey[0] === \"readContract\";\n}\n\ntype NoncesQueryKey = ReadContractsQueryKey<\n {\n address: Address;\n abi: typeof erc20Abi;\n functionName: NonceMethod;\n args: [Address];\n }[],\n boolean,\n Config\n>;\n\ntype NoncesQueryMatch = LooseQueryMatchToInvalidate<NoncesQueryKey>;\nconst nonceMethods: NonceMethod[] = [\"nonces\", \"_nonces\", \"nonce\", \"getNonce\"];\n\nfunction isReadContractsQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractsQueryKey<unknown[], boolean, Config> {\n return queryKey[0] === \"readContracts\";\n}\n\ntype TokenFuncsToInvalidate = {\n allowance?: boolean;\n balanceOf?: boolean;\n nonces?: boolean;\n};\n/**\n * Helper function to invalidate token-related query cache entries.\n * Used to refresh token balances and allowances after transactions that modify them.\n * Can selectively invalidate either balance or allowance queries, or both.\n * Invalidates for all tokens that have their queries currently mounted, which is easier than matching.\n */\n\nexport function useInvalidateTokenDataQuery(): (\n tokenDataType?: TokenFuncsToInvalidate\n) => Promise<void> {\n const queryClient = useQueryClient();\n\n const invalidateBalancesAndAllowances = async ({\n allowance = true,\n balanceOf = true,\n nonces = false,\n }: TokenFuncsToInvalidate = {}) => {\n const queries: LooseQueryMatchToInvalidate<QueryKey>[] = [];\n\n if (balanceOf) {\n const ethBalanceQuery: ETHBalanceQueryMatch = {\n // easier to just match the queryKey base\n queryKey: [\"balance\"],\n exact: false,\n };\n queries.push(ethBalanceQuery);\n }\n\n type ERC20Func = NonNullable<ERC20BalanceQueryKey[1][\"functionName\"]>;\n\n const tokenFuncs: ERC20Func[] = [];\n if (balanceOf) {\n tokenFuncs.push(\"balanceOf\");\n }\n if (allowance) {\n tokenFuncs.push(\"allowance\");\n }\n\n if (tokenFuncs.length > 0) {\n // relax type to allow string[].includes(string)\n const matchedERC20Funcs: string[] = tokenFuncs;\n\n const erc20BalanceQuery: ERC20BalanceAllowanceQueryMatch = {\n queryKey: [\"readContract\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read Contract.<anything>\n if (isReadContractQueryKey(queryKey)) {\n if (\n queryKey[1].functionName &&\n matchedERC20Funcs.includes(queryKey[1].functionName)\n // all queries that read Contract.balanceOf or Contract.allowance\n ) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(erc20BalanceQuery);\n }\n\n if (nonces) {\n // relax type to allow string[].includes(string)\n const matchedNonceMethods: string[] = nonceMethods;\n\n const nonceQuery: NoncesQueryMatch = {\n queryKey: [\"readContracts\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read multiple Contract.<anything>\n if (isReadContractsQueryKey(queryKey)) {\n // we only ever use nonce methods with other nonce methods only,\n // no non-nonce methods mixed in\n const firstMethod = queryKey[1].contracts?.[0]?.functionName;\n if (firstMethod && matchedNonceMethods.includes(firstMethod)) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(nonceQuery);\n }\n\n if (queries.length > 0) {\n await Promise.all(\n queries.map((query) => queryClient.invalidateQueries(query))\n );\n }\n };\n\n return invalidateBalancesAndAllowances;\n}\n"],"names":["isReadContractQueryKey","queryKey","nonceMethods","isReadContractsQueryKey","useInvalidateTokenDataQuery","$","_c","queryClient","useQueryClient","t0","t1","allowance","t2","balanceOf","t3","nonces","t4","undefined","queries","ethBalanceQuery","exact","push","tokenFuncs","length","matchedERC20Funcs","erc20BalanceQuery","predicate","query","functionName","includes","nonceQuery","_temp","Promise","all","map","query_1","invalidateQueries","invalidateBalancesAndAllowances","query_0","queryKey_0","firstMethod","contracts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSendTx.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/mutations/useSendTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,0BAGhC,uBAA4B,KAAG,wBAkDjC,CAAC"}
1
+ {"version":3,"file":"useSendTx.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/mutations/useSendTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,0BAGhC,uBAA4B,KAAG,wBAiDjC,CAAC"}