@velora-dex/widget 0.4.2-dev.3 → 0.4.3

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 (223) hide show
  1. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/Drawers.js +23 -18
  3. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  4. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
  5. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  6. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
  7. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +4 -6
  9. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  10. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +147 -133
  11. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  12. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
  13. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  14. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +55 -138
  15. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  16. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
  17. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  18. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts +1 -1
  19. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts.map +1 -1
  20. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +137 -87
  21. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  22. package/dist/components/widget/PayReceiveInfo/types.d.ts +5 -3
  23. package/dist/components/widget/PayReceiveInfo/types.d.ts.map +1 -1
  24. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  25. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
  26. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  27. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -2
  28. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  29. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  30. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  31. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +108 -87
  33. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  34. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +2 -2
  35. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  36. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +14 -12
  37. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  38. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +3 -3
  39. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  40. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +74 -101
  41. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  42. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  43. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +72 -63
  45. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +2 -2
  47. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  48. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +16 -13
  49. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  50. package/dist/components/widget/TradeOverview/Step/utils.d.ts +2 -1
  51. package/dist/components/widget/TradeOverview/Step/utils.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/Step/utils.js +4 -2
  53. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/Stepper.d.ts +1 -1
  55. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/Stepper.js +59 -62
  57. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +5 -3
  60. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  62. package/dist/components/widget/TradeOverview/TradeDetails.js +181 -13
  63. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  64. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  65. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +2 -2
  66. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +4 -4
  68. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  70. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +18 -2
  71. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  72. package/dist/components/widget/TradeOverview/TradeOverview.js +145 -111
  73. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +2 -0
  75. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  76. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +65 -58
  77. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  78. package/dist/components/widget/TradeOverview/steps.d.ts +32 -0
  79. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  80. package/dist/components/widget/TradeOverview/steps.js +12 -2
  81. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  82. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  83. package/dist/components/widget/TradeOverview/tradeFlowContext.js +13 -1
  84. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  85. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts +4 -0
  86. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts.map +1 -0
  87. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +6 -0
  88. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -0
  89. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +4 -1
  90. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
  91. package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -1
  92. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  93. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.d.ts.map +1 -1
  94. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  95. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +2 -0
  96. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  97. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +236 -3
  98. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  99. package/dist/configurator/Configurator.d.ts.map +1 -1
  100. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  101. package/dist/core/LimitOrderButton.js +40 -18
  102. package/dist/core/LimitOrderButton.js.map +1 -1
  103. package/dist/core/index.d.ts.map +1 -1
  104. package/dist/core/index.js +46 -24
  105. package/dist/core/index.js.map +1 -1
  106. package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
  107. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  108. package/dist/events/types/cancel.d.ts +1 -7
  109. package/dist/events/types/cancel.d.ts.map +1 -1
  110. package/dist/events/types/index.d.ts.map +1 -1
  111. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  112. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +9 -8
  113. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  114. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +7 -1
  115. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  116. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +85 -13
  117. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  118. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +1 -13
  119. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  120. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +1 -80
  121. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  122. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  123. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +2 -1
  124. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  125. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -27
  126. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  127. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +2 -3
  128. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  129. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +2 -8
  130. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  131. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +1 -27
  132. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  133. package/dist/hooks/swap/prices/usePricesParams.d.ts +9 -0
  134. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  135. package/dist/hooks/swap/prices/usePricesParams.js +32 -1
  136. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  137. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  138. package/dist/hooks/swap/prices/useSwapPrices.js +149 -142
  139. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  140. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  141. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +35 -35
  142. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  143. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -1
  144. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  145. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +20 -1
  146. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  147. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -8
  148. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  149. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +127 -68
  150. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  151. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +4 -3
  152. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  153. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +186 -98
  154. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  155. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -6
  156. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  157. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +72 -56
  158. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  159. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  160. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +33 -23
  161. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  162. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -1
  163. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +37 -11
  165. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +2 -0
  167. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  168. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +161 -79
  169. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  170. package/dist/hooks/tokens/allowance/utils.d.ts +10 -2
  171. package/dist/hooks/tokens/allowance/utils.d.ts.map +1 -1
  172. package/dist/hooks/tokens/allowance/utils.js +19 -8
  173. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  174. package/dist/hooks/useSDK.d.ts +3 -3
  175. package/dist/hooks/useSDK.d.ts.map +1 -1
  176. package/dist/hooks/useSDK.js +3 -3
  177. package/dist/hooks/useSDK.js.map +1 -1
  178. package/dist/lib/constants/urls.d.ts.map +1 -1
  179. package/dist/lib/constants/urls.js.map +1 -1
  180. package/dist/lib/utils/fee.js +1 -1
  181. package/dist/lib/utils/fee.js.map +1 -1
  182. package/dist/lib/utils/slippage.d.ts.map +1 -1
  183. package/dist/lib/utils/slippage.js +1 -1
  184. package/dist/lib/utils/slippage.js.map +1 -1
  185. package/dist/lib/utils/toDecimal.d.ts.map +1 -1
  186. package/dist/lib/utils/toDecimal.js +5 -3
  187. package/dist/lib/utils/toDecimal.js.map +1 -1
  188. package/dist/styles.css +0 -3
  189. package/dist/transactions/types.d.ts +1 -9
  190. package/dist/transactions/types.d.ts.map +1 -1
  191. package/package.json +2 -2
  192. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +0 -7
  193. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +0 -1
  194. package/dist/components/widget/Button/CancelButton/CancelButton.js +0 -102
  195. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +0 -1
  196. package/dist/components/widget/Button/CancelButton/constants.d.ts +0 -2
  197. package/dist/components/widget/Button/CancelButton/constants.d.ts.map +0 -1
  198. package/dist/components/widget/Button/CancelButton/constants.js +0 -4
  199. package/dist/components/widget/Button/CancelButton/constants.js.map +0 -1
  200. package/dist/components/widget/Button/DismissButton.d.ts +0 -4
  201. package/dist/components/widget/Button/DismissButton.d.ts.map +0 -1
  202. package/dist/components/widget/Button/DismissButton.js +0 -29
  203. package/dist/components/widget/Button/DismissButton.js.map +0 -1
  204. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +0 -11
  205. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +0 -1
  206. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +0 -87
  207. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +0 -1
  208. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +0 -31
  209. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
  210. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +0 -246
  211. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +0 -1
  212. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +0 -44
  213. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
  214. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +0 -268
  215. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +0 -1
  216. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +0 -108
  217. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +0 -1
  218. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +0 -168
  219. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +0 -1
  220. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +0 -69
  221. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +0 -1
  222. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +0 -192
  223. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +0 -1
@@ -4,85 +4,98 @@ import { constructTxLinkForChain } from '../../../lib/utils/explorer.js';
4
4
  import { useLogger } from '../../../core/logger.js';
5
5
  import { isUserCancelledError } from './common/errors.js';
6
6
  import { getStandaloneTxHash } from '../../../transactions/hash.js';
7
+ import { useState } from 'react';
7
8
 
8
9
  function useMarketSwapStep(options) {
9
- const $ = distExports.c(21);
10
+ const $ = distExports.c(36);
10
11
  const logger = useLogger("MarketSwapStep");
11
12
  const marketFlow = useMarketFlow(options);
12
13
  const startMarketSwap = marketFlow.runMarketSwapFlow;
13
14
  const reset = marketFlow.reset;
14
15
  const cancelFlow = marketFlow.cancelFlow;
15
16
  const retryFlow = marketFlow.retryFlow;
16
- let explorerLink;
17
- let isFlowCancellable;
18
17
  let step;
19
- if ($[0] !== logger.once || $[1] !== marketFlow) {
20
- const permitSigningHappeningOrNeverHappened = marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;
21
- const approvalHappeningOrNeverHappened = marketFlow.approval.isPending || !marketFlow.approval.isSuccess;
22
- const willUsePermit = marketFlow.approval.needsApproval && marketFlow.signPermit.isPermitSupported && marketFlow.signPermit.isPermitReadyToSign && !marketFlow.swapBatch.canBatchTxs;
23
- const permitOrApprovalHappeningOrNeverHappened = willUsePermit ? permitSigningHappeningOrNeverHappened : approvalHappeningOrNeverHappened;
24
- if (marketFlow.approval.needsApproval && permitOrApprovalHappeningOrNeverHappened) {
18
+ const permitSigningHappeningOrNeverHappened = marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;
19
+ const approvalHappeningOrNeverHappened = marketFlow.approval.isPending || !marketFlow.approval.isSuccess;
20
+ const willUsePermit = marketFlow.approval.needsApproval && marketFlow.signPermit.isPermitSupported && marketFlow.signPermit.isPermitReadyToSign && !marketFlow.swapBatch.canBatchTxs;
21
+ const permitOrApprovalHappeningOrNeverHappened = willUsePermit ? permitSigningHappeningOrNeverHappened : approvalHappeningOrNeverHappened;
22
+ if (marketFlow.approval.needsApproval && permitOrApprovalHappeningOrNeverHappened) {
23
+ step = {
24
+ key: "signature",
25
+ subStep: "approval-signature"
26
+ };
27
+ } else {
28
+ if (marketFlow.buildTxParams.isPending || marketFlow.swap.isConfirmingTX || marketFlow.swapBatch.isConfirmingCalls) {
29
+ const permitOrApprovalHappened = !!(marketFlow.approval.txHash || marketFlow.signPermit.signature);
25
30
  step = {
26
31
  key: "signature",
27
- subStep: "approval-signature"
32
+ subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
28
33
  };
29
34
  } else {
30
- if (marketFlow.buildTxParams.isPending || marketFlow.swap.isConfirmingTX || marketFlow.swapBatch.isConfirmingCalls) {
31
- const permitOrApprovalHappened = !!(marketFlow.approval.txHash || marketFlow.signPermit.signature);
35
+ if (marketFlow.swap.isTxPending || marketFlow.swapBatch.isCallsPending) {
32
36
  step = {
33
- key: "signature",
34
- subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
37
+ key: "swap-tx-execution"
35
38
  };
36
39
  } else {
37
- if (marketFlow.swap.isTxPending || marketFlow.swapBatch.isCallsPending) {
40
+ if (marketFlow.isPending) {
38
41
  step = {
39
- key: "swap-tx-execution"
42
+ key: "signature",
43
+ subStep: "standalone-order-signature"
40
44
  };
41
- } else {
42
- if (marketFlow.isPending) {
43
- step = {
44
- key: "signature",
45
- subStep: "standalone-order-signature"
46
- };
47
- }
48
45
  }
49
46
  }
50
47
  }
51
- const approvalIsStarted = step?.key === "signature" && step.subStep === "approval-signature" && marketFlow.approval.isTxPending;
52
- const inSwapTxConfirmation = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
53
- const notYetSwapTxSent = step?.key === "swap-tx-execution" && !marketFlow.swap.isTxSent && !marketFlow.swapBatch.isCallsSent;
54
- isFlowCancellable = approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;
55
- const swapTxHash = marketFlow.swapBatch.txHash || getStandaloneTxHash({
56
- transactionHash: marketFlow.swap.txHash
57
- });
58
- explorerLink = swapTxHash ? constructTxLinkForChain({
59
- chainId: marketFlow.chainId,
60
- txHash: swapTxHash
61
- }) : void 0;
62
- logger.once.log("step", step, marketFlow, {
63
- isFlowCancellable,
64
- explorerLink,
65
- txHash: swapTxHash
66
- });
67
- $[0] = logger.once;
68
- $[1] = marketFlow;
69
- $[2] = explorerLink;
70
- $[3] = isFlowCancellable;
71
- $[4] = step;
72
- } else {
73
- explorerLink = $[2];
74
- isFlowCancellable = $[3];
75
- step = $[4];
76
48
  }
49
+ const approvalIsStarted = step?.key === "signature" && step.subStep === "approval-signature" && marketFlow.approval.isTxPending;
50
+ const inSwapTxConfirmation = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
51
+ const notYetSwapTxSent = step?.key === "swap-tx-execution" && !marketFlow.swap.isTxSent && !marketFlow.swapBatch.isCallsSent;
52
+ const isFlowCancellable = approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;
53
+ const swapTxHash = marketFlow.swapBatch.txHash || getStandaloneTxHash({
54
+ transactionHash: marketFlow.swap.txHash
55
+ });
56
+ const explorerLink = swapTxHash ? constructTxLinkForChain({
57
+ chainId: marketFlow.chainId,
58
+ txHash: swapTxHash
59
+ }) : void 0;
60
+ const [nonFlowStep, setNonFlowStep] = useState(null);
77
61
  let t0;
78
- if ($[5] !== marketFlow.error) {
79
- t0 = isUserCancelledError(marketFlow.error) ? null : marketFlow.error;
80
- $[5] = marketFlow.error;
81
- $[6] = t0;
62
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
63
+ t0 = () => {
64
+ setNonFlowStep({
65
+ key: "prepare-swap"
66
+ });
67
+ };
68
+ $[0] = t0;
82
69
  } else {
83
- t0 = $[6];
70
+ t0 = $[0];
84
71
  }
85
- const error = t0;
72
+ const goToBeforeSwap = t0;
73
+ let t1;
74
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
75
+ t1 = () => {
76
+ setNonFlowStep(null);
77
+ };
78
+ $[1] = t1;
79
+ } else {
80
+ t1 = $[1];
81
+ }
82
+ const resetStepOverride = t1;
83
+ step = nonFlowStep || step;
84
+ const isNonFlowStep = !!nonFlowStep;
85
+ logger.once.log("step", step, marketFlow, {
86
+ isFlowCancellable,
87
+ explorerLink,
88
+ txHash: swapTxHash
89
+ });
90
+ let t2;
91
+ if ($[2] !== marketFlow.error) {
92
+ t2 = isUserCancelledError(marketFlow.error) ? null : marketFlow.error;
93
+ $[2] = marketFlow.error;
94
+ $[3] = t2;
95
+ } else {
96
+ t2 = $[3];
97
+ }
98
+ const error = t2;
86
99
  let erroredStep;
87
100
  if (marketFlow.isError) {
88
101
  if (marketFlow.approval.isError || marketFlow.signPermit.isError || marketFlow.buildTxParams.isError || marketFlow.swap.isConfirmingTxError || marketFlow.swapBatch.isConfirmingCallsError) {
@@ -93,41 +106,110 @@ function useMarketSwapStep(options) {
93
106
  }
94
107
  }
95
108
  }
96
- let t1;
97
- if ($[7] !== cancelFlow || $[8] !== error || $[9] !== erroredStep || $[10] !== explorerLink || $[11] !== isFlowCancellable || $[12] !== marketFlow.result || $[13] !== marketFlow.submittedSwapRequest || $[14] !== marketFlow.tradeFlowType || $[15] !== marketFlow.usedPrice || $[16] !== reset || $[17] !== retryFlow || $[18] !== startMarketSwap || $[19] !== step) {
98
- t1 = {
99
- startMarketSwap,
100
- reset,
101
- cancelFlow,
102
- retryFlow,
109
+ let t3;
110
+ if ($[4] !== error || $[5] !== erroredStep || $[6] !== explorerLink || $[7] !== isFlowCancellable || $[8] !== isNonFlowStep || $[9] !== marketFlow.freshPrice || $[10] !== marketFlow.result || $[11] !== marketFlow.submittedSwapRequest || $[12] !== marketFlow.usedPrice) {
111
+ t3 = isNonFlowStep ? {
112
+ usedPrice: marketFlow.freshPrice,
113
+ isFlowCancellable: false,
114
+ error: null
115
+ } : {
103
116
  isFlowCancellable,
104
- step,
105
117
  explorerLink,
106
118
  error,
107
119
  erroredStep,
108
120
  result: marketFlow.result,
109
121
  usedPrice: marketFlow.usedPrice,
110
- submittedSwapRequest: marketFlow.submittedSwapRequest,
122
+ submittedSwapRequest: marketFlow.submittedSwapRequest
123
+ };
124
+ $[4] = error;
125
+ $[5] = erroredStep;
126
+ $[6] = explorerLink;
127
+ $[7] = isFlowCancellable;
128
+ $[8] = isNonFlowStep;
129
+ $[9] = marketFlow.freshPrice;
130
+ $[10] = marketFlow.result;
131
+ $[11] = marketFlow.submittedSwapRequest;
132
+ $[12] = marketFlow.usedPrice;
133
+ $[13] = t3;
134
+ } else {
135
+ t3 = $[13];
136
+ }
137
+ const resultProps = t3;
138
+ let t4;
139
+ if ($[14] !== resetStepOverride || $[15] !== startMarketSwap) {
140
+ t4 = (options_0) => {
141
+ resetStepOverride();
142
+ return startMarketSwap(options_0);
143
+ };
144
+ $[14] = resetStepOverride;
145
+ $[15] = startMarketSwap;
146
+ $[16] = t4;
147
+ } else {
148
+ t4 = $[16];
149
+ }
150
+ let t5;
151
+ if ($[17] !== reset || $[18] !== resetStepOverride) {
152
+ t5 = () => {
153
+ resetStepOverride();
154
+ return reset();
155
+ };
156
+ $[17] = reset;
157
+ $[18] = resetStepOverride;
158
+ $[19] = t5;
159
+ } else {
160
+ t5 = $[19];
161
+ }
162
+ let t6;
163
+ if ($[20] !== cancelFlow || $[21] !== resetStepOverride) {
164
+ t6 = () => {
165
+ resetStepOverride();
166
+ return cancelFlow();
167
+ };
168
+ $[20] = cancelFlow;
169
+ $[21] = resetStepOverride;
170
+ $[22] = t6;
171
+ } else {
172
+ t6 = $[22];
173
+ }
174
+ let t7;
175
+ if ($[23] !== resetStepOverride || $[24] !== retryFlow) {
176
+ t7 = (options_1) => {
177
+ resetStepOverride();
178
+ return retryFlow(options_1);
179
+ };
180
+ $[23] = resetStepOverride;
181
+ $[24] = retryFlow;
182
+ $[25] = t7;
183
+ } else {
184
+ t7 = $[25];
185
+ }
186
+ let t8;
187
+ if ($[26] !== goToBeforeSwap || $[27] !== isNonFlowStep || $[28] !== marketFlow.tradeFlowType || $[29] !== resultProps || $[30] !== step || $[31] !== t4 || $[32] !== t5 || $[33] !== t6 || $[34] !== t7) {
188
+ t8 = {
189
+ startMarketSwap: t4,
190
+ reset: t5,
191
+ cancelFlow: t6,
192
+ retryFlow: t7,
193
+ goToBeforeSwap,
194
+ step,
195
+ isNonFlowStep,
196
+ ...resultProps,
111
197
  tradeFlowType: marketFlow.tradeFlowType
112
198
  };
113
- $[7] = cancelFlow;
114
- $[8] = error;
115
- $[9] = erroredStep;
116
- $[10] = explorerLink;
117
- $[11] = isFlowCancellable;
118
- $[12] = marketFlow.result;
119
- $[13] = marketFlow.submittedSwapRequest;
120
- $[14] = marketFlow.tradeFlowType;
121
- $[15] = marketFlow.usedPrice;
122
- $[16] = reset;
123
- $[17] = retryFlow;
124
- $[18] = startMarketSwap;
125
- $[19] = step;
126
- $[20] = t1;
199
+ $[26] = goToBeforeSwap;
200
+ $[27] = isNonFlowStep;
201
+ $[28] = marketFlow.tradeFlowType;
202
+ $[29] = resultProps;
203
+ $[30] = step;
204
+ $[31] = t4;
205
+ $[32] = t5;
206
+ $[33] = t6;
207
+ $[34] = t7;
208
+ $[35] = t8;
127
209
  } else {
128
- t1 = $[20];
210
+ t8 = $[35];
129
211
  }
130
- return t1;
212
+ return t8;
131
213
  }
132
214
 
133
215
  export { useMarketSwapStep };
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"sourcesContent":["import type {\n MarketSwapStep,\n MarketSwapStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useMarketFlow,\n type UseMarketFlowInput,\n type UseMarketFlowResult,\n type SubmitSwapResult,\n} from \"./useMarketFlow\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\n\ntype UseMarketSwapStepResult = {\n startMarketSwap: UseMarketFlowResult[\"runMarketSwapFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseMarketFlowResult[\"reset\"];\n cancelFlow: UseMarketFlowResult[\"cancelFlow\"];\n retryFlow: UseMarketFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n step?: MarketSwapStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: MarketSwapStepKey;\n result?: SubmitSwapResult;\n usedPrice: UseMarketFlowResult[\"usedPrice\"];\n submittedSwapRequest?: UseMarketFlowResult[\"submittedSwapRequest\"];\n tradeFlowType: UseMarketFlowResult[\"tradeFlowType\"];\n};\n\nexport function useMarketSwapStep(\n options: UseMarketFlowInput\n): UseMarketSwapStepResult {\n const logger = useLogger(\"MarketSwapStep\");\n const marketFlow = useMarketFlow(options);\n\n const startMarketSwap = marketFlow.runMarketSwapFlow;\n const reset = marketFlow.reset;\n const cancelFlow = marketFlow.cancelFlow;\n const retryFlow = marketFlow.retryFlow;\n\n let step: MarketSwapStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n marketFlow.approval.isPending || !marketFlow.approval.isSuccess;\n\n const willUsePermit =\n marketFlow.approval.needsApproval &&\n marketFlow.signPermit.isPermitSupported &&\n marketFlow.signPermit.isPermitReadyToSign &&\n !marketFlow.swapBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n marketFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n marketFlow.buildTxParams.isPending ||\n marketFlow.swap.isConfirmingTX ||\n marketFlow.swapBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n marketFlow.approval.txHash || marketFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n marketFlow.swap.isTxPending ||\n marketFlow.swapBatch.isCallsPending\n ) {\n step = { key: \"swap-tx-execution\" };\n } else if (marketFlow.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 marketFlow.approval.isTxPending;\n\n const inSwapTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetSwapTxSent =\n step?.key === \"swap-tx-execution\" &&\n !marketFlow.swap.isTxSent &&\n !marketFlow.swapBatch.isCallsSent;\n\n // final tx is not yet sent, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n const isFlowCancellable =\n approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;\n\n const swapTxHash =\n // either last txHash from batch receipt\n marketFlow.swapBatch.txHash ||\n // or standalone swap txHash\n getStandaloneTxHash({ transactionHash: marketFlow.swap.txHash });\n const explorerLink = swapTxHash\n ? constructTxLinkForChain({\n chainId: marketFlow.chainId,\n txHash: swapTxHash,\n })\n : undefined;\n\n logger.once.log(\"step\", step, marketFlow, {\n isFlowCancellable,\n explorerLink,\n txHash: swapTxHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(marketFlow.error)\n ? null\n : marketFlow.error;\n\n let erroredStep: MarketSwapStepKey | undefined;\n\n if (marketFlow.isError) {\n if (\n marketFlow.approval.isError ||\n marketFlow.signPermit.isError ||\n marketFlow.buildTxParams.isError ||\n marketFlow.swap.isConfirmingTxError ||\n marketFlow.swapBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n marketFlow.swap.isTxAwaitingError ||\n marketFlow.swapBatch.isCallsAwaitingError\n ) {\n erroredStep = \"swap-tx-execution\";\n }\n }\n\n return {\n startMarketSwap,\n reset,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: marketFlow.result,\n usedPrice: marketFlow.usedPrice,\n submittedSwapRequest: marketFlow.submittedSwapRequest,\n tradeFlowType: marketFlow.tradeFlowType,\n };\n}\n"],"names":["useMarketSwapStep","options","$","_c","logger","useLogger","marketFlow","useMarketFlow","startMarketSwap","runMarketSwapFlow","reset","cancelFlow","retryFlow","explorerLink","isFlowCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","swapBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","buildTxParams","swap","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inSwapTxConfirmation","notYetSwapTxSent","isTxSent","isCallsSent","swapTxHash","getStandaloneTxHash","transactionHash","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t1","result","submittedSwapRequest","tradeFlowType","usedPrice"],"mappings":";;;;;;;AAgCO,SAAAA,kBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,gBAAgB,CAAA;AACzC,EAAA,MAAAC,UAAAA,GAAmBC,cAAcN,OAAO,CAAA;AAExC,EAAA,MAAAO,kBAAwBF,UAAAA,CAAUG,iBAAAA;AAClC,EAAA,MAAAC,QAAcJ,UAAAA,CAAUI,KAAAA;AACxB,EAAA,MAAAC,aAAmBL,UAAAA,CAAUK,UAAAA;AAC7B,EAAA,MAAAC,YAAkBN,UAAAA,CAAUM,SAAAA;AAAW,EAAA,IAAAC,YAAAA;AAAA,EAAA,IAAAC,iBAAAA;AAAA,EAAA,IAAAC,IAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAE,MAAAA,CAAAY,QAAAd,CAAAA,QAAAI,UAAAA,EAAA;AAIvC,IAAA,MAAAW,wCAGEX,UAAAA,CAAUY,UAAAA,CAAWC,SAAAA,IAArB,CAAoCb,WAAUY,UAAAA,CAAWE,cAAAA;AAE3D,IAAA,MAAAC,mCAGEf,UAAAA,CAAUgB,QAAAA,CAASH,SAAAA,IAAnB,CAAkCb,WAAUgB,QAAAA,CAASC,SAAAA;AAEvD,IAAA,MAAAC,aAAAA,GACElB,UAAAA,CAAUgB,QAAAA,CAASG,aAAAA,IACnBnB,UAAAA,CAAUY,UAAAA,CAAWQ,iBAAAA,IACrBpB,UAAAA,CAAUY,UAAAA,CAAWS,mBAAAA,IAFrB,CAGCrB,UAAAA,CAAUsB,SAAAA,CAAUC,WAAAA;AAEvB,IAAA,MAAAC,wCAAAA,GAAiDN,gBAAAP,qCAAAA,GAAAI,gCAAAA;AAIjD,IAAA,IACEf,UAAAA,CAAUgB,QAAAA,CAASG,aAAAA,IAAnBK,wCAAAA,EACwC;AAExCf,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EAAOA,WAAAA;AAAAA,QAAWA,OAAAA,EAAWA;AAAAA,OAAqBA;AAAAA,IAArD,CAAA,MAAA;AACC,MAAA,IACLT,UAAAA,CAAUyB,cAAcZ,SAAAA,IACxBb,UAAAA,CAAU0B,KAAKC,cAAAA,IACf3B,UAAAA,CAAUsB,UAAUM,iBAAAA,EAAkB;AAEtC,QAAA,MAAAC,2BAAiC,CAAC,EAChC7B,WAAUgB,QAAAA,CAASc,MAAAA,IAAW9B,WAAUY,UAAAA,CAAWmB,SAAAA,CAAAA;AAGrDtB,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EACAA,WAAAA;AAAAA,UAAWA,OAAAA,EACPoB,2BAAA,iBAAA,GAAA;AAAA,SAGX;AAAA,MALI,CAAA,MAAA;AAMC,QAAA,IACL7B,UAAAA,CAAU0B,IAAAA,CAAKM,WAAAA,IACfhC,UAAAA,CAAUsB,UAAUW,cAAAA,EAAe;AAEnCxB,UAAAA,IAAAA,GAAOA;AAAAA,YAAAA,GAAAA,EAAOA;AAAAA,WAAoBA;AAAAA,QAA9B,CAAA,MAAA;AACC,UAAA,IAAIT,WAAUa,SAAAA,EAAU;AAG7BJ,YAAAA,IAAAA,GAAOA;AAAAA,cAAAA,GAAAA,EAAOA,WAAAA;AAAAA,cAAWA,OAAAA,EAAWA;AAAAA,aAA6BA;AAAAA,UAA7D;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAED,IAAA,MAAAyB,iBAAAA,GACEzB,MAAI0B,GAAAA,KAAU,WAAA,IACd1B,KAAI2B,OAAAA,KAAa,oBAAA,IACjBpC,WAAUgB,QAAAA,CAASgB,WAAAA;AAErB,IAAA,MAAAK,oBAAAA,GACE5B,MAAI0B,GAAAA,KAAU,WAAA,KACb1B,KAAI2B,OAAAA,KAAa,iBAAA,IAChB3B,KAAI2B,OAAAA,KAAa,4BAAA,CAAA;AAErB,IAAA,MAAAE,gBAAAA,GACE7B,IAAAA,EAAI0B,GAAAA,KAAU,mBAAA,IAAd,CACCnC,WAAU0B,IAAAA,CAAKa,QAAAA,IADhB,CAECvC,UAAAA,CAAUsB,SAAAA,CAAUkB,WAAAA;AAIvBhC,IAAAA,iBAAAA,GACE0B,qBAAAG,oBAAAA,IAAAC,gBAAAA;AAEF,IAAA,MAAAG,UAAAA,GAEEzC,UAAAA,CAAUsB,SAAAA,CAAUQ,MAAAA,IAEpBY,mBAAAA,CAAoB;AAAA,MAAAC,eAAAA,EAAmB3C,WAAU0B,IAAAA,CAAKI;AAAAA,KAAS,CAAA;AACjEvB,IAAAA,YAAAA,GAAqBkC,aACjBG,uBAAAA,CAAwB;AAAA,MAAAC,SACb7C,UAAAA,CAAU6C,OAAAA;AAAAA,MAAQf,MAAAA,EACnBW;AAAAA,KAEF,CAAA,GALSK,MAAAA;AAOrBhD,IAAAA,MAAAA,CAAMY,IAAAA,CAAKqC,GAAAA,CAAK,MAAA,EAAQtC,IAAAA,EAAMT,UAAAA,EAAY;AAAA,MAAAQ,iBAAAA;AAAAA,MAAAD,YAAAA;AAAAA,MAAAuB,MAAAA,EAGhCW;AAAAA,KACT,CAAA;AAAC7C,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,CAAAY,IAAAA;AAAAd,IAAAA,CAAAA,MAAAI,UAAAA;AAAAJ,IAAAA,CAAAA,MAAAW,YAAAA;AAAAX,IAAAA,CAAAA,MAAAY,iBAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,IAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAF,IAAAA,YAAAA,GAAAX,EAAA,CAAA,CAAA;AAAAY,IAAAA,iBAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAAa,IAAAA,IAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoD,EAAAA;AAAA,EAAA,IAAApD,CAAAA,CAAA,CAAA,CAAA,KAAAI,UAAAA,CAAAiD,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqBlD,UAAAA,CAAUiD,KAE1B,CAAA,GAFL,OAEVjD,UAAAA,CAAUiD,KAAAA;AAAMrD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,UAAAA,CAAAiD,KAAAA;AAAArD,IAAAA,CAAAA,MAAAoD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApD,EAAA,CAAA,CAAA;AAAA,EAAA;AAFpB,EAAA,MAAAqD,KAAAA,GAAcD,EAAAA;AAIVG,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAInD,WAAUoD,OAAAA,EAAQ;AACpB,IAAA,IACEpD,UAAAA,CAAUgB,QAAAA,CAASoC,OAAAA,IACnBpD,UAAAA,CAAUY,WAAWwC,OAAAA,IACrBpD,UAAAA,CAAUyB,aAAAA,CAAc2B,OAAAA,IACxBpD,UAAAA,CAAU0B,IAAAA,CAAK2B,mBAAAA,IACfrD,UAAAA,CAAUsB,UAAUgC,sBAAAA,EAAuB;AAE3CH,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IACLnD,UAAAA,CAAU0B,IAAAA,CAAK6B,iBAAAA,IACfvD,UAAAA,CAAUsB,UAAUkC,oBAAAA,EAAqB;AAEzCL,QAAAA,WAAAA,GAAcA,mBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AACF,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAA7D,CAAAA,CAAA,CAAA,CAAA,KAAAS,UAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAqD,KAAAA,IAAArD,CAAAA,CAAA,CAAA,CAAA,KAAAuD,WAAAA,IAAAvD,EAAA,EAAA,CAAA,KAAAW,YAAAA,IAAAX,CAAAA,CAAA,EAAA,CAAA,KAAAY,iBAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAI,UAAAA,CAAA0D,MAAAA,IAAA9D,CAAAA,CAAA,EAAA,MAAAI,UAAAA,CAAA2D,oBAAAA,IAAA/D,CAAAA,CAAA,EAAA,CAAA,KAAAI,UAAAA,CAAA4D,aAAAA,IAAAhE,CAAAA,CAAA,EAAA,CAAA,KAAAI,UAAAA,CAAA6D,SAAAA,IAAAjE,CAAAA,CAAA,EAAA,MAAAQ,KAAAA,IAAAR,CAAAA,CAAA,EAAA,CAAA,KAAAU,SAAAA,IAAAV,CAAAA,CAAA,EAAA,CAAA,KAAAM,eAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAa,IAAAA,EAAA;AAEMgD,IAAAA,EAAAA,GAAA;AAAA,MAAAvD,eAAAA;AAAAA,MAAAE,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAE,iBAAAA;AAAAA,MAAAC,IAAAA;AAAAA,MAAAF,YAAAA;AAAAA,MAAA0C,KAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAO,QAUG1D,UAAAA,CAAU0D,MAAAA;AAAAA,MAAOG,WACd7D,UAAAA,CAAU6D,SAAAA;AAAAA,MAAUF,sBACT3D,UAAAA,CAAU2D,oBAAAA;AAAAA,MAAqBC,eACtC5D,UAAAA,CAAU4D;AAAAA,KAC3B;AAAChE,IAAAA,CAAAA,MAAAS,UAAAA;AAAAT,IAAAA,CAAAA,MAAAqD,KAAAA;AAAArD,IAAAA,CAAAA,MAAAuD,WAAAA;AAAAvD,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,OAAAY,iBAAAA;AAAAZ,IAAAA,CAAAA,CAAA,EAAA,IAAAI,UAAAA,CAAA0D,MAAAA;AAAA9D,IAAAA,CAAAA,CAAA,EAAA,IAAAI,UAAAA,CAAA2D,oBAAAA;AAAA/D,IAAAA,CAAAA,CAAA,EAAA,IAAAI,UAAAA,CAAA4D,aAAAA;AAAAhE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,UAAAA,CAAA6D,SAAAA;AAAAjE,IAAAA,CAAAA,OAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,OAAAU,SAAAA;AAAAV,IAAAA,CAAAA,OAAAM,eAAAA;AAAAN,IAAAA,CAAAA,OAAAa,IAAAA;AAAAb,IAAAA,CAAAA,OAAA6D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7D,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAdM6D,EAAAA;AAcN;;;;"}
1
+ {"version":3,"file":"useMarketSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketSwapStep.ts"],"sourcesContent":["import type {\n MarketSwapStep,\n MarketSwapStepKey,\n NonFlowStep,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useMarketFlow,\n type UseMarketFlowInput,\n type UseMarketFlowResult,\n type SubmitSwapResult,\n} from \"./useMarketFlow\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\nimport { useState } from \"react\";\n\ntype UseMarketSwapStepResult = {\n startMarketSwap: UseMarketFlowResult[\"runMarketSwapFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseMarketFlowResult[\"reset\"];\n cancelFlow: UseMarketFlowResult[\"cancelFlow\"];\n retryFlow: UseMarketFlowResult[\"retryFlow\"];\n goToBeforeSwap: () => void;\n isNonFlowStep: boolean;\n isFlowCancellable: boolean;\n step?: MarketSwapStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: MarketSwapStepKey;\n result?: SubmitSwapResult;\n usedPrice: UseMarketFlowResult[\"usedPrice\"];\n submittedSwapRequest?: UseMarketFlowResult[\"submittedSwapRequest\"];\n tradeFlowType: UseMarketFlowResult[\"tradeFlowType\"];\n};\n\nexport function useMarketSwapStep(\n options: UseMarketFlowInput\n): UseMarketSwapStepResult {\n const logger = useLogger(\"MarketSwapStep\");\n const marketFlow = useMarketFlow(options);\n\n const startMarketSwap = marketFlow.runMarketSwapFlow;\n const reset = marketFlow.reset;\n const cancelFlow = marketFlow.cancelFlow;\n const retryFlow = marketFlow.retryFlow;\n\n let step: MarketSwapStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n marketFlow.signPermit.isPending || !marketFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n marketFlow.approval.isPending || !marketFlow.approval.isSuccess;\n\n const willUsePermit =\n marketFlow.approval.needsApproval &&\n marketFlow.signPermit.isPermitSupported &&\n marketFlow.signPermit.isPermitReadyToSign &&\n !marketFlow.swapBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n marketFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n marketFlow.buildTxParams.isPending ||\n marketFlow.swap.isConfirmingTX ||\n marketFlow.swapBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n marketFlow.approval.txHash || marketFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n marketFlow.swap.isTxPending ||\n marketFlow.swapBatch.isCallsPending\n ) {\n step = { key: \"swap-tx-execution\" };\n } else if (marketFlow.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 marketFlow.approval.isTxPending;\n\n const inSwapTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetSwapTxSent =\n step?.key === \"swap-tx-execution\" &&\n !marketFlow.swap.isTxSent &&\n !marketFlow.swapBatch.isCallsSent;\n\n // final tx is not yet sent, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n const isFlowCancellable =\n approvalIsStarted || inSwapTxConfirmation || notYetSwapTxSent;\n\n const swapTxHash =\n // either last txHash from batch receipt\n marketFlow.swapBatch.txHash ||\n // or standalone swap txHash\n getStandaloneTxHash({ transactionHash: marketFlow.swap.txHash });\n const explorerLink = swapTxHash\n ? constructTxLinkForChain({\n chainId: marketFlow.chainId,\n txHash: swapTxHash,\n })\n : undefined;\n\n const [nonFlowStep, setNonFlowStep] = useState<NonFlowStep | null>(null);\n const goToBeforeSwap = () => {\n setNonFlowStep({ key: \"prepare-swap\" });\n };\n const resetStepOverride = () => {\n setNonFlowStep(null);\n };\n\n step = nonFlowStep || step;\n const isNonFlowStep = !!nonFlowStep;\n\n logger.once.log(\"step\", step, marketFlow, {\n isFlowCancellable,\n explorerLink,\n txHash: swapTxHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(marketFlow.error)\n ? null\n : marketFlow.error;\n\n let erroredStep: MarketSwapStepKey | undefined;\n\n if (marketFlow.isError) {\n if (\n marketFlow.approval.isError ||\n marketFlow.signPermit.isError ||\n marketFlow.buildTxParams.isError ||\n marketFlow.swap.isConfirmingTxError ||\n marketFlow.swapBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n marketFlow.swap.isTxAwaitingError ||\n marketFlow.swapBatch.isCallsAwaitingError\n ) {\n erroredStep = \"swap-tx-execution\";\n }\n }\n\n const resultProps: Pick<\n UseMarketSwapStepResult,\n | \"usedPrice\"\n | \"isFlowCancellable\"\n | \"error\"\n | \"erroredStep\"\n | \"result\"\n | \"submittedSwapRequest\"\n | \"explorerLink\"\n > = isNonFlowStep\n ? {\n // don't return previous data when in non-flow step\n usedPrice: marketFlow.freshPrice,\n isFlowCancellable: false,\n error: null,\n }\n : {\n isFlowCancellable,\n explorerLink,\n error,\n erroredStep,\n result: marketFlow.result,\n usedPrice: marketFlow.usedPrice,\n submittedSwapRequest: marketFlow.submittedSwapRequest,\n };\n\n return {\n startMarketSwap: (options) => {\n resetStepOverride();\n return startMarketSwap(options);\n },\n reset: () => {\n resetStepOverride();\n return reset();\n },\n cancelFlow: () => {\n resetStepOverride();\n return cancelFlow();\n },\n retryFlow: (options) => {\n resetStepOverride();\n return retryFlow(options);\n },\n goToBeforeSwap,\n step,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: marketFlow.tradeFlowType,\n };\n}\n"],"names":["useMarketSwapStep","options","$","_c","logger","useLogger","marketFlow","useMarketFlow","startMarketSwap","runMarketSwapFlow","reset","cancelFlow","retryFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","swapBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","buildTxParams","swap","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inSwapTxConfirmation","notYetSwapTxSent","isTxSent","isCallsSent","isFlowCancellable","swapTxHash","getStandaloneTxHash","transactionHash","explorerLink","constructTxLinkForChain","chainId","undefined","nonFlowStep","setNonFlowStep","useState","t0","Symbol","for","goToBeforeSwap","t1","resetStepOverride","isNonFlowStep","once","log","t2","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t3","freshPrice","result","submittedSwapRequest","usedPrice","resultProps","t4","options_0","t5","t6","t7","options_1","t8","tradeFlowType"],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import { GenericTokenAllowanceMin } from './types';
2
2
  import { SwapSideUnion } from '@velora-dex/sdk';
3
3
  /**
4
- * Adjusts the allowance to set by applying slippage for BUY side.
4
+ * Adjusts GenericTokenAllowance by applying slippage for BUY side.
5
5
  */
6
- export declare function allowanceWithSlippage({ allowance, swapSide, slippage, }: {
6
+ export declare function genericAllowanceWithSlippage({ allowance, swapSide, slippage, }: {
7
7
  allowance: GenericTokenAllowanceMin;
8
8
  swapSide: SwapSideUnion;
9
9
  slippage: number;
10
10
  }): GenericTokenAllowanceMin;
11
+ /**
12
+ * Adjusts allowance by applying slippage for BUY side.
13
+ */
14
+ export declare function allowanceWithSlippage({ allowance, swapSide, slippage, }: {
15
+ allowance?: bigint | string;
16
+ swapSide: SwapSideUnion;
17
+ slippage: number;
18
+ }): bigint | undefined;
11
19
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,wBAAwB,CAAC;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,wBAAwB,CAgB3B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/allowance/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,wBAAwB,CAAC;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,wBAAwB,CAS3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,GAAG,SAAS,CAQrB"}
@@ -1,19 +1,30 @@
1
1
  import { amountAfterSlippage } from '../../../lib/utils/slippage.js';
2
2
 
3
+ function genericAllowanceWithSlippage({
4
+ allowance,
5
+ swapSide,
6
+ slippage
7
+ }) {
8
+ return {
9
+ ...allowance,
10
+ allowanceToSet: allowanceWithSlippage({
11
+ allowance: allowance.allowanceToSet,
12
+ swapSide,
13
+ slippage
14
+ })
15
+ };
16
+ }
3
17
  function allowanceWithSlippage({
4
18
  allowance,
5
19
  swapSide,
6
20
  slippage
7
21
  }) {
8
- if (allowance.allowanceToSet && swapSide === "BUY") {
9
- const withSlippage = BigInt(amountAfterSlippage(allowance.allowanceToSet.toString(), slippage, swapSide).toFixed(0));
10
- return {
11
- ...allowance,
12
- allowanceToSet: withSlippage
13
- };
22
+ if (allowance === void 0) return;
23
+ if (swapSide === "BUY") {
24
+ return BigInt(amountAfterSlippage(allowance.toString(), slippage, swapSide).toFixed(0));
14
25
  }
15
- return allowance;
26
+ return BigInt(allowance);
16
27
  }
17
28
 
18
- export { allowanceWithSlippage };
29
+ export { allowanceWithSlippage, genericAllowanceWithSlippage };
19
30
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/hooks/tokens/allowance/utils.ts"],"sourcesContent":["import { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport type { GenericTokenAllowanceMin } from \"./types\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\n\n/**\n * Adjusts the allowance to set by applying slippage for BUY side.\n */\nexport function allowanceWithSlippage({\n allowance,\n swapSide,\n slippage,\n}: {\n allowance: GenericTokenAllowanceMin;\n swapSide: SwapSideUnion;\n slippage: number;\n}): GenericTokenAllowanceMin {\n if (allowance.allowanceToSet && swapSide === \"BUY\") {\n // srcAmount + slippage for BUY side\n const withSlippage = BigInt(\n amountAfterSlippage(\n allowance.allowanceToSet.toString(),\n slippage,\n swapSide\n ).toFixed(0)\n );\n return {\n ...allowance,\n allowanceToSet: withSlippage,\n };\n }\n return allowance;\n}\n"],"names":["allowanceWithSlippage","allowance","swapSide","slippage","allowanceToSet","withSlippage","BigInt","amountAfterSlippage","toString","toFixed"],"mappings":";;AAOO,SAASA,qBAAAA,CAAsB;AAAA,EACpCC,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC;AAKF,CAAA,EAA6B;AAC3B,EAAA,IAAIF,SAAAA,CAAUG,cAAAA,IAAkBF,QAAAA,KAAa,KAAA,EAAO;AAElD,IAAA,MAAMG,YAAAA,GAAeC,MAAAA,CACnBC,mBAAAA,CACEN,SAAAA,CAAUG,cAAAA,CAAeI,QAAAA,EAAS,EAClCL,QAAAA,EACAD,QACF,CAAA,CAAEO,OAAAA,CAAQ,CAAC,CACb,CAAA;AACA,IAAA,OAAO;AAAA,MACL,GAAGR,SAAAA;AAAAA,MACHG,cAAAA,EAAgBC;AAAAA,KAClB;AAAA,EACF;AACA,EAAA,OAAOJ,SAAAA;AACT;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/hooks/tokens/allowance/utils.ts"],"sourcesContent":["import { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport type { GenericTokenAllowanceMin } from \"./types\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\n\n/**\n * Adjusts GenericTokenAllowance by applying slippage for BUY side.\n */\nexport function genericAllowanceWithSlippage({\n allowance,\n swapSide,\n slippage,\n}: {\n allowance: GenericTokenAllowanceMin;\n swapSide: SwapSideUnion;\n slippage: number;\n}): GenericTokenAllowanceMin {\n return {\n ...allowance,\n allowanceToSet: allowanceWithSlippage({\n allowance: allowance.allowanceToSet,\n swapSide,\n slippage,\n }),\n };\n}\n\n/**\n * Adjusts allowance by applying slippage for BUY side.\n */\nexport function allowanceWithSlippage({\n allowance,\n swapSide,\n slippage,\n}: {\n allowance?: bigint | string;\n swapSide: SwapSideUnion;\n slippage: number;\n}): bigint | undefined {\n if (allowance === undefined) return;\n if (swapSide === \"BUY\") {\n return BigInt(\n amountAfterSlippage(allowance.toString(), slippage, swapSide).toFixed(0)\n );\n }\n return BigInt(allowance);\n}\n"],"names":["genericAllowanceWithSlippage","allowance","swapSide","slippage","allowanceToSet","allowanceWithSlippage","undefined","BigInt","amountAfterSlippage","toString","toFixed"],"mappings":";;AAOO,SAASA,4BAAAA,CAA6B;AAAA,EAC3CC,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC;AAKF,CAAA,EAA6B;AAC3B,EAAA,OAAO;AAAA,IACL,GAAGF,SAAAA;AAAAA,IACHG,gBAAgBC,qBAAAA,CAAsB;AAAA,MACpCJ,WAAWA,SAAAA,CAAUG,cAAAA;AAAAA,MACrBF,QAAAA;AAAAA,MACAC;AAAAA,KACD;AAAA,GACH;AACF;AAKO,SAASE,qBAAAA,CAAsB;AAAA,EACpCJ,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC;AAKF,CAAA,EAAuB;AACrB,EAAA,IAAIF,cAAcK,MAAAA,EAAW;AAC7B,EAAA,IAAIJ,aAAa,KAAA,EAAO;AACtB,IAAA,OAAOK,MAAAA,CACLC,mBAAAA,CAAoBP,SAAAA,CAAUQ,QAAAA,EAAS,EAAGN,UAAUD,QAAQ,CAAA,CAAEQ,OAAAA,CAAQ,CAAC,CACzE,CAAA;AAAA,EACF;AACA,EAAA,OAAOH,OAAON,SAAS,CAAA;AACzB;;;;"}
@@ -1,4 +1,4 @@
1
- import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, PreSignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions, DeltaTokenModuleFunctions } from '@velora-dex/sdk';
1
+ import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, PreSignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions } from '@velora-dex/sdk';
2
2
  import { Address, Hash, Hex } from 'viem';
3
3
  import { Prettify } from 'ts-essentials';
4
4
  type SDKCreateParams = {
@@ -29,11 +29,11 @@ export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }:
29
29
  }): ConstructedSDKOutput<LimitOrdersSDK>;
30
30
  export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }: LimitOrdersSDKCreateParams): ConstructedSDKOutput<LimitOrdersSDK | ReadOnlyLimitOrdersSDK>;
31
31
  export declare const useFetchOnlySDK: ({ chainId, apiURL, }: SDKCreateParams) => Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>>;
32
- export declare const useCalldataSDK: ({ chainId, apiURL, client, }: Omit<LimitOrdersSDKCreateParams, "account">) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex> & PreSignDeltaOrderFunctions<Hex> & DeltaTokenModuleFunctions<Hex> & BuildDeltaOrderFunctions>>;
32
+ export declare const useCalldataSDK: ({ chainId, apiURL, client, }: Omit<LimitOrdersSDKCreateParams, "account">) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex> & PreSignDeltaOrderFunctions<Hex> & BuildDeltaOrderFunctions>>;
33
33
  type ReadOnlyDeltaSDK = Prettify<GetDeltaOrdersFunctions & GetDeltaPriceFunctions & BuildDeltaOrderFunctions & PostDeltaOrderFunctions & GetBridgeInfoFunctions & IsTokenSupportedInDeltaFunctions & {
34
34
  chainId: number;
35
35
  }>;
36
- export type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions & DeltaTokenModuleFunctions<Hash>>;
36
+ export type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions>;
37
37
  type DeltaSDKCreateParams = SDKCreateParams & {
38
38
  client?: MinViemClient;
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
3
- import { constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructDeltaTokenModule, constructGetRate, constructGetSpender, constructBuildTx, constructAxiosFetcher, constructFillOrderDirectly, constructPreSignDeltaOrder, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
3
+ import { constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx, constructAxiosFetcher, constructFillOrderDirectly, constructPreSignDeltaOrder, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
4
4
  import { encodeFunctionData } from 'viem';
5
5
  import { getLogger } from '../core/logger.js';
6
6
  import { getApiURL } from '../lib/constants/urls.js';
@@ -139,7 +139,7 @@ const useCalldataSDK = ({
139
139
  fetcher,
140
140
  contractCaller
141
141
  };
142
- return constructPartialSDK(SDKconfig, constructFillOrderDirectly, constructPreSignDeltaOrder, constructBuildDeltaOrder, constructDeltaTokenModule);
142
+ return constructPartialSDK(SDKconfig, constructFillOrderDirectly, constructPreSignDeltaOrder, constructBuildDeltaOrder);
143
143
  }, [apiURL, chainId, client, fetcher]);
144
144
  return {
145
145
  appVersion: sdk?.version,
@@ -171,7 +171,7 @@ function useDeltaSDK({
171
171
  return constructPartialSDK({
172
172
  ...SDKconfig,
173
173
  contractCaller
174
- }, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructCancelDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructSignDeltaOrder, constructDeltaTokenModule);
174
+ }, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructCancelDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructSignDeltaOrder);
175
175
  }, [apiURL, chainId, client, account, fetcher]);
176
176
  return {
177
177
  appVersion: sdk.version,
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructDeltaTokenModule,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n type DeltaTokenModuleFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n limitSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n DeltaTokenModuleFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK &\n SignDeltaOrderFunctions &\n CancelDeltaOrderFunctions &\n DeltaTokenModuleFunctions<Hash>\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["useSDKFetcher","apiConfig","useApiConfig","useMemo","constructAxiosFetcher","axios","useKeepAliveSDKFetcher","window","constructFetchFetcher","fetch","keepalive","useMarketSwapSDK","chainId","apiURL","fetcher","sdk","SDKconfig","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","constructPostDeltaOrder","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","constructDeltaTokenModule","deltaSDKLogger","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
1
+ {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n limitSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["useSDKFetcher","apiConfig","useApiConfig","useMemo","constructAxiosFetcher","axios","useKeepAliveSDKFetcher","window","constructFetchFetcher","fetch","keepalive","useMarketSwapSDK","chainId","apiURL","fetcher","sdk","SDKconfig","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","constructPostDeltaOrder","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","deltaSDKLogger","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/urls.ts"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,IAAI,MAAM,CAQlC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAOvC"}
1
+ {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/urls.ts"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAIvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"urls.js","sources":["../../../src/lib/constants/urls.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { devURLsAtom } from \"@/core/state/configAtom\";\n\nconst PROD_API_URL = \"https://api.paraswap.io\";\nconst PROD_PROXY_API_URL = \"https://proxy.paraswap.io\";\nconst PROD_EXPLORER_URL = \"https://explorer.velora.xyz\";\n\nexport function getApiURL(): string {\n const fromEnv = import.meta.env.VITE_API_URL;\n if (fromEnv) return fromEnv;\n\n const { apiURL } = jotaiStore.get(devURLsAtom);\n if (apiURL) return apiURL;\n\n return PROD_API_URL;\n}\n\nexport function getApiProxyURL(): string {\n const fromEnv = import.meta.env.VITE_API_PROXY_URL;\n if (fromEnv) return fromEnv;\n\n const { apiProxyURL } = jotaiStore.get(devURLsAtom);\n if (apiProxyURL) return apiProxyURL;\n\n return PROD_PROXY_API_URL;\n}\n\nexport function getExplorerURL(): string {\n const fromEnv = import.meta.env.VITE_EXPLORER_URL;\n if (fromEnv) return fromEnv;\n\n const { explorerURL } = jotaiStore.get(devURLsAtom);\n if (explorerURL) return explorerURL;\n return PROD_EXPLORER_URL;\n}\n"],"names":["PROD_API_URL","PROD_PROXY_API_URL","PROD_EXPLORER_URL","getApiURL","apiURL","jotaiStore","get","devURLsAtom","getApiProxyURL","apiProxyURL","getExplorerURL","explorerURL"],"mappings":";;;AAGA,MAAMA,YAAAA,GAAe,yBAAA;AACrB,MAAMC,kBAAAA,GAAqB,2BAAA;AAC3B,MAAMC,iBAAAA,GAAoB,6BAAA;AAEnB,SAASC,SAAAA,GAAoB;AAIlC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAO,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAC7C,EAAA,IAAIH,QAAQ,OAAOA,MAAAA;AAEnB,EAAA,OAAOJ,YAAAA;AACT;AAEO,SAASQ,cAAAA,GAAyB;AAIvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIJ,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAIE,aAAa,OAAOA,WAAAA;AAExB,EAAA,OAAOR,kBAAAA;AACT;AAEO,SAASS,cAAAA,GAAyB;AAIvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIN,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAII,aAAa,OAAOA,WAAAA;AACxB,EAAA,OAAOT,iBAAAA;AACT;;;;"}
1
+ {"version":3,"file":"urls.js","sources":["../../../src/lib/constants/urls.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { devURLsAtom } from \"@/core/state/configAtom\";\n\nconst PROD_API_URL = \"https://api.paraswap.io\";\nconst PROD_PROXY_API_URL = \"https://proxy.paraswap.io\";\nconst PROD_EXPLORER_URL = \"https://explorer.velora.xyz\";\n\nexport function getApiURL(): string {\n const { apiURL } = jotaiStore.get(devURLsAtom);\n if (apiURL) return apiURL;\n\n return PROD_API_URL;\n}\n\nexport function getApiProxyURL(): string {\n const { apiProxyURL } = jotaiStore.get(devURLsAtom);\n if (apiProxyURL) return apiProxyURL;\n\n return PROD_PROXY_API_URL;\n}\n\nexport function getExplorerURL(): string {\n const { explorerURL } = jotaiStore.get(devURLsAtom);\n if (explorerURL) return explorerURL;\n return PROD_EXPLORER_URL;\n}\n"],"names":["PROD_API_URL","PROD_PROXY_API_URL","PROD_EXPLORER_URL","getApiURL","apiURL","jotaiStore","get","devURLsAtom","getApiProxyURL","apiProxyURL","getExplorerURL","explorerURL"],"mappings":";;;AAGA,MAAMA,YAAAA,GAAe,yBAAA;AACrB,MAAMC,kBAAAA,GAAqB,2BAAA;AAC3B,MAAMC,iBAAAA,GAAoB,6BAAA;AAEnB,SAASC,SAAAA,GAAoB;AAClC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAO,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAC7C,EAAA,IAAIH,QAAQ,OAAOA,MAAAA;AAEnB,EAAA,OAAOJ,YAAAA;AACT;AAEO,SAASQ,cAAAA,GAAyB;AACvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIJ,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAIE,aAAa,OAAOA,WAAAA;AAExB,EAAA,OAAOR,kBAAAA;AACT;AAEO,SAASS,cAAAA,GAAyB;AACvC,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAY,GAAIN,UAAAA,CAAWC,GAAAA,CAAIC,WAAW,CAAA;AAClD,EAAA,IAAII,aAAa,OAAOA,WAAAA;AACxB,EAAA,OAAOT,iBAAAA;AACT;;;;"}
@@ -5,7 +5,7 @@ function calculateFeeUSD(partnerFeePercent, destUSD) {
5
5
  return Big(destUSD).times(partnerFeePercent).div(100);
6
6
  }
7
7
  function subtractFee(amount, fee) {
8
- if (fee === 0) return amount.toString();
8
+ if (fee === 0) return typeof amount === "string" ? amount : amount.toFixed();
9
9
  const feePercent = Big(fee).div(100);
10
10
  const multiplier = Big(1).minus(feePercent);
11
11
  return Big(amount).mul(multiplier).toFixed(0);