@velora-dex/widget 0.0.22 → 0.0.23

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 (331) hide show
  1. package/dist/components/ui/button.d.ts +3 -4
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +11 -8
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/ui/dialog.js +2 -2
  6. package/dist/components/ui/dialog.js.map +1 -1
  7. package/dist/components/ui/drawer.d.ts +2 -2
  8. package/dist/components/ui/drawer.d.ts.map +1 -1
  9. package/dist/components/ui/drawer.js +57 -18
  10. package/dist/components/ui/drawer.js.map +1 -1
  11. package/dist/components/ui/dropdown-menu.js +1 -1
  12. package/dist/components/ui/dropdown-menu.js.map +1 -1
  13. package/dist/components/ui/sonner.js +3 -3
  14. package/dist/components/ui/sonner.js.map +1 -1
  15. package/dist/components/ui/tooltip.js +1 -1
  16. package/dist/components/ui/tooltip.js.map +1 -1
  17. package/dist/components/web3/AccountButton.js +2 -2
  18. package/dist/components/web3/AccountButton.js.map +1 -1
  19. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +1 -1
  20. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/index.js +1 -1
  22. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  23. package/dist/components/web3/ConnectWallets/privy/button.js +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/iframe.js +1 -1
  28. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  29. package/dist/components/web3/ConnectWallets/privy/types.d.ts +1 -1
  30. package/dist/components/web3/ConnectWallets/privy/types.d.ts.map +1 -1
  31. package/dist/components/web3/providers.js +1 -1
  32. package/dist/components/web3/providers.js.map +1 -1
  33. package/dist/components/widget/Details/SwapDetailsExpandable.js +1 -1
  34. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  35. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
  36. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  37. package/dist/components/widget/Drawer/index.d.ts +2 -1
  38. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  39. package/dist/components/widget/Drawer/index.js +47 -33
  40. package/dist/components/widget/Drawer/index.js.map +1 -1
  41. package/dist/components/widget/Drawer/state/useDrawerControls.js +1 -1
  42. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  43. package/dist/components/widget/Icon/InfoIcon.d.ts +1 -1
  44. package/dist/components/widget/Icon/InfoIcon.d.ts.map +1 -1
  45. package/dist/components/widget/Icon/InfoIcon.js +11 -8
  46. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  47. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +1 -1
  48. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  49. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +1 -1
  50. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  51. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
  52. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  53. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +1 -1
  54. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  55. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +3 -3
  56. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  57. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js +1 -1
  58. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
  59. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +3 -3
  60. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  61. package/dist/components/widget/Toasts/CustomToast.js +1 -1
  62. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  63. package/dist/components/widget/TradeOverview/VerticalDash.js +1 -1
  64. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  65. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +1 -1
  66. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
  67. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +2 -2
  68. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  69. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  70. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +6 -4
  71. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  72. package/dist/configurator/Configurator.d.ts.map +1 -0
  73. package/dist/configurator/index.d.ts.map +1 -0
  74. package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -0
  75. package/dist/core/ConnectWalletDrawerButton.js.map +1 -0
  76. package/dist/core/DevTools.d.ts.map +1 -0
  77. package/dist/core/Toaster.d.ts.map +1 -0
  78. package/dist/core/Toaster.js.map +1 -0
  79. package/dist/core/TradeFlowButton.d.ts.map +1 -0
  80. package/dist/core/TradeFlowButton.js.map +1 -0
  81. package/dist/core/Updaters.d.ts.map +1 -0
  82. package/dist/core/Updaters.js.map +1 -0
  83. package/dist/core/across/utils.d.ts.map +1 -0
  84. package/dist/core/across/utils.js.map +1 -0
  85. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -0
  86. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -0
  87. package/dist/core/constants.d.ts.map +1 -0
  88. package/dist/core/constants.js.map +1 -0
  89. package/dist/core/index.d.ts.map +1 -0
  90. package/dist/core/index.js.map +1 -0
  91. package/dist/core/inputs/hooks/types.d.ts.map +1 -0
  92. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -0
  93. package/dist/{widget → core}/inputs/hooks/useTokenFromInputProps.js +114 -93
  94. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -0
  95. package/dist/core/inputs/hooks/useTokenSwitcherProps.d.ts.map +1 -0
  96. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -0
  97. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -0
  98. package/dist/{widget → core}/inputs/hooks/useTokenToInputProps.js +46 -35
  99. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -0
  100. package/dist/core/inputs/hooks/useWidgetButtonProps.d.ts.map +1 -0
  101. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -0
  102. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -0
  103. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -0
  104. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -0
  105. package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -0
  106. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -0
  107. package/dist/core/inputs/state/subscriptions.d.ts.map +1 -0
  108. package/dist/core/inputs/state/subscriptions.js.map +1 -0
  109. package/dist/core/logger.d.ts.map +1 -0
  110. package/dist/core/logger.js.map +1 -0
  111. package/dist/core/state/chainToAtom.d.ts +3 -0
  112. package/dist/core/state/chainToAtom.d.ts.map +1 -0
  113. package/dist/core/state/chainToAtom.js.map +1 -0
  114. package/dist/core/state/configActionsAtom.d.ts.map +1 -0
  115. package/dist/core/state/configActionsAtom.js.map +1 -0
  116. package/dist/core/state/configAtom.d.ts.map +1 -0
  117. package/dist/core/state/configAtom.js.map +1 -0
  118. package/dist/core/state/containerAtom.d.ts.map +1 -0
  119. package/dist/core/state/containerAtom.js.map +1 -0
  120. package/dist/core/state/currentSwapInputAtom.d.ts.map +1 -0
  121. package/dist/core/state/currentSwapInputAtom.js.map +1 -0
  122. package/dist/core/state/externalProviderAtom.d.ts.map +1 -0
  123. package/dist/core/state/externalProviderAtom.js.map +1 -0
  124. package/dist/core/state/isCrosschainAtom.d.ts.map +1 -0
  125. package/dist/core/state/isCrosschainAtom.js.map +1 -0
  126. package/dist/core/subscriptions.d.ts.map +1 -0
  127. package/dist/core/subscriptions.js.map +1 -0
  128. package/dist/core/swapDetails/fees.d.ts.map +1 -0
  129. package/dist/core/swapDetails/fees.js.map +1 -0
  130. package/dist/core/swapDetails/orderRouting.d.ts.map +1 -0
  131. package/dist/core/swapDetails/orderRouting.js.map +1 -0
  132. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -0
  133. package/dist/core/swapDetails/priceImpact.js.map +1 -0
  134. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -0
  135. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -0
  136. package/dist/core/swapDetails/youGet.d.ts.map +1 -0
  137. package/dist/core/swapDetails/youGet.js.map +1 -0
  138. package/dist/core/types.d.ts.map +1 -0
  139. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js +3 -1
  140. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js.map +1 -1
  141. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js +1 -1
  142. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  143. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js +1 -1
  144. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  145. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js +1 -1
  146. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  147. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js +1 -1
  148. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  149. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +1 -1
  150. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  151. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +1 -1
  152. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  153. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +1 -1
  154. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  155. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  156. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +29 -14
  157. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  158. package/dist/hooks/swap/prices/usePricesParams.js +4 -4
  159. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  160. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +1 -1
  161. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  162. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +1 -1
  163. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  165. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +2 -2
  166. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  167. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  168. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  169. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +2 -2
  170. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  171. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +1 -1
  172. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  173. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.d.ts.map +1 -1
  174. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +7 -3
  175. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  176. package/dist/hooks/txs/queries/useAwaitTx.js +1 -1
  177. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  178. package/dist/hooks/useGlobalDeltaEnabled.js +1 -1
  179. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  180. package/dist/hooks/useSDK.js +1 -1
  181. package/dist/hooks/useSDK.js.map +1 -1
  182. package/dist/hooks/useSlippage.js +1 -1
  183. package/dist/hooks/useSlippage.js.map +1 -1
  184. package/dist/index.d.ts +2 -2
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +1 -1
  187. package/dist/lib/constants/time.js +2 -1
  188. package/dist/lib/constants/time.js.map +1 -1
  189. package/dist/lib/web3/wagmi/config.d.ts +1 -1
  190. package/dist/lib/web3/wagmi/constants.d.ts +1 -1
  191. package/dist/styles.css +1 -140
  192. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +2 -2
  193. package/package.json +1 -1
  194. package/dist/test/Configurator.d.ts.map +0 -1
  195. package/dist/test/connect/AccountDisplay.d.ts +0 -2
  196. package/dist/test/connect/AccountDisplay.d.ts.map +0 -1
  197. package/dist/test/connect/App.d.ts +0 -2
  198. package/dist/test/connect/App.d.ts.map +0 -1
  199. package/dist/test/connect/ConnectWallet.d.ts +0 -2
  200. package/dist/test/connect/ConnectWallet.d.ts.map +0 -1
  201. package/dist/test/connect/PrivyProfile.d.ts +0 -2
  202. package/dist/test/connect/PrivyProfile.d.ts.map +0 -1
  203. package/dist/test/connect/WagmiProfile.d.ts +0 -2
  204. package/dist/test/connect/WagmiProfile.d.ts.map +0 -1
  205. package/dist/test/connect/WalletActions.d.ts +0 -2
  206. package/dist/test/connect/WalletActions.d.ts.map +0 -1
  207. package/dist/test/index.d.ts.map +0 -1
  208. package/dist/widget/ConnectWalletDrawerButton.d.ts.map +0 -1
  209. package/dist/widget/ConnectWalletDrawerButton.js.map +0 -1
  210. package/dist/widget/DevTools.d.ts.map +0 -1
  211. package/dist/widget/Toaster.d.ts.map +0 -1
  212. package/dist/widget/Toaster.js.map +0 -1
  213. package/dist/widget/TradeFlowButton.d.ts.map +0 -1
  214. package/dist/widget/TradeFlowButton.js.map +0 -1
  215. package/dist/widget/Updaters.d.ts.map +0 -1
  216. package/dist/widget/Updaters.js.map +0 -1
  217. package/dist/widget/across/utils.d.ts.map +0 -1
  218. package/dist/widget/across/utils.js.map +0 -1
  219. package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts.map +0 -1
  220. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +0 -1
  221. package/dist/widget/constants.d.ts.map +0 -1
  222. package/dist/widget/constants.js.map +0 -1
  223. package/dist/widget/index.d.ts.map +0 -1
  224. package/dist/widget/index.js.map +0 -1
  225. package/dist/widget/inputs/hooks/types.d.ts.map +0 -1
  226. package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +0 -1
  227. package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +0 -1
  228. package/dist/widget/inputs/hooks/useTokenSwitcherProps.d.ts.map +0 -1
  229. package/dist/widget/inputs/hooks/useTokenSwitcherProps.js.map +0 -1
  230. package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +0 -1
  231. package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +0 -1
  232. package/dist/widget/inputs/hooks/useWidgetButtonProps.d.ts.map +0 -1
  233. package/dist/widget/inputs/state/inputAmountAtom.d.ts.map +0 -1
  234. package/dist/widget/inputs/state/inputAmountAtom.js.map +0 -1
  235. package/dist/widget/inputs/state/selectedTokenActionsAtom.d.ts.map +0 -1
  236. package/dist/widget/inputs/state/selectedTokenActionsAtom.js.map +0 -1
  237. package/dist/widget/inputs/state/selectedTokenAtom.d.ts.map +0 -1
  238. package/dist/widget/inputs/state/selectedTokenAtom.js.map +0 -1
  239. package/dist/widget/inputs/state/subscriptions.d.ts.map +0 -1
  240. package/dist/widget/inputs/state/subscriptions.js.map +0 -1
  241. package/dist/widget/logger.d.ts.map +0 -1
  242. package/dist/widget/logger.js.map +0 -1
  243. package/dist/widget/state/chainToAtom.d.ts +0 -3
  244. package/dist/widget/state/chainToAtom.d.ts.map +0 -1
  245. package/dist/widget/state/chainToAtom.js.map +0 -1
  246. package/dist/widget/state/configActionsAtom.d.ts.map +0 -1
  247. package/dist/widget/state/configActionsAtom.js.map +0 -1
  248. package/dist/widget/state/configAtom.d.ts.map +0 -1
  249. package/dist/widget/state/configAtom.js.map +0 -1
  250. package/dist/widget/state/containerAtom.d.ts.map +0 -1
  251. package/dist/widget/state/containerAtom.js.map +0 -1
  252. package/dist/widget/state/currentSwapInputAtom.d.ts.map +0 -1
  253. package/dist/widget/state/currentSwapInputAtom.js.map +0 -1
  254. package/dist/widget/state/externalProviderAtom.d.ts.map +0 -1
  255. package/dist/widget/state/externalProviderAtom.js.map +0 -1
  256. package/dist/widget/state/isCrosschainAtom.d.ts.map +0 -1
  257. package/dist/widget/state/isCrosschainAtom.js.map +0 -1
  258. package/dist/widget/subscriptions.d.ts.map +0 -1
  259. package/dist/widget/subscriptions.js.map +0 -1
  260. package/dist/widget/swapDetails/fees.d.ts.map +0 -1
  261. package/dist/widget/swapDetails/fees.js.map +0 -1
  262. package/dist/widget/swapDetails/orderRouting.d.ts.map +0 -1
  263. package/dist/widget/swapDetails/orderRouting.js.map +0 -1
  264. package/dist/widget/swapDetails/priceImpact.d.ts.map +0 -1
  265. package/dist/widget/swapDetails/priceImpact.js.map +0 -1
  266. package/dist/widget/swapDetails/useSwapDetailsListProps.d.ts.map +0 -1
  267. package/dist/widget/swapDetails/useSwapDetailsListProps.js.map +0 -1
  268. package/dist/widget/swapDetails/youGet.d.ts.map +0 -1
  269. package/dist/widget/swapDetails/youGet.js.map +0 -1
  270. package/dist/widget/types.d.ts.map +0 -1
  271. /package/dist/{test → configurator}/Configurator.d.ts +0 -0
  272. /package/dist/{test → configurator}/index.d.ts +0 -0
  273. /package/dist/{widget → core}/ConnectWalletDrawerButton.d.ts +0 -0
  274. /package/dist/{widget → core}/ConnectWalletDrawerButton.js +0 -0
  275. /package/dist/{widget → core}/DevTools.d.ts +0 -0
  276. /package/dist/{widget → core}/Toaster.d.ts +0 -0
  277. /package/dist/{widget → core}/Toaster.js +0 -0
  278. /package/dist/{widget → core}/TradeFlowButton.d.ts +0 -0
  279. /package/dist/{widget → core}/TradeFlowButton.js +0 -0
  280. /package/dist/{widget → core}/Updaters.d.ts +0 -0
  281. /package/dist/{widget → core}/Updaters.js +0 -0
  282. /package/dist/{widget → core}/across/utils.d.ts +0 -0
  283. /package/dist/{widget → core}/across/utils.js +0 -0
  284. /package/dist/{widget → core}/button/hooks/useWidgetButtonExtraProps.d.ts +0 -0
  285. /package/dist/{widget → core}/button/hooks/useWidgetButtonExtraProps.js +0 -0
  286. /package/dist/{widget → core}/constants.d.ts +0 -0
  287. /package/dist/{widget → core}/constants.js +0 -0
  288. /package/dist/{widget → core}/index.d.ts +0 -0
  289. /package/dist/{widget → core}/index.js +0 -0
  290. /package/dist/{widget → core}/inputs/hooks/types.d.ts +0 -0
  291. /package/dist/{widget → core}/inputs/hooks/useTokenFromInputProps.d.ts +0 -0
  292. /package/dist/{widget → core}/inputs/hooks/useTokenSwitcherProps.d.ts +0 -0
  293. /package/dist/{widget → core}/inputs/hooks/useTokenSwitcherProps.js +0 -0
  294. /package/dist/{widget → core}/inputs/hooks/useTokenToInputProps.d.ts +0 -0
  295. /package/dist/{widget → core}/inputs/hooks/useWidgetButtonProps.d.ts +0 -0
  296. /package/dist/{widget → core}/inputs/state/inputAmountAtom.d.ts +0 -0
  297. /package/dist/{widget → core}/inputs/state/inputAmountAtom.js +0 -0
  298. /package/dist/{widget → core}/inputs/state/selectedTokenActionsAtom.d.ts +0 -0
  299. /package/dist/{widget → core}/inputs/state/selectedTokenActionsAtom.js +0 -0
  300. /package/dist/{widget → core}/inputs/state/selectedTokenAtom.d.ts +0 -0
  301. /package/dist/{widget → core}/inputs/state/selectedTokenAtom.js +0 -0
  302. /package/dist/{widget → core}/inputs/state/subscriptions.d.ts +0 -0
  303. /package/dist/{widget → core}/inputs/state/subscriptions.js +0 -0
  304. /package/dist/{widget → core}/logger.d.ts +0 -0
  305. /package/dist/{widget → core}/logger.js +0 -0
  306. /package/dist/{widget → core}/state/chainToAtom.js +0 -0
  307. /package/dist/{widget → core}/state/configActionsAtom.d.ts +0 -0
  308. /package/dist/{widget → core}/state/configActionsAtom.js +0 -0
  309. /package/dist/{widget → core}/state/configAtom.d.ts +0 -0
  310. /package/dist/{widget → core}/state/configAtom.js +0 -0
  311. /package/dist/{widget → core}/state/containerAtom.d.ts +0 -0
  312. /package/dist/{widget → core}/state/containerAtom.js +0 -0
  313. /package/dist/{widget → core}/state/currentSwapInputAtom.d.ts +0 -0
  314. /package/dist/{widget → core}/state/currentSwapInputAtom.js +0 -0
  315. /package/dist/{widget → core}/state/externalProviderAtom.d.ts +0 -0
  316. /package/dist/{widget → core}/state/externalProviderAtom.js +0 -0
  317. /package/dist/{widget → core}/state/isCrosschainAtom.d.ts +0 -0
  318. /package/dist/{widget → core}/state/isCrosschainAtom.js +0 -0
  319. /package/dist/{widget → core}/subscriptions.d.ts +0 -0
  320. /package/dist/{widget → core}/subscriptions.js +0 -0
  321. /package/dist/{widget → core}/swapDetails/fees.d.ts +0 -0
  322. /package/dist/{widget → core}/swapDetails/fees.js +0 -0
  323. /package/dist/{widget → core}/swapDetails/orderRouting.d.ts +0 -0
  324. /package/dist/{widget → core}/swapDetails/orderRouting.js +0 -0
  325. /package/dist/{widget → core}/swapDetails/priceImpact.d.ts +0 -0
  326. /package/dist/{widget → core}/swapDetails/priceImpact.js +0 -0
  327. /package/dist/{widget → core}/swapDetails/useSwapDetailsListProps.d.ts +0 -0
  328. /package/dist/{widget → core}/swapDetails/useSwapDetailsListProps.js +0 -0
  329. /package/dist/{widget → core}/swapDetails/youGet.d.ts +0 -0
  330. /package/dist/{widget → core}/swapDetails/youGet.js +0 -0
  331. /package/dist/{widget → core}/types.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useApproveOrPermit.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"sourcesContent":["import { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { Address } from \"viem\";\nimport { useChainId } from \"wagmi\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport type { ApprovalFlowResult, SignPermitFlowResult } from \"./types\";\nimport type { UseApproveResult } from \"@/hooks/txs/mutations/useApprove\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useSignPermit1Or2, type PermitMut } from \"./useSignPermit1Or2\";\nimport { useLogger } from \"@/widget/logger\";\n\ntype UseApproveOrPermitInput = {\n srcToken?: string;\n srcAmount?: string | bigint;\n spenderContractType: \"ParaswapDelta\" | \"AugustusSwapper\";\n swapSide: \"BUY\" | \"SELL\";\n};\n\ntype UseApproveOrPermitResult = {\n approval: ApprovalFlowResult;\n approveTxMut: UseApproveResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n};\n\nexport function useApproveOrPermit({\n srcToken,\n srcAmount,\n spenderContractType,\n swapSide,\n}: UseApproveOrPermitInput): UseApproveOrPermitResult {\n const logger = useLogger(\"ApproveOrPermit\");\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcAmount,\n spenderContractType,\n chainId,\n });\n\n const { resolvedSlippage } = useSlippage();\n\n // Take slippage into account before approve\n const allowanceToSetWithPossibleSlippage = allowance?.allowanceToSet\n ? swapSide === \"BUY\" // amount + slippage for BUY side\n ? BigInt(\n amountAfterSlippage(\n allowance.allowanceToSet.toString(),\n resolvedSlippage,\n swapSide\n ).toFixed(0)\n )\n : allowance.allowanceToSet // raw amount for SELL side\n : undefined;\n // @TODO: Take slippage into account before approve for BUY mode when available for delta\n\n const allowanceToSetWithSlippage: typeof allowance =\n allowanceToSetWithPossibleSlippage\n ? {\n ...allowance,\n allowanceToSet: allowanceToSetWithPossibleSlippage,\n }\n : allowance;\n\n /* 2.1. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: srcToken ? { address: srcToken } : undefined,\n allowanceData: allowanceToSetWithSlippage,\n spender: allowance.spender,\n onSuccess: () => {\n logger.log(\"Approve tx success\");\n },\n onError: (error) => {\n logger.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. sign Permit1 */\n\n const { signPermit, signPermitMut } = useSignPermit1Or2({\n srcToken: srcToken as Address,\n chainId,\n allowance: allowanceToSetWithSlippage,\n });\n\n /* 3. await Approve tx */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: ApprovalFlowResult = {\n /* allowance fetching */\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n allowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n spender: allowanceToSetWithSlippage.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowanceToSetWithSlippage.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 allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess:\n !allowanceToSetWithSlippage.needsApproval || approveTxMined.isSuccess, // final success\n error: allowanceToSetWithSlippage.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n return {\n approval,\n approveTxMut,\n signPermit,\n signPermitMut,\n };\n}\n"],"names":["useApproveOrPermit","t0","$","_c","srcToken","srcAmount","spenderContractType","swapSide","logger","useLogger","chainId","useChainId","t1","tokenAddress","amountToApproveInWei","allowance","useGenericTokenAllowanceMin","resolvedSlippage","useSlippage","t2","allowanceToSet","BigInt","amountAfterSlippage","toString","toFixed","undefined","allowanceToSetWithPossibleSlippage","t3","allowanceToSetWithSlippage","t4","address","t5","t6","log","error","t7","spender","token","allowanceData","onSuccess","onError","approveTxMut","useApprove","t8","t9","signPermit","signPermitMut","useSignPermit1Or2","t10","txHash","hash","approveTxMined","useAwaitTx","t11","t12","needsApproval","isPending","isLoading","t13","isError","t14","isSuccess","t15","t16","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t17"],"mappings":"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"}
1
+ {"version":3,"file":"useApproveOrPermit.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"sourcesContent":["import { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { Address } from \"viem\";\nimport { useChainId } from \"wagmi\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport type { ApprovalFlowResult, SignPermitFlowResult } from \"./types\";\nimport type { UseApproveResult } from \"@/hooks/txs/mutations/useApprove\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useSignPermit1Or2, type PermitMut } from \"./useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\n\ntype UseApproveOrPermitInput = {\n srcToken?: string;\n srcAmount?: string | bigint;\n spenderContractType: \"ParaswapDelta\" | \"AugustusSwapper\";\n swapSide: \"BUY\" | \"SELL\";\n};\n\ntype UseApproveOrPermitResult = {\n approval: ApprovalFlowResult;\n approveTxMut: UseApproveResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n};\n\nexport function useApproveOrPermit({\n srcToken,\n srcAmount,\n spenderContractType,\n swapSide,\n}: UseApproveOrPermitInput): UseApproveOrPermitResult {\n const logger = useLogger(\"ApproveOrPermit\");\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcAmount,\n spenderContractType,\n chainId,\n });\n\n const { resolvedSlippage } = useSlippage();\n\n // Take slippage into account before approve\n const allowanceToSetWithPossibleSlippage = allowance?.allowanceToSet\n ? swapSide === \"BUY\" // amount + slippage for BUY side\n ? BigInt(\n amountAfterSlippage(\n allowance.allowanceToSet.toString(),\n resolvedSlippage,\n swapSide\n ).toFixed(0)\n )\n : allowance.allowanceToSet // raw amount for SELL side\n : undefined;\n // @TODO: Take slippage into account before approve for BUY mode when available for delta\n\n const allowanceToSetWithSlippage: typeof allowance =\n allowanceToSetWithPossibleSlippage\n ? {\n ...allowance,\n allowanceToSet: allowanceToSetWithPossibleSlippage,\n }\n : allowance;\n\n /* 2.1. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: srcToken ? { address: srcToken } : undefined,\n allowanceData: allowanceToSetWithSlippage,\n spender: allowance.spender,\n onSuccess: () => {\n logger.log(\"Approve tx success\");\n },\n onError: (error) => {\n logger.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. sign Permit1 */\n\n const { signPermit, signPermitMut } = useSignPermit1Or2({\n srcToken: srcToken as Address,\n chainId,\n allowance: allowanceToSetWithSlippage,\n });\n\n /* 3. await Approve tx */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: ApprovalFlowResult = {\n /* allowance fetching */\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n allowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n spender: allowanceToSetWithSlippage.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowanceToSetWithSlippage.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 allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess:\n !allowanceToSetWithSlippage.needsApproval || approveTxMined.isSuccess, // final success\n error: allowanceToSetWithSlippage.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n return {\n approval,\n approveTxMut,\n signPermit,\n signPermitMut,\n };\n}\n"],"names":["useApproveOrPermit","t0","$","_c","srcToken","srcAmount","spenderContractType","swapSide","logger","useLogger","chainId","useChainId","t1","tokenAddress","amountToApproveInWei","allowance","useGenericTokenAllowanceMin","resolvedSlippage","useSlippage","t2","allowanceToSet","BigInt","amountAfterSlippage","toString","toFixed","undefined","allowanceToSetWithPossibleSlippage","t3","allowanceToSetWithSlippage","t4","address","t5","t6","log","error","t7","spender","token","allowanceData","onSuccess","onError","approveTxMut","useApprove","t8","t9","signPermit","signPermitMut","useSignPermit1Or2","t10","txHash","hash","approveTxMined","useAwaitTx","t11","t12","needsApproval","isPending","isLoading","t13","isError","t14","isSuccess","t15","t16","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t17"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { d as distExports } from '../../../../_virtual/index.js';
2
2
  import { useMarkPermit2NonceAsUsed, useSignTokenPermit2TransferFrom } from '../../../permit/hooks/permit2/useSignTokenPermit2TransferFrom.js';
3
3
  import { useMarkPermit1NonceAsUsed, useSignTokenPermit1 } from '../../../permit/hooks/permit1/useSignTokenPermit1.js';
4
- import { useLogger } from '../../../../widget/logger.js';
4
+ import { useLogger } from '../../../../core/logger.js';
5
5
 
6
6
  function useSignPermit1Or2(t0) {
7
7
  const $ = distExports.c(68);
@@ -1 +1 @@
1
- {"version":3,"file":"useSignPermit1Or2.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useSignPermit1Or2.ts"],"sourcesContent":["import {\n useMarkPermit2NonceAsUsed,\n useSignTokenPermit2TransferFrom,\n type SignPermit2TransferFromInput,\n type SignedPermit2Result,\n type UseSignTokenPermit2TransferFromResult,\n} from \"@/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom\";\nimport type { SignPermitFlowResult } from \"./types\";\nimport {\n useMarkPermit1NonceAsUsed,\n useSignTokenPermit1,\n type SignedPermit1Result,\n type UseSignTokenPermit1Result,\n} from \"@/hooks/permit/hooks/permit1/useSignTokenPermit1\";\nimport type { GenericTokenAllowance } from \"@/hooks/tokens/allowance/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address, Hash } from \"viem\";\nimport type {\n DaiPermitInput,\n Permit2Input,\n} from \"@/hooks/permit/utils/construct\";\nimport type { Permit1Input } from \"@/hooks/permit/utils/construct\";\nimport { useLogger } from \"@/widget/logger\";\n\ntype UseSignPermitInput = {\n srcToken?: Address;\n chainId: SupportedChainId;\n allowance: Pick<\n GenericTokenAllowance,\n \"allowanceToSet\" | \"spender\" | \"needsApproval\"\n >;\n};\n\ntype SignPermit1FlowResult = {\n type: \"permit1\";\n signPermit1: SignPermitFlowResult;\n signPermit1Mut: UseSignTokenPermit1Result;\n};\n\ntype SignPermit2FlowResult = {\n type: \"permit2\";\n variant: \"transferFrom\";\n signPermit2: SignPermitFlowResult;\n signPermit2Mut: UseSignTokenPermit2TransferFromResult;\n};\n\nexport type PermitMut = Pick<\n UseSignTokenPermit1Result,\n | \"isPermitSupported\"\n | \"isPermitReadyToSign\"\n | \"permitFetchingState\"\n | \"permitSigningState\"\n | \"isPending\"\n | \"isSuccess\"\n | \"isError\"\n | \"error\"\n | \"reset\"\n | \"signature\"\n> & {\n signPermit: UseSignTokenPermit2TransferFromResult[\"signPermit2\"];\n signPermitAsync: (\n params?: SignPermit2TransferFromInput\n ) => Promise<SignedPermitResult>;\n encodePermitArgs: UseSignTokenPermit2TransferFromResult[\"encodePermitArgs\"];\n permitType: \"permit1\" | \"permit2TransferFrom\" | null;\n};\n\nexport type SignedPermitResult = {\n signature: Hash;\n permitEncodedArgs: Hash;\n signedPermitData:\n | SignedPermit1Result[\"signedPermitData\"]\n | SignedPermit2Result[\"signedPermitData\"];\n};\n\ntype UseSignPermitResult = {\n permit1: SignPermit1FlowResult;\n permit2: SignPermit2FlowResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n permitType: \"permit1\" | \"permit2TransferFrom\" | null;\n};\n\nexport function useSignPermit1Or2({\n srcToken,\n chainId,\n allowance,\n}: UseSignPermitInput): UseSignPermitResult {\n const logger = useLogger(\"SignPermit1Or2\");\n const permitsEnabled = allowance.needsApproval;\n\n const signPermit1Mut = useSignTokenPermit1({\n token: srcToken\n ? {\n address: srcToken,\n network: chainId,\n }\n : undefined,\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: permitsEnabled,\n onSuccess: (signature) => {\n logger.log(\"Permit1 signature\", signature);\n },\n onError: (error) => {\n logger.error(\"Permit1 error\", error);\n },\n });\n\n const signPermit2Mut = useSignTokenPermit2TransferFrom({\n token: srcToken\n ? {\n address: srcToken,\n network: chainId,\n }\n : undefined,\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: permitsEnabled,\n onSuccess: (signature) => {\n logger.log(\"Permit2 signature\", signature);\n },\n onError: (error) => {\n logger.error(\"Permit2 error\", error);\n },\n });\n\n const signPermit1: SignPermitFlowResult = {\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 isPending: signPermit1Mut.isPending,\n isSuccess: signPermit1Mut.isSuccess,\n isError: signPermit1Mut.isError,\n error: signPermit1Mut.error,\n };\n\n const signPermit2: SignPermitFlowResult = {\n isPermitSupported: signPermit2Mut.isPermitSupported,\n isPermitReadyToSign: signPermit2Mut.isPermitReadyToSign,\n amountToPermit: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n isLoadingPermitData: signPermit2Mut.permitFetchingState.isPending,\n isSigningPermit: signPermit2Mut.permitSigningState.isPending,\n isPermitSigned: signPermit2Mut.permitSigningState.isSuccess,\n signature: signPermit2Mut.signature,\n isPending: signPermit2Mut.isPending,\n isSuccess: signPermit2Mut.isSuccess,\n isError: signPermit2Mut.isError,\n error: signPermit2Mut.error,\n };\n\n const signPermit1Res: SignPermit1FlowResult = {\n type: \"permit1\",\n signPermit1,\n signPermit1Mut,\n };\n\n const signPermit2Res: SignPermit2FlowResult = {\n type: \"permit2\",\n variant: \"transferFrom\",\n signPermit2,\n signPermit2Mut,\n };\n\n const usingPermit2 =\n permitsEnabled &&\n signPermit2.isPermitSupported &&\n signPermit2.isPermitReadyToSign;\n\n const signPermit = usingPermit2 ? signPermit2 : signPermit1;\n\n const signPermitMut: PermitMut = usingPermit2\n ? {\n ...signPermit2Mut,\n signPermit: signPermit2Mut.signPermit2,\n signPermitAsync: async (params) => {\n const result = await signPermit2Mut.signPermit2Async(params);\n return {\n signature: result.signature,\n permitEncodedArgs: result.permit2TransferFromEncodedArgs,\n signedPermitData: result.signedPermitData,\n };\n },\n encodePermitArgs: signPermit2Mut.encodePermitArgs,\n permitType: \"permit2TransferFrom\",\n }\n : {\n ...signPermit1Mut,\n signPermit: signPermit1Mut.signPermit1,\n signPermitAsync: async (params) => {\n const result = await signPermit1Mut.signPermit1Async(params);\n return {\n signature: result.signature,\n permitEncodedArgs: result.permit1EncodedArgs,\n signedPermitData: result.signedPermitData,\n };\n },\n encodePermitArgs: signPermit1Mut.encodePermitArgs,\n permitType: \"permit1\",\n };\n\n const permitType = !permitsEnabled\n ? null\n : usingPermit2\n ? \"permit2TransferFrom\"\n : \"permit1\";\n\n return {\n signPermit,\n signPermitMut,\n permit1: signPermit1Res,\n permit2: signPermit2Res,\n permitType,\n };\n}\n\n///// mark nonce as used //////\n\ntype SignedPermitData =\n | Permit1Input\n | DaiPermitInput\n | (Permit2Input & { owner: Address });\n\ntype UseMarkPermit1Or2NonceAsUsedResult = {\n markNonceAsUsed: (signedPermitData: SignedPermitData) => void;\n clearNonce: (signedPermitData: SignedPermitData) => void;\n};\n\nexport function useMarkPermit1Or2NonceAsUsed({\n chainId,\n}: {\n chainId: SupportedChainId;\n}) {\n const permit1NonceUsedMarker = useMarkPermit1NonceAsUsed({\n chainId,\n });\n\n const permit2NonceUsedMarker = useMarkPermit2NonceAsUsed();\n\n const markNonceAsUsed: UseMarkPermit1Or2NonceAsUsedResult[\"markNonceAsUsed\"] =\n (signedPermitData) => {\n if (signedPermitData.type === \"permit2\") {\n return permit2NonceUsedMarker.markNonceAsUsed(signedPermitData);\n } else {\n return permit1NonceUsedMarker.markNonceAsUsed(signedPermitData);\n }\n };\n\n const clearNonce: UseMarkPermit1Or2NonceAsUsedResult[\"clearNonce\"] = (\n signedPermitData\n ) => {\n if (signedPermitData.type !== \"permit2\") {\n return permit1NonceUsedMarker.clearNonce(signedPermitData);\n }\n };\n\n return {\n markNonceAsUsed,\n clearNonce,\n };\n}\n"],"names":["useSignPermit1Or2","t0","$","_c","srcToken","chainId","allowance","logger","useLogger","permitsEnabled","needsApproval","t1","address","network","undefined","t2","spender","t3","t4","signature","log","error","t5","allowanceToSet","token","value","enabled","onSuccess","onError","signPermit1Mut","useSignTokenPermit1","t6","t7","t8","t9","signature_0","error_0","t10","signPermit2Mut","useSignTokenPermit2TransferFrom","t11","t12","isError","isPending","isPermitReadyToSign","isPermitSupported","isSuccess","permitFetchingState","permitSigningState","amountToPermit","isLoadingPermitData","isSigningPermit","isPermitSigned","signPermit1","t13","t14","signPermit2","t15","type","signPermit1Res","t16","variant","signPermit2Res","usingPermit2","signPermit","t17","signPermitAsync","params","result","signPermit2Async","permitEncodedArgs","permit2TransferFromEncodedArgs","signedPermitData","encodePermitArgs","permitType","params_0","result_0","signPermit1Async","permit1EncodedArgs","signPermitMut","t18","permit1","permit2","useMarkPermit1Or2NonceAsUsed","permit1NonceUsedMarker","useMarkPermit1NonceAsUsed","permit2NonceUsedMarker","useMarkPermit2NonceAsUsed","markNonceAsUsed","signedPermitData_0","clearNonce"],"mappings":"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"}
1
+ {"version":3,"file":"useSignPermit1Or2.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useSignPermit1Or2.ts"],"sourcesContent":["import {\n useMarkPermit2NonceAsUsed,\n useSignTokenPermit2TransferFrom,\n type SignPermit2TransferFromInput,\n type SignedPermit2Result,\n type UseSignTokenPermit2TransferFromResult,\n} from \"@/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom\";\nimport type { SignPermitFlowResult } from \"./types\";\nimport {\n useMarkPermit1NonceAsUsed,\n useSignTokenPermit1,\n type SignedPermit1Result,\n type UseSignTokenPermit1Result,\n} from \"@/hooks/permit/hooks/permit1/useSignTokenPermit1\";\nimport type { GenericTokenAllowance } from \"@/hooks/tokens/allowance/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address, Hash } from \"viem\";\nimport type {\n DaiPermitInput,\n Permit2Input,\n} from \"@/hooks/permit/utils/construct\";\nimport type { Permit1Input } from \"@/hooks/permit/utils/construct\";\nimport { useLogger } from \"@/core/logger\";\n\ntype UseSignPermitInput = {\n srcToken?: Address;\n chainId: SupportedChainId;\n allowance: Pick<\n GenericTokenAllowance,\n \"allowanceToSet\" | \"spender\" | \"needsApproval\"\n >;\n};\n\ntype SignPermit1FlowResult = {\n type: \"permit1\";\n signPermit1: SignPermitFlowResult;\n signPermit1Mut: UseSignTokenPermit1Result;\n};\n\ntype SignPermit2FlowResult = {\n type: \"permit2\";\n variant: \"transferFrom\";\n signPermit2: SignPermitFlowResult;\n signPermit2Mut: UseSignTokenPermit2TransferFromResult;\n};\n\nexport type PermitMut = Pick<\n UseSignTokenPermit1Result,\n | \"isPermitSupported\"\n | \"isPermitReadyToSign\"\n | \"permitFetchingState\"\n | \"permitSigningState\"\n | \"isPending\"\n | \"isSuccess\"\n | \"isError\"\n | \"error\"\n | \"reset\"\n | \"signature\"\n> & {\n signPermit: UseSignTokenPermit2TransferFromResult[\"signPermit2\"];\n signPermitAsync: (\n params?: SignPermit2TransferFromInput\n ) => Promise<SignedPermitResult>;\n encodePermitArgs: UseSignTokenPermit2TransferFromResult[\"encodePermitArgs\"];\n permitType: \"permit1\" | \"permit2TransferFrom\" | null;\n};\n\nexport type SignedPermitResult = {\n signature: Hash;\n permitEncodedArgs: Hash;\n signedPermitData:\n | SignedPermit1Result[\"signedPermitData\"]\n | SignedPermit2Result[\"signedPermitData\"];\n};\n\ntype UseSignPermitResult = {\n permit1: SignPermit1FlowResult;\n permit2: SignPermit2FlowResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n permitType: \"permit1\" | \"permit2TransferFrom\" | null;\n};\n\nexport function useSignPermit1Or2({\n srcToken,\n chainId,\n allowance,\n}: UseSignPermitInput): UseSignPermitResult {\n const logger = useLogger(\"SignPermit1Or2\");\n const permitsEnabled = allowance.needsApproval;\n\n const signPermit1Mut = useSignTokenPermit1({\n token: srcToken\n ? {\n address: srcToken,\n network: chainId,\n }\n : undefined,\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: permitsEnabled,\n onSuccess: (signature) => {\n logger.log(\"Permit1 signature\", signature);\n },\n onError: (error) => {\n logger.error(\"Permit1 error\", error);\n },\n });\n\n const signPermit2Mut = useSignTokenPermit2TransferFrom({\n token: srcToken\n ? {\n address: srcToken,\n network: chainId,\n }\n : undefined,\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: permitsEnabled,\n onSuccess: (signature) => {\n logger.log(\"Permit2 signature\", signature);\n },\n onError: (error) => {\n logger.error(\"Permit2 error\", error);\n },\n });\n\n const signPermit1: SignPermitFlowResult = {\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 isPending: signPermit1Mut.isPending,\n isSuccess: signPermit1Mut.isSuccess,\n isError: signPermit1Mut.isError,\n error: signPermit1Mut.error,\n };\n\n const signPermit2: SignPermitFlowResult = {\n isPermitSupported: signPermit2Mut.isPermitSupported,\n isPermitReadyToSign: signPermit2Mut.isPermitReadyToSign,\n amountToPermit: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n isLoadingPermitData: signPermit2Mut.permitFetchingState.isPending,\n isSigningPermit: signPermit2Mut.permitSigningState.isPending,\n isPermitSigned: signPermit2Mut.permitSigningState.isSuccess,\n signature: signPermit2Mut.signature,\n isPending: signPermit2Mut.isPending,\n isSuccess: signPermit2Mut.isSuccess,\n isError: signPermit2Mut.isError,\n error: signPermit2Mut.error,\n };\n\n const signPermit1Res: SignPermit1FlowResult = {\n type: \"permit1\",\n signPermit1,\n signPermit1Mut,\n };\n\n const signPermit2Res: SignPermit2FlowResult = {\n type: \"permit2\",\n variant: \"transferFrom\",\n signPermit2,\n signPermit2Mut,\n };\n\n const usingPermit2 =\n permitsEnabled &&\n signPermit2.isPermitSupported &&\n signPermit2.isPermitReadyToSign;\n\n const signPermit = usingPermit2 ? signPermit2 : signPermit1;\n\n const signPermitMut: PermitMut = usingPermit2\n ? {\n ...signPermit2Mut,\n signPermit: signPermit2Mut.signPermit2,\n signPermitAsync: async (params) => {\n const result = await signPermit2Mut.signPermit2Async(params);\n return {\n signature: result.signature,\n permitEncodedArgs: result.permit2TransferFromEncodedArgs,\n signedPermitData: result.signedPermitData,\n };\n },\n encodePermitArgs: signPermit2Mut.encodePermitArgs,\n permitType: \"permit2TransferFrom\",\n }\n : {\n ...signPermit1Mut,\n signPermit: signPermit1Mut.signPermit1,\n signPermitAsync: async (params) => {\n const result = await signPermit1Mut.signPermit1Async(params);\n return {\n signature: result.signature,\n permitEncodedArgs: result.permit1EncodedArgs,\n signedPermitData: result.signedPermitData,\n };\n },\n encodePermitArgs: signPermit1Mut.encodePermitArgs,\n permitType: \"permit1\",\n };\n\n const permitType = !permitsEnabled\n ? null\n : usingPermit2\n ? \"permit2TransferFrom\"\n : \"permit1\";\n\n return {\n signPermit,\n signPermitMut,\n permit1: signPermit1Res,\n permit2: signPermit2Res,\n permitType,\n };\n}\n\n///// mark nonce as used //////\n\ntype SignedPermitData =\n | Permit1Input\n | DaiPermitInput\n | (Permit2Input & { owner: Address });\n\ntype UseMarkPermit1Or2NonceAsUsedResult = {\n markNonceAsUsed: (signedPermitData: SignedPermitData) => void;\n clearNonce: (signedPermitData: SignedPermitData) => void;\n};\n\nexport function useMarkPermit1Or2NonceAsUsed({\n chainId,\n}: {\n chainId: SupportedChainId;\n}) {\n const permit1NonceUsedMarker = useMarkPermit1NonceAsUsed({\n chainId,\n });\n\n const permit2NonceUsedMarker = useMarkPermit2NonceAsUsed();\n\n const markNonceAsUsed: UseMarkPermit1Or2NonceAsUsedResult[\"markNonceAsUsed\"] =\n (signedPermitData) => {\n if (signedPermitData.type === \"permit2\") {\n return permit2NonceUsedMarker.markNonceAsUsed(signedPermitData);\n } else {\n return permit1NonceUsedMarker.markNonceAsUsed(signedPermitData);\n }\n };\n\n const clearNonce: UseMarkPermit1Or2NonceAsUsedResult[\"clearNonce\"] = (\n signedPermitData\n ) => {\n if (signedPermitData.type !== \"permit2\") {\n return permit1NonceUsedMarker.clearNonce(signedPermitData);\n }\n };\n\n return {\n markNonceAsUsed,\n clearNonce,\n };\n}\n"],"names":["useSignPermit1Or2","t0","$","_c","srcToken","chainId","allowance","logger","useLogger","permitsEnabled","needsApproval","t1","address","network","undefined","t2","spender","t3","t4","signature","log","error","t5","allowanceToSet","token","value","enabled","onSuccess","onError","signPermit1Mut","useSignTokenPermit1","t6","t7","t8","t9","signature_0","error_0","t10","signPermit2Mut","useSignTokenPermit2TransferFrom","t11","t12","isError","isPending","isPermitReadyToSign","isPermitSupported","isSuccess","permitFetchingState","permitSigningState","amountToPermit","isLoadingPermitData","isSigningPermit","isPermitSigned","signPermit1","t13","t14","signPermit2","t15","type","signPermit1Res","t16","variant","signPermit2Res","usingPermit2","signPermit","t17","signPermitAsync","params","result","signPermit2Async","permitEncodedArgs","permit2TransferFromEncodedArgs","signedPermitData","encodePermitArgs","permitType","params_0","result_0","signPermit1Async","permit1EncodedArgs","signPermitMut","t18","permit1","permit2","useMarkPermit1Or2NonceAsUsed","permit1NonceUsedMarker","useMarkPermit1NonceAsUsed","permit2NonceUsedMarker","useMarkPermit2NonceAsUsed","markNonceAsUsed","signedPermitData_0","clearNonce"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ import { useIsContractAtAddress } from '../../getCode/useIsContractAtAddress.js'
17
17
  import { useApproveOrPermit } from './common/useApproveOrPermit.js';
18
18
  import { useMarkPermit1Or2NonceAsUsed } from './common/useSignPermit1Or2.js';
19
19
  import { produceDeltaOrderDeadline } from '../../permit/utils/deadlines.js';
20
- import { useWidgetConfig } from '../../../widget/state/configAtom.js';
20
+ import { useWidgetConfig } from '../../../core/state/configAtom.js';
21
21
  import { encodePermit2TransferFromSigDataForDelta } from '../../permit/utils/encodeArgs.js';
22
- import { useLogger } from '../../../widget/logger.js';
22
+ import { useLogger } from '../../../core/logger.js';
23
23
  import { useTrackedPrice } from './common/useTrackedPrice.js';
24
24
  import { isBridgePrice } from '../prices/delta/queries/useDeltaPriceQuery.js';
25
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { DeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\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 { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { useWidgetConfig } from \"@/widget/state/configAtom\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/widget/logger\";\nimport { useTrackedPrice } from \"./common/useTrackedPrice\";\nimport { isBridgePrice } from \"../prices/delta/queries/useDeltaPriceQuery\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: DeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: DeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: DeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: 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?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const chainId = useChainId();\n const { resolvedSlippage } = useSlippage();\n\n const trackedPrice = useTrackedPrice({\n price: deltaPrice,\n slippage: resolvedSlippage,\n side: \"SELL\", // @TODO add BUY support for Delta when available\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 { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: trackedPrice.get.usingPrice()?.srcToken ?? deltaPrice?.srcToken,\n // if we already approved some amount, save it in approval and signPermit objects\n srcAmount: trackedPrice.get.approvedAmount() ?? deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\", // @TODO add BUY support for Delta when available\n });\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\n const ensureTxReceipt = useEnsureTxReceipt();\n\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 _price = trackedPrice.get.usingPrice() ?? deltaPrice;\n const destChainId =\n // \"bridge\" in _price is not enough to differentiate the union produced with `??`\n _price && isBridgePrice(_price)\n ? _price.bridge.destinationChainId\n : chainId;\n\n const isContractAtAddress = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n }).data?.isContract;\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const partner = useWidgetConfig().partner;\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\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 createOrderMut.reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\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 if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // freeze allowanceToSet\n trackedPrice.set.approvedAmount(allowanceToSet);\n\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 deadline: orderDeadline,\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\n // as long as we had set approvedAmountRef, we will only get new prices that satisfy the allowance\n let deltaPriceToUse = trackedPrice.get.usingPrice();\n // usingPriceRef.current can be null depending on reset() timing (e.g. inside retry)\n if (!deltaPriceToUse) {\n deltaPriceToUse = deltaPrice || null;\n trackedPrice.set.usingPrice(deltaPriceToUse);\n }\n\n // as long as we had set approvedAmountRef, we will only get new prices that satisfy the allowance\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n // freeze final price to avoid any changes to displayed and result amounts\n trackedPrice.set.finalPrice(deltaPriceToUse);\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n // @TODO if necessary to support add more params\n partner,\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n try {\n // this func won't refetch on interval to check Order.status changes,\n // will just return very first fetch result.\n // but useWatchDeltaAuction will correctly await an order execution\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\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: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const invalidateTokenData = useInvalidateTokenDataQuery();\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n trackedPrice.resetTrackedPrice();\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n trackedPrice.resetTrackedPrice();\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n reset();\n return runDeltaOrderFlow(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 deltaPrice;\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n usedPrice,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","t0","$","_c","deltaPrice","logger","useLogger","chainId","useChainId","resolvedSlippage","useSlippage","t1","price","slippage","side","trackedPrice","useTrackedPrice","t2","srcToken","get","usingPrice","t3","srcAmount","approvedAmount","t4","spenderContractType","swapSide","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","address","account","useAccount","t5","minClient","useMinViemClient","t6","onSuccess","order","log","onError","error","t7","client","mutationOptions","createOrderMut","useCreateDeltaOrder","t8","data","isError","isPending","isSuccess","isCreatingOrder","isOrderSent","deltaOrderSubmission","t9","id","t10","t11","t12","t13","order_0","order_1","order_2","order_3","t14","orderId","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","watchOrderExecution","useWatchDeltaAuction","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","t15","t16","t17","t18","isLoading","isRefetching","t19","t20","t21","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","deltaOrderExecution","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t22","Symbol","for","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","t23","_price","t24","isBridgePrice","bridge","destinationChainId","destChainId","isContractAtAddress","useIsContractAtAddress","isContract","t25","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","useWidgetConfig","t26","set","t27","onTxSent","onOrderSent","undefined","reset","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","txHash","actionType","receiptPromise","signPermitAsync","deadline","value","assert","deltaPriceToUse","beneficiaryType","amountsAfterSlippage","applySlippage","destAmount","permit","permitEncodedArgs","signedPermitData","type","variant","nonce","signature","finalPrice","destChainId_0","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","Number","lastOrderStatePromise","tradeFlowType","approve","receipt","deltaOrder","t28","submitDeltaOrder","invalidateTokenData","useInvalidateTokenDataQuery","t29","data_0","error_1","t30","nonces","resetTrackedPrice","t31","mutationFn","mutationKey","onSettled","deltaOrderMut","useMutation","runDeltaOrderFlow","t32","t33","options","retryFlow","t34","usedPrice","t35","t36","result"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6GA,MAAMA,wBAAAA,GAA2B,mBAAA;AAE1B,SAAAC,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,GAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAG3B,EAAA,MAAAI,MAAAA,GAAeC,UAAU,WAAW,CAAA;AACpC,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,WAAAA,EAAY;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAE,cAAAF,CAAAA,QAAAO,gBAAAA,EAAA;AAENE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EAC5BR,UAAAA;AAAAA,MAAUS,QAAAA,EACPJ,gBAAAA;AAAAA,MAAgBK,IAAAA,EACpB;AAAA,KAAM;AACbZ,IAAAA,CAAAA,MAAAE,UAAAA;AAAAF,IAAAA,CAAAA,MAAAO,gBAAAA;AAAAP,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA;AAJD,EAAA,MAAAa,YAAAA,GAAqBC,gBAAgBL,EAIpC,CAAA;AAAE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAE,UAAAA,EAAAc,YAAAhB,CAAAA,CAAA,CAAA,CAAA,KAAAa,YAAAA,CAAAI,GAAAA,EAAA;AAYWF,IAAAA,EAAAA,GAAAF,YAAAA,CAAYI,GAAAA,CAAAC,UAAAA,EAAgB,EAACF,YAAcd,UAAAA,EAAUc,QAAAA;AAAUhB,IAAAA,CAAAA,CAAA,CAAA,IAAAE,UAAAA,EAAAc,QAAAA;AAAAhB,IAAAA,CAAAA,CAAA,CAAA,IAAAa,YAAAA,CAAAI,GAAAA;AAAAjB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAAnB,CAAAA,CAAA,CAAA,CAAA,KAAAE,UAAAA,EAAAkB,aAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAa,YAAAA,CAAAI,GAAAA,EAAA;AAE9DE,IAAAA,EAAAA,GAAAN,YAAAA,CAAYI,GAAAA,CAAAI,cAAAA,EAAoB,IAAKnB,UAAAA,EAAUkB,SAAAA;AAAWpB,IAAAA,CAAAA,CAAA,CAAA,IAAAE,UAAAA,EAAAkB,SAAAA;AAAApB,IAAAA,CAAAA,CAAA,CAAA,IAAAa,YAAAA,CAAAI,GAAAA;AAAAjB,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAsB,EAAAA;AAAA,EAAA,IAAAtB,EAAA,CAAA,CAAA,KAAAe,MAAAf,CAAAA,SAAAmB,EAAAA,EAAA;AAHpDG,IAAAA,EAAAA,GAAA;AAAA,MAAAN,QAAAA,EACPD,EAAAA;AAAAA,MAA+DK,SAAAA,EAE9DD,EAAAA;AAAAA,MAA0DI,mBAAAA,EAChD,eAAA;AAAA,MAAeC,QAAAA,EAC1B;AAAA,KAAM;AACjBxB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAAmB,EAAAA;AAAAnB,IAAAA,CAAAA,OAAAsB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtB,EAAA,EAAA,CAAA;AAAA;AAPH,EAAA,MAAA;AAAA,IAAAyB,QAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC;AAAAA,GAAA,GACEC,mBAAmBP,EAMlB,CAAA;AAIH,EAAA,MAAA;AAAA,IAAAQ,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAjC,EAAA,EAAA,CAAA,KAAA+B,WAAA/B,CAAAA,SAAAK,OAAAA,EAAA;AAEH4B,IAAAA,EAAAA,GAAA;AAAA,MAAA5B,OAAAA;AAAAA,MAAA0B;AAAAA,KAAA;AAGtC/B,IAAAA,CAAAA,OAAA+B,OAAAA;AAAA/B,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,EAAA,CAAA;AAAA;AAHD,EAAA,MAAA;AAAA,IAAAkC;AAAAA,GAAA,GAAsBC,iBAAiBF,EAGtC,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAApC,CAAAA,SAAAG,MAAAA,EAAA;AAMgBiC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,WAAAC,CAAAA,KAAAA,KAAA;AAEbnC,QAAAA,MAAAA,CAAMoC,GAAAA,CAAK,8BAA8BD,KAAK,CAAA;AAAA,OAAC;AAAA,MAAAE,SAAAC,CAAAA,KAAAA,KAAA;AAG/CtC,QAAAA,MAAAA,CAAMsC,KAAAA,CAAO,4BAA4BA,KAAK,CAAA;AAAA;AAAC,KAAA;AAElDzC,IAAAA,CAAAA,OAAAG,MAAAA;AAAAH,IAAAA,CAAAA,OAAAoC,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApC,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,IAAA0C,EAAAA;AAAA,EAAA,IAAA1C,CAAAA,CAAA,EAAA,CAAA,KAAA+B,OAAAA,IAAA/B,EAAA,EAAA,CAAA,KAAAK,OAAAA,IAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAkC,SAAAA,IAAAlC,CAAAA,SAAAoC,EAAAA,EAAA;AAXwCM,IAAAA,EAAAA,GAAA;AAAA,MAAArC,OAAAA;AAAAA,MAAA0B,OAAAA;AAAAA,MAAAY,MAAAA,EAGjCT,SAAAA;AAAAA,MAASU,eAAAA,EACAR;AAAAA,KAOhB;AACFpC,IAAAA,CAAAA,OAAA+B,OAAAA;AAAA/B,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAAkC,SAAAA;AAAAlC,IAAAA,CAAAA,OAAAoC,EAAAA;AAAApC,IAAAA,CAAAA,OAAA0C,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1C,EAAA,EAAA,CAAA;AAAA;AAZD,EAAA,MAAA6C,cAAAA,GAAuBC,oBAAoBJ,EAY1C,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,CAAA,EAAA,CAAA,KAAA6C,cAAAA,CAAAG,IAAAA,IAAAhD,EAAA,EAAA,CAAA,KAAA6C,cAAAA,CAAAJ,KAAAA,IAAAzC,CAAAA,CAAA,EAAA,MAAA6C,cAAAA,CAAAI,OAAAA,IAAAjD,CAAAA,CAAA,EAAA,CAAA,KAAA6C,cAAAA,CAAAK,aAAAlD,CAAAA,CAAA,EAAA,CAAA,KAAA6C,cAAAA,CAAAM,SAAAA,EAAA;AAEsEJ,IAAAA,EAAAA,GAAA;AAAA,MAAAT,OAChEO,cAAAA,CAAcG,IAAAA;AAAAA,MAAAI,iBACJP,cAAAA,CAAcK,SAAAA;AAAAA,MAAAG,aAClBR,cAAAA,CAAcM,SAAAA;AAAAA,MAAAD,WAChBL,cAAAA,CAAcK,SAAAA;AAAAA,MAAAD,SAChBJ,cAAAA,CAAcI,OAAAA;AAAAA,MAAAE,WACZN,cAAAA,CAAcM,SAAAA;AAAAA,MAAAV,OAClBI,cAAAA,CAAcJ;AAAAA,KAAA;AACtBzC,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAG,IAAAA;AAAAhD,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAJ,KAAAA;AAAAzC,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAI,OAAAA;AAAAjD,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAK,SAAAA;AAAAlD,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAM,SAAAA;AAAAnD,IAAAA,CAAAA,OAAA+C,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA;AARD,EAAA,MAAAsD,oBAAAA,GAAyEP,EAAAA;AAa9D,EAAA,MAAAQ,EAAAA,GAAAV,eAAcG,IAAAA,EAAAQ,EAAAA;AAAS,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA5D,CAAAA,SAAAG,MAAAA,EAAA;AACdsD,IAAAA,GAAAA,GAAAI,CAAAA,OAAAA,KAAA;AAChB1D,MAAAA,MAAAA,CAAMoC,GAAAA,CAAK,uBAAuBD,OAAK,CAAA;AAAA,KAAC;AAExBoB,IAAAA,GAAAA,GAAAI,CAAAA,OAAAA,KAAA;AAChB3D,MAAAA,MAAAA,CAAMoC,GAAAA,CAAK,uBAAuBD,OAAK,CAAA;AAAA,KAAC;AAExBqB,IAAAA,GAAAA,GAAAI,CAAAA,OAAAA,KAAA;AAChB5D,MAAAA,MAAAA,CAAMoC,GAAAA,CAAK,uBAAuBD,OAAK,CAAA;AAAA,KAAC;AAEnBsB,IAAAA,GAAAA,GAAAI,CAAAA,OAAAA,KAAA;AACrB7D,MAAAA,MAAAA,CAAMoC,GAAAA,CAAK,uBAAuBD,OAAK,CAAA;AAAA,KAAC;AACzCtC,IAAAA,CAAAA,OAAAG,MAAAA;AAAAH,IAAAA,CAAAA,OAAAyD,GAAAA;AAAAzD,IAAAA,CAAAA,OAAA0D,GAAAA;AAAA1D,IAAAA,CAAAA,OAAA2D,GAAAA;AAAA3D,IAAAA,CAAAA,OAAA4D,GAAAA;AAAAA,GAAA,MAAA;AAAAH,IAAAA,GAAAA,GAAAzD,EAAA,EAAA,CAAA;AAAA0D,IAAAA,GAAAA,GAAA1D,EAAA,EAAA,CAAA;AAAA2D,IAAAA,GAAAA,GAAA3D,EAAA,EAAA,CAAA;AAAA4D,IAAAA,GAAAA,GAAA5D,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,IAAAiE,GAAAA;AAAA,EAAA,IAAAjE,EAAA,EAAA,CAAA,KAAAyD,OAAAzD,CAAAA,CAAA,EAAA,MAAA0D,GAAAA,IAAA1D,CAAAA,CAAA,EAAA,CAAA,KAAA2D,GAAAA,IAAA3D,EAAA,EAAA,CAAA,KAAA4D,OAAA5D,CAAAA,SAAAuD,EAAAA,EAAA;AAb8CU,IAAAA,GAAAA,GAAA;AAAA,MAAAC,OAAAA,EACtCX,EAAAA;AAAAA,MAAuBY,gBAAAA,EACdV,GAAAA;AAAAA,MAEjBW,gBAAAA,EACiBV,GAAAA;AAAAA,MAEjBW,gBAAAA,EACiBV,GAAAA;AAAAA,MAEjBW,qBAAAA,EACsBV;AAAAA,KAEtB;AACF5D,IAAAA,CAAAA,OAAAyD,GAAAA;AAAAzD,IAAAA,CAAAA,OAAA0D,GAAAA;AAAA1D,IAAAA,CAAAA,OAAA2D,GAAAA;AAAA3D,IAAAA,CAAAA,OAAA4D,GAAAA;AAAA5D,IAAAA,CAAAA,OAAAuD,EAAAA;AAAAvD,IAAAA,CAAAA,OAAAiE,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAjE,EAAA,EAAA,CAAA;AAAA;AAdD,EAAA,MAAAuE,mBAAAA,GAA4BC,qBAAqBP,GAchD,CAAA;AAED,EAAA,MAAAQ,cAAoBF,mBAAAA,CAAmBvB,IAAAA,GACnC0B,qBAAAA,CAAsBH,mBAAAA,CAAmBvB,IAAK,CAAA,GAAC,IAAA;AAInD,EAAA,MAAA2B,yBAAAA,GACEJ,mBAAAA,CAAmBvB,IAAAA,KAAA,IAAA,IAAkBuB,mBAAAA,CAAmBpB,SAAAA;AAKxC,EAAA,MAAAyB,MAAAH,WAAAA,KAAgB,SAAA;AACd,EAAA,MAAAI,MAAAJ,WAAAA,KAAgB,WAAA;AACjB,EAAA,MAAAK,MAAAL,WAAAA,KAAgB,WAAA;AAE/B,EAAA,MAAAM,MAAAR,mBAAAA,CAAmBS,SAAAA,IACnBT,oBAAmBU,YAAAA,IACnBR,WAAAA,KAAgB,aAChBA,WAAAA,KAAgB,WAAA;AAEhB,EAAA,MAAAS,GAAAA,GAAAX,mBAAAA,CAAmBtB,OAAAA,IACnBwB,WAAAA,KAAgB,QAAA,IAChBE,yBAAAA;AACS,EAAA,MAAAQ,MAAAV,WAAAA,KAAgB,WAAA;AAAW,EAAA,IAAAW,GAAAA;AAAA,EAAA,IAAApF,EAAA,EAAA,CAAA,KAAA6C,cAAAA,CAAAG,IAAAA,IAAAhD,EAAA,EAAA,CAAA,KAAA4E,GAAAA,IAAA5E,CAAAA,SAAA6E,GAAAA,IAAA7E,EAAA,EAAA,CAAA,KAAA8E,OAAA9E,CAAAA,CAAA,EAAA,CAAA,KAAA+E,GAAAA,IAAA/E,EAAA,EAAA,CAAA,KAAAkF,GAAAA,IAAAlF,CAAAA,CAAA,EAAA,CAAA,KAAAmF,GAAAA,IAAAnF,CAAAA,CAAA,EAAA,MAAAuE,mBAAAA,CAAAvB,IAAAA,IAAAhD,EAAA,EAAA,CAAA,KAAAuE,oBAAA9B,KAAAA,EAAA;AAf+B2C,IAAAA,GAAAA,GAAA;AAAA,MAAAC,WAC1DxC,cAAAA,CAAcG,IAAAA;AAAAA,MAAAsC,gBACTf,mBAAAA,CAAmBvB,IAAAA;AAAAA,MAAAuC,cAAAA,EACnBX,GAAAA;AAAAA,MAAyBY,gBAAAA,EACvBX,GAAAA;AAAAA,MAA2BY,eAAAA,EAC5BX,GAAAA;AAAAA,MAA2B5B,SAAAA,EAE1C6B,GAAAA;AAAAA,MAG2B9B,OAAAA,EAE3BiC,GAAAA;AAAAA,MAEyB/B,SAAAA,EAChBgC,GAAAA;AAAAA,MAA2B1C,OAC/B8B,mBAAAA,CAAmB9B;AAAAA,KAAA;AAC3BzC,IAAAA,CAAAA,CAAA,EAAA,IAAA6C,cAAAA,CAAAG,IAAAA;AAAAhD,IAAAA,CAAAA,OAAA4E,GAAAA;AAAA5E,IAAAA,CAAAA,OAAA6E,GAAAA;AAAA7E,IAAAA,CAAAA,OAAA8E,GAAAA;AAAA9E,IAAAA,CAAAA,OAAA+E,GAAAA;AAAA/E,IAAAA,CAAAA,OAAAkF,GAAAA;AAAAlF,IAAAA,CAAAA,OAAAmF,GAAAA;AAAAnF,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,mBAAAA,CAAAvB,IAAAA;AAAAhD,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,mBAAAA,CAAA9B,KAAAA;AAAAzC,IAAAA,CAAAA,OAAAoF,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApF,EAAA,EAAA,CAAA;AAAA;AAjBD,EAAA,MAAA0F,mBAAAA,GAAuEN,GAAAA;AAmBvE,EAAA,MAAAO,sBAA4BC,2BAAAA,EAA4B;AACxD,EAAA,MAAAC,kBAAwBC,kBAAAA,EAAmB;AAE3C,EAAA,MAAAC,yBAAAA,GAAkCC,OAAA,IAAmC,CAAA;AAAE,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAjG,EAAA,EAAA,CAAA,KAAAkG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEpDF,IAAAA,GAAAA,GAAAA,MAAA;AACjBF,MAAAA,yBAAAA,CAAyBK,OAAAA,EAAAC,KAAAA,KAAAC,kBAAAA,EAAA,CAAA;AACzBP,MAAAA,yBAAAA,CAAyBK,OAAAA,GAAA,IAAA;AAAA,KAAA;AAC1BpG,IAAAA,CAAAA,OAAAiG,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAjG,EAAA,EAAA,CAAA;AAAA;AAHD,EAAA,MAAAuG,UAAAA,GAAmBN,GAAAA;AAKnB,EAAA,MAAAO,kBAAwBC,uBAAAA,EAAwB;AAAE,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA1G,CAAAA,SAAAE,UAAAA,IAAAF,EAAA,EAAA,CAAA,KAAAa,aAAAI,GAAAA,EAAA;AAEnCyF,IAAAA,GAAAA,GAAA7F,YAAAA,CAAYI,GAAAA,CAAAC,UAAAA,EAAgB,IAAKhB,UAAAA;AAAUF,IAAAA,CAAAA,OAAAE,UAAAA;AAAAF,IAAAA,CAAAA,CAAA,EAAA,IAAAa,YAAAA,CAAAI,GAAAA;AAAAjB,IAAAA,CAAAA,OAAA0G,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA1G,EAAA,EAAA,CAAA;AAAA;AAA1D,EAAA,MAAA2G,MAAAA,GAAeD,GAAAA;AAA4C,EAAA,IAAAE,GAAAA;AAAA,EAAA,IAAA5G,EAAA,EAAA,CAAA,KAAA2G,UAAA3G,CAAAA,SAAAK,OAAAA,EAAA;AAGzDuG,IAAAA,GAAAA,GAAAD,UAAUE,aAAAA,CAAcF,MAAM,CAAA,GAC1BA,MAAAA,CAAMG,OAAAC,kBAAAA,GACN1G,OAAAA;AAAOL,IAAAA,CAAAA,OAAA2G,MAAAA;AAAA3G,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAA4G,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA5G,EAAA,EAAA,CAAA;AAAA;AAJb,EAAA,MAAAgH,WAAAA,GAEEJ,GAAAA;AAIF,EAAA,MAAAK,sBAA4BC,sBAAAA,CAAA;AAAA,IAAApF,OAAAA,EACjB0E,eAAAA;AAAAA,IAAenG,OAAAA,EACf2G;AAAAA,GACV,EAAChE,IAAAA,EAAAmE,UAAAA;AAAkB,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAApH,CAAAA,SAAAK,OAAAA,EAAA;AAEiD+G,IAAAA,GAAAA,GAAA;AAAA,MAAA/G;AAAAA,KAAA;AAEpEL,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAAoH,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApH,EAAA,EAAA,CAAA;AAAA;AAFD,EAAA,MAAA;AAAA,IAAAqH,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAwCC,6BAA6BH,GAEpE,CAAA;AAED,EAAA,MAAAI,OAAAA,GAAgBC,iBAAgB,CAACD,OAAAA;AAAS,EAAA,IAAAE,GAAAA;AAAA,EAAA,IAAA1H,EAAA,EAAA,CAAA,KAAA+B,OAAAA,IAAA/B,CAAAA,SAAAyB,QAAAA,IAAAzB,CAAAA,CAAA,EAAA,MAAA2B,YAAAA,IAAA3B,CAAAA,CAAA,EAAA,CAAA,KAAAK,WAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAsH,UAAAA,IAAAtH,EAAA,EAAA,CAAA,KAAA6C,cAAAA,IAAA7C,CAAAA,SAAAE,UAAAA,IAAAF,CAAAA,CAAA,EAAA,MAAA2F,mBAAAA,IAAA3F,CAAAA,SAAA6F,mBAAA7F,CAAAA,CAAA,EAAA,CAAA,KAAAiH,mBAAAA,IAAAjH,UAAAG,MAAAA,IAAAH,CAAAA,CAAA,EAAA,CAAA,KAAAqH,eAAAA,IAAArH,CAAAA,CAAA,EAAA,MAAAwH,OAAAA,IAAAxH,CAAAA,CAAA,EAAA,CAAA,KAAAwG,mBAAAxG,CAAAA,CAAA,EAAA,CAAA,KAAAO,gBAAAA,IAAAP,UAAA0B,UAAAA,IAAA1B,CAAAA,CAAA,EAAA,CAAA,KAAA4B,aAAAA,IAAA5B,CAAAA,CAAA,EAAA,MAAAa,YAAAA,CAAAI,GAAAA,IAAAjB,EAAA,EAAA,CAAA,KAAAa,aAAA8G,GAAAA,EAAA;AAEjBD,IAAAA,GAAAA,UAAAE,IAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,QAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAF,IAAAA,KAGJG,MAAAA,GAAA,EAAA,GAHIH,IAAAA;AAM9BjG,MAAAA,YAAAA,CAAYqG,KAAAA,EAAO;AACnBpG,MAAAA,aAAAA,CAAaoG,KAAAA,EAAO;AACpBnF,MAAAA,cAAAA,CAAcmF,KAAAA,EAAO;AAErB,MAAA,MAAAC,eAAAA,OAAAC,eAAAA,EAAA;AACAnC,MAAAA,yBAAAA,CAAyBK,OAAAA,GAAW6B,eAAAA;AAEpC,MAAA,MAAAE,SAAeF,eAAAA,CAAeE,MAAAA;AAG9B,MAAA,MAAAC,gBAAsBC,yBAAAA,EAA0B;AAE5CC,MAAAA,IAAAA,kBAAAA;AAEAC,MAAAA,IAAAA,aAAAA;AACAC,MAAAA,IAAAA,gBAAAA;AAGJ,MAAA,MAAAC,iBAAuBhH,QAAAA,CAAQgH,cAAAA;AAAgB,MAAA,IAG3ChH,SAAQiH,aAAAA,EAAA;AAAA,QAAA,IACN,CAAChH,UAAAA,CAAUiH,iBAAAA,IAAA,CAAuBjH,WAAUkH,mBAAAA,EAAoB;AAElE/H,UAAAA,YAAAA,CAAY8G,GAAAA,CAAAtG,eAAoBoH,cAAc,CAAA;AAE9CF,UAAAA,aAAAA,GAAAA,MAAsB5G,aAAYkH,YAAAA,CAAA;AAAA,YAAAC,aAAAA,EAAA;AAAA,cAAAL;AAAAA;AAAA,WAIjC,CAAA;AAGDN,UAAAA,MAAAA,CAAMY,cAAAA,EAAgB;AAEtB,UAAA,MAAAC,0BAAgCnD,eAAAA,CAAe;AAAA,YAAAoD,IAAAA,EACvCV,aAAAA;AAAAA,YAAalI,OAAAA;AAAAA,YAAA6I,YAAAlG,CAAAA,IAAAA,KAAA;AAGjB7C,cAAAA,MAAAA,CAAMoC,GAAAA,CAAK,sBAAA,EAAwBgG,aAAAA,EAAevF,IAAI,CAAA;AAAA;AAAC,WAE1D,CAAA;AAAE,UAAA,IAEC6E,QAAAA,EAAQ;AACVA,YAAAA,QAAAA,CAAQ;AAAA,cAAAxH,OAAAA;AAAAA,cAAA8I,MAAAA,EAEEZ,aAAAA;AAAAA,cAAaa,UAAAA,EACT,SAAA;AAAA,cAASC,cAAAA,EACLL;AAAAA,aACjB,CAAA;AAAA;AAGHR,UAAAA,gBAAAA,GAAAA,MAAyBQ,uBAAAA;AAEzB7I,UAAAA,MAAAA,CAAMoC,GAAAA,CAAK,0BAA0BiG,gBAAgB,CAAA;AAAA,SAAC,MAAA;AAKtD3H,UAAAA,YAAAA,CAAY8G,GAAAA,CAAAtG,eAAoBoH,cAAc,CAAA;AAG9CH,UAAAA,kBAAAA,GAAAA,MAA2B1G,cAAa0H,eAAAA,CAAA;AAAA,YAAAC,QAAAA,EAC5BnB,aAAAA;AAAAA,YAAaoB,KAAAA,EAChBf;AAAAA,WACR,CAAA;AAAA;AAHiB;AAQtBN,MAAAA,MAAAA,CAAMY,cAAAA,EAAgB;AAEtBU,MAAAA,MAAAA,CAAO1H,SAAS,0BAA0B,CAAA;AAG1C,MAAA,IAAA2H,eAAAA,GAAsB7I,YAAAA,CAAYI,GAAAA,CAAAC,UAAAA,EAAgB;AAAE,MAAA,IAAA,CAE/CwI,eAAAA,EAAe;AAClBA,QAAAA,eAAAA,GAAkBxJ,UAAAA,IAAU,IAAA;AAC5BW,QAAAA,YAAAA,CAAY8G,GAAAA,CAAAzG,WAAgBwI,eAAe,CAAA;AAAA;AAI7CD,MAAAA,MAAAA,CAAOC,iBAAiB,8BAA8B,CAAA;AAEtD,MAAA,MAAAC,eAAAA,GAAwBnD,eAAAA,GACpBS,mBAAAA,GACE,eAAA,GACA,KAAA,GAAKc,MAAAA;AAGX,MAAA,MAAA6B,uBAA6BC,aAAAA,CAAA;AAAA,QAAAzI,WAEdsI,eAAAA,CAAetI,SAAAA;AAAAA,QAAA0I,YACdJ,eAAAA,CAAeI;AAAAA,OAAA,EAE7BvJ,kBACA,MACF,CAAA;AAEA,MAAA,IAAAwJ,SAAazB,kBAAAA,EAAkB0B,iBAAAA;AAAoB,MAAA,IAEjD1B,oBAAkB2B,gBAAAA,CAAAC,IAAAA,KAA4B,aAC9C5B,kBAAAA,CAAkB2B,gBAAAA,CAAAE,YAA8B,cAAA,EAAc;AAI9DJ,QAAAA,MAAAA,GAASA,wCAAAA,CAAAA;AAAAA,UAAAA,KAAAA,EACAzB,mBAAkB2B,gBAAAA,CAAAG,KAAAA;AAAAA,UAAAC,WACd/B,kBAAAA,CAAkB+B;AAAAA,SAC9B,CAAA;AAAA;AAIHxJ,MAAAA,YAAAA,CAAY8G,GAAAA,CAAA2C,WAAgBZ,eAAe,CAAA;AAE3C,MAAA,MAAAa,gBAAoB1D,aAAAA,CAAc6C,eAAe,CAAA,GAC7CA,eAAAA,CAAe5C,OAAAC,kBAAAA,GACf1G,OAAAA;AAEJ,MAAA,MAAAmK,YAAAA,GAAA,MAA2B3H,cAAAA,CAAc4H,WAAAA,CAAA;AAAA,QAAAtC,MAAAA;AAAAA,QAAAuC,UAAAA,EAAA;AAAA,UAAAC,KAAAA,EAG9B5I,OAAAA;AAAAA,UAAO6I,WAAAA,EACDpE,eAAAA;AAAAA,UAAemD,eAAAA;AAAAA,UAAA3I,UAElB0I,eAAAA,CAAe1I,QAAAA;AAAAA,UAAA6J,WACdnB,eAAAA,CAAemB,SAAAA;AAAAA,UAAAd,MAAAA;AAAAA,UAAA/C,WAAAA,EAE1BA,aAAAA;AAAAA,UAAW9G,UAAAA,EACCwJ,eAAAA;AAAAA,UAAelC,OAAAA;AAAAA,UAAA,GAGxBoC,oBAAAA;AAAAA,UAAoBL,QAAAA,EACbuB,OAAO1C,aAAa;AAAA;AAAC,OAElC,CAAA;AAAE,MAAA,IAGCE,kBAAAA,EAAkB;AACpBjB,QAAAA,eAAAA,CAAgBiB,mBAAkB2B,gBAAiB,CAAA;AAAA;AAAC,MAAA,IAAA;AAMpD,QAAA,MAAAc,wBAA8BpF,mBAAAA,CAAmB;AAAA,UAAAzB,SACtCsG,YAAAA,CAAYhH;AAAAA,SAEtB,CAAA;AAAE,QAAA,IAECsE,WAAAA,EAAW;AACbA,UAAAA,WAAAA,CAAW;AAAA,YAAAxF,KAAAA,EACFkI,YAAAA;AAAAA,YAAYlF,cAAAA,EACHyF;AAAAA,WACjB,CAAA;AAAA;AAGH,QAAA,MAAAzF,uBAA6ByF,qBAAAA;AAAsB,QAAA,OAAA;AAAA,UAAAC,aAAAA,EAUlC,YAAA;AAAA,UAAYC,OAAAA,EAAA;AAAA,YAAA9B,MAAAA,EAEjBZ,aAAAA;AAAAA,YAAa2C,OAAAA,EACZ1C;AAAAA,WAAgB;AAAA,UAAA2C,UAAAA,EAAA;AAAA,YAAA9F,SAAAA,EAGdmF,YAAAA;AAAAA,YAAYlF;AAAAA,WAAA;AAAA,UAAApF,UAAAA,EAGbwJ,eAAAA;AAAAA,UAAe3H;AAAAA,SAAA;AAAA,eAAAqJ,IAAAA,EAAA;AAItB3I,QAAAA,MAAAA,OAAAA,GAAAA,IAAAA;AAAK,QAAA,IAGR6F,kBAAAA,EAAkB;AACpBhB,UAAAA,UAAAA,CAAWgB,mBAAkB2B,gBAAiB,CAAA;AAAA;AAAC,QAAA,MAE3CxH,OAAAA;AAAAA;AAAK,KAAA;AAEdzC,IAAAA,CAAAA,OAAA+B,OAAAA;AAAA/B,IAAAA,CAAAA,OAAAyB,QAAAA;AAAAzB,IAAAA,CAAAA,OAAA2B,YAAAA;AAAA3B,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAAsH,UAAAA;AAAAtH,IAAAA,CAAAA,OAAA6C,cAAAA;AAAA7C,IAAAA,CAAAA,OAAAE,UAAAA;AAAAF,IAAAA,CAAAA,OAAA2F,mBAAAA;AAAA3F,IAAAA,CAAAA,OAAA6F,eAAAA;AAAA7F,IAAAA,CAAAA,OAAAiH,mBAAAA;AAAAjH,IAAAA,CAAAA,OAAAG,MAAAA;AAAAH,IAAAA,CAAAA,OAAAqH,eAAAA;AAAArH,IAAAA,CAAAA,OAAAwH,OAAAA;AAAAxH,IAAAA,CAAAA,OAAAwG,eAAAA;AAAAxG,IAAAA,CAAAA,OAAAO,gBAAAA;AAAAP,IAAAA,CAAAA,OAAA0B,UAAAA;AAAA1B,IAAAA,CAAAA,OAAA4B,aAAAA;AAAA5B,IAAAA,CAAAA,CAAA,EAAA,IAAAa,YAAAA,CAAAI,GAAAA;AAAAjB,IAAAA,CAAAA,CAAA,EAAA,IAAAa,YAAAA,CAAA8G,GAAAA;AAAA3H,IAAAA,CAAAA,OAAA0H,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA1H,EAAA,EAAA,CAAA;AAAA;AAnMD,EAAA,MAAAqL,gBAAAA,GAAyB3D,GAAAA;AAqMzB,EAAA,MAAA4D,sBAA4BC,2BAAAA,EAA4B;AAAE,EAAA,IAAA3D,GAAAA;AAAA,EAAA,IAAA5H,EAAA,EAAA,CAAA,KAAAkG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAI3CyB,IAAAA,GAAAA,IAAA/H,wBAAA,CAAA;AAA0BG,IAAAA,CAAAA,OAAA4H,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA5H,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,IAAAoL,GAAAA;AAAA,EAAA,IAAAI,GAAAA;AAAA,EAAA,IAAAxL,CAAAA,SAAAG,MAAAA,EAAA;AAC5BiL,IAAAA,GAAAA,GAAAK,CAAAA,MAAAA,KAAA;AACTtL,MAAAA,MAAAA,CAAMoC,GAAAA,CAAK,uBAAuBS,MAAI,CAAA;AAAA,KAAC;AAEhCwI,IAAAA,GAAAA,GAAAE,CAAAA,OAAAA,KAAA;AACPvL,MAAAA,MAAAA,CAAMsC,KAAAA,CAAO,qBAAqBA,OAAK,CAAA;AAAA,KAAC;AACzCzC,IAAAA,CAAAA,OAAAG,MAAAA;AAAAH,IAAAA,CAAAA,OAAAoL,GAAAA;AAAApL,IAAAA,CAAAA,OAAAwL,GAAAA;AAAAA,GAAA,MAAA;AAAAJ,IAAAA,GAAAA,GAAApL,EAAA,EAAA,CAAA;AAAAwL,IAAAA,GAAAA,GAAAxL,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,IAAA2L,GAAAA;AAAA,EAAA,IAAA3L,CAAAA,CAAA,EAAA,CAAA,KAAAsL,mBAAAA,IAAAtL,CAAAA,SAAAG,MAAAA,IAAAH,CAAAA,CAAA,EAAA,CAAA,KAAAa,YAAAA,EAAA;AACU8K,IAAAA,GAAAA,GAAAA,MAAA;AACTxL,MAAAA,MAAAA,CAAMoC,IAAK,2DAA2D,CAAA;AACtE+I,MAAAA,mBAAAA,CAAmB;AAAA,QAAAM,MAAAA,EAAA;AAAA,OAAiB,CAAA;AACpC/K,MAAAA,YAAAA,CAAYgL,iBAAAA,EAAmB;AAAA,KAAC;AACjC7L,IAAAA,CAAAA,OAAAsL,mBAAAA;AAAAtL,IAAAA,CAAAA,OAAAG,MAAAA;AAAAH,IAAAA,CAAAA,OAAAa,YAAAA;AAAAb,IAAAA,CAAAA,OAAA2L,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA3L,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,IAAA8L,GAAAA;AAAA,EAAA,IAAA9L,CAAAA,CAAA,EAAA,CAAA,KAAAqL,gBAAAA,IAAArL,EAAA,EAAA,CAAA,KAAAoL,GAAAA,IAAApL,CAAAA,CAAA,EAAA,CAAA,KAAAwL,GAAAA,IAAAxL,CAAAA,SAAA2L,GAAAA,EAAA;AAb+BG,IAAAA,GAAAA,GAAA;AAAA,MAAAC,UAAAA,EACpBV,gBAAAA;AAAAA,MAAgBW,WAAAA,EACfpE,GAAAA;AAAAA,MAA0BvF,SAAAA,EAC5B+I,GAAAA;AAAAA,MAEV5I,OAAAA,EACQgJ,GAAAA;AAAAA,MAERS,SAAAA,EACUN;AAAAA,KAIV;AACF3L,IAAAA,CAAAA,OAAAqL,gBAAAA;AAAArL,IAAAA,CAAAA,OAAAoL,GAAAA;AAAApL,IAAAA,CAAAA,OAAAwL,GAAAA;AAAAxL,IAAAA,CAAAA,OAAA2L,GAAAA;AAAA3L,IAAAA,CAAAA,OAAA8L,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA9L,EAAA,EAAA,CAAA;AAAA;AAdD,EAAA,MAAAkM,aAAAA,GAAsBC,YAAYL,GAcjC,CAAA;AAED,EAAA,MAAAM,oBAA0BF,aAAAA,CAAazB,WAAAA;AAAa,EAAA,IAAA4B,GAAAA;AAAA,EAAA,IAAArM,EAAA,EAAA,CAAA,KAAA2B,gBAAA3B,CAAAA,CAAA,EAAA,MAAA6C,cAAAA,IAAA7C,CAAAA,CAAA,EAAA,CAAA,KAAAkM,aAAAA,IAAAlM,EAAA,EAAA,CAAA,KAAA4B,iBAAA5B,CAAAA,SAAAa,YAAAA,EAAA;AAEtCwL,IAAAA,GAAAA,GAAAA,MAAA;AACZxL,MAAAA,YAAAA,CAAYgL,iBAAAA,EAAmB;AAC/BlK,MAAAA,YAAAA,CAAYqG,KAAAA,EAAO;AACnBpG,MAAAA,aAAAA,CAAaoG,KAAAA,EAAO;AACpBnF,MAAAA,cAAAA,CAAcmF,KAAAA,EAAO;AACrBkE,MAAAA,aAAAA,CAAalE,KAAAA,EAAO;AAAA,KAAC;AACtBhI,IAAAA,CAAAA,OAAA2B,YAAAA;AAAA3B,IAAAA,CAAAA,OAAA6C,cAAAA;AAAA7C,IAAAA,CAAAA,OAAAkM,aAAAA;AAAAlM,IAAAA,CAAAA,OAAA4B,aAAAA;AAAA5B,IAAAA,CAAAA,OAAAa,YAAAA;AAAAb,IAAAA,CAAAA,OAAAqM,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArM,EAAA,EAAA,CAAA;AAAA;AAND,EAAA,MAAAgI,KAAAA,GAAcqE,GAAAA;AAMZ,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAtM,EAAA,EAAA,CAAA,KAAAgI,SAAAhI,CAAAA,SAAAoM,iBAAAA,EAAA;AAEgBE,IAAAA,GAAAA,GAAAC,CAAAA,OAAAA,KAAA;AAGhBvE,MAAAA,KAAAA,EAAM;AAAC,MAAA,OACAoE,kBAAkBG,OAAO,CAAA;AAAA,KAAC;AAClCvM,IAAAA,CAAAA,OAAAgI,KAAAA;AAAAhI,IAAAA,CAAAA,OAAAoM,iBAAAA;AAAApM,IAAAA,CAAAA,OAAAsM,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAtM,EAAA,EAAA,CAAA;AAAA;AALD,EAAA,MAAAwM,SAAAA,GAAkBF,GAAAA;AAKhB,EAAA,IAAAG,GAAAA;AAAA,EAAA,IAAAzM,CAAAA,UAAAE,UAAAA,IAAAF,EAAA,GAAA,CAAA,KAAAa,aAAAI,GAAAA,EAAA;AAIAwL,IAAAA,GAAAA,GAAA5L,aAAYI,GAAAA,CAAAqJ,UAAAA,MACZzJ,YAAAA,CAAYI,GAAAA,CAAAC,YAAgB,IAC5BhB,UAAAA;AAAUF,IAAAA,CAAAA,QAAAE,UAAAA;AAAAF,IAAAA,CAAAA,CAAA,GAAA,IAAAa,YAAAA,CAAAI,GAAAA;AAAAjB,IAAAA,CAAAA,QAAAyM,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAzM,EAAA,GAAA,CAAA;AAAA;AAHZ,EAAA,MAAA0M,SAAAA,GACED,GAAAA;AAiBW,EAAA,MAAAE,GAAAA,GAAArJ,oBAAAA,CAAoBH,SAAAA,IAAcuC,mBAAAA,CAAmBvC,SAAAA;AAAU,EAAA,IAAAyJ,GAAAA;AAAA,EAAA,IAAA5M,CAAAA,CAAA,GAAA,CAAA,KAAAyB,QAAAA,IAAAzB,CAAAA,CAAA,GAAA,CAAA,KAAAK,OAAAA,IAAAL,CAAAA,CAAA,GAAA,CAAA,KAAA0F,mBAAAA,IAAA1F,CAAAA,CAAA,GAAA,CAAA,KAAAkM,aAAAA,CAAAlJ,IAAAA,IAAAhD,CAAAA,CAAA,GAAA,CAAA,KAAAkM,aAAAA,CAAAzJ,KAAAA,IAAAzC,CAAAA,CAAA,GAAA,CAAA,KAAAkM,aAAAA,CAAAjJ,OAAAA,IAAAjD,CAAAA,CAAA,GAAA,CAAA,KAAAkM,aAAAA,CAAAhJ,SAAAA,IAAAlD,CAAAA,CAAA,GAAA,CAAA,KAAAsD,oBAAAA,IAAAtD,CAAAA,CAAA,GAAA,CAAA,KAAAgI,KAAAA,IAAAhI,CAAAA,CAAA,GAAA,CAAA,KAAAwM,SAAAA,IAAAxM,CAAAA,CAAA,GAAA,CAAA,KAAAoM,iBAAAA,IAAApM,CAAAA,CAAA,GAAA,CAAA,KAAA0B,UAAAA,IAAA1B,CAAAA,CAAA,GAAA,CAAA,KAAA2M,GAAAA,IAAA3M,CAAAA,UAAA0M,SAAAA,EAAA;AAZrEE,IAAAA,GAAAA,GAAA;AAAA,MAAAvM,OAAAA;AAAAA,MAAA+L,iBAAAA;AAAAA,MAAApE,KAAAA;AAAAA,MAAAzB,UAAAA;AAAAA,MAAAiG,SAAAA;AAAAA,MAAA/K,QAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAA4B,oBAAAA;AAAAA,MAAAoC,mBAAAA;AAAAA,MAAAxC,WAWMgJ,aAAAA,CAAahJ,SAAAA;AAAAA,MAAAC,SAAAA,EACbwJ,GAAAA;AAAAA,MAA+D1J,SACjEiJ,aAAAA,CAAajJ,OAAAA;AAAAA,MAAAR,OACfyJ,aAAAA,CAAazJ,KAAAA;AAAAA,MAAAoK,QACZX,aAAAA,CAAalJ,IAAAA;AAAAA,MAAA0J;AAAAA,KAAA;AAEtB1M,IAAAA,CAAAA,QAAAyB,QAAAA;AAAAzB,IAAAA,CAAAA,QAAAK,OAAAA;AAAAL,IAAAA,CAAAA,QAAA0F,mBAAAA;AAAA1F,IAAAA,CAAAA,CAAA,GAAA,IAAAkM,aAAAA,CAAAlJ,IAAAA;AAAAhD,IAAAA,CAAAA,CAAA,GAAA,IAAAkM,aAAAA,CAAAzJ,KAAAA;AAAAzC,IAAAA,CAAAA,CAAA,GAAA,IAAAkM,aAAAA,CAAAjJ,OAAAA;AAAAjD,IAAAA,CAAAA,CAAA,GAAA,IAAAkM,aAAAA,CAAAhJ,SAAAA;AAAAlD,IAAAA,CAAAA,QAAAsD,oBAAAA;AAAAtD,IAAAA,CAAAA,QAAAgI,KAAAA;AAAAhI,IAAAA,CAAAA,QAAAwM,SAAAA;AAAAxM,IAAAA,CAAAA,QAAAoM,iBAAAA;AAAApM,IAAAA,CAAAA,QAAA0B,UAAAA;AAAA1B,IAAAA,CAAAA,QAAA2M,GAAAA;AAAA3M,IAAAA,CAAAA,QAAA0M,SAAAA;AAAA1M,IAAAA,CAAAA,QAAA4M,GAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA5M,EAAA,GAAA,CAAA;AAAA;AAAA,EAAA,OAjBM4M,GAAAA;AAiBN;;;;"}
1
+ {"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { DeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\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 { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/core/logger\";\nimport { useTrackedPrice } from \"./common/useTrackedPrice\";\nimport { isBridgePrice } from \"../prices/delta/queries/useDeltaPriceQuery\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: DeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: DeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: DeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: 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?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const chainId = useChainId();\n const { resolvedSlippage } = useSlippage();\n\n const trackedPrice = useTrackedPrice({\n price: deltaPrice,\n slippage: resolvedSlippage,\n side: \"SELL\", // @TODO add BUY support for Delta when available\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 { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: trackedPrice.get.usingPrice()?.srcToken ?? deltaPrice?.srcToken,\n // if we already approved some amount, save it in approval and signPermit objects\n srcAmount: trackedPrice.get.approvedAmount() ?? deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\", // @TODO add BUY support for Delta when available\n });\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\n const ensureTxReceipt = useEnsureTxReceipt();\n\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 _price = trackedPrice.get.usingPrice() ?? deltaPrice;\n const destChainId =\n // \"bridge\" in _price is not enough to differentiate the union produced with `??`\n _price && isBridgePrice(_price)\n ? _price.bridge.destinationChainId\n : chainId;\n\n const isContractAtAddress = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n }).data?.isContract;\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const partner = useWidgetConfig().partner;\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\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 createOrderMut.reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\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 if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // freeze allowanceToSet\n trackedPrice.set.approvedAmount(allowanceToSet);\n\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 deadline: orderDeadline,\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\n // as long as we had set approvedAmountRef, we will only get new prices that satisfy the allowance\n let deltaPriceToUse = trackedPrice.get.usingPrice();\n // usingPriceRef.current can be null depending on reset() timing (e.g. inside retry)\n if (!deltaPriceToUse) {\n deltaPriceToUse = deltaPrice || null;\n trackedPrice.set.usingPrice(deltaPriceToUse);\n }\n\n // as long as we had set approvedAmountRef, we will only get new prices that satisfy the allowance\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n // freeze final price to avoid any changes to displayed and result amounts\n trackedPrice.set.finalPrice(deltaPriceToUse);\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n // @TODO if necessary to support add more params\n partner,\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n try {\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\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: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const invalidateTokenData = useInvalidateTokenDataQuery();\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n trackedPrice.resetTrackedPrice();\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n trackedPrice.resetTrackedPrice();\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n reset();\n return runDeltaOrderFlow(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 deltaPrice;\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n usedPrice,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","t0","$","_c","deltaPrice","logger","useLogger","chainId","useChainId","resolvedSlippage","useSlippage","t1","price","slippage","side","trackedPrice","useTrackedPrice","t2","srcToken","get","usingPrice","t3","srcAmount","approvedAmount","t4","spenderContractType","swapSide","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","address","account","useAccount","t5","minClient","useMinViemClient","t6","onSuccess","order","log","onError","error","t7","client","mutationOptions","createOrderMut","useCreateDeltaOrder","t8","data","isError","isPending","isSuccess","isCreatingOrder","isOrderSent","deltaOrderSubmission","t9","id","t10","t11","t12","t13","order_0","order_1","order_2","order_3","t14","orderId","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","watchOrderExecution","useWatchDeltaAuction","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","t15","t16","t17","t18","isLoading","isRefetching","t19","t20","t21","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","deltaOrderExecution","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t22","Symbol","for","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","t23","_price","t24","isBridgePrice","bridge","destinationChainId","destChainId","isContractAtAddress","useIsContractAtAddress","isContract","t25","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","useWidgetConfig","t26","set","t27","onTxSent","onOrderSent","undefined","reset","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","txHash","actionType","receiptPromise","signPermitAsync","deadline","value","assert","deltaPriceToUse","beneficiaryType","amountsAfterSlippage","applySlippage","destAmount","permit","permitEncodedArgs","signedPermitData","type","variant","nonce","signature","finalPrice","destChainId_0","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","Number","lastOrderStatePromise","tradeFlowType","approve","receipt","deltaOrder","t28","submitDeltaOrder","invalidateTokenData","useInvalidateTokenDataQuery","t29","data_0","error_1","t30","nonces","resetTrackedPrice","t31","mutationFn","mutationKey","onSettled","deltaOrderMut","useMutation","runDeltaOrderFlow","t32","t33","options","retryFlow","t34","usedPrice","t35","t36","result"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { useDeltaFlow } from './useDeltaFlow.js';
3
- import { useLogger } from '../../../widget/logger.js';
3
+ import { useLogger } from '../../../core/logger.js';
4
4
  import { constructExplorerOrderDetailsLink } from '../../../lib/utils/explorer.js';
5
5
  import { isUserCancelledError } from './common/errors.js';
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"sourcesContent":["import type {\n DeltaOrderStep,\n DeltaOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useDeltaFlow,\n type SubmitDeltaOrderResult,\n type UseDeltaFlowInput,\n type UseDeltaFlowResult,\n} from \"./useDeltaFlow\";\nimport { useLogger } from \"@/widget/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseDeltaSwapStepResult = {\n startDeltaSwap: UseDeltaFlowResult[\"runDeltaOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseDeltaFlowResult[\"reset\"];\n cancelFlow: UseDeltaFlowResult[\"cancelFlow\"];\n retryFlow: UseDeltaFlowResult[\"retryFlow\"];\n isCancellable: boolean;\n step?: DeltaOrderStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: DeltaOrderStepKey;\n result?: SubmitDeltaOrderResult;\n usedPrice: UseDeltaFlowResult[\"usedPrice\"];\n};\n\nexport function useDeltaSwapStep(\n options: UseDeltaFlowInput\n): UseDeltaSwapStepResult {\n const logger = useLogger(\"DeltaSwapStep\");\n const deltaFlow = useDeltaFlow(options);\n\n const startDeltaSwap = deltaFlow.runDeltaOrderFlow;\n const reset = deltaFlow.reset;\n const cancelFlow = deltaFlow.cancelFlow;\n const retryFlow = deltaFlow.retryFlow;\n\n let step: DeltaOrderStep | 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 deltaFlow.signPermit.isPending || !deltaFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n deltaFlow.approval.isPending || !deltaFlow.approval.isSuccess;\n\n const willUsePermit =\n deltaFlow.approval.needsApproval &&\n deltaFlow.signPermit.isPermitSupported &&\n deltaFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n deltaFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (deltaFlow.deltaOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n deltaFlow.approval.txHash || deltaFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (deltaFlow.deltaOrderExecution.isPending) {\n const orderStatus = deltaFlow.deltaOrderExecution.lastOrderState?.status;\n const notYetRunning =\n !orderStatus || orderStatus === \"NOT_STARTED\" || orderStatus === \"POSTED\";\n step = {\n key: notYetRunning ? \"auction\" : \"order-execution\",\n };\n } else if (deltaFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n deltaFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const orderId = deltaFlow.deltaOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n logger.once.log(\"step\", step, deltaFlow, {\n isCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(deltaFlow.error) ? null : deltaFlow.error;\n\n let erroredStep: DeltaOrderStepKey | undefined;\n\n if (deltaFlow.isError) {\n if (deltaFlow.approval.isError || deltaFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (deltaFlow.deltaOrderSubmission.isError) {\n erroredStep = \"auction\";\n } else if (deltaFlow.deltaOrderExecution.isError) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n usedPrice: deltaFlow.usedPrice,\n startDeltaSwap,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: deltaFlow.result,\n };\n}\n"],"names":["useDeltaSwapStep","options","$","_c","logger","useLogger","deltaFlow","useDeltaFlow","startDeltaSwap","runDeltaOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","deltaOrderSubmission","permitOrApprovalHappened","txHash","signature","deltaOrderExecution","orderStatus","lastOrderState","status","notYetRunning","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","orderId","order","id","constructExplorerOrderDetailsLink","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","t1","result","usedPrice"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"sourcesContent":["import type {\n DeltaOrderStep,\n DeltaOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useDeltaFlow,\n type SubmitDeltaOrderResult,\n type UseDeltaFlowInput,\n type UseDeltaFlowResult,\n} from \"./useDeltaFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseDeltaSwapStepResult = {\n startDeltaSwap: UseDeltaFlowResult[\"runDeltaOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseDeltaFlowResult[\"reset\"];\n cancelFlow: UseDeltaFlowResult[\"cancelFlow\"];\n retryFlow: UseDeltaFlowResult[\"retryFlow\"];\n isCancellable: boolean;\n step?: DeltaOrderStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: DeltaOrderStepKey;\n result?: SubmitDeltaOrderResult;\n usedPrice: UseDeltaFlowResult[\"usedPrice\"];\n};\n\nexport function useDeltaSwapStep(\n options: UseDeltaFlowInput\n): UseDeltaSwapStepResult {\n const logger = useLogger(\"DeltaSwapStep\");\n const deltaFlow = useDeltaFlow(options);\n\n const startDeltaSwap = deltaFlow.runDeltaOrderFlow;\n const reset = deltaFlow.reset;\n const cancelFlow = deltaFlow.cancelFlow;\n const retryFlow = deltaFlow.retryFlow;\n\n let step: DeltaOrderStep | 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 deltaFlow.signPermit.isPending || !deltaFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n deltaFlow.approval.isPending || !deltaFlow.approval.isSuccess;\n\n const willUsePermit =\n deltaFlow.approval.needsApproval &&\n deltaFlow.signPermit.isPermitSupported &&\n deltaFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n deltaFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (deltaFlow.deltaOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n deltaFlow.approval.txHash || deltaFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (deltaFlow.deltaOrderExecution.isPending) {\n const orderStatus = deltaFlow.deltaOrderExecution.lastOrderState?.status;\n const notYetRunning =\n !orderStatus || orderStatus === \"NOT_STARTED\" || orderStatus === \"POSTED\";\n step = {\n key: notYetRunning ? \"auction\" : \"order-execution\",\n };\n } else if (deltaFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n deltaFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const orderId = deltaFlow.deltaOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n logger.once.log(\"step\", step, deltaFlow, {\n isCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(deltaFlow.error) ? null : deltaFlow.error;\n\n let erroredStep: DeltaOrderStepKey | undefined;\n\n if (deltaFlow.isError) {\n if (deltaFlow.approval.isError || deltaFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (deltaFlow.deltaOrderSubmission.isError) {\n erroredStep = \"auction\";\n } else if (deltaFlow.deltaOrderExecution.isError) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n usedPrice: deltaFlow.usedPrice,\n startDeltaSwap,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: deltaFlow.result,\n };\n}\n"],"names":["useDeltaSwapStep","options","$","_c","logger","useLogger","deltaFlow","useDeltaFlow","startDeltaSwap","runDeltaOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","deltaOrderSubmission","permitOrApprovalHappened","txHash","signature","deltaOrderExecution","orderStatus","lastOrderState","status","notYetRunning","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","orderId","order","id","constructExplorerOrderDetailsLink","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","t1","result","usedPrice"],"mappings":";;;;;;AA6BO,SAAAA,iBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,eAAe,CAAA;AACxC,EAAA,MAAAC,SAAAA,GAAkBC,aAAaN,OAAO,CAAA;AAEtC,EAAA,MAAAO,iBAAuBF,SAAAA,CAASG,iBAAAA;AAChC,EAAA,MAAAC,QAAcJ,SAAAA,CAASI,KAAAA;AACvB,EAAA,MAAAC,aAAmBL,SAAAA,CAASK,UAAAA;AAC5B,EAAA,MAAAC,YAAkBN,SAAAA,CAASM,SAAAA;AAAW,EAAA,IAAAC,YAAAA;AAAA,EAAA,IAAAC,aAAAA;AAAA,EAAA,IAAAC,IAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAI,SAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAE,OAAAY,IAAAA,EAAA;AAItC,IAAA,MAAAC,wCAGEX,SAAAA,CAASY,UAAAA,CAAAC,SAAAA,IAAA,CAA0Bb,UAASY,UAAAA,CAAAE,cAAAA;AAE9C,IAAA,MAAAC,mCAGEf,SAAAA,CAASgB,QAAAA,CAAAH,SAAAA,IAAA,CAAwBb,UAASgB,QAAAA,CAAAC,SAAAA;AAE5C,IAAA,MAAAC,aAAAA,GACElB,UAASgB,QAAAA,CAAAG,aAAAA,IACTnB,UAASY,UAAAA,CAAAQ,iBAAAA,IACTpB,UAASY,UAAAA,CAAAS,mBAAAA;AAEX,IAAA,MAAAC,wCAAAA,GAAiDJ,gBAC7CP,qCAAAA,GACAI,gCAAAA;AAAiC,IAAA,IAGnCf,SAAAA,CAASgB,QAAAA,CAAAG,aAAAA,IACTG,wCAAAA,EAAwC;AAExCb,MAAAA,IAAAA,GAAAA;AAAAA,QAAAA,GAAAA,EAAcA,WAAAA;AAAAA,QAAWA,OAAAA,EAAWA;AAAAA,OAAoBA;AAAAA,KAApD,MAAA;AAAA,MAAA,IACKT,SAAAA,CAASuB,qBAAAV,SAAAA,EAAA;AAClB,QAAA,MAAAW,2BAAA,CAAA,EACExB,UAASgB,QAAAA,CAAAS,MAAAA,IAAoBzB,UAASY,UAAAA,CAAAc,SAAAA,CAAAA;AAGxCjB,QAAAA,IAAAA,GAAAA;AAAAA,UAAAA,GAAAA,EACOA,WAAAA;AAAAA,UAAWA,OAAAA,EACPe,2BACL,iBAAA,GACA;AAAA,SAA4B;AAAA,OAJ9B,MAAA;AAAA,QAAA,IAMKxB,SAAAA,CAAS2B,oBAAAd,SAAAA,EAAA;AAClB,UAAA,MAAAe,WAAAA,GAAoB5B,SAAAA,CAAS2B,mBAAAA,CAAAE,cAAAA,EAAAC,MAAAA;AAC7B,UAAA,MAAAC,aAAAA,GACE,CAACH,WAAAA,IAAeA,WAAAA,KAAgB,iBAAiBA,WAAAA,KAAgB,QAAA;AACnEnB,UAAAA,IAAAA,GAAAA;AAAAA,YAAAA,GAAAA,EACOsB,gBAAgB,SAAA,GAAY;AAAA,WAAiB;AAAA,SADhD,MAAA;AAAA,UAAA,IAGK/B,UAASa,SAAAA,EAAA;AAGlBJ,YAAAA,IAAAA,GAAAA;AAAAA,cAAAA,GAAAA,EAAcA,WAAAA;AAAAA,cAAWA,OAAAA,EAAWA;AAAAA,aAA4BA;AAAAA;AAA5D;AAAA;AAAA;AAGN,IAAA,MAAAuB,iBAAAA,GACEvB,MAAIwB,GAAAA,KAAU,WAAA,IACdxB,KAAIyB,OAAAA,KAAa,oBAAA,IACjBlC,UAASgB,QAAAA,CAAAmB,WAAAA;AAEX,IAAA,MAAAC,kBAAAA,GACE3B,MAAIwB,GAAAA,KAAU,WAAA,KACbxB,KAAIyB,OAAAA,KAAa,iBAAA,IAChBzB,KAAIyB,OAAAA,KAAa,4BAAA,CAAA;AAErB1B,IAAAA,aAAAA,GAGEwB,iBAAAA,IAAqBI,kBAAAA;AAEvB,IAAA,MAAAC,OAAAA,GAAgBrC,SAAAA,CAASuB,oBAAAA,CAAAe,KAAAA,EAAAC,EAAAA;AACzBhC,IAAAA,YAAAA,GAAqB8B,OAAAA,GACjBG,iCAAAA,CAAkCH,OAAO,CAAA,GAACI,MAAAA;AAG9C3C,IAAAA,MAAAA,CAAMY,IAAAA,CAAAgC,GAAAA,CAAU,MAAA,EAAQjC,IAAAA,EAAMT,SAAAA,EAAS;AAAA,MAAAQ,aAAAA;AAAAA,MAAAD,YAAAA;AAAAA,MAAA8B;AAAAA,KAItC,CAAA;AAACzC,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,CAAAY,IAAAA;AAAAd,IAAAA,CAAAA,MAAAW,YAAAA;AAAAX,IAAAA,CAAAA,MAAAY,aAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,IAAAA;AAAAA,GAAA,MAAA;AAAAF,IAAAA,YAAAA,GAAAX,EAAA,CAAA,CAAA;AAAAY,IAAAA,aAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAAa,IAAAA,IAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAA+C,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,CAAA4C,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqB7C,SAAAA,CAAS4C,KAAM,CAAA,GAAC,OAAU5C,SAAAA,CAAS4C,KAAAA;AAAMhD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,SAAAA,CAAA4C,KAAAA;AAAAhD,IAAAA,CAAAA,MAAA+C,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,CAAA,CAAA;AAAA;AAA5E,EAAA,MAAAgD,KAAAA,GAAcD,EAAAA;AAEVG,EAAAA,IAAAA,WAAAA;AAA0C,EAAA,IAE1C9C,UAAS+C,OAAAA,EAAA;AAAA,IAAA,IACP/C,SAAAA,CAASgB,QAAAA,CAAA+B,OAAAA,IAAqB/C,SAAAA,CAASY,WAAAmC,OAAAA,EAAmB;AAC5DD,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,KAAH,MAAA;AAAA,MAAA,IACF9C,SAAAA,CAASuB,qBAAAwB,OAAAA,EAAA;AAClBD,QAAAA,WAAAA,GAAcA,SAAAA;AAAAA,OAAH,MAAA;AAAA,QAAA,IACF9C,SAAAA,CAAS2B,oBAAAoB,OAAAA,EAAA;AAClBD,UAAAA,WAAAA,GAAcA,iBAAAA;AAAAA;AAAH;AAAA;AAAA;AAAA,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAApD,CAAAA,QAAAS,UAAAA,IAAAT,EAAA,CAAA,CAAA,KAAAI,UAAAiD,MAAAA,IAAArD,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,CAAAkD,aAAAtD,CAAAA,CAAA,EAAA,MAAAgD,KAAAA,IAAAhD,CAAAA,CAAA,EAAA,CAAA,KAAAkD,WAAAA,IAAAlD,EAAA,EAAA,CAAA,KAAAW,gBAAAX,CAAAA,SAAAY,aAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAQ,KAAAA,IAAAR,EAAA,EAAA,CAAA,KAAAU,aAAAV,CAAAA,SAAAM,cAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAa,IAAAA,EAAA;AAIRuC,IAAAA,EAAAA,GAAA;AAAA,MAAAE,WACMlD,SAAAA,CAASkD,SAAAA;AAAAA,MAAAhD,cAAAA;AAAAA,MAAAE,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAE,aAAAA;AAAAA,MAAAC,IAAAA;AAAAA,MAAAF,YAAAA;AAAAA,MAAAqC,KAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAG,QAYZjD,SAAAA,CAASiD;AAAAA,KAAA;AAClBrD,IAAAA,CAAAA,MAAAS,UAAAA;AAAAT,IAAAA,CAAAA,CAAA,CAAA,IAAAI,SAAAA,CAAAiD,MAAAA;AAAArD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,SAAAA,CAAAkD,SAAAA;AAAAtD,IAAAA,CAAAA,OAAAgD,KAAAA;AAAAhD,IAAAA,CAAAA,OAAAkD,WAAAA;AAAAlD,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,OAAAY,aAAAA;AAAAZ,IAAAA,CAAAA,OAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,OAAAU,SAAAA;AAAAV,IAAAA,CAAAA,OAAAM,cAAAA;AAAAN,IAAAA,CAAAA,OAAAa,IAAAA;AAAAb,IAAAA,CAAAA,OAAAoD,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApD,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,OAdMoD,EAAAA;AAcN;;;;"}
@@ -14,8 +14,8 @@ import { useReceiverAddressValue } from '../../../components/widget/ReceiverAddr
14
14
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
15
15
  import { useApproveOrPermit } from './common/useApproveOrPermit.js';
16
16
  import { useMarkPermit1Or2NonceAsUsed } from './common/useSignPermit1Or2.js';
17
- import { useWidgetConfig } from '../../../widget/state/configAtom.js';
18
- import { useLogger } from '../../../widget/logger.js';
17
+ import { useWidgetConfig } from '../../../core/state/configAtom.js';
18
+ import { useLogger } from '../../../core/logger.js';
19
19
  import { useTrackedPrice } from './common/useTrackedPrice.js';
20
20
  import { useConstructGasParams } from './common/useConstructGasParams.js';
21
21