@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.
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +23 -18
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +4 -6
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +147 -133
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +55 -138
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +137 -87
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/types.d.ts +5 -3
- package/dist/components/widget/PayReceiveInfo/types.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -2
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +108 -87
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +14 -12
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +3 -3
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +74 -101
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +72 -63
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +16 -13
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.d.ts +2 -1
- package/dist/components/widget/TradeOverview/Step/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js +4 -2
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +59 -62
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +5 -3
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +181 -13
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +4 -4
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts +18 -2
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +145 -111
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +2 -0
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +65 -58
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.d.ts +32 -0
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +12 -2
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +13 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts +4 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +6 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -0
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +4 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +2 -0
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +236 -3
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +40 -18
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +46 -24
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/events/types/cancel.d.ts +1 -7
- package/dist/events/types/cancel.d.ts.map +1 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +9 -8
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +7 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +85 -13
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +1 -13
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +1 -80
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -27
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +2 -3
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +2 -8
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +1 -27
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +9 -0
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +32 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +149 -142
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +35 -35
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +20 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -8
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +127 -68
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +4 -3
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +186 -98
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -6
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +72 -56
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +33 -23
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +37 -11
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +161 -79
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.d.ts +10 -2
- package/dist/hooks/tokens/allowance/utils.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js +19 -8
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +3 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +3 -3
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/urls.d.ts.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/utils/fee.js +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/slippage.d.ts.map +1 -1
- package/dist/lib/utils/slippage.js +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/toDecimal.d.ts.map +1 -1
- package/dist/lib/utils/toDecimal.js +5 -3
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/styles.css +0 -3
- package/dist/transactions/types.d.ts +1 -9
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +0 -7
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +0 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js +0 -102
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +0 -1
- package/dist/components/widget/Button/CancelButton/constants.d.ts +0 -2
- package/dist/components/widget/Button/CancelButton/constants.d.ts.map +0 -1
- package/dist/components/widget/Button/CancelButton/constants.js +0 -4
- package/dist/components/widget/Button/CancelButton/constants.js.map +0 -1
- package/dist/components/widget/Button/DismissButton.d.ts +0 -4
- package/dist/components/widget/Button/DismissButton.d.ts.map +0 -1
- package/dist/components/widget/Button/DismissButton.js +0 -29
- package/dist/components/widget/Button/DismissButton.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +0 -11
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +0 -87
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +0 -31
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +0 -246
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +0 -44
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +0 -268
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +0 -108
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +0 -168
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +0 -69
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +0 -192
- 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(
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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: "
|
|
32
|
+
subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
|
|
28
33
|
};
|
|
29
34
|
} else {
|
|
30
|
-
if (marketFlow.
|
|
31
|
-
const permitOrApprovalHappened = !!(marketFlow.approval.txHash || marketFlow.signPermit.signature);
|
|
35
|
+
if (marketFlow.swap.isTxPending || marketFlow.swapBatch.isCallsPending) {
|
|
32
36
|
step = {
|
|
33
|
-
key: "
|
|
34
|
-
subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
|
|
37
|
+
key: "swap-tx-execution"
|
|
35
38
|
};
|
|
36
39
|
} else {
|
|
37
|
-
if (marketFlow.
|
|
40
|
+
if (marketFlow.isPending) {
|
|
38
41
|
step = {
|
|
39
|
-
key: "
|
|
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 ($[
|
|
79
|
-
t0 =
|
|
80
|
-
|
|
81
|
-
|
|
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 = $[
|
|
70
|
+
t0 = $[0];
|
|
84
71
|
}
|
|
85
|
-
const
|
|
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
|
|
97
|
-
if ($[
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
$[
|
|
114
|
-
$[
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
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
|
-
|
|
210
|
+
t8 = $[35];
|
|
129
211
|
}
|
|
130
|
-
return
|
|
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":"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"}
|
|
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
|
|
4
|
+
* Adjusts GenericTokenAllowance by applying slippage for BUY side.
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
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,
|
|
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
|
|
9
|
-
|
|
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
|
|
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;;;;"}
|
package/dist/hooks/useSDK.d.ts
CHANGED
|
@@ -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
|
|
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> &
|
|
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
|
|
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":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useSDK.js
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
174
|
+
}, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructCancelDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructSignDeltaOrder);
|
|
175
175
|
}, [apiURL, chainId, client, account, fetcher]);
|
|
176
176
|
return {
|
|
177
177
|
appVersion: sdk.version,
|
package/dist/hooks/useSDK.js.map
CHANGED
|
@@ -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,
|
|
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
|
|
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;;;;"}
|
package/dist/lib/utils/fee.js
CHANGED
|
@@ -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.
|
|
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);
|