@velora-dex/widget 0.4.14 → 0.5.0

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 (229) hide show
  1. package/dist/components/web3/ConnectWallets/walletFlags.d.ts +90 -0
  2. package/dist/components/web3/ConnectWallets/walletFlags.d.ts.map +1 -0
  3. package/dist/components/web3/ConnectWallets/walletFlags.js +104 -0
  4. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -0
  5. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +4 -1
  6. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  7. package/dist/components/web3/ConnectWallets/walletIcons.js +23 -3
  8. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  10. package/dist/components/widget/AppHeader/Activities/Drawers.js +24 -14
  11. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  12. package/dist/components/widget/Button/CancelButton/CancelButton.js +44 -40
  13. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  14. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts +15 -0
  15. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts.map +1 -0
  16. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js +66 -0
  17. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -0
  18. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +5 -2
  19. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  20. package/dist/components/widget/Drawer/state/useDrawerControls.js +75 -2
  21. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +85 -49
  24. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  25. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -1
  26. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +33 -22
  27. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  28. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts +7 -0
  29. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts.map +1 -0
  30. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js +84 -0
  31. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -0
  32. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts +12 -0
  33. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts.map +1 -0
  34. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js +227 -0
  35. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -0
  36. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts +8 -0
  37. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts.map +1 -0
  38. package/dist/components/widget/TradeOverview/CancelOrder/constants.js +20 -0
  39. package/dist/components/widget/TradeOverview/CancelOrder/constants.js.map +1 -0
  40. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts +12 -0
  41. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts.map +1 -0
  42. package/dist/components/widget/TradeOverview/CancelOrder/utils.js +49 -0
  43. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -0
  44. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  45. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  46. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +38 -28
  47. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +16 -18
  50. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts +2 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +78 -64
  54. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/TradeComplete/index.js +21 -14
  57. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts +2 -1
  59. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts.map +1 -1
  60. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +66 -24
  61. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  62. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  63. package/dist/components/widget/TradeOverview/TradeError/index.js +11 -7
  64. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  65. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts +4 -1
  66. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeError/utils.js +20 -2
  68. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +5 -4
  70. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  73. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +15 -21
  74. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  75. package/dist/components/widget/TradeOverview/steps.d.ts +4 -0
  76. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  77. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  78. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +22 -5
  79. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  80. package/dist/components/widget/TradeOverview/tradeFlowContext.js +37 -11
  81. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  82. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +4 -1
  83. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  84. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +133 -31
  85. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  86. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts +7 -2
  87. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts.map +1 -1
  88. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +18 -14
  89. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  90. package/dist/components/widget/TransactionDetails/TransactionListItem.d.ts.map +1 -1
  91. package/dist/components/widget/TransactionDetails/TransactionListItem.js +1 -1
  92. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  93. package/dist/configurator/Configurator.d.ts.map +1 -1
  94. package/dist/core/Updaters.d.ts.map +1 -1
  95. package/dist/core/Updaters.js +2 -0
  96. package/dist/core/Updaters.js.map +1 -1
  97. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  98. package/dist/core/state/widgetEventsAtom.js +51 -37
  99. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  100. package/dist/events/types/{cancel.d.ts → cancelOrder.d.ts} +5 -2
  101. package/dist/events/types/cancelOrder.d.ts.map +1 -0
  102. package/dist/events/types/cancelTx.d.ts +35 -0
  103. package/dist/events/types/cancelTx.d.ts.map +1 -0
  104. package/dist/events/types/index.d.ts +5 -2
  105. package/dist/events/types/index.d.ts.map +1 -1
  106. package/dist/events/types/swap.d.ts +11 -1
  107. package/dist/events/types/swap.d.ts.map +1 -1
  108. package/dist/hooks/connectors/useIsConnectedSafe.js +1 -0
  109. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  110. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  111. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +20 -2
  112. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  113. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +197 -74
  114. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  115. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  116. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -1
  117. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  118. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +6 -1
  119. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  120. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +37 -24
  121. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  122. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts +2 -2
  123. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  124. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +28 -42
  125. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +6 -1
  127. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +16 -0
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +10 -4
  131. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +176 -145
  133. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +11 -0
  135. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -0
  136. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +69 -0
  137. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -0
  138. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +2 -2
  139. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  140. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +24 -28
  141. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  142. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts +6 -2
  143. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts.map +1 -1
  144. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +8 -2
  145. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  146. package/dist/hooks/swap/tradeFlow/common/errors.d.ts +6 -0
  147. package/dist/hooks/swap/tradeFlow/common/errors.d.ts.map +1 -1
  148. package/dist/hooks/swap/tradeFlow/common/errors.js +15 -1
  149. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  150. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +6 -1
  151. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  152. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +55 -19
  153. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  154. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +2 -2
  155. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  156. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +45 -57
  157. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  158. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -1
  159. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  160. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +26 -5
  161. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  162. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts +4 -4
  163. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +23 -37
  165. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +13 -1
  167. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  168. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +93 -26
  169. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  170. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +7 -1
  171. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  172. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +59 -42
  173. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  174. package/dist/hooks/txs/mutations/useReplaceTx.d.ts +86 -0
  175. package/dist/hooks/txs/mutations/useReplaceTx.d.ts.map +1 -0
  176. package/dist/hooks/txs/mutations/useReplaceTx.js +514 -0
  177. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -0
  178. package/dist/hooks/txs/mutations/useSendTx.d.ts +7 -2
  179. package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
  180. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  181. package/dist/hooks/txs/queries/useAccountNonce.d.ts +9 -0
  182. package/dist/hooks/txs/queries/useAccountNonce.d.ts.map +1 -0
  183. package/dist/hooks/txs/queries/useAccountNonce.js +31 -0
  184. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -0
  185. package/dist/hooks/txs/queries/useTxFees.d.ts +16 -0
  186. package/dist/hooks/txs/queries/useTxFees.d.ts.map +1 -0
  187. package/dist/hooks/txs/queries/useTxFees.js +103 -0
  188. package/dist/hooks/txs/queries/useTxFees.js.map +1 -0
  189. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  190. package/dist/hooks/txs/queries/useTxHistory.js +3 -2
  191. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  192. package/dist/hooks/txs/queries/useTxResponse.d.ts +2390 -0
  193. package/dist/hooks/txs/queries/useTxResponse.d.ts.map +1 -0
  194. package/dist/hooks/txs/queries/useTxResponse.js +75 -0
  195. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -0
  196. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts +2 -0
  197. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts.map +1 -0
  198. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +30 -0
  199. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -0
  200. package/dist/index.d.ts +1 -1
  201. package/dist/index.d.ts.map +1 -1
  202. package/dist/styles.css +3 -0
  203. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts +16 -0
  204. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts.map +1 -0
  205. package/dist/transactions/queries/ensureEstimateFeesPerGas.js +23 -0
  206. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -0
  207. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  208. package/dist/transactions/queries/ensureTxReceipt.js +1 -1
  209. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  210. package/dist/transactions/queries/ensureTxResponse.d.ts +17 -0
  211. package/dist/transactions/queries/ensureTxResponse.d.ts.map +1 -0
  212. package/dist/transactions/queries/ensureTxResponse.js +23 -0
  213. package/dist/transactions/queries/ensureTxResponse.js.map +1 -0
  214. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts +7 -0
  215. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts.map +1 -0
  216. package/dist/transactions/state/hooks/useMarkTxAsDropped.js +10 -0
  217. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -0
  218. package/dist/transactions/state/transactionsActionAtom.d.ts +12 -0
  219. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  220. package/dist/transactions/state/transactionsActionAtom.js +40 -1
  221. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  222. package/dist/transactions/status.d.ts +1 -1
  223. package/dist/transactions/status.d.ts.map +1 -1
  224. package/dist/transactions/status.js +6 -0
  225. package/dist/transactions/status.js.map +1 -1
  226. package/dist/transactions/types.d.ts +15 -2
  227. package/dist/transactions/types.d.ts.map +1 -1
  228. package/package.json +2 -2
  229. package/dist/events/types/cancel.d.ts.map +0 -1
@@ -1,8 +1,9 @@
1
- import { Address } from 'viem';
1
+ import { Address, TransactionReceipt } from 'viem';
2
2
  import { ApprovalFlowResult, SubmitTxResult, BatchTxStepResult } from '../../swap/tradeFlow/common/types';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
4
  import { CallsSentObject, TxSentObject } from '../../../lib/utils/transactionHandlers';
5
5
  import { LimitOrderFromApi } from '@velora-dex/sdk';
6
+ import { CancelOrderStepKey } from '../../../components/widget/TradeOverview/steps';
6
7
  declare const otcOrderFlowType = "otcOrder";
7
8
  export type UserDefinedOtcPrice = {
8
9
  srcTokenAddress: string;
@@ -20,6 +21,7 @@ export type SubmitOtcOrderResult = {
20
21
  wrapAndApproveBatch: SubmitTxResult;
21
22
  otcOrder: {
22
23
  sentOrder: LimitOrderFromApi;
24
+ lastOrderState?: LimitOrderFromApi;
23
25
  };
24
26
  otcPrice: UserDefinedOtcPrice;
25
27
  account: Address;
@@ -49,6 +51,8 @@ export type UseOtcOrderFlowResult = {
49
51
  error: Error | null;
50
52
  };
51
53
  otcOrderCancelation: {
54
+ txHash?: string;
55
+ receipt?: TransactionReceipt;
52
56
  isCancelingOrder: boolean;
53
57
  isOrderCanceled: boolean;
54
58
  lastOrderState?: LimitOrderFromApi;
@@ -56,6 +60,7 @@ export type UseOtcOrderFlowResult = {
56
60
  isError: boolean;
57
61
  isSuccess: boolean;
58
62
  error: Error | null;
63
+ step?: CancelOrderStepKey;
59
64
  };
60
65
  isPending: boolean;
61
66
  isSuccess: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcOrderFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useOtcOrderFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { useEnsureTxReceipt } from '../../txs/queries/useAwaitTx.js';
4
4
  import { useCreateLimitOrder } from '../mutations/useCreateLimitOrder.js';
5
5
  import { useCancelOtcOrderEventCallbacks, useCancelOtcOrderAndWait } from '../mutations/useCancelLimitOrder.js';
6
6
  import { useMinViemClient } from '../../useMinViemClient.js';
7
- import { useQueryClient, useMutation } from '@tanstack/react-query';
7
+ import { useMutation } from '@tanstack/react-query';
8
8
  import { useRef } from 'react';
9
9
  import { UserCancelledError } from '../../swap/tradeFlow/common/errors.js';
10
10
  import { handleTxSent } from '../../../lib/utils/transactionHandlers.js';
@@ -12,7 +12,7 @@ import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPerm
12
12
  import { useLogger } from '../../../core/logger.js';
13
13
  import { useOtcDeadline } from '../../../core/otc/state/deadlineAtom.js';
14
14
  import { useOtcReceiverAddressValue } from '../../../core/otc/state/receiverAddressAtom.js';
15
- import { useLimitOrderByHashQuery, limitOrderByHashQueryKey } from '../queries/useLimitOrders.js';
15
+ import { useLimitOrderByHashQuery } from '../queries/useLimitOrders.js';
16
16
  import { useWidgetEvents } from '../../../core/state/widgetEventsAtom.js';
17
17
  import { useBatchWrapAndApprove, shouldApproveOrBatchWrapAndApprove } from '../../swap/tradeFlow/common/useBatchWrapAndApprove.js';
18
18
  import { useChainMatches } from '../../useChainMatches.js';
@@ -84,7 +84,6 @@ function useOtcOrderFlow({
84
84
  orderParams: otcOrderSubmission.order?.orderHash
85
85
  });
86
86
  const cancelOrderEvents = useCancelOtcOrderEventCallbacks(otcOrderSubmission.order);
87
- const queryClient = useQueryClient();
88
87
  const orderChainId = otcOrderSubmission.order?.chainId;
89
88
  const {
90
89
  forcedChainMatchesWalletChain
@@ -108,11 +107,6 @@ function useOtcOrderFlow({
108
107
  },
109
108
  onSuccess: (txReceipt, vars) => {
110
109
  logger.log("Cancel Order success", txReceipt);
111
- if (otcOrderSubmission.order?.orderHash) {
112
- queryClient.refetchQueries({
113
- queryKey: limitOrderByHashQueryKey(otcOrderSubmission.order.orderHash)
114
- });
115
- }
116
110
  cancelOrderEvents.onSuccess?.(txReceipt, vars);
117
111
  },
118
112
  onError: (error_0, vars_0) => {
@@ -121,24 +115,27 @@ function useOtcOrderFlow({
121
115
  }
122
116
  }
123
117
  });
124
- const isCancelTxSucceeded = cancelOrderMut.data?.status === "success";
125
- const isCancelTxReverted = cancelOrderMut.data?.status === "reverted";
126
- const lastOrderState = limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.data ? {
118
+ const isCancelTxSucceeded = cancelOrderMut.result?.status === "success";
119
+ const isCancelTxReverted = cancelOrderMut.result?.status === "reverted";
120
+ const lastOrderState = limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.result ? {
127
121
  // optimistically update order state to CANCELLED
128
122
  // because API won't return the updated order state immediately
129
123
  // as it depends on the subgraph indexing
130
124
  ...limitOrderQuery.data,
131
125
  state: "CANCELLED",
132
- transactionHash: cancelOrderMut.data.transactionHash
126
+ transactionHash: cancelOrderMut.result.transactionHash
133
127
  } : limitOrderQuery.data;
134
128
  const otcOrderCancelation = {
129
+ txHash: cancelOrderMut.txHash,
130
+ receipt: cancelOrderMut.receipt,
135
131
  isCancelingOrder: cancelOrderMut.isPending,
136
132
  isOrderCanceled: isCancelTxSucceeded,
137
133
  lastOrderState,
138
134
  isPending: cancelOrderMut.isPending,
139
135
  isError: cancelOrderMut.isError || isCancelTxReverted,
140
136
  isSuccess: cancelOrderMut.isSuccess && isCancelTxSucceeded,
141
- error: cancelOrderMut.error
137
+ error: cancelOrderMut.error,
138
+ step: cancelOrderMut.step
142
139
  };
143
140
  const ensureTxReceipt = useEnsureTxReceipt();
144
141
  const currentAbortControllerRef = useRef(null);
@@ -322,22 +319,28 @@ function useOtcOrderFlow({
322
319
  const cancelOtcOrder = async () => {
323
320
  const orderToCancel = otcOrderSubmission.order;
324
321
  assert(orderToCancel, "No order to cancel");
325
- return cancelOrderMut.mutateAsync({
322
+ return cancelOrderMut.cancelOtcOrder({
326
323
  orderHash: orderToCancel.orderHash,
327
324
  onTxSent: ({
328
325
  chainId: chainId_0,
329
326
  transactionHash,
330
327
  receiptPromise
331
- }) => handleTxSent({
332
- chainId: chainId_0,
333
- transactionHash,
334
- action: "cancelOtcOrder",
335
- transactionSpecificData: {
328
+ }) => {
329
+ handleTxSent({
330
+ chainId: chainId_0,
331
+ transactionHash,
336
332
  action: "cancelOtcOrder",
337
- cancelledOrder: orderToCancel
338
- },
339
- receiptPromise
340
- })
333
+ transactionSpecificData: {
334
+ action: "cancelOtcOrder",
335
+ cancelledOrder: orderToCancel
336
+ },
337
+ receiptPromise
338
+ });
339
+ cancelOrderEvents.onTxSent?.({
340
+ chainId: chainId_0,
341
+ txHash: transactionHash
342
+ });
343
+ }
341
344
  });
342
345
  };
343
346
  const reset = () => {
@@ -351,6 +354,16 @@ function useOtcOrderFlow({
351
354
  reset();
352
355
  return runOtcOrderFlow(options);
353
356
  };
357
+ let result = otcOrderMut.data;
358
+ if (result && otcOrderCancelation.lastOrderState) {
359
+ result = {
360
+ ...result,
361
+ otcOrder: {
362
+ sentOrder: result.otcOrder.sentOrder,
363
+ lastOrderState: otcOrderCancelation.lastOrderState
364
+ }
365
+ };
366
+ }
354
367
  return {
355
368
  tradeFlowType: otcOrderFlowType,
356
369
  chainId,
@@ -369,7 +382,7 @@ function useOtcOrderFlow({
369
382
  // approval is an optional step
370
383
  isError: otcOrderMut.isError,
371
384
  error: otcOrderMut.error,
372
- result: otcOrderMut.data,
385
+ result,
373
386
  otcPrice
374
387
  };
375
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"sourcesContent":["import { 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 {\n ApprovalFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\nimport { useCreateLimitOrder } from \"../mutations/useCreateLimitOrder\";\nimport {\n useCancelOtcOrderAndWait,\n useCancelOtcOrderEventCallbacks,\n} from \"../mutations/useCancelLimitOrder\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n handleTxSent,\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useOtcDeadline } from \"@/core/otc/state/deadlineAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport {\n limitOrderByHashQueryKey,\n useLimitOrderByHashQuery,\n} from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatchWrapAndApprove,\n useBatchWrapAndApprove,\n} from \"@/hooks/swap/tradeFlow/common/useBatchWrapAndApprove\";\nimport type { BatchTxStepResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\n\nconst otcOrderFlowType = \"otcOrder\";\n\nexport type UserDefinedOtcPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n};\n\nexport type UseOtcOrderFlowInput = {\n otcPrice?: UserDefinedOtcPrice;\n preWrapETH?: boolean;\n};\n\nexport type SubmitOtcOrderResult = {\n tradeFlowType: typeof otcOrderFlowType;\n approve: SubmitTxResult;\n wrapAndApproveBatch: SubmitTxResult;\n otcOrder: {\n sentOrder: LimitOrderFromApi;\n };\n otcPrice: UserDefinedOtcPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseOtcOrderFlowResult = {\n tradeFlowType: typeof otcOrderFlowType;\n chainId: SupportedChainId;\n runOtcOrderFlow: (\n options?: RunOtcOrderOptions\n ) => Promise<SubmitOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunOtcOrderOptions) => Promise<SubmitOtcOrderResult>; // reset and retry flow\n cancelOtcOrder: () => void;\n approval: ApprovalFlowResult;\n wrapAndApprovalBatch: BatchTxStepResult;\n otcOrderSubmission: {\n order?: LimitOrderFromApi;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n otcOrderCancelation: {\n isCancelingOrder: boolean;\n isOrderCanceled: boolean;\n lastOrderState?: LimitOrderFromApi;\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?: SubmitOtcOrderResult;\n otcPrice?: UserDefinedOtcPrice;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runOtcOrderFlow\";\n\nexport function useOtcOrderFlow({\n otcPrice,\n preWrapETH,\n}: UseOtcOrderFlowInput): UseOtcOrderFlowResult {\n const logger = useLogger(\"OtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: otcPrice?.srcTokenAddress,\n srcAmount: otcPrice?.srcAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n /* 2.2. Or submit Batch tx (Wrap ETH + Approve WETH) */\n const {\n batchWrapAndApprove,\n reset: resetBatchWrapAndApprove,\n canBatchTxs,\n wrapAndApproveBatchResult: wrapAndApprovalBatch,\n } = useBatchWrapAndApprove({\n chainId,\n account,\n logger,\n tradeMode: \"otc\",\n });\n\n /* 4. Build and Submit OTC Order */\n const createOrderMut = useCreateLimitOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create OTC Order error\", error);\n },\n },\n });\n\n const otcOrderSubmission: UseOtcOrderFlowResult[\"otcOrderSubmission\"] = {\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 /// CANCELATION\n\n const limitOrderQuery = useLimitOrderByHashQuery({\n orderParams: otcOrderSubmission.order?.orderHash,\n });\n\n const cancelOrderEvents = useCancelOtcOrderEventCallbacks(\n otcOrderSubmission.order\n );\n const queryClient = useQueryClient();\n\n const orderChainId = otcOrderSubmission.order?.chainId as\n | SupportedChainId\n | undefined;\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const cancelOrderMut = useCancelOtcOrderAndWait({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: async (variables) => {\n assert(orderChainId, \"orderChainId is undefined\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n cancelOrderEvents.onMutate?.(variables);\n },\n onSuccess: (txReceipt, vars) => {\n logger.log(\"Cancel Order success\", txReceipt);\n if (otcOrderSubmission.order?.orderHash) {\n queryClient.refetchQueries({\n queryKey: limitOrderByHashQueryKey(\n otcOrderSubmission.order.orderHash\n ),\n });\n }\n\n cancelOrderEvents.onSuccess?.(txReceipt, vars);\n },\n onError: (error, vars) => {\n logger.error(\"Cancel Order error\", error);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const isCancelTxSucceeded = cancelOrderMut.data?.status === \"success\";\n const isCancelTxReverted = cancelOrderMut.data?.status === \"reverted\";\n\n const lastOrderState =\n limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.data\n ? {\n // optimistically update order state to CANCELLED\n // because API won't return the updated order state immediately\n // as it depends on the subgraph indexing\n ...limitOrderQuery.data,\n state: \"CANCELLED\" as const,\n transactionHash: cancelOrderMut.data.transactionHash,\n }\n : limitOrderQuery.data;\n\n const otcOrderCancelation: UseOtcOrderFlowResult[\"otcOrderCancelation\"] = {\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCanceled: isCancelTxSucceeded,\n lastOrderState,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError || isCancelTxReverted,\n isSuccess: cancelOrderMut.isSuccess && isCancelTxSucceeded,\n error: cancelOrderMut.error,\n };\n\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 = useOtcReceiverAddressValue();\n const deadline = useOtcDeadline();\n\n const { onOTCOrder } = useWidgetEvents();\n\n const submitOtcOrder = async ({\n onTxSent,\n }: RunOtcOrderOptions = {}): Promise<SubmitOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(otcPrice, \"Otc price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n let wrapAndApproveBatch: SubmitTxResult = {};\n\n const allowanceToSet = approval.allowanceToSet;\n\n const { shouldDoApprovalTx, shouldWrapAndApproveBatch } =\n shouldApproveOrBatchWrapAndApprove({\n approval,\n preWrapETH,\n canBatchTxs,\n });\n\n try {\n if (shouldWrapAndApproveBatch) {\n const sendCallsResult = await batchWrapAndApprove({\n approval,\n preWrapETH: {\n wrapAmount: BigInt(otcPrice.srcAmount),\n },\n onTxSent,\n signal,\n });\n\n const lastCallsReceipt =\n sendCallsResult?.receipts?.[sendCallsResult.receipts.length - 1];\n wrapAndApproveBatch = {\n callsId: sendCallsResult?.id,\n callsReceipt: lastCallsReceipt,\n };\n\n logger.log(\"~ wrap and approve batch tx ~ receipt:\", lastCallsReceipt);\n } else if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\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 action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\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 } catch (error) {\n logger.error(\"Approve tx error\", error);\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(otcPrice, \"otcPrice is not available\");\n assert(receiverAddress, \"Receiver address is not set\");\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:request\",\n params: {\n price: otcPrice,\n },\n },\n });\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n expiry: deadline,\n makerAsset: otcPrice.srcTokenAddress,\n takerAsset: otcPrice.destTokenAddress,\n makerAmount: otcPrice.srcAmount,\n takerAmount: otcPrice.destAmount,\n maker: account,\n taker: receiverAddress,\n },\n });\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:sent\",\n params: {\n price: otcPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: otcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n wrapAndApproveBatch,\n otcOrder: {\n sentOrder: orderFromAPI,\n },\n otcPrice: otcPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:failed\",\n params: {\n price: otcPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const otcOrderMut = useMutation({\n mutationFn: submitOtcOrder,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runOtcOrderFlow = otcOrderMut.mutateAsync;\n const cancelOtcOrder = async () => {\n const orderToCancel = otcOrderSubmission.order;\n assert(orderToCancel, \"No order to cancel\");\n return cancelOrderMut.mutateAsync({\n orderHash: orderToCancel.orderHash,\n onTxSent: ({ chainId, transactionHash, receiptPromise }) =>\n handleTxSent({\n chainId,\n transactionHash,\n action: \"cancelOtcOrder\",\n transactionSpecificData: {\n action: \"cancelOtcOrder\",\n cancelledOrder: orderToCancel,\n },\n receiptPromise,\n }),\n });\n };\n\n const reset = () => {\n approveTxMut.reset();\n createOrderMut.reset();\n otcOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n };\n\n const retryFlow = (\n options?: RunOtcOrderOptions\n ): Promise<SubmitOtcOrderResult> => {\n reset();\n return runOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: otcOrderFlowType,\n chainId,\n runOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelOtcOrder,\n approval,\n wrapAndApprovalBatch,\n otcOrderSubmission,\n otcOrderCancelation,\n // otcOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: otcOrderMut.isPending,\n isSuccess: otcOrderSubmission.isSuccess, // approval is an optional step\n isError: otcOrderMut.isError,\n error: otcOrderMut.error,\n result: otcOrderMut.data,\n otcPrice,\n };\n}\n"],"names":["otcOrderFlowType","OTC_ORDER_MUTATION_KEY","useOtcOrderFlow","otcPrice","preWrapETH","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","batchWrapAndApprove","reset","resetBatchWrapAndApprove","canBatchTxs","wrapAndApproveBatchResult","wrapAndApprovalBatch","useBatchWrapAndApprove","createOrderMut","useCreateLimitOrder","client","mutationOptions","onSuccess","order","log","onError","error","otcOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","limitOrderQuery","useLimitOrderByHashQuery","orderParams","orderHash","cancelOrderEvents","useCancelOtcOrderEventCallbacks","queryClient","useQueryClient","orderChainId","forcedChainMatchesWalletChain","useChainMatches","mutateAsync","switchChain","useSwitchChainWithGuard","cancelOrderMut","useCancelOtcOrderAndWait","onMutate","variables","assert","txReceipt","vars","refetchQueries","queryKey","limitOrderByHashQueryKey","isCancelTxSucceeded","status","isCancelTxReverted","lastOrderState","state","transactionHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useOtcReceiverAddressValue","deadline","useOtcDeadline","onOTCOrder","useWidgetEvents","submitOtcOrder","onTxSent","abortController","AbortController","signal","approveTxHash","approveTxReceipt","wrapAndApproveBatch","allowanceToSet","shouldDoApprovalTx","shouldWrapAndApproveBatch","shouldApproveOrBatchWrapAndApprove","sendCallsResult","wrapAmount","BigInt","lastCallsReceipt","receipts","length","callsId","id","callsReceipt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","failed","event","name","params","price","orderFromAPI","orderInput","expiry","makerAsset","takerAsset","destTokenAddress","makerAmount","takerAmount","destAmount","maker","taker","tradeFlowType","approve","receipt","otcOrder","sentOrder","otcOrderMut","useMutation","mutationFn","mutationKey","onSettled","runOtcOrderFlow","cancelOtcOrder","orderToCancel","handleTxSent","cancelledOrder","retryFlow","options","result"],"mappings":"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"}
1
+ {"version":3,"file":"useOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"sourcesContent":["import { 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 {\n ApprovalFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\nimport { useCreateLimitOrder } from \"../mutations/useCreateLimitOrder\";\nimport {\n useCancelOtcOrderAndWait,\n useCancelOtcOrderEventCallbacks,\n} from \"../mutations/useCancelLimitOrder\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n handleTxSent,\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useOtcDeadline } from \"@/core/otc/state/deadlineAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useLimitOrderByHashQuery } from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatchWrapAndApprove,\n useBatchWrapAndApprove,\n} from \"@/hooks/swap/tradeFlow/common/useBatchWrapAndApprove\";\nimport type { BatchTxStepResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nconst otcOrderFlowType = \"otcOrder\";\n\nexport type UserDefinedOtcPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n};\n\nexport type UseOtcOrderFlowInput = {\n otcPrice?: UserDefinedOtcPrice;\n preWrapETH?: boolean;\n};\n\nexport type SubmitOtcOrderResult = {\n tradeFlowType: typeof otcOrderFlowType;\n approve: SubmitTxResult;\n wrapAndApproveBatch: SubmitTxResult;\n otcOrder: {\n sentOrder: LimitOrderFromApi;\n lastOrderState?: LimitOrderFromApi;\n };\n otcPrice: UserDefinedOtcPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseOtcOrderFlowResult = {\n tradeFlowType: typeof otcOrderFlowType;\n chainId: SupportedChainId;\n runOtcOrderFlow: (\n options?: RunOtcOrderOptions\n ) => Promise<SubmitOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunOtcOrderOptions) => Promise<SubmitOtcOrderResult>; // reset and retry flow\n cancelOtcOrder: () => void;\n approval: ApprovalFlowResult;\n wrapAndApprovalBatch: BatchTxStepResult;\n otcOrderSubmission: {\n order?: LimitOrderFromApi;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n otcOrderCancelation: {\n txHash?: string;\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCanceled: boolean;\n lastOrderState?: LimitOrderFromApi;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n step?: CancelOrderStepKey;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitOtcOrderResult;\n otcPrice?: UserDefinedOtcPrice;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runOtcOrderFlow\";\n\nexport function useOtcOrderFlow({\n otcPrice,\n preWrapETH,\n}: UseOtcOrderFlowInput): UseOtcOrderFlowResult {\n const logger = useLogger(\"OtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: otcPrice?.srcTokenAddress,\n srcAmount: otcPrice?.srcAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n /* 2.2. Or submit Batch tx (Wrap ETH + Approve WETH) */\n const {\n batchWrapAndApprove,\n reset: resetBatchWrapAndApprove,\n canBatchTxs,\n wrapAndApproveBatchResult: wrapAndApprovalBatch,\n } = useBatchWrapAndApprove({\n chainId,\n account,\n logger,\n tradeMode: \"otc\",\n });\n\n /* 4. Build and Submit OTC Order */\n const createOrderMut = useCreateLimitOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create OTC Order error\", error);\n },\n },\n });\n\n const otcOrderSubmission: UseOtcOrderFlowResult[\"otcOrderSubmission\"] = {\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 /// CANCELATION\n\n const limitOrderQuery = useLimitOrderByHashQuery({\n orderParams: otcOrderSubmission.order?.orderHash,\n });\n\n const cancelOrderEvents = useCancelOtcOrderEventCallbacks(\n otcOrderSubmission.order\n );\n\n const orderChainId = otcOrderSubmission.order?.chainId as\n | SupportedChainId\n | undefined;\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const cancelOrderMut = useCancelOtcOrderAndWait({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: async (variables) => {\n assert(orderChainId, \"orderChainId is undefined\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n cancelOrderEvents.onMutate?.(variables);\n },\n onSuccess: (txReceipt, vars) => {\n logger.log(\"Cancel Order success\", txReceipt);\n\n cancelOrderEvents.onSuccess?.(txReceipt, vars);\n },\n onError: (error, vars) => {\n logger.error(\"Cancel Order error\", error);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const isCancelTxSucceeded = cancelOrderMut.result?.status === \"success\";\n const isCancelTxReverted = cancelOrderMut.result?.status === \"reverted\";\n\n const lastOrderState =\n limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.result\n ? {\n // optimistically update order state to CANCELLED\n // because API won't return the updated order state immediately\n // as it depends on the subgraph indexing\n ...limitOrderQuery.data,\n state: \"CANCELLED\" as const,\n transactionHash: cancelOrderMut.result.transactionHash,\n }\n : limitOrderQuery.data;\n\n const otcOrderCancelation: UseOtcOrderFlowResult[\"otcOrderCancelation\"] = {\n txHash: cancelOrderMut.txHash,\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCanceled: isCancelTxSucceeded,\n lastOrderState,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError || isCancelTxReverted,\n isSuccess: cancelOrderMut.isSuccess && isCancelTxSucceeded,\n error: cancelOrderMut.error,\n step: cancelOrderMut.step,\n };\n\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 = useOtcReceiverAddressValue();\n const deadline = useOtcDeadline();\n\n const { onOTCOrder } = useWidgetEvents();\n\n const submitOtcOrder = async ({\n onTxSent,\n }: RunOtcOrderOptions = {}): Promise<SubmitOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(otcPrice, \"Otc price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n let wrapAndApproveBatch: SubmitTxResult = {};\n\n const allowanceToSet = approval.allowanceToSet;\n\n const { shouldDoApprovalTx, shouldWrapAndApproveBatch } =\n shouldApproveOrBatchWrapAndApprove({\n approval,\n preWrapETH,\n canBatchTxs,\n });\n\n try {\n if (shouldWrapAndApproveBatch) {\n const sendCallsResult = await batchWrapAndApprove({\n approval,\n preWrapETH: {\n wrapAmount: BigInt(otcPrice.srcAmount),\n },\n onTxSent,\n signal,\n });\n\n const lastCallsReceipt =\n sendCallsResult?.receipts?.[sendCallsResult.receipts.length - 1];\n wrapAndApproveBatch = {\n callsId: sendCallsResult?.id,\n callsReceipt: lastCallsReceipt,\n };\n\n logger.log(\"~ wrap and approve batch tx ~ receipt:\", lastCallsReceipt);\n } else if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\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 action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } catch (error) {\n logger.error(\"Approve tx error\", error);\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(otcPrice, \"otcPrice is not available\");\n assert(receiverAddress, \"Receiver address is not set\");\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:request\",\n params: {\n price: otcPrice,\n },\n },\n });\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n expiry: deadline,\n makerAsset: otcPrice.srcTokenAddress,\n takerAsset: otcPrice.destTokenAddress,\n makerAmount: otcPrice.srcAmount,\n takerAmount: otcPrice.destAmount,\n maker: account,\n taker: receiverAddress,\n },\n });\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:sent\",\n params: {\n price: otcPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: otcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n wrapAndApproveBatch,\n otcOrder: {\n sentOrder: orderFromAPI,\n },\n otcPrice: otcPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:failed\",\n params: {\n price: otcPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const otcOrderMut = useMutation({\n mutationFn: submitOtcOrder,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runOtcOrderFlow = otcOrderMut.mutateAsync;\n const cancelOtcOrder = async () => {\n const orderToCancel = otcOrderSubmission.order;\n assert(orderToCancel, \"No order to cancel\");\n return cancelOrderMut.cancelOtcOrder({\n orderHash: orderToCancel.orderHash,\n onTxSent: ({ chainId, transactionHash, receiptPromise }) => {\n handleTxSent({\n chainId,\n transactionHash,\n action: \"cancelOtcOrder\",\n transactionSpecificData: {\n action: \"cancelOtcOrder\",\n cancelledOrder: orderToCancel,\n },\n receiptPromise,\n });\n cancelOrderEvents.onTxSent?.({\n chainId,\n txHash: transactionHash,\n });\n },\n });\n };\n\n const reset = () => {\n approveTxMut.reset();\n createOrderMut.reset();\n otcOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n };\n\n const retryFlow = (\n options?: RunOtcOrderOptions\n ): Promise<SubmitOtcOrderResult> => {\n reset();\n return runOtcOrderFlow(options);\n };\n\n /* 5. return result */\n\n let result = otcOrderMut.data;\n if (result && otcOrderCancelation.lastOrderState) {\n result = {\n ...result,\n otcOrder: {\n sentOrder: result.otcOrder.sentOrder,\n lastOrderState: otcOrderCancelation.lastOrderState,\n },\n };\n }\n\n return {\n tradeFlowType: otcOrderFlowType,\n chainId,\n runOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelOtcOrder,\n approval,\n wrapAndApprovalBatch,\n otcOrderSubmission,\n otcOrderCancelation,\n // otcOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: otcOrderMut.isPending,\n isSuccess: otcOrderSubmission.isSuccess, // approval is an optional step\n isError: otcOrderMut.isError,\n error: otcOrderMut.error,\n result,\n otcPrice,\n };\n}\n"],"names":["otcOrderFlowType","OTC_ORDER_MUTATION_KEY","useOtcOrderFlow","otcPrice","preWrapETH","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","batchWrapAndApprove","reset","resetBatchWrapAndApprove","canBatchTxs","wrapAndApproveBatchResult","wrapAndApprovalBatch","useBatchWrapAndApprove","createOrderMut","useCreateLimitOrder","client","mutationOptions","onSuccess","order","log","onError","error","otcOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","limitOrderQuery","useLimitOrderByHashQuery","orderParams","orderHash","cancelOrderEvents","useCancelOtcOrderEventCallbacks","orderChainId","forcedChainMatchesWalletChain","useChainMatches","mutateAsync","switchChain","useSwitchChainWithGuard","cancelOrderMut","useCancelOtcOrderAndWait","onMutate","variables","assert","txReceipt","vars","isCancelTxSucceeded","result","status","isCancelTxReverted","lastOrderState","state","transactionHash","otcOrderCancelation","txHash","receipt","isCancelingOrder","isOrderCanceled","step","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useOtcReceiverAddressValue","deadline","useOtcDeadline","onOTCOrder","useWidgetEvents","submitOtcOrder","onTxSent","abortController","AbortController","signal","approveTxHash","approveTxReceipt","wrapAndApproveBatch","allowanceToSet","shouldDoApprovalTx","shouldWrapAndApproveBatch","shouldApproveOrBatchWrapAndApprove","sendCallsResult","wrapAmount","BigInt","lastCallsReceipt","receipts","length","callsId","id","callsReceipt","onApproveTx","request","approveAsync","allowanceData","sent","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","failed","event","name","params","price","orderFromAPI","orderInput","expiry","makerAsset","takerAsset","destTokenAddress","makerAmount","takerAmount","destAmount","maker","taker","tradeFlowType","approve","otcOrder","sentOrder","otcOrderMut","useMutation","mutationFn","mutationKey","onSettled","runOtcOrderFlow","cancelOtcOrder","orderToCancel","handleTxSent","cancelledOrder","retryFlow","options"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { GenericStep, OtcOrderStep, OtcOrderStepKey } from '../../../components/widget/TradeOverview/steps';
1
+ import { CancelOrderStepKey, OtcOrderStep, OtcOrderStepKey } from '../../../components/widget/TradeOverview/steps';
2
2
  import { SubmitOtcOrderResult, UseOtcOrderFlowInput, UseOtcOrderFlowResult } from './useOtcOrderFlow';
3
3
  type UseOtcOrderStepResult = {
4
4
  startOtcOrder: UseOtcOrderFlowResult["runOtcOrderFlow"];
@@ -9,7 +9,7 @@ type UseOtcOrderStepResult = {
9
9
  isFlowCancellable: boolean;
10
10
  isOrderCancellable: boolean;
11
11
  step?: OtcOrderStep;
12
- orderCancellationStep?: GenericStep;
12
+ orderCancellationStep?: CancelOrderStepKey;
13
13
  error: Error | null;
14
14
  erroredStep?: OtcOrderStepKey;
15
15
  result?: SubmitOtcOrderResult;
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcOrderStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAK3B,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACxD,cAAc,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAExD,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAChD,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,qBAAqB,CAAC,EAAE,WAAW,CAAC;IACpC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,oBAAoB,GAC5B,qBAAqB,CAkHvB"}
1
+ {"version":3,"file":"useOtcOrderStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAK3B,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACxD,cAAc,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAExD,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAChD,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,qBAAqB,CAAC,EAAE,kBAAkB,CAAC;IAC3C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,oBAAoB,GAC5B,qBAAqB,CAyGvB"}
@@ -5,7 +5,7 @@ import { isUserCancelledError } from '../../swap/tradeFlow/common/errors.js';
5
5
  import { LimitOrderStateChecker } from '../queries/utils.js';
6
6
 
7
7
  function useOtcOrderStep(options) {
8
- const $ = distExports.c(25);
8
+ const $ = distExports.c(24);
9
9
  const logger = useLogger("OtcOrderStep");
10
10
  const otcOrderFlow = useOtcOrderFlow(options);
11
11
  const startOtcOrder = otcOrderFlow.runOtcOrderFlow;
@@ -14,7 +14,6 @@ function useOtcOrderStep(options) {
14
14
  const retryFlow = otcOrderFlow.retryFlow;
15
15
  let isFlowCancellable;
16
16
  let isOrderCancellable;
17
- let orderCancellationStep;
18
17
  let step;
19
18
  if ($[0] !== logger.once || $[1] !== options.preWrapETH || $[2] !== otcOrderFlow) {
20
19
  const wrapAndApproveBatchHappeningOrNeverHappened = options.preWrapETH && otcOrderFlow.approval.needsApproval && (otcOrderFlow.wrapAndApprovalBatch.isPending || !otcOrderFlow.wrapAndApprovalBatch.isSuccess);
@@ -40,28 +39,17 @@ function useOtcOrderStep(options) {
40
39
  }
41
40
  }
42
41
  }
43
- if (otcOrderFlow.otcOrderCancelation.isCancelingOrder) {
44
- orderCancellationStep = "pending";
45
- } else {
46
- if (otcOrderFlow.otcOrderCancelation.isOrderCanceled) {
47
- orderCancellationStep = "success";
48
- } else {
49
- if (otcOrderFlow.otcOrderCancelation.isError) {
50
- orderCancellationStep = "error";
51
- }
52
- }
53
- }
54
42
  const approvalIsStarted = step?.key === "signature" && step.subStep === "approval-signature" && otcOrderFlow.approval.isTxPending;
55
43
  const isOrderBeingSigned = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
56
44
  isFlowCancellable = approvalIsStarted || isOrderBeingSigned;
57
45
  const lastOrderState = otcOrderFlow.otcOrderCancelation.lastOrderState || otcOrderFlow.otcOrderSubmission.order;
58
46
  let t02;
59
- if ($[7] !== lastOrderState) {
47
+ if ($[6] !== lastOrderState) {
60
48
  t02 = !!lastOrderState && LimitOrderStateChecker.cancellable.has(lastOrderState.state);
61
- $[7] = lastOrderState;
62
- $[8] = t02;
49
+ $[6] = lastOrderState;
50
+ $[7] = t02;
63
51
  } else {
64
- t02 = $[8];
52
+ t02 = $[7];
65
53
  }
66
54
  isOrderCancellable = t02;
67
55
  const orderHash = otcOrderFlow.otcOrderSubmission.order?.orderHash;
@@ -74,21 +62,19 @@ function useOtcOrderStep(options) {
74
62
  $[2] = otcOrderFlow;
75
63
  $[3] = isFlowCancellable;
76
64
  $[4] = isOrderCancellable;
77
- $[5] = orderCancellationStep;
78
- $[6] = step;
65
+ $[5] = step;
79
66
  } else {
80
67
  isFlowCancellable = $[3];
81
68
  isOrderCancellable = $[4];
82
- orderCancellationStep = $[5];
83
- step = $[6];
69
+ step = $[5];
84
70
  }
85
71
  let t0;
86
- if ($[9] !== otcOrderFlow.error) {
72
+ if ($[8] !== otcOrderFlow.error) {
87
73
  t0 = isUserCancelledError(otcOrderFlow.error) ? null : otcOrderFlow.error;
88
- $[9] = otcOrderFlow.error;
89
- $[10] = t0;
74
+ $[8] = otcOrderFlow.error;
75
+ $[9] = t0;
90
76
  } else {
91
- t0 = $[10];
77
+ t0 = $[9];
92
78
  }
93
79
  const error = t0;
94
80
  let erroredStep;
@@ -102,7 +88,7 @@ function useOtcOrderStep(options) {
102
88
  }
103
89
  }
104
90
  let t1;
105
- if ($[11] !== cancelFlow || $[12] !== error || $[13] !== erroredStep || $[14] !== isFlowCancellable || $[15] !== isOrderCancellable || $[16] !== orderCancellationStep || $[17] !== otcOrderFlow.cancelOtcOrder || $[18] !== otcOrderFlow.result || $[19] !== otcOrderFlow.tradeFlowType || $[20] !== reset || $[21] !== retryFlow || $[22] !== startOtcOrder || $[23] !== step) {
91
+ if ($[10] !== cancelFlow || $[11] !== error || $[12] !== erroredStep || $[13] !== isFlowCancellable || $[14] !== isOrderCancellable || $[15] !== otcOrderFlow.cancelOtcOrder || $[16] !== otcOrderFlow.otcOrderCancelation.step || $[17] !== otcOrderFlow.result || $[18] !== otcOrderFlow.tradeFlowType || $[19] !== reset || $[20] !== retryFlow || $[21] !== startOtcOrder || $[22] !== step) {
106
92
  t1 = {
107
93
  startOtcOrder,
108
94
  cancelOtcOrder: otcOrderFlow.cancelOtcOrder,
@@ -112,28 +98,28 @@ function useOtcOrderStep(options) {
112
98
  isFlowCancellable,
113
99
  isOrderCancellable,
114
100
  step,
115
- orderCancellationStep,
101
+ orderCancellationStep: otcOrderFlow.otcOrderCancelation.step,
116
102
  error,
117
103
  erroredStep,
118
104
  result: otcOrderFlow.result,
119
105
  tradeFlowType: otcOrderFlow.tradeFlowType
120
106
  };
121
- $[11] = cancelFlow;
122
- $[12] = error;
123
- $[13] = erroredStep;
124
- $[14] = isFlowCancellable;
125
- $[15] = isOrderCancellable;
126
- $[16] = orderCancellationStep;
127
- $[17] = otcOrderFlow.cancelOtcOrder;
128
- $[18] = otcOrderFlow.result;
129
- $[19] = otcOrderFlow.tradeFlowType;
130
- $[20] = reset;
131
- $[21] = retryFlow;
132
- $[22] = startOtcOrder;
133
- $[23] = step;
134
- $[24] = t1;
107
+ $[10] = cancelFlow;
108
+ $[11] = error;
109
+ $[12] = erroredStep;
110
+ $[13] = isFlowCancellable;
111
+ $[14] = isOrderCancellable;
112
+ $[15] = otcOrderFlow.cancelOtcOrder;
113
+ $[16] = otcOrderFlow.otcOrderCancelation.step;
114
+ $[17] = otcOrderFlow.result;
115
+ $[18] = otcOrderFlow.tradeFlowType;
116
+ $[19] = reset;
117
+ $[20] = retryFlow;
118
+ $[21] = startOtcOrder;
119
+ $[22] = step;
120
+ $[23] = t1;
135
121
  } else {
136
- t1 = $[24];
122
+ t1 = $[23];
137
123
  }
138
124
  return t1;
139
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"sourcesContent":["import type {\n GenericStep,\n OtcOrderStep,\n OtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useOtcOrderFlow,\n type SubmitOtcOrderResult,\n type UseOtcOrderFlowInput,\n type UseOtcOrderFlowResult,\n} from \"./useOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { LimitOrderStateChecker } from \"../queries/utils\";\n\ntype UseOtcOrderStepResult = {\n startOtcOrder: UseOtcOrderFlowResult[\"runOtcOrderFlow\"];\n cancelOtcOrder: UseOtcOrderFlowResult[\"cancelOtcOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: OtcOrderStep;\n orderCancellationStep?: GenericStep;\n error: Error | null;\n erroredStep?: OtcOrderStepKey;\n result?: SubmitOtcOrderResult;\n tradeFlowType: UseOtcOrderFlowResult[\"tradeFlowType\"];\n};\n\nexport function useOtcOrderStep(\n options: UseOtcOrderFlowInput\n): UseOtcOrderStepResult {\n const logger = useLogger(\"OtcOrderStep\");\n const otcOrderFlow = useOtcOrderFlow(options);\n\n const startOtcOrder = otcOrderFlow.runOtcOrderFlow;\n const reset = otcOrderFlow.reset;\n const cancelFlow = otcOrderFlow.cancelFlow;\n const retryFlow = otcOrderFlow.retryFlow;\n\n let step: OtcOrderStep | undefined;\n\n const wrapAndApproveBatchHappeningOrNeverHappened =\n options.preWrapETH &&\n otcOrderFlow.approval.needsApproval &&\n (otcOrderFlow.wrapAndApprovalBatch.isPending ||\n !otcOrderFlow.wrapAndApprovalBatch.isSuccess);\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n otcOrderFlow.approval.isPending || !otcOrderFlow.approval.isSuccess;\n\n if (\n otcOrderFlow.approval.needsApproval &&\n (approvalHappeningOrNeverHappened ||\n wrapAndApproveBatchHappeningOrNeverHappened)\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (otcOrderFlow.otcOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!otcOrderFlow.approval.txHash;\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (otcOrderFlow.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 let orderCancellationStep: GenericStep | undefined;\n if (otcOrderFlow.otcOrderCancelation.isCancelingOrder) {\n orderCancellationStep = \"pending\";\n } else if (otcOrderFlow.otcOrderCancelation.isOrderCanceled) {\n orderCancellationStep = \"success\";\n } else if (otcOrderFlow.otcOrderCancelation.isError) {\n orderCancellationStep = \"error\";\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n otcOrderFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isFlowCancellable =\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 lastOrderState =\n otcOrderFlow.otcOrderCancelation.lastOrderState ||\n otcOrderFlow.otcOrderSubmission.order;\n\n const isOrderCancellable =\n !!lastOrderState && // @TODO fix edge case: this state won't be enough if order was expired while sitting in the drawer\n LimitOrderStateChecker.cancellable.has(lastOrderState.state);\n\n const orderHash = otcOrderFlow.otcOrderSubmission.order?.orderHash;\n\n logger.once.log(\"step\", step, otcOrderFlow, {\n isFlowCancellable,\n orderHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(otcOrderFlow.error)\n ? null\n : otcOrderFlow.error;\n\n let erroredStep: OtcOrderStepKey | undefined;\n\n if (otcOrderFlow.isError) {\n if (otcOrderFlow.approval.isError) {\n erroredStep = \"signature\";\n } else if (otcOrderFlow.otcOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n return {\n startOtcOrder,\n cancelOtcOrder: otcOrderFlow.cancelOtcOrder,\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 isFlowCancellable,\n isOrderCancellable,\n step,\n orderCancellationStep,\n error,\n erroredStep,\n result: otcOrderFlow.result,\n tradeFlowType: otcOrderFlow.tradeFlowType,\n };\n}\n"],"names":["useOtcOrderStep","options","$","_c","logger","useLogger","otcOrderFlow","useOtcOrderFlow","startOtcOrder","runOtcOrderFlow","reset","cancelFlow","retryFlow","isFlowCancellable","isOrderCancellable","orderCancellationStep","step","once","preWrapETH","wrapAndApproveBatchHappeningOrNeverHappened","approval","needsApproval","wrapAndApprovalBatch","isPending","isSuccess","approvalHappeningOrNeverHappened","otcOrderSubmission","permitOrApprovalHappened","txHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","isError","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","lastOrderState","order","t0","LimitOrderStateChecker","cancellable","has","state","orderHash","log","error","isUserCancelledError","erroredStep","t1","cancelOtcOrder","result","tradeFlowType"],"mappings":";;;;;;AAgCO,SAAAA,gBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,cAAc,CAAA;AACvC,EAAA,MAAAC,YAAAA,GAAqBC,gBAAgBN,OAAO,CAAA;AAE5C,EAAA,MAAAO,gBAAsBF,YAAAA,CAAYG,eAAAA;AAClC,EAAA,MAAAC,QAAcJ,YAAAA,CAAYI,KAAAA;AAC1B,EAAA,MAAAC,aAAmBL,YAAAA,CAAYK,UAAAA;AAC/B,EAAA,MAAAC,YAAkBN,YAAAA,CAAYM,SAAAA;AAAW,EAAA,IAAAC,iBAAAA;AAAA,EAAA,IAAAC,kBAAAA;AAAA,EAAA,IAAAC,qBAAAA;AAAA,EAAA,IAAAC,IAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAE,MAAAA,CAAAa,IAAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAD,OAAAA,CAAAiB,UAAAA,IAAAhB,CAAAA,QAAAI,YAAAA,EAAA;AAIzC,IAAA,MAAAa,2CAAAA,GACElB,OAAAA,CAAOiB,UAAAA,IACPZ,YAAAA,CAAYc,QAAAA,CAASC,aAAAA,KACpBf,YAAAA,CAAYgB,oBAAAA,CAAqBC,SAAAA,IAAjC,CACEjB,YAAAA,CAAYgB,oBAAAA,CAAqBE,SAAAA,CAAAA;AAEtC,IAAA,MAAAC,mCAGEnB,YAAAA,CAAYc,QAAAA,CAASG,SAAAA,IAArB,CAAoCjB,aAAYc,QAAAA,CAASI,SAAAA;AAE3D,IAAA,IACElB,YAAAA,CAAYc,QAAAA,CAASC,aAAAA,KACpBI,gCAAAA,IAAAN,2CAAAA,CAAAA,EAC6C;AAE9CH,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EAAOA,WAAAA;AAAAA,QAAWA,OAAAA,EAAWA;AAAAA,OAAqBA;AAAAA,IAArD,CAAA,MAAA;AACC,MAAA,IAAIV,YAAAA,CAAYoB,mBAAmBH,SAAAA,EAAU;AAClD,QAAA,MAAAI,wBAAAA,GAAiC,CAAC,CAACrB,YAAAA,CAAYc,QAAAA,CAASQ,MAAAA;AAExDZ,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EACAA,WAAAA;AAAAA,UAAWA,OAAAA,EACPW,2BAAA,iBAAA,GAAA;AAAA,SAGX;AAAA,MALI,CAAA,MAAA;AAMC,QAAA,IAAIrB,aAAYiB,SAAAA,EAAU;AAG/BP,UAAAA,IAAAA,GAAOA;AAAAA,YAAAA,GAAAA,EAAOA,WAAAA;AAAAA,YAAWA,OAAAA,EAAWA;AAAAA,WAA6BA;AAAAA,QAA7D;AAAA,MACL;AAAA,IAAA;AAGD,IAAA,IAAIV,YAAAA,CAAYuB,oBAAoBC,gBAAAA,EAAiB;AACnDf,MAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,IAAH,CAAA,MAAA;AAChB,MAAA,IAAIT,YAAAA,CAAYuB,oBAAoBE,eAAAA,EAAgB;AACzDhB,QAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,MAAH,CAAA,MAAA;AAChB,QAAA,IAAIT,YAAAA,CAAYuB,oBAAoBG,OAAAA,EAAQ;AACjDjB,UAAAA,qBAAAA,GAAwBA,OAAAA;AAAAA,QAAH;AAAA,MACtB;AAAA,IAAA;AAED,IAAA,MAAAkB,iBAAAA,GACEjB,MAAIkB,GAAAA,KAAU,WAAA,IACdlB,KAAImB,OAAAA,KAAa,oBAAA,IACjB7B,aAAYc,QAAAA,CAASgB,WAAAA;AAEvB,IAAA,MAAAC,kBAAAA,GACErB,MAAIkB,GAAAA,KAAU,WAAA,KACblB,KAAImB,OAAAA,KAAa,iBAAA,IAChBnB,KAAImB,OAAAA,KAAa,4BAAA,CAAA;AAErBtB,IAAAA,iBAAAA,GAGEoB,iBAAAA,IAAAI,kBAAAA;AAEF,IAAA,MAAAC,cAAAA,GACEhC,YAAAA,CAAYuB,mBAAAA,CAAoBS,cAAAA,IAChChC,aAAYoB,kBAAAA,CAAmBa,KAAAA;AAAO,IAAA,IAAAC,GAAAA;AAAA,IAAA,IAAAtC,CAAAA,QAAAoC,cAAAA,EAAA;AAGtCE,MAAAA,GAAAA,GAAA,CAAC,CAACF,cAAAA,IACFG,uBAAsBC,WAAAA,CAAYC,GAAAA,CAAKL,eAAcM,KAAM,CAAA;AAAC1C,MAAAA,CAAAA,MAAAoC,cAAAA;AAAApC,MAAAA,CAAAA,MAAAsC,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAtC,EAAA,CAAA,CAAA;AAAA,IAAA;AAF9DY,IAAAA,kBAAAA,GACE0B,GAAAA;AAGF,IAAA,MAAAK,SAAAA,GAAkBvC,YAAAA,CAAYoB,kBAAAA,CAAmBa,KAAAA,EAAiBM,SAAAA;AAElEzC,IAAAA,MAAAA,CAAMa,IAAAA,CAAK6B,GAAAA,CAAK,MAAA,EAAQ9B,IAAAA,EAAMV,YAAAA,EAAc;AAAA,MAAAO,iBAAAA;AAAAA,MAAAgC;AAAAA,KAG3C,CAAA;AAAC3C,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,CAAAa,IAAAA;AAAAf,IAAAA,CAAAA,CAAA,CAAA,IAAAD,OAAAA,CAAAiB,UAAAA;AAAAhB,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAW,iBAAAA;AAAAX,IAAAA,CAAAA,MAAAY,kBAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,qBAAAA;AAAAb,IAAAA,CAAAA,MAAAc,IAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAH,IAAAA,iBAAAA,GAAAX,EAAA,CAAA,CAAA;AAAAY,IAAAA,kBAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAAa,IAAAA,qBAAAA,GAAAb,EAAA,CAAA,CAAA;AAAAc,IAAAA,IAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsC,EAAAA;AAAA,EAAA,IAAAtC,CAAAA,CAAA,CAAA,CAAA,KAAAI,YAAAA,CAAAyC,KAAAA,EAAA;AAGYP,IAAAA,EAAAA,GAAAQ,oBAAAA,CAAqB1C,YAAAA,CAAYyC,KAE1B,CAAA,GAFP,OAEVzC,YAAAA,CAAYyC,KAAAA;AAAM7C,IAAAA,CAAAA,CAAA,CAAA,IAAAI,YAAAA,CAAAyC,KAAAA;AAAA7C,IAAAA,CAAAA,OAAAsC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtC,EAAA,EAAA,CAAA;AAAA,EAAA;AAFtB,EAAA,MAAA6C,KAAAA,GAAcP,EAAAA;AAIVS,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAI3C,aAAY0B,OAAAA,EAAQ;AACtB,IAAA,IAAI1B,YAAAA,CAAYc,SAASY,OAAAA,EAAQ;AAC/BiB,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IAAI3C,YAAAA,CAAYoB,mBAAmBM,OAAAA,EAAQ;AAChDiB,QAAAA,WAAAA,GAAcA,kBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AACF,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAhD,CAAAA,CAAA,EAAA,CAAA,KAAAS,UAAAA,IAAAT,CAAAA,CAAA,EAAA,CAAA,KAAA6C,KAAAA,IAAA7C,CAAAA,CAAA,EAAA,CAAA,KAAA+C,WAAAA,IAAA/C,UAAAW,iBAAAA,IAAAX,CAAAA,CAAA,EAAA,CAAA,KAAAY,kBAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAa,qBAAAA,IAAAb,CAAAA,CAAA,EAAA,CAAA,KAAAI,aAAA6C,cAAAA,IAAAjD,CAAAA,CAAA,EAAA,CAAA,KAAAI,YAAAA,CAAA8C,MAAAA,IAAAlD,EAAA,EAAA,CAAA,KAAAI,YAAAA,CAAA+C,aAAAA,IAAAnD,CAAAA,SAAAQ,KAAAA,IAAAR,CAAAA,CAAA,EAAA,CAAA,KAAAU,SAAAA,IAAAV,CAAAA,CAAA,EAAA,CAAA,KAAAM,aAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAc,IAAAA,EAAA;AAEMkC,IAAAA,EAAAA,GAAA;AAAA,MAAA1C,aAAAA;AAAAA,MAAA2C,gBAEW7C,YAAAA,CAAY6C,cAAAA;AAAAA,MAAezC,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAC,iBAAAA;AAAAA,MAAAC,kBAAAA;AAAAA,MAAAE,IAAAA;AAAAA,MAAAD,qBAAAA;AAAAA,MAAAgC,KAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAG,QAYnC9C,YAAAA,CAAY8C,MAAAA;AAAAA,MAAOC,eACZ/C,YAAAA,CAAY+C;AAAAA,KAC7B;AAACnD,IAAAA,CAAAA,OAAAS,UAAAA;AAAAT,IAAAA,CAAAA,OAAA6C,KAAAA;AAAA7C,IAAAA,CAAAA,OAAA+C,WAAAA;AAAA/C,IAAAA,CAAAA,OAAAW,iBAAAA;AAAAX,IAAAA,CAAAA,OAAAY,kBAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,qBAAAA;AAAAb,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA6C,cAAAA;AAAAjD,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA8C,MAAAA;AAAAlD,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA+C,aAAAA;AAAAnD,IAAAA,CAAAA,OAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,OAAAU,SAAAA;AAAAV,IAAAA,CAAAA,OAAAM,aAAAA;AAAAN,IAAAA,CAAAA,OAAAc,IAAAA;AAAAd,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMgD,EAAAA;AAgBN;;;;"}
1
+ {"version":3,"file":"useOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"sourcesContent":["import type {\n CancelOrderStepKey,\n OtcOrderStep,\n OtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useOtcOrderFlow,\n type SubmitOtcOrderResult,\n type UseOtcOrderFlowInput,\n type UseOtcOrderFlowResult,\n} from \"./useOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { LimitOrderStateChecker } from \"../queries/utils\";\n\ntype UseOtcOrderStepResult = {\n startOtcOrder: UseOtcOrderFlowResult[\"runOtcOrderFlow\"];\n cancelOtcOrder: UseOtcOrderFlowResult[\"cancelOtcOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: OtcOrderStep;\n orderCancellationStep?: CancelOrderStepKey;\n error: Error | null;\n erroredStep?: OtcOrderStepKey;\n result?: SubmitOtcOrderResult;\n tradeFlowType: UseOtcOrderFlowResult[\"tradeFlowType\"];\n};\n\nexport function useOtcOrderStep(\n options: UseOtcOrderFlowInput\n): UseOtcOrderStepResult {\n const logger = useLogger(\"OtcOrderStep\");\n const otcOrderFlow = useOtcOrderFlow(options);\n\n const startOtcOrder = otcOrderFlow.runOtcOrderFlow;\n const reset = otcOrderFlow.reset;\n const cancelFlow = otcOrderFlow.cancelFlow;\n const retryFlow = otcOrderFlow.retryFlow;\n\n let step: OtcOrderStep | undefined;\n\n const wrapAndApproveBatchHappeningOrNeverHappened =\n options.preWrapETH &&\n otcOrderFlow.approval.needsApproval &&\n (otcOrderFlow.wrapAndApprovalBatch.isPending ||\n !otcOrderFlow.wrapAndApprovalBatch.isSuccess);\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n otcOrderFlow.approval.isPending || !otcOrderFlow.approval.isSuccess;\n\n if (\n otcOrderFlow.approval.needsApproval &&\n (approvalHappeningOrNeverHappened ||\n wrapAndApproveBatchHappeningOrNeverHappened)\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (otcOrderFlow.otcOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!otcOrderFlow.approval.txHash;\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (otcOrderFlow.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 otcOrderFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isFlowCancellable =\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 lastOrderState =\n otcOrderFlow.otcOrderCancelation.lastOrderState ||\n otcOrderFlow.otcOrderSubmission.order;\n\n const isOrderCancellable =\n !!lastOrderState && // @TODO fix edge case: this state won't be enough if order was expired while sitting in the drawer\n LimitOrderStateChecker.cancellable.has(lastOrderState.state);\n\n const orderHash = otcOrderFlow.otcOrderSubmission.order?.orderHash;\n\n logger.once.log(\"step\", step, otcOrderFlow, {\n isFlowCancellable,\n orderHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(otcOrderFlow.error)\n ? null\n : otcOrderFlow.error;\n\n let erroredStep: OtcOrderStepKey | undefined;\n\n if (otcOrderFlow.isError) {\n if (otcOrderFlow.approval.isError) {\n erroredStep = \"signature\";\n } else if (otcOrderFlow.otcOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n return {\n startOtcOrder,\n cancelOtcOrder: otcOrderFlow.cancelOtcOrder,\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 isFlowCancellable,\n isOrderCancellable,\n step,\n orderCancellationStep: otcOrderFlow.otcOrderCancelation.step,\n error,\n erroredStep,\n result: otcOrderFlow.result,\n tradeFlowType: otcOrderFlow.tradeFlowType,\n };\n}\n"],"names":["useOtcOrderStep","options","$","_c","logger","useLogger","otcOrderFlow","useOtcOrderFlow","startOtcOrder","runOtcOrderFlow","reset","cancelFlow","retryFlow","isFlowCancellable","isOrderCancellable","step","once","preWrapETH","wrapAndApproveBatchHappeningOrNeverHappened","approval","needsApproval","wrapAndApprovalBatch","isPending","isSuccess","approvalHappeningOrNeverHappened","otcOrderSubmission","permitOrApprovalHappened","txHash","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","lastOrderState","otcOrderCancelation","order","t0","LimitOrderStateChecker","cancellable","has","state","orderHash","log","error","isUserCancelledError","erroredStep","isError","t1","cancelOtcOrder","result","tradeFlowType","orderCancellationStep"],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  import { DeltaAuction } from '@velora-dex/sdk';
2
2
  import { CancelDeltaOrdersReturn } from './useCancelDeltaOrders';
3
- import { TransactionReceipt } from 'viem';
3
+ import { Hash, TransactionReceipt } from 'viem';
4
+ import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
4
5
  type CancelOrderEventCallbacks = {
6
+ onTxSent?: (options: {
7
+ chainId: SupportedChainId;
8
+ txHash: Hash;
9
+ }) => void;
5
10
  onMutate?: () => void;
6
11
  onSuccess?: (data: CancelDeltaOrdersReturn | TransactionReceipt) => void;
7
12
  onError?: (error: Error) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useCancelDeltaOrdersEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/C,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,GAAG,kBAAkB,KAAK,IAAI,CAAC;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AASF,wBAAgB,iCAAiC,CAC/C,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GACxC,yBAAyB,CAgD3B"}
1
+ {"version":3,"file":"useCancelDeltaOrdersEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,GAAG,kBAAkB,KAAK,IAAI,CAAC;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AASF,wBAAgB,iCAAiC,CAC/C,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GACxC,yBAAyB,CAwD3B"}
@@ -41,6 +41,22 @@ function useCancelDeltaOrderEventCallbacks(order) {
41
41
  let t2;
42
42
  if ($[6] !== onCancelOrder || $[7] !== params) {
43
43
  t2 = {
44
+ onTxSent: (t3) => {
45
+ const {
46
+ chainId,
47
+ txHash
48
+ } = t3;
49
+ onCancelOrder?.({
50
+ event: {
51
+ name: "CancelOrder:sentTx",
52
+ params: {
53
+ ...params,
54
+ txHash,
55
+ chainId
56
+ }
57
+ }
58
+ });
59
+ },
44
60
  onMutate: () => {
45
61
  onCancelOrder?.({
46
62
  event: {
@@ -1 +1 @@
1
- {"version":3,"file":"useCancelDeltaOrdersEvents.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.ts"],"sourcesContent":["import { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { CancelDeltaOrdersReturn } from \"./useCancelDeltaOrders\";\nimport type { TransactionReceipt } from \"viem\";\n\ntype CancelOrderEventCallbacks = {\n onMutate?: () => void;\n onSuccess?: (data: CancelDeltaOrdersReturn | TransactionReceipt) => void;\n onError?: (error: Error) => void;\n};\n/*\nCallbacks in useMutation options (onSuccess, onError, onSettled):\n - will run even if the component unmounts (tied to the mutation instance).\nCallbacks passed to mutate() or mutateAsync():\n - will not run if the component unmounts before the mutation finishes (tied to the component).\n\nSo always use useMutation callbacks if changing something outside of the immediate component\n*/\nexport function useCancelDeltaOrderEventCallbacks(\n order?: Pick<DeltaAuction, \"id\" | \"type\">\n): CancelOrderEventCallbacks {\n const { onCancelOrder } = useWidgetEvents();\n\n if (!order) return {};\n\n const params = {\n orderIds: [order.id],\n orderType: \"DELTA\" as const,\n orderSubType: order.type,\n };\n\n return {\n onMutate: () => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:request\",\n params,\n },\n });\n },\n onSuccess: (successResOrTxReceipt) => {\n const txReceipt =\n \"transactionHash\" in successResOrTxReceipt\n ? successResOrTxReceipt\n : undefined;\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:confirmed\",\n params: {\n ...params,\n txReceipt,\n txHash: txReceipt?.transactionHash,\n },\n },\n });\n },\n onError: (error: Error) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:failed\",\n params: {\n ...params,\n error,\n },\n },\n });\n },\n };\n}\n"],"names":["useCancelDeltaOrderEventCallbacks","order","$","_c","onCancelOrder","useWidgetEvents","t0","Symbol","for","id","t1","type","orderIds","orderType","orderSubType","params","t2","onMutate","event","name","onSuccess","successResOrTxReceipt","txReceipt","undefined","txHash","transactionHash","onError","error"],"mappings":"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"}
1
+ {"version":3,"file":"useCancelDeltaOrdersEvents.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.ts"],"sourcesContent":["import { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { CancelDeltaOrdersReturn } from \"./useCancelDeltaOrders\";\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ntype CancelOrderEventCallbacks = {\n onTxSent?: (options: { chainId: SupportedChainId; txHash: Hash }) => void;\n onMutate?: () => void;\n onSuccess?: (data: CancelDeltaOrdersReturn | TransactionReceipt) => void;\n onError?: (error: Error) => void;\n};\n/*\nCallbacks in useMutation options (onSuccess, onError, onSettled):\n - will run even if the component unmounts (tied to the mutation instance).\nCallbacks passed to mutate() or mutateAsync():\n - will not run if the component unmounts before the mutation finishes (tied to the component).\n\nSo always use useMutation callbacks if changing something outside of the immediate component\n*/\nexport function useCancelDeltaOrderEventCallbacks(\n order?: Pick<DeltaAuction, \"id\" | \"type\">\n): CancelOrderEventCallbacks {\n const { onCancelOrder } = useWidgetEvents();\n\n if (!order) return {};\n\n const params = {\n orderIds: [order.id],\n orderType: \"DELTA\" as const,\n orderSubType: order.type,\n };\n\n return {\n onTxSent: ({ chainId, txHash }) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:sentTx\",\n params: { ...params, txHash, chainId },\n },\n });\n },\n onMutate: () => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:request\",\n params,\n },\n });\n },\n onSuccess: (successResOrTxReceipt) => {\n const txReceipt =\n \"transactionHash\" in successResOrTxReceipt\n ? successResOrTxReceipt\n : undefined;\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:confirmed\",\n params: {\n ...params,\n txReceipt,\n txHash: txReceipt?.transactionHash,\n },\n },\n });\n },\n onError: (error: Error) => {\n onCancelOrder?.({\n event: {\n name: \"CancelOrder:failed\",\n params: {\n ...params,\n error,\n },\n },\n });\n },\n };\n}\n"],"names":["useCancelDeltaOrderEventCallbacks","order","$","_c","onCancelOrder","useWidgetEvents","t0","Symbol","for","id","t1","type","orderIds","orderType","orderSubType","params","t2","onTxSent","t3","chainId","txHash","event","name","onMutate","onSuccess","successResOrTxReceipt","txReceipt","undefined","transactionHash","onError","error"],"mappings":";;;AAoBO,SAAAA,kCAAAC,KAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA0BC,eAAAA,EAAgB;AAE1C,EAAA,IAAI,CAACJ,KAAAA,EAAK;AAAA,IAAA,IAAAK,GAAAA;AAAA,IAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAASF,MAAAA,QAAC;AAACJ,MAAAA,CAAAA,MAAAI,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAAFI,GAAAA;AAAAA,EAAE;AAAC,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAAD,KAAAA,CAAAQ,EAAAA,EAAA;AAGVH,IAAAA,EAAAA,GAAA,CAACL,MAAKQ,EAAG,CAAA;AAACP,IAAAA,CAAAA,CAAA,CAAA,IAAAD,KAAAA,CAAAQ,EAAAA;AAAAP,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAD,KAAAA,CAAAU,QAAAT,CAAAA,QAAAI,EAAAA,EAAA;AADPI,IAAAA,EAAAA,GAAA;AAAA,MAAAE,QAAAA,EACHN,EAAAA;AAAAA,MAAUO,SAAAA,EACT,OAAA;AAAA,MAAgBC,cACbb,KAAAA,CAAKU;AAAAA,KACrB;AAACT,IAAAA,CAAAA,CAAA,CAAA,IAAAD,KAAAA,CAAAU,IAAAA;AAAAT,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAa,MAAAA,GAAeL,EAAAA;AAIb,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,iBAAAF,CAAAA,QAAAa,MAAAA,EAAA;AAEKC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,UACKC,CAAAA,EAAAA,KAAA;AAAC,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAF,EAAAA;AACTd,QAAAA,aAAAA,GAAgB;AAAA,UAAAiB,KAAAA,EACP;AAAA,YAAAC,IAAAA,EACC,oBAAA;AAAA,YAAoBP,MAAAA,EAClB;AAAA,cAAA,GAAKA,MAAAA;AAAAA,cAAMK,MAAAA;AAAAA,cAAAD;AAAAA;AAAkB;AACvC,SACD,CAAA;AAAA,MAAC,CAAA;AAAA,MACHI,UACSA,MAAA;AACRnB,QAAAA,aAAAA,GAAgB;AAAA,UAAAiB,KAAAA,EACP;AAAA,YAAAC,IAAAA,EACC,qBAAA;AAAA,YAAqBP;AAAAA;AAE7B,SACD,CAAA;AAAA,MAAC,CAAA;AAAA,MACHS,WACUC,CAAAA,qBAAAA,KAAA;AACT,QAAA,MAAAC,SAAAA,GACE,iBAAA,IAAqBD,qBAAAA,GAArBA,qBAAAA,GAAAE,MAAAA;AAGFvB,QAAAA,aAAAA,GAAgB;AAAA,UAAAiB,KAAAA,EACP;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBP,MAAAA,EACrB;AAAA,cAAA,GACHA,MAAAA;AAAAA,cAAMW,SAAAA;AAAAA,cAAAN,QAEDM,SAAAA,EAASE;AAAAA;AACnB;AACF,SACD,CAAA;AAAA,MAAC,CAAA;AAAA,MACHC,SACQC,CAAAA,KAAAA,KAAA;AACP1B,QAAAA,aAAAA,GAAgB;AAAA,UAAAiB,KAAAA,EACP;AAAA,YAAAC,IAAAA,EACC,oBAAA;AAAA,YAAoBP,MAAAA,EAClB;AAAA,cAAA,GACHA,MAAAA;AAAAA,cAAMe;AAAAA;AAEX;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC5B,IAAAA,CAAAA,MAAAE,aAAAA;AAAAF,IAAAA,CAAAA,MAAAa,MAAAA;AAAAb,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA5CMc,EAAAA;AA4CN;;;;"}