@velora-dex/widget 0.0.15 → 0.0.17

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 (593) hide show
  1. package/README.md +91 -29
  2. package/dist/assets/circle-check.svg.js +12 -0
  3. package/dist/assets/circle-check.svg.js.map +1 -0
  4. package/dist/assets/circle-exclamation.svg.js +12 -0
  5. package/dist/assets/circle-exclamation.svg.js.map +1 -0
  6. package/dist/assets/copy.svg.js +12 -0
  7. package/dist/assets/copy.svg.js.map +1 -0
  8. package/dist/assets/external-url.svg.js +12 -0
  9. package/dist/assets/external-url.svg.js.map +1 -0
  10. package/dist/assets/logout.svg.js +12 -0
  11. package/dist/assets/logout.svg.js.map +1 -0
  12. package/dist/assets/spinner.svg.js.map +1 -0
  13. package/dist/assets/wS.svg.js +12 -0
  14. package/dist/assets/wS.svg.js.map +1 -0
  15. package/dist/assets/wS.svg2.js +4 -0
  16. package/dist/assets/wS.svg2.js.map +1 -0
  17. package/dist/components/ui/button.d.ts +1 -1
  18. package/dist/components/ui/button.js +1 -1
  19. package/dist/components/ui/button.js.map +1 -1
  20. package/dist/components/ui/card.js +1 -106
  21. package/dist/components/ui/card.js.map +1 -1
  22. package/dist/components/ui/dialog.d.ts.map +1 -1
  23. package/dist/components/ui/dialog.js +5 -117
  24. package/dist/components/ui/dialog.js.map +1 -1
  25. package/dist/components/ui/drawer.d.ts +1 -1
  26. package/dist/components/ui/drawer.d.ts.map +1 -1
  27. package/dist/components/ui/drawer.js +2 -2
  28. package/dist/components/ui/drawer.js.map +1 -1
  29. package/dist/components/ui/dropdown-menu.js +3 -334
  30. package/dist/components/ui/dropdown-menu.js.map +1 -1
  31. package/dist/components/ui/progress.d.ts +13 -0
  32. package/dist/components/ui/progress.d.ts.map +1 -0
  33. package/dist/components/ui/progress.js +120 -0
  34. package/dist/components/ui/progress.js.map +1 -0
  35. package/dist/components/ui/sonner.d.ts.map +1 -1
  36. package/dist/components/ui/sonner.js +34 -9
  37. package/dist/components/ui/sonner.js.map +1 -1
  38. package/dist/components/ui/switch.d.ts +3 -1
  39. package/dist/components/ui/switch.d.ts.map +1 -1
  40. package/dist/components/ui/switch.js +30 -16
  41. package/dist/components/ui/switch.js.map +1 -1
  42. package/dist/components/ui/tooltip.d.ts.map +1 -1
  43. package/dist/components/ui/tooltip.js +15 -4
  44. package/dist/components/ui/tooltip.js.map +1 -1
  45. package/dist/components/web3/AccountButton.d.ts.map +1 -1
  46. package/dist/components/web3/AccountButton.js +78 -30
  47. package/dist/components/web3/AccountButton.js.map +1 -1
  48. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts +2 -0
  49. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -0
  50. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +92 -0
  51. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -0
  52. package/dist/components/web3/ConnectWallets/index.js +1 -1
  53. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  54. package/dist/components/web3/ConnectWallets/privy/button.d.ts.map +1 -1
  55. package/dist/components/web3/ConnectWallets/privy/button.js +99 -76
  56. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  57. package/dist/components/web3/ConnectWallets/privy/connectRunner.d.ts.map +1 -1
  58. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +5 -3
  59. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  60. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts +9 -0
  61. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -0
  62. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +211 -0
  63. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -0
  64. package/dist/components/web3/providers.d.ts.map +1 -1
  65. package/dist/components/web3/providers.js +10 -6
  66. package/dist/components/web3/providers.js.map +1 -1
  67. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +126 -136
  68. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  69. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +1 -1
  70. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  71. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  72. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +2 -3
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  74. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +6 -5
  75. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  76. package/dist/components/widget/Drawer/state/useDrawerControls.js +37 -29
  77. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  78. package/dist/components/widget/Line/Line.d.ts +3 -1
  79. package/dist/components/widget/Line/Line.d.ts.map +1 -1
  80. package/dist/components/widget/Line/Line.js +22 -15
  81. package/dist/components/widget/Line/Line.js.map +1 -1
  82. package/dist/components/widget/NetworkIcon/NetworkIconSquare.d.ts.map +1 -1
  83. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +25 -21
  84. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  85. package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js +12 -0
  86. package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js.map +1 -0
  87. package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js +12 -0
  88. package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js.map +1 -0
  89. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.d.ts.map +1 -1
  90. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +3 -1
  91. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  92. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  93. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +3 -1
  94. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  95. package/dist/components/widget/Toasts/CustomToast.d.ts +8 -0
  96. package/dist/components/widget/Toasts/CustomToast.d.ts.map +1 -0
  97. package/dist/components/widget/Toasts/CustomToast.js +222 -0
  98. package/dist/components/widget/Toasts/CustomToast.js.map +1 -0
  99. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  100. package/dist/components/widget/TokenInput/index.js +122 -137
  101. package/dist/components/widget/TokenInput/index.js.map +1 -1
  102. package/dist/components/widget/TokenInput/types.d.ts +1 -0
  103. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  104. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +1 -1
  105. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  106. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  107. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  108. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +20 -16
  109. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  110. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  111. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  112. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +20 -16
  113. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  114. package/dist/components/widget/TradeOverview/Step.js +1 -1
  115. package/dist/components/widget/TradeOverview/Step.js.map +1 -1
  116. package/dist/components/widget/TradeOverview/Stepper.js +5 -40
  117. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  118. package/dist/components/widget/TradeOverview/TradeComplete/index.js +1 -1
  119. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  120. package/dist/components/widget/TradeOverview/TradeDetails.js +1 -1
  121. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  122. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  123. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +35 -6
  124. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  125. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts +5 -0
  126. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts.map +1 -0
  127. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +55 -0
  128. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -0
  129. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +5 -0
  130. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -0
  131. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +43 -0
  132. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -0
  133. package/dist/components/widget/TradeOverview/TradeError/index.d.ts +6 -0
  134. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -0
  135. package/dist/components/widget/TradeOverview/TradeError/index.js +55 -0
  136. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -0
  137. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts +4 -0
  138. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -0
  139. package/dist/components/widget/TradeOverview/TradeError/utils.js +30 -0
  140. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -0
  141. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -1
  142. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  143. package/dist/components/widget/TradeOverview/TradeOverview.js +156 -101
  144. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +1 -1
  146. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js +4 -0
  148. package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js.map +1 -0
  149. package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js +4 -0
  150. package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js.map +1 -0
  151. package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js +4 -0
  152. package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js.map +1 -0
  153. package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js +4 -0
  154. package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js.map +1 -0
  155. package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js +4 -0
  156. package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js.map +1 -0
  157. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +8 -3
  158. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  159. package/dist/components/widget/TradeOverview/tradeFlowContext.js +17 -1
  160. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  161. package/dist/components/widget/TradeParameters/EIP1559Parameter.d.ts +2 -0
  162. package/dist/components/widget/TradeParameters/EIP1559Parameter.d.ts.map +1 -0
  163. package/dist/components/widget/TradeParameters/EIP1559Parameter.js +56 -0
  164. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -0
  165. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.d.ts.map +1 -1
  166. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +25 -16
  167. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  168. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  169. package/dist/components/widget/TradeParameters/TradeParameters.js +61 -34
  170. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  171. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.d.ts +2 -0
  172. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.d.ts.map +1 -0
  173. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +155 -0
  174. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -0
  175. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  176. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +24 -7
  177. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  178. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +6 -0
  179. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -0
  180. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +10 -0
  181. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -0
  182. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +8 -0
  183. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -0
  184. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +13 -0
  185. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -0
  186. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +4 -0
  187. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +1 -0
  188. package/dist/components/widget/TradeParameters/state/resetParamsAtom.js +16 -0
  189. package/dist/components/widget/TradeParameters/state/resetParamsAtom.js.map +1 -0
  190. package/dist/components/widget/WrapEth/WrapEthContent.d.ts.map +1 -1
  191. package/dist/components/widget/WrapEth/WrapEthContent.js +64 -66
  192. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  193. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts +1 -1
  194. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  195. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  196. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  197. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +35 -29
  198. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  199. package/dist/components/widget/YouGet/YouGet.d.ts.map +1 -1
  200. package/dist/components/widget/YouGet/YouGet.js +97 -98
  201. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  202. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js +1626 -0
  203. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js.map +1 -0
  204. package/dist/hooks/gas/config.d.ts.map +1 -1
  205. package/dist/hooks/gas/config.js +9 -5
  206. package/dist/hooks/gas/config.js.map +1 -1
  207. package/dist/hooks/gas/types.d.ts +1 -1
  208. package/dist/hooks/gas/types.d.ts.map +1 -1
  209. package/dist/hooks/gas/useGasPrices.d.ts +8 -0
  210. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  211. package/dist/hooks/gas/useGasPrices.js +30 -21
  212. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  213. package/dist/hooks/gas/utils.d.ts +5 -0
  214. package/dist/hooks/gas/utils.d.ts.map +1 -1
  215. package/dist/hooks/gas/utils.js +5 -2
  216. package/dist/hooks/gas/utils.js.map +1 -1
  217. package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -1
  218. package/dist/hooks/getCode/useIsAccountContract.js +21 -8
  219. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  220. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.d.ts.map +1 -0
  221. package/dist/hooks/permit/hooks/{useSignArbitraryTypedData.js → common/useSignArbitraryTypedData.js} +1 -1
  222. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -0
  223. package/dist/hooks/permit/hooks/{useSignPermit.d.ts → common/useSignPermit.d.ts} +1 -1
  224. package/dist/hooks/permit/hooks/common/useSignPermit.d.ts.map +1 -0
  225. package/dist/hooks/permit/hooks/{useSignPermit.js → common/useSignPermit.js} +2 -2
  226. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -0
  227. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.d.ts +7 -0
  228. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.d.ts.map +1 -0
  229. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js +25 -0
  230. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -0
  231. package/dist/hooks/permit/hooks/{useGetPermitInfo.d.ts → permit1/useGetPermitInfo.d.ts} +2 -2
  232. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.d.ts.map +1 -0
  233. package/dist/hooks/permit/hooks/{useGetPermitInfo.js → permit1/useGetPermitInfo.js} +20 -17
  234. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -0
  235. package/dist/hooks/permit/hooks/{useGetSafePermitInfo.d.ts → permit1/useGetSafePermitInfo.d.ts} +3 -3
  236. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.d.ts.map +1 -0
  237. package/dist/hooks/permit/hooks/{useGetSafePermitInfo.js → permit1/useGetSafePermitInfo.js} +1 -1
  238. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -0
  239. package/dist/hooks/permit/hooks/{usePermit1Nonce.d.ts → permit1/usePermit1Nonce.d.ts} +5 -5
  240. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.d.ts.map +1 -0
  241. package/dist/hooks/permit/hooks/{usePermit1Nonce.js → permit1/usePermit1Nonce.js} +4 -2
  242. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -0
  243. package/dist/hooks/permit/hooks/{useSignTokenFromPermit1.d.ts → permit1/useSignTokenPermit1.d.ts} +15 -14
  244. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.d.ts.map +1 -0
  245. package/dist/hooks/permit/hooks/{useSignTokenFromPermit1.js → permit1/useSignTokenPermit1.js} +75 -68
  246. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -0
  247. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.d.ts +10 -0
  248. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.d.ts.map +1 -0
  249. package/dist/hooks/permit/hooks/{useTokenFromPermit1Nonce.js → permit1/useTokenFromPermit1Nonce.js} +2 -2
  250. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -0
  251. package/dist/hooks/permit/hooks/{useTokenFromPermitInfo.d.ts → permit1/useTokenFromPermitInfo.d.ts} +1 -1
  252. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.d.ts.map +1 -0
  253. package/dist/hooks/permit/hooks/{useTokenFromPermitInfo.js → permit1/useTokenFromPermitInfo.js} +2 -2
  254. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -0
  255. package/dist/hooks/permit/hooks/{useTryToSignPermit1.d.ts → permit1/useTryToSignPermit1.d.ts} +1 -1
  256. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.d.ts.map +1 -0
  257. package/dist/hooks/permit/hooks/{useTryToSignPermit1.js → permit1/useTryToSignPermit1.js} +20 -17
  258. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -0
  259. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.d.ts +21 -0
  260. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.d.ts.map +1 -0
  261. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +77 -0
  262. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -0
  263. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts +76 -0
  264. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts.map +1 -0
  265. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +145 -0
  266. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -0
  267. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.d.ts +52 -0
  268. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.d.ts.map +1 -0
  269. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +299 -0
  270. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -0
  271. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.d.ts +10 -0
  272. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.d.ts.map +1 -0
  273. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +55 -0
  274. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -0
  275. package/dist/hooks/permit/utils/abi.d.ts +173 -0
  276. package/dist/hooks/permit/utils/abi.d.ts.map +1 -1
  277. package/dist/hooks/permit/utils/abi.js +174 -1
  278. package/dist/hooks/permit/utils/abi.js.map +1 -1
  279. package/dist/hooks/permit/utils/construct.d.ts +3 -4
  280. package/dist/hooks/permit/utils/construct.d.ts.map +1 -1
  281. package/dist/hooks/permit/utils/construct.js +1 -1
  282. package/dist/hooks/permit/utils/construct.js.map +1 -1
  283. package/dist/hooks/permit/utils/deadlines.d.ts +8 -0
  284. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -0
  285. package/dist/hooks/permit/utils/deadlines.js +15 -0
  286. package/dist/hooks/permit/utils/deadlines.js.map +1 -0
  287. package/dist/hooks/permit/utils/encodeArgs.d.ts +22 -4
  288. package/dist/hooks/permit/utils/encodeArgs.d.ts.map +1 -1
  289. package/dist/hooks/permit/utils/encodeArgs.js +33 -4
  290. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  291. package/dist/hooks/permit/utils/trySignPermit1.d.ts +1 -1
  292. package/dist/hooks/permit/utils/trySignPermit1.d.ts.map +1 -1
  293. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  294. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
  295. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  296. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +4 -1
  297. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  298. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  299. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +12 -11
  300. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  301. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  302. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  303. package/dist/hooks/swap/prices/usePricesParams.js +87 -32
  304. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  305. package/dist/hooks/swap/tradeFlow/common/types.d.ts +0 -1
  306. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  307. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +18 -0
  308. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -0
  309. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +204 -0
  310. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -0
  311. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts +20 -0
  312. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -0
  313. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +81 -0
  314. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -0
  315. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +53 -0
  316. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -0
  317. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +334 -0
  318. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -0
  319. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts +25 -0
  320. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts.map +1 -0
  321. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js +103 -0
  322. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js.map +1 -0
  323. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -0
  324. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  325. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +386 -414
  326. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  327. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +3 -0
  328. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  329. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +50 -23
  330. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +4 -0
  332. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +326 -378
  334. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  335. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +3 -0
  336. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  337. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +52 -25
  338. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  339. package/dist/hooks/tokens/allowance/types.d.ts +3 -0
  340. package/dist/hooks/tokens/allowance/types.d.ts.map +1 -1
  341. package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts +1 -1
  342. package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts.map +1 -1
  343. package/dist/hooks/tokens/allowance/useTokenAllowance.js +32 -28
  344. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  345. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  346. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  347. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.d.ts +1 -0
  348. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.d.ts.map +1 -1
  349. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +41 -1
  350. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  351. package/dist/hooks/tokens/useTokenLists.d.ts +1 -0
  352. package/dist/hooks/tokens/useTokenLists.d.ts.map +1 -1
  353. package/dist/hooks/tokens/useTokenLists.js +15 -2
  354. package/dist/hooks/tokens/useTokenLists.js.map +1 -1
  355. package/dist/hooks/tokens/useTokenTaxFee.d.ts +12 -0
  356. package/dist/hooks/tokens/useTokenTaxFee.d.ts.map +1 -0
  357. package/dist/hooks/tokens/useTokenTaxFee.js +54 -0
  358. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -0
  359. package/dist/hooks/txs/index.d.ts +1 -1
  360. package/dist/hooks/txs/mutations/useApprove.d.ts +5 -4
  361. package/dist/hooks/txs/mutations/useApprove.d.ts.map +1 -1
  362. package/dist/hooks/txs/mutations/useApprove.js +55 -39
  363. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  364. package/dist/hooks/txs/mutations/useDepositWeth.d.ts.map +1 -1
  365. package/dist/hooks/txs/mutations/useDepositWeth.js +37 -27
  366. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  367. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  368. package/dist/hooks/txs/queries/useAwaitTx.js +16 -13
  369. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  370. package/dist/hooks/txs/queries/useAwaitTxs.d.ts.map +1 -1
  371. package/dist/hooks/useEIP1559Enabled.d.ts +6 -0
  372. package/dist/hooks/useEIP1559Enabled.d.ts.map +1 -0
  373. package/dist/hooks/useEIP1559Enabled.js +31 -0
  374. package/dist/hooks/useEIP1559Enabled.js.map +1 -0
  375. package/dist/hooks/useSDK.d.ts.map +1 -1
  376. package/dist/hooks/useSDK.js +4 -2
  377. package/dist/hooks/useSDK.js.map +1 -1
  378. package/dist/index.d.ts +2 -19
  379. package/dist/index.d.ts.map +1 -1
  380. package/dist/index.js +0 -21
  381. package/dist/index.js.map +1 -1
  382. package/dist/lib/constants/delta.d.ts.map +1 -1
  383. package/dist/lib/constants/delta.js +3 -2
  384. package/dist/lib/constants/delta.js.map +1 -1
  385. package/dist/lib/constants/weth.d.ts.map +1 -1
  386. package/dist/lib/constants/weth.js +24 -17
  387. package/dist/lib/constants/weth.js.map +1 -1
  388. package/dist/lib/utils/copyToClipboard.d.ts +2 -0
  389. package/dist/lib/utils/copyToClipboard.d.ts.map +1 -0
  390. package/dist/lib/utils/copyToClipboard.js +14 -0
  391. package/dist/lib/utils/copyToClipboard.js.map +1 -0
  392. package/dist/lib/utils/index.d.ts +0 -1
  393. package/dist/lib/utils/index.d.ts.map +1 -1
  394. package/dist/lib/utils/index.js.map +1 -1
  395. package/dist/lib/utils/logger.d.ts +5 -8
  396. package/dist/lib/utils/logger.d.ts.map +1 -1
  397. package/dist/lib/utils/logger.js +233 -0
  398. package/dist/lib/utils/logger.js.map +1 -0
  399. package/dist/lib/utils/price.js +1 -1
  400. package/dist/lib/utils/providerErrors.d.ts +12 -0
  401. package/dist/lib/utils/providerErrors.d.ts.map +1 -0
  402. package/dist/lib/utils/providerErrors.js +29 -0
  403. package/dist/lib/utils/providerErrors.js.map +1 -0
  404. package/dist/lib/utils/slippage.d.ts +5 -0
  405. package/dist/lib/utils/slippage.d.ts.map +1 -1
  406. package/dist/lib/utils/slippage.js.map +1 -1
  407. package/dist/lib/utils/toDecimal.d.ts +1 -0
  408. package/dist/lib/utils/toDecimal.d.ts.map +1 -1
  409. package/dist/lib/utils/toDecimal.js +9 -4
  410. package/dist/lib/utils/toDecimal.js.map +1 -1
  411. package/dist/lib/utils/toasts.d.ts +2 -0
  412. package/dist/lib/utils/toasts.d.ts.map +1 -1
  413. package/dist/lib/utils/toasts.js +48 -27
  414. package/dist/lib/utils/toasts.js.map +1 -1
  415. package/dist/lib/web3/wagmi/config.d.ts +333 -35
  416. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  417. package/dist/lib/web3/wagmi/constants.d.ts +333 -35
  418. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  419. package/dist/lib/web3/wagmi/constants.js +5 -4
  420. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  421. package/dist/lib/web3/wagmi/supportedChains.d.ts +1 -1
  422. package/dist/lib/web3/wagmi/supportedChains.d.ts.map +1 -1
  423. package/dist/lib/web3/wagmi/transports.d.ts.map +1 -1
  424. package/dist/lib/web3/wagmi/transports.js +3 -2
  425. package/dist/lib/web3/wagmi/transports.js.map +1 -1
  426. package/dist/styles.css +2445 -2933
  427. package/dist/test/Configurator.d.ts.map +1 -1
  428. package/dist/tokens/constants.d.ts.map +1 -1
  429. package/dist/tokens/constants.js +4 -3
  430. package/dist/tokens/constants.js.map +1 -1
  431. package/dist/tokens/defaultTokens.d.ts.map +1 -1
  432. package/dist/tokens/defaultTokens.js +44 -22
  433. package/dist/tokens/defaultTokens.js.map +1 -1
  434. package/dist/tokens/lists/lists.json.d.ts +21 -0
  435. package/dist/tokens/lists/lists.json.js +21 -0
  436. package/dist/tokens/lists/lists.json.js.map +1 -1
  437. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +10 -6
  438. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts.map +1 -1
  439. package/dist/tokens/lists/state/types.d.ts +3 -2
  440. package/dist/tokens/lists/state/types.d.ts.map +1 -1
  441. package/dist/widget/ConnectWalletDrawerButton.d.ts +7 -0
  442. package/dist/widget/ConnectWalletDrawerButton.d.ts.map +1 -0
  443. package/dist/widget/ConnectWalletDrawerButton.js +86 -0
  444. package/dist/widget/ConnectWalletDrawerButton.js.map +1 -0
  445. package/dist/widget/Toaster.d.ts +2 -0
  446. package/dist/widget/Toaster.d.ts.map +1 -0
  447. package/dist/widget/Toaster.js +24 -0
  448. package/dist/widget/Toaster.js.map +1 -0
  449. package/dist/widget/TradeFlowButton.d.ts +16 -0
  450. package/dist/widget/TradeFlowButton.d.ts.map +1 -0
  451. package/dist/widget/TradeFlowButton.js +473 -0
  452. package/dist/widget/TradeFlowButton.js.map +1 -0
  453. package/dist/widget/Updaters.d.ts.map +1 -1
  454. package/dist/widget/Updaters.js +6 -2
  455. package/dist/widget/Updaters.js.map +1 -1
  456. package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  457. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +64 -31
  458. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  459. package/dist/widget/constants.d.ts +1 -0
  460. package/dist/widget/constants.d.ts.map +1 -1
  461. package/dist/widget/constants.js +2 -1
  462. package/dist/widget/constants.js.map +1 -1
  463. package/dist/widget/index.d.ts +1 -1
  464. package/dist/widget/index.d.ts.map +1 -1
  465. package/dist/widget/index.js +120 -461
  466. package/dist/widget/index.js.map +1 -1
  467. package/dist/widget/inputs/hooks/types.d.ts +1 -1
  468. package/dist/widget/inputs/hooks/types.d.ts.map +1 -1
  469. package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  470. package/dist/widget/inputs/hooks/useTokenFromInputProps.js +70 -54
  471. package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  472. package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  473. package/dist/widget/inputs/hooks/useTokenToInputProps.js +50 -21
  474. package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
  475. package/dist/widget/inputs/state/selectedTokenActionsAtom.js +1 -1
  476. package/dist/widget/inputs/state/subscriptions.d.ts.map +1 -1
  477. package/dist/widget/inputs/state/subscriptions.js +2 -1
  478. package/dist/widget/inputs/state/subscriptions.js.map +1 -1
  479. package/dist/widget/logger.d.ts +8 -0
  480. package/dist/widget/logger.d.ts.map +1 -0
  481. package/dist/widget/logger.js +32 -0
  482. package/dist/widget/logger.js.map +1 -0
  483. package/dist/widget/state/chainToAtom.d.ts +2 -2
  484. package/dist/widget/state/chainToAtom.d.ts.map +1 -1
  485. package/dist/widget/state/configActionsAtom.d.ts.map +1 -1
  486. package/dist/widget/state/configActionsAtom.js +5 -1
  487. package/dist/widget/state/configActionsAtom.js.map +1 -1
  488. package/dist/widget/state/configAtom.d.ts +7 -1
  489. package/dist/widget/state/configAtom.d.ts.map +1 -1
  490. package/dist/widget/state/configAtom.js +3 -1
  491. package/dist/widget/state/configAtom.js.map +1 -1
  492. package/dist/widget/state/containerAtom.js +1 -1
  493. package/dist/widget/state/externalProviderAtom.d.ts +23 -0
  494. package/dist/widget/state/externalProviderAtom.d.ts.map +1 -0
  495. package/dist/widget/state/externalProviderAtom.js +20 -0
  496. package/dist/widget/state/externalProviderAtom.js.map +1 -0
  497. package/dist/widget/swapDetails/youGet.d.ts.map +1 -1
  498. package/dist/widget/swapDetails/youGet.js +2 -3
  499. package/dist/widget/swapDetails/youGet.js.map +1 -1
  500. package/dist/widget/types.d.ts +15 -0
  501. package/dist/widget/types.d.ts.map +1 -1
  502. package/package.json +8 -66
  503. package/dist/components/ui/counter.js +0 -33
  504. package/dist/components/ui/counter.js.map +0 -1
  505. package/dist/components/ui/header.js +0 -21
  506. package/dist/components/ui/header.js.map +0 -1
  507. package/dist/components/ui/select.js +0 -427
  508. package/dist/components/ui/select.js.map +0 -1
  509. package/dist/components/ui/vaul/browser.d.ts +0 -8
  510. package/dist/components/ui/vaul/browser.d.ts.map +0 -1
  511. package/dist/components/ui/vaul/browser.js +0 -27
  512. package/dist/components/ui/vaul/browser.js.map +0 -1
  513. package/dist/components/ui/vaul/constants.d.ts +0 -12
  514. package/dist/components/ui/vaul/constants.d.ts.map +0 -1
  515. package/dist/components/ui/vaul/constants.js +0 -14
  516. package/dist/components/ui/vaul/constants.js.map +0 -1
  517. package/dist/components/ui/vaul/context.d.ts +0 -38
  518. package/dist/components/ui/vaul/context.d.ts.map +0 -1
  519. package/dist/components/ui/vaul/context.js +0 -62
  520. package/dist/components/ui/vaul/context.js.map +0 -1
  521. package/dist/components/ui/vaul/helpers.d.ts +0 -17
  522. package/dist/components/ui/vaul/helpers.d.ts.map +0 -1
  523. package/dist/components/ui/vaul/helpers.js +0 -77
  524. package/dist/components/ui/vaul/helpers.js.map +0 -1
  525. package/dist/components/ui/vaul/index.d.ts +0 -140
  526. package/dist/components/ui/vaul/index.d.ts.map +0 -1
  527. package/dist/components/ui/vaul/index.js +0 -797
  528. package/dist/components/ui/vaul/index.js.map +0 -1
  529. package/dist/components/ui/vaul/types.d.ts +0 -7
  530. package/dist/components/ui/vaul/types.d.ts.map +0 -1
  531. package/dist/components/ui/vaul/use-composed-refs.d.ts +0 -14
  532. package/dist/components/ui/vaul/use-composed-refs.d.ts.map +0 -1
  533. package/dist/components/ui/vaul/use-composed-refs.js +0 -18
  534. package/dist/components/ui/vaul/use-composed-refs.js.map +0 -1
  535. package/dist/components/ui/vaul/use-controllable-state.d.ts +0 -9
  536. package/dist/components/ui/vaul/use-controllable-state.d.ts.map +0 -1
  537. package/dist/components/ui/vaul/use-controllable-state.js +0 -124
  538. package/dist/components/ui/vaul/use-controllable-state.js.map +0 -1
  539. package/dist/components/ui/vaul/use-position-fixed.d.ts +0 -19
  540. package/dist/components/ui/vaul/use-position-fixed.d.ts.map +0 -1
  541. package/dist/components/ui/vaul/use-position-fixed.js +0 -99
  542. package/dist/components/ui/vaul/use-position-fixed.js.map +0 -1
  543. package/dist/components/ui/vaul/use-prevent-scroll.d.ts +0 -18
  544. package/dist/components/ui/vaul/use-prevent-scroll.d.ts.map +0 -1
  545. package/dist/components/ui/vaul/use-prevent-scroll.js +0 -172
  546. package/dist/components/ui/vaul/use-prevent-scroll.js.map +0 -1
  547. package/dist/components/ui/vaul/use-scale-background.d.ts +0 -2
  548. package/dist/components/ui/vaul/use-scale-background.d.ts.map +0 -1
  549. package/dist/components/ui/vaul/use-scale-background.js +0 -58
  550. package/dist/components/ui/vaul/use-scale-background.js.map +0 -1
  551. package/dist/components/ui/vaul/use-snap-points.d.ts +0 -32
  552. package/dist/components/ui/vaul/use-snap-points.d.ts.map +0 -1
  553. package/dist/components/ui/vaul/use-snap-points.js +0 -212
  554. package/dist/components/ui/vaul/use-snap-points.js.map +0 -1
  555. package/dist/components/widget/Informative/Informative.js +0 -23
  556. package/dist/components/widget/Informative/Informative.js.map +0 -1
  557. package/dist/components/widget/NetworkIcon/assets/sqr/polygonZkEVM.svg.js +0 -12
  558. package/dist/components/widget/NetworkIcon/assets/sqr/polygonZkEVM.svg.js.map +0 -1
  559. package/dist/components/widget/TradeOverview/assets/spinner.svg.js.map +0 -1
  560. package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts.map +0 -1
  561. package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +0 -1
  562. package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts.map +0 -1
  563. package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +0 -1
  564. package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts.map +0 -1
  565. package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +0 -1
  566. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts.map +0 -1
  567. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +0 -1
  568. package/dist/hooks/permit/hooks/useSignPermit.d.ts.map +0 -1
  569. package/dist/hooks/permit/hooks/useSignPermit.js.map +0 -1
  570. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts.map +0 -1
  571. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +0 -1
  572. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts +0 -10
  573. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts.map +0 -1
  574. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +0 -1
  575. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts.map +0 -1
  576. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +0 -1
  577. package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts.map +0 -1
  578. package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +0 -1
  579. package/dist/styles2.css +0 -256
  580. package/dist/test/connect/AccountDisplay.js +0 -83
  581. package/dist/test/connect/AccountDisplay.js.map +0 -1
  582. package/dist/test/connect/App.js +0 -68
  583. package/dist/test/connect/App.js.map +0 -1
  584. package/dist/test/connect/ConnectWallet.js +0 -100
  585. package/dist/test/connect/ConnectWallet.js.map +0 -1
  586. package/dist/test/connect/WagmiProfile.js +0 -396
  587. package/dist/test/connect/WagmiProfile.js.map +0 -1
  588. package/dist/test/connect/WalletActions.js +0 -314
  589. package/dist/test/connect/WalletActions.js.map +0 -1
  590. package/dist/widget/DevTools.js +0 -24
  591. package/dist/widget/DevTools.js.map +0 -1
  592. /package/dist/{components/widget/TradeOverview/assets → assets}/spinner.svg.js +0 -0
  593. /package/dist/hooks/permit/hooks/{useSignArbitraryTypedData.d.ts → common/useSignArbitraryTypedData.d.ts} +0 -0
@@ -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 {\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
+ {"version":3,"file":"useMarketFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketFlow.ts"],"sourcesContent":["import { 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 { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useWidgetConfig } from \"@/widget/state/configAtom\";\nimport { useLogger } from \"@/widget/logger\";\nimport { useTrackedPrice } from \"./common/useTrackedPrice\";\nimport { useConstructGasParams } from \"./common/useConstructGasParams\";\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 retryFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>; // reset and retry 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 isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: 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 usedPrice?: OptimalRate;\n};\n\nconst MARKET_SWAP_MUTATION_KEY = \"runMarketSwapFlow\";\n\nexport function useMarketFlow({\n marketPrice,\n}: UseMarketFlowInput): UseMarketFlowResult {\n const logger = useLogger(\"MarketFlow\");\n const chainId = useChainId();\n const { resolvedSlippage } = useSlippage();\n const swapSide = useSwapSide();\n\n const trackedPrice = useTrackedPrice({\n price: marketPrice,\n slippage: resolvedSlippage,\n side: swapSide,\n });\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const usingPrice = trackedPrice.get.usingPrice();\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: usingPrice?.srcToken ?? marketPrice?.srcToken,\n // if we already approved some amount, save it in approval and signPermit objects\n srcAmount: trackedPrice.get.approvedAmount() ?? marketPrice?.srcAmount,\n spenderContractType: \"AugustusSwapper\",\n // marketPrice is the preferred source of truth\n swapSide: usingPrice?.side ?? swapSide,\n });\n\n /* 4. Build Swap tx */\n const buildTxMut = useBuildTx({\n chainId,\n mutationOptions: {\n onSuccess: () => {\n logger.log(\"Build tx success\");\n },\n onError: (error) => {\n logger.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 logger.log(\"Swap tx success\");\n },\n onError: (error) => {\n logger.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 isConfirmingTxError: sendSwapTxMut.isError,\n isTxSent: sendSwapTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: swapTxMined.isLoading,\n isTxMined: swapTxMined.isSuccess,\n isTxAwaitingError: swapTxMined.isError,\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\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 } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { constructGasParams } = useConstructGasParams();\n\n const partner = useWidgetConfig().partner;\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 signPermitMut.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\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n // we use this allowance as a max allowance we will accept new prices for\n\n if (approval.needsApproval) {\n // need allowance\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // freeze allowanceToSet\n trackedPrice.set.approvedAmount(allowanceToSet);\n\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\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 logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.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 // freeze allowanceToSet\n trackedPrice.set.approvedAmount(allowanceToSet);\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n // as long as we had set approvedAmountRef, we will only get new prices that satisfy the allowance\n let marketPriceToUse = trackedPrice.get.usingPrice();\n // usingPriceRef.current can be null depending on reset() timing (e.g. inside retry)\n if (!marketPriceToUse) {\n marketPriceToUse = marketPrice || null;\n trackedPrice.set.usingPrice(marketPriceToUse);\n }\n assert(marketPriceToUse, \"Market price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: marketPriceToUse.srcAmount,\n destAmount: marketPriceToUse.destAmount,\n },\n resolvedSlippage,\n marketPriceToUse.side\n );\n\n // freeze final price to avoid any changes to displayed and result amounts\n trackedPrice.set.finalPrice(marketPriceToUse);\n\n // fresh gas params\n const gasParams = constructGasParams();\n\n const txParams = await buildTxMut.mutateAsync({\n swapTxInput: {\n userAddress: account,\n receiver: receiverAddress,\n srcToken: marketPriceToUse.srcToken,\n destToken: marketPriceToUse.destToken,\n srcDecimals: marketPriceToUse.srcDecimals,\n destDecimals: marketPriceToUse.destDecimals,\n\n partner,\n /* @TODO fill in when and if available\n referrer: \"\",\n partnerAddress: \"\",\n partnerFeeBps: 0, \n takeSurplus: false,*/\n permit: signedPermitResult?.permitEncodedArgs, // just signed Permit signature\n\n priceRoute: marketPriceToUse,\n ...amountsAfterSlippage,\n },\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 gasParams,\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 logger.log(\"onReplaced:swapTx\", swapTxHash, data);\n },\n });\n if (onTxSent) {\n onTxSent({\n chainId,\n txHash: swapTxHash,\n actionType: \"swap\",\n receiptPromise: swapTxReceiptPromise,\n });\n }\n\n const swapTxReceipt = await swapTxReceiptPromise;\n logger.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: marketPriceToUse,\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 logger.log(\"Swap tx success\", data);\n },\n onError: (error) => {\n logger.error(\"Swap tx error\", error);\n },\n onSettled: () => {\n logger.log(\"Swap tx settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n trackedPrice.resetTrackedPrice();\n },\n });\n\n const runMarketSwapFlow = marketSwapMut.mutateAsync;\n\n const reset = () => {\n trackedPrice.resetTrackedPrice();\n approveTxMut.reset();\n signPermitMut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n marketSwapMut.reset();\n };\n\n const retryFlow = (options?: RunMarketOptions): Promise<SubmitSwapResult> => {\n reset();\n return runMarketSwapFlow(options);\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice =\n trackedPrice.get.finalPrice() ||\n trackedPrice.get.usingPrice() ||\n marketPrice;\n\n /* 7. return result */\n return {\n chainId,\n runMarketSwapFlow,\n reset,\n cancelFlow,\n retryFlow,\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 usedPrice,\n };\n}\n"],"names":["MARKET_SWAP_MUTATION_KEY","useMarketFlow","t0","$","_c","marketPrice","logger","useLogger","chainId","useChainId","resolvedSlippage","useSlippage","swapSide","useSwapSide","t1","price","slippage","side","trackedPrice","useTrackedPrice","t2","get","usingPrice","t3","srcToken","t4","srcAmount","approvedAmount","t5","t6","spenderContractType","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","t7","onSuccess","log","onError","error","t8","mutationOptions","buildTxMut","useBuildTx","t9","isError","isPending","isSuccess","buildTxParams","t10","error_0","sendSwapTxMut","useSendMarketSwapTx","t11","txHash","hash","swapTxMined","useAwaitTx","t12","isLoading","t13","t14","t15","data","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isTxMined","isTxAwaitingError","swap","address","account","useAccount","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t16","Symbol","for","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","t17","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","constructGasParams","useConstructGasParams","partner","useWidgetConfig","t18","set","t19","onTxSent","undefined","reset","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","onReplaced","actionType","receiptPromise","signPermitAsync","value","assert","marketPriceToUse","amountsAfterSlippage","applySlippage","destAmount","finalPrice","gasParams","txParams","mutateAsync","swapTxInput","userAddress","receiver","destToken","srcDecimals","destDecimals","permit","permitEncodedArgs","priceRoute","swapTxOptions","swapTxHash","sendTransactionAsync","signedPermitData","swapTxReceiptPromise","data_0","swapTxReceipt","tradeFlowType","approve","t20","submitSwapTx","invalidateTokenData","useInvalidateTokenDataQuery","t21","data_1","error_2","t22","nonces","resetTrackedPrice","t23","mutationFn","mutationKey","onSettled","marketSwapMut","useMutation","runMarketSwapFlow","t24","t25","options","retryFlow","t26","usedPrice","t27","result"],"mappings":"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"}
@@ -4,11 +4,14 @@ type UseMarketSwapStepResult = {
4
4
  startMarketSwap: UseMarketFlowResult["runMarketSwapFlow"];
5
5
  reset: UseMarketFlowResult["reset"];
6
6
  cancelFlow: UseMarketFlowResult["cancelFlow"];
7
+ retryFlow: UseMarketFlowResult["retryFlow"];
7
8
  isCancellable: boolean;
8
9
  step?: MarketSwapStepKey;
9
10
  explorerLink?: string;
10
11
  error: Error | null;
12
+ erroredStep?: MarketSwapStepKey;
11
13
  result?: SubmitSwapResult;
14
+ usedPrice: UseMarketFlowResult["usedPrice"];
12
15
  };
13
16
  export declare function useMarketSwapStep(options: UseMarketFlowInput): UseMarketSwapStepResult;
14
17
  export {};
@@ -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,CAqFzB"}
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,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC7C,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,CAyGzB"}
@@ -1,16 +1,17 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { useMarketFlow } from './useMarketFlow.js';
3
3
  import { constructTxLinkForChain } from '../../../lib/utils/explorer.js';
4
- import 'clsx';
5
- import 'tailwind-merge';
4
+ import { useLogger } from '../../../widget/logger.js';
6
5
  import { isUserCancelledError } from './common/errors.js';
7
6
 
8
7
  function useMarketSwapStep(options) {
9
- const $ = distExports.c(16);
8
+ const $ = distExports.c(20);
9
+ const logger = useLogger("MarketSwapStep");
10
10
  const marketFlow = useMarketFlow(options);
11
11
  const startMarketSwap = marketFlow.runMarketSwapFlow;
12
12
  const reset = marketFlow.reset;
13
13
  const cancelFlow = marketFlow.cancelFlow;
14
+ const retryFlow = marketFlow.retryFlow;
14
15
  let step;
15
16
  const permitSigningHappeningOrNeverHappened = marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;
16
17
  const approvalHappeningOrNeverHappened = marketFlow.approval.isPending || !marketFlow.approval.isSuccess;
@@ -37,51 +38,77 @@ function useMarketSwapStep(options) {
37
38
  const isCancellable = approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;
38
39
  const txHash = marketFlow.swap.txHash;
39
40
  let explorerLink;
40
- if ($[0] !== isCancellable || $[1] !== marketFlow || $[2] !== step || $[3] !== txHash) {
41
+ if ($[0] !== isCancellable || $[1] !== logger.once || $[2] !== marketFlow || $[3] !== step || $[4] !== txHash) {
41
42
  explorerLink = txHash ? constructTxLinkForChain({
42
43
  chainId: marketFlow.chainId,
43
44
  txHash
44
45
  }) : void 0;
46
+ logger.once.log("step", step, marketFlow, {
47
+ isCancellable,
48
+ explorerLink,
49
+ txHash
50
+ });
45
51
  $[0] = isCancellable;
46
- $[1] = marketFlow;
47
- $[2] = step;
48
- $[3] = txHash;
49
- $[4] = explorerLink;
52
+ $[1] = logger.once;
53
+ $[2] = marketFlow;
54
+ $[3] = step;
55
+ $[4] = txHash;
56
+ $[5] = explorerLink;
50
57
  } else {
51
- explorerLink = $[4];
58
+ explorerLink = $[5];
52
59
  }
53
60
  let t0;
54
- if ($[5] !== marketFlow.error) {
61
+ if ($[6] !== marketFlow.error) {
55
62
  t0 = isUserCancelledError(marketFlow.error) ? null : marketFlow.error;
56
- $[5] = marketFlow.error;
57
- $[6] = t0;
63
+ $[6] = marketFlow.error;
64
+ $[7] = t0;
58
65
  } else {
59
- t0 = $[6];
66
+ t0 = $[7];
60
67
  }
61
68
  const error = t0;
69
+ let erroredStep;
70
+ if (marketFlow.isError) {
71
+ if (marketFlow.approval.isError || marketFlow.signPermit.isError) {
72
+ erroredStep = "approve-spending";
73
+ } else {
74
+ if (marketFlow.buildTxParams.isError || marketFlow.swap.isConfirmingTxError) {
75
+ erroredStep = "swap-tx-confirmation";
76
+ } else {
77
+ if (marketFlow.swap.isTxAwaitingError) {
78
+ erroredStep = "swap-tx-execution";
79
+ }
80
+ }
81
+ }
82
+ }
62
83
  let t1;
63
- if ($[7] !== cancelFlow || $[8] !== error || $[9] !== explorerLink || $[10] !== isCancellable || $[11] !== marketFlow.result || $[12] !== reset || $[13] !== startMarketSwap || $[14] !== step) {
84
+ if ($[8] !== cancelFlow || $[9] !== error || $[10] !== erroredStep || $[11] !== explorerLink || $[12] !== isCancellable || $[13] !== marketFlow.result || $[14] !== marketFlow.usedPrice || $[15] !== reset || $[16] !== retryFlow || $[17] !== startMarketSwap || $[18] !== step) {
64
85
  t1 = {
65
86
  startMarketSwap,
66
87
  reset,
67
88
  cancelFlow,
89
+ retryFlow,
68
90
  isCancellable,
69
91
  step,
70
92
  explorerLink,
71
93
  error,
72
- result: marketFlow.result
94
+ erroredStep,
95
+ result: marketFlow.result,
96
+ usedPrice: marketFlow.usedPrice
73
97
  };
74
- $[7] = cancelFlow;
75
- $[8] = error;
76
- $[9] = explorerLink;
77
- $[10] = isCancellable;
78
- $[11] = marketFlow.result;
79
- $[12] = reset;
80
- $[13] = startMarketSwap;
81
- $[14] = step;
82
- $[15] = t1;
98
+ $[8] = cancelFlow;
99
+ $[9] = error;
100
+ $[10] = erroredStep;
101
+ $[11] = explorerLink;
102
+ $[12] = isCancellable;
103
+ $[13] = marketFlow.result;
104
+ $[14] = marketFlow.usedPrice;
105
+ $[15] = reset;
106
+ $[16] = retryFlow;
107
+ $[17] = startMarketSwap;
108
+ $[18] = step;
109
+ $[19] = t1;
83
110
  } else {
84
- t1 = $[15];
111
+ t1 = $[19];
85
112
  }
86
113
  return t1;
87
114
  }
@@ -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 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":";;;;;;;AA0BO,SAAAA,kBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,UAAAA,GAAmBC,cAAcJ,OAAO,CAAA;AAExC,EAAA,MAAAK,kBAAwBF,UAAAA,CAAUG,iBAAAA;AAClC,EAAA,MAAAC,QAAcJ,UAAAA,CAAUI,KAAAA;AACxB,EAAA,MAAAC,aAAmBL,UAAAA,CAAUK,UAAAA;AAEzBC,EAAAA,IAAAA,IAAAA;AAEJ,EAAA,MAAAC,wCAGEP,UAAAA,CAAUQ,UAAAA,CAAAC,SAAAA,IAAA,CAA0BT,WAAUQ,UAAAA,CAAAE,cAAAA;AAEhD,EAAA,MAAAC,mCAGEX,UAAAA,CAAUY,QAAAA,CAAAH,SAAAA,IAAA,CAAwBT,WAAUY,QAAAA,CAAAC,SAAAA;AAE9C,EAAA,MAAAC,aAAAA,GACEd,WAAUY,QAAAA,CAAAG,aAAAA,IACVf,WAAUQ,UAAAA,CAAAQ,iBAAAA,IACVhB,WAAUQ,UAAAA,CAAAS,mBAAAA;AAEZ,EAAA,MAAAC,wCAAAA,GAAiDJ,gBAC7CP,qCAAAA,GACAI,gCAAAA;AAAiC,EAAA,IAGnCX,UAAAA,CAAUY,QAAAA,CAAAG,aAAAA,IACVG,wCAAAA,EAAwC;AAExCZ,IAAAA,IAAAA,GAAOA,kBAAAA;AAAAA,GAAH,MAAA;AAAA,IAAA,IAEJN,UAAAA,CAAUmB,aAAAA,CAAAV,SAAAA,IACVT,UAAAA,CAAUoB,KAAAC,cAAAA,EAAoB;AAE9Bf,MAAAA,IAAAA,GAAOA,sBAAAA;AAAAA,KAAH,MAAA;AAAA,MAAA,IACKN,UAAAA,CAAUoB,KAAAE,WAAAA,EAAA;AACnBhB,QAAAA,IAAAA,GAAOA,mBAAAA;AAAAA,OAAH,MAAA;AAAA,QAAA,IACKN,WAAUS,SAAAA,EAAA;AAGnBH,UAAAA,IAAAA,GAAOA,sBAAAA;AAAAA;AAAH;AAAA;AAAA;AAGN,EAAA,MAAAiB,iBAAAA,GACEjB,IAAAA,KAAS,kBAAA,IAAsBN,UAAAA,CAAUY,QAAAA,CAAAU,WAAAA;AAE3C,EAAA,MAAAE,uBAA6BlB,IAAAA,KAAS,sBAAA;AAEtC,EAAA,MAAAmB,gBAAAA,GACEnB,IAAAA,KAAS,mBAAA,KAAwBN,WAAUoB,IAAAA,CAAAM,QAAAA;AAI7C,EAAA,MAAAC,aAAAA,GACEJ,qBAAqBC,oBAAAA,IAAwBC,gBAAAA;AAE/C,EAAA,MAAAG,MAAAA,GAAe5B,WAAUoB,IAAAA,CAAAQ,MAAAA;AAAa,EAAA,IAAAC,YAAAA;AAAA,EAAA,IAAA/B,CAAAA,CAAA,CAAA,CAAA,KAAA6B,aAAAA,IAAA7B,EAAA,CAAA,CAAA,KAAAE,UAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAQ,IAAAA,IAAAR,CAAAA,QAAA8B,MAAAA,EAAA;AACtCC,IAAAA,YAAAA,GAAqBD,SACjBE,uBAAAA,CAAA;AAAA,MAAAC,SAAmC/B,UAAAA,CAAU+B,OAAAA;AAAAA,MAAAH;AAAAA,KAAkB,CAAA,GAACI,MAAAA;AAOlElC,IAAAA,CAAAA,MAAA6B,aAAAA;AAAA7B,IAAAA,CAAAA,MAAAE,UAAAA;AAAAF,IAAAA,CAAAA,MAAAQ,IAAAA;AAAAR,IAAAA,CAAAA,MAAA8B,MAAAA;AAAA9B,IAAAA,CAAAA,MAAA+B,YAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,YAAAA,GAAA/B,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAmC,EAAAA;AAAA,EAAA,IAAAnC,CAAAA,CAAA,CAAA,CAAA,KAAAE,UAAAA,CAAAkC,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqBnC,UAAAA,CAAUkC,KAAM,CAAA,GAAC,OAEhDlC,UAAAA,CAAUkC,KAAAA;AAAMpC,IAAAA,CAAAA,CAAA,CAAA,IAAAE,UAAAA,CAAAkC,KAAAA;AAAApC,IAAAA,CAAAA,MAAAmC,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnC,EAAA,CAAA,CAAA;AAAA;AAFpB,EAAA,MAAAoC,KAAAA,GAAcD,EAAAA;AAEO,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAtC,CAAAA,CAAA,CAAA,CAAA,KAAAO,UAAAA,IAAAP,EAAA,CAAA,CAAA,KAAAoC,KAAAA,IAAApC,CAAAA,CAAA,CAAA,CAAA,KAAA+B,YAAAA,IAAA/B,CAAAA,SAAA6B,aAAAA,IAAA7B,CAAAA,CAAA,EAAA,CAAA,KAAAE,UAAAA,CAAAqC,MAAAA,IAAAvC,CAAAA,CAAA,EAAA,CAAA,KAAAM,KAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAI,eAAAA,IAAAJ,CAAAA,SAAAQ,IAAAA,EAAA;AAEd8B,IAAAA,EAAAA,GAAA;AAAA,MAAAlC,eAAAA;AAAAA,MAAAE,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAsB,aAAAA;AAAAA,MAAArB,IAAAA;AAAAA,MAAAuB,YAAAA;AAAAA,MAAAK,KAAAA;AAAAA,MAAAG,QAQGrC,UAAAA,CAAUqC;AAAAA,KAAA;AACnBvC,IAAAA,CAAAA,MAAAO,UAAAA;AAAAP,IAAAA,CAAAA,MAAAoC,KAAAA;AAAApC,IAAAA,CAAAA,MAAA+B,YAAAA;AAAA/B,IAAAA,CAAAA,OAAA6B,aAAAA;AAAA7B,IAAAA,CAAAA,CAAA,EAAA,IAAAE,UAAAA,CAAAqC,MAAAA;AAAAvC,IAAAA,CAAAA,OAAAM,KAAAA;AAAAN,IAAAA,CAAAA,OAAAI,eAAAA;AAAAJ,IAAAA,CAAAA,OAAAQ,IAAAA;AAAAR,IAAAA,CAAAA,OAAAsC,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtC,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,OATMsC,EAAAA;AASN;;;;"}
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 { useLogger } from \"@/widget/logger\";\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 retryFlow: UseMarketFlowResult[\"retryFlow\"];\n isCancellable: boolean;\n step?: MarketSwapStepKey;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: MarketSwapStepKey;\n result?: SubmitSwapResult;\n usedPrice: UseMarketFlowResult[\"usedPrice\"];\n};\n\nexport function useMarketSwapStep(\n options: UseMarketFlowInput\n): UseMarketSwapStepResult {\n const logger = useLogger(\"MarketSwapStep\");\n const marketFlow = useMarketFlow(options);\n\n const startMarketSwap = marketFlow.runMarketSwapFlow;\n const reset = marketFlow.reset;\n const cancelFlow = marketFlow.cancelFlow;\n const retryFlow = marketFlow.retryFlow;\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 let erroredStep: MarketSwapStepKey | undefined;\n\n if (marketFlow.isError) {\n if (marketFlow.approval.isError || marketFlow.signPermit.isError) {\n erroredStep = \"approve-spending\";\n } else if (\n marketFlow.buildTxParams.isError ||\n marketFlow.swap.isConfirmingTxError\n ) {\n erroredStep = \"swap-tx-confirmation\";\n } else if (marketFlow.swap.isTxAwaitingError) {\n erroredStep = \"swap-tx-execution\";\n }\n }\n\n return {\n startMarketSwap,\n reset,\n cancelFlow,\n retryFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: marketFlow.result,\n usedPrice: marketFlow.usedPrice,\n };\n}\n"],"names":["useMarketSwapStep","options","$","_c","logger","useLogger","marketFlow","useMarketFlow","startMarketSwap","runMarketSwapFlow","reset","cancelFlow","retryFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","buildTxParams","swap","isConfirmingTX","isTxPending","approvalIsStarted","inSwapTxConfirmation","notYetSwapTxSent","isTxSent","isCancellable","txHash","explorerLink","once","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isTxAwaitingError","t1","result","usedPrice"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { SpenderContractType } from '../../sdk/types';
2
2
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
3
3
  import { Token } from '@velora-dex/sdk';
4
+ import { Address } from 'viem';
4
5
  export type UseGenericTokenAllowanceInput = {
5
6
  token?: Pick<Token, "address" | "decimals">;
6
7
  spenderContractType?: SpenderContractType;
@@ -23,5 +24,7 @@ export type UseTokenAllowanceInput = {
23
24
  tokenAddress?: string;
24
25
  spender?: string;
25
26
  chainId?: SupportedChainId;
27
+ owner?: Address;
28
+ enabled?: boolean;
26
29
  };
27
30
  //# 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,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
+ {"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;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,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;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { UseTokenAllowanceInput } from './types';
2
- export declare const useTokenAllowance: ({ tokenAddress, spender, chainId, }: UseTokenAllowanceInput) => import('wagmi').UseReadContractReturnType<readonly [{
2
+ export declare const useTokenAllowance: ({ tokenAddress, spender, chainId, owner, enabled, }: 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,qCAI/B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAmBxB,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,qDAM/B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAwBxB,CAAC"}
@@ -9,54 +9,58 @@ const useTokenAllowance = (t0) => {
9
9
  const {
10
10
  tokenAddress,
11
11
  spender,
12
- chainId
12
+ chainId,
13
+ owner,
14
+ enabled: t1
13
15
  } = t0;
16
+ const enabled = t1 === void 0 ? true : t1;
14
17
  const {
15
18
  address: account
16
19
  } = useAccount();
17
- const t1 = tokenAddress && isAddress(tokenAddress) ? tokenAddress : void 0;
18
- let t2;
19
- if ($[0] !== account || $[1] !== spender) {
20
- t2 = account && spender && isAddress(spender) ? [account, spender] : void 0;
21
- $[0] = account;
20
+ const ownerAddress = owner || account;
21
+ const t2 = tokenAddress && isAddress(tokenAddress) ? tokenAddress : void 0;
22
+ let t3;
23
+ if ($[0] !== ownerAddress || $[1] !== spender) {
24
+ t3 = ownerAddress && spender && isAddress(spender) ? [ownerAddress, spender] : void 0;
25
+ $[0] = ownerAddress;
22
26
  $[1] = spender;
23
- $[2] = t2;
27
+ $[2] = t3;
24
28
  } else {
25
- t2 = $[2];
29
+ t3 = $[2];
26
30
  }
27
- const t3 = !!tokenAddress && !!account && !!spender && !isETH({
31
+ const t4 = enabled && !!tokenAddress && !!account && !!spender && !isETH({
28
32
  address: tokenAddress
29
33
  });
30
- let t4;
31
- if ($[3] !== t3) {
32
- t4 = {
33
- enabled: t3,
34
+ let t5;
35
+ if ($[3] !== t4) {
36
+ t5 = {
37
+ enabled: t4,
34
38
  staleTime: LONG_STALE_TIME_FOR_REACTIVENESS
35
39
  };
36
- $[3] = t3;
37
- $[4] = t4;
40
+ $[3] = t4;
41
+ $[4] = t5;
38
42
  } else {
39
- t4 = $[4];
43
+ t5 = $[4];
40
44
  }
41
- let t5;
42
- if ($[5] !== chainId || $[6] !== t1 || $[7] !== t2 || $[8] !== t4) {
43
- t5 = {
44
- address: t1,
45
+ let t6;
46
+ if ($[5] !== chainId || $[6] !== t2 || $[7] !== t3 || $[8] !== t5) {
47
+ t6 = {
48
+ address: t2,
45
49
  functionName: "allowance",
46
50
  abi: erc20Abi,
47
51
  chainId,
48
- args: t2,
49
- query: t4
52
+ args: t3,
53
+ query: t5
50
54
  };
51
55
  $[5] = chainId;
52
- $[6] = t1;
53
- $[7] = t2;
54
- $[8] = t4;
55
- $[9] = t5;
56
+ $[6] = t2;
57
+ $[7] = t3;
58
+ $[8] = t5;
59
+ $[9] = t6;
56
60
  } else {
57
- t5 = $[9];
61
+ t6 = $[9];
58
62
  }
59
- return useReadContract(t5);
63
+ return useReadContract(t6);
60
64
  };
61
65
 
62
66
  export { useTokenAllowance };
@@ -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 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
+ {"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 owner,\n enabled = true,\n}: UseTokenAllowanceInput) => {\n const { address: account } = useAccount();\n\n const ownerAddress = owner || account;\n\n return useReadContract({\n address: tokenAddress && isAddress(tokenAddress) ? tokenAddress : undefined,\n functionName: \"allowance\" as const,\n abi: erc20Abi,\n chainId,\n args:\n ownerAddress && spender && isAddress(spender)\n ? [ownerAddress, spender]\n : undefined,\n query: {\n enabled:\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","owner","enabled","t1","undefined","address","account","useAccount","ownerAddress","t2","isAddress","t3","t4","isETH","t5","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","t6","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,OAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,OAAAA,EAAAC;AAAAA,GAAA,GAAAR,EAAAA;AAKhC,EAAA,MAAAO,OAAAA,GAAAC,EAAAA,KAAcC,MAAAA,UAAdD,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAE,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAExC,EAAA,MAAAC,eAAqBP,KAAAA,IAASK,OAAAA;AAGnB,EAAA,MAAAG,EAAAA,GAAAX,YAAAA,IAAgBY,SAAAA,CAAUZ,YAAY,IAAIA,YAAAA,GAAYM,MAAAA;AAAY,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAY,gBAAAZ,CAAAA,QAAAG,OAAAA,EAAA;AAKzEY,IAAAA,EAAAA,GAAAH,YAAAA,IAAgBT,WAAWW,SAAAA,CAAUX,OAAO,IAAC,CACxCS,YAAAA,EAAcT,OAAO,CAAA,GAAAK,MAAAA;AACbR,IAAAA,CAAAA,MAAAY,YAAAA;AAAAZ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA;AAGX,EAAA,MAAAgB,EAAAA,GAAAV,OAAAA,IAAO,CAAA,CACLJ,YAAAA,MACAQ,OAAAA,IAAO,CAAA,CACPP,OAAAA,IAAO,CACRc,KAAAA,CAAA;AAAA,IAAAR,OAAAA,EAAiBP;AAAAA,GAAc,CAAA;AAAC,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,QAAAgB,EAAAA,EAAA;AAN9BE,IAAAA,EAAAA,GAAA;AAAA,MAAAZ,OAAAA,EAEHU,EAAAA;AAAAA,MAIiCG,SAAAA,EAAAC;AAAAA,KAAA;AAEpCpB,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAqB,EAAAA;AAAA,EAAA,IAAArB,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAa,EAAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAe,EAAAA,IAAAf,CAAAA,QAAAkB,EAAAA,EAAA;AAjBoBG,IAAAA,EAAAA,GAAA;AAAA,MAAAZ,OAAAA,EACZI,EAAAA;AAAAA,MAAkES,YAAAA,EAC7D,WAAA;AAAA,MAAoBC,GAAAA,EAAAC,QAAAA;AAAAA,MAAApB,OAAAA;AAAAA,MAAAqB,IAAAA,EAIhCV,EAAAA;AAAAA,MAEaW,KAAAA,EACRR;AAAAA,KAQN;AACFlB,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAb,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAlBM2B,gBAAgBN,EAkBtB,CAAA;AAAC;;;;"}
@@ -1 +1 @@
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"}
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;CAElB,CAAC;AACF;;;;;GAKG;AAEH,wBAAgB,2BAA2B,IAAI,CAC7C,aAAa,CAAC,EAAE,sBAAsB,KACnC,OAAO,CAAC,IAAI,CAAC,CAsFjB"}
@@ -1 +1 @@
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
+ {"version":3,"file":"useInvalidateTokenData.js","sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"sourcesContent":["import type { NonceMethod } from \"@/hooks/permit/hooks/permit1/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; // invalidate queries with Permit1 nonces,\n // Permit2 nonces can be safely incremented without syncing with what's on chain\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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"}
@@ -3,4 +3,5 @@ export declare const useIsInsufficientTokenBalance: ({ token, requiredBalanceWei
3
3
  token?: Token;
4
4
  requiredBalanceWei?: string;
5
5
  }) => boolean;
6
+ export declare const useIsTokenFromInsufficientBalance: () => boolean;
6
7
  //# sourceMappingURL=useIsInsufficientTokenBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsInsufficientTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,6BAA6B,GAAI,gCAG3C;IACD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,YAaA,CAAC"}
1
+ {"version":3,"file":"useIsInsufficientTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,6BAA6B,GAAI,gCAG3C;IACD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,YAaA,CAAC;AAEF,eAAO,MAAM,iCAAiC,eAiB7C,CAAC"}