@velora-dex/widget 0.4.4-dev.1 → 0.4.4
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/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/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 +78 -69
- 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 +2 -2
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +15 -13
- 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 +17 -15
- 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/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/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 +4 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +74 -60
- 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 +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -2
- 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/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +36 -53
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +2 -2
- package/dist/core/limit/useLimitTokenFromInputProps.js.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/useCreateDeltaOrder.d.ts +23 -10
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +82 -36
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts +6 -2
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -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/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 +5 -0
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +21 -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 +67 -72
- 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/useDepositAndSubmitDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +2 -22
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +3 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +72 -27
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +3 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +178 -85
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +17 -15
- 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 +2 -1
- 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 +1 -1
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +1 -1
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/index.d.ts +1 -1
- package/dist/lib/constants/index.js +2 -2
- package/dist/lib/constants/index.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/package.json +1 -1
|
@@ -81,11 +81,11 @@ function useOtcOrderFlow({
|
|
|
81
81
|
error: createOrderMut.error
|
|
82
82
|
};
|
|
83
83
|
const limitOrderQuery = useLimitOrderByHashQuery({
|
|
84
|
-
orderParams:
|
|
84
|
+
orderParams: otcOrderSubmission.order?.orderHash
|
|
85
85
|
});
|
|
86
|
-
const cancelOrderEvents = useCancelOtcOrderEventCallbacks(
|
|
86
|
+
const cancelOrderEvents = useCancelOtcOrderEventCallbacks(otcOrderSubmission.order);
|
|
87
87
|
const queryClient = useQueryClient();
|
|
88
|
-
const orderChainId =
|
|
88
|
+
const orderChainId = otcOrderSubmission.order?.chainId;
|
|
89
89
|
const {
|
|
90
90
|
forcedChainMatchesWalletChain
|
|
91
91
|
} = useChainMatches(orderChainId);
|
|
@@ -108,9 +108,9 @@ function useOtcOrderFlow({
|
|
|
108
108
|
},
|
|
109
109
|
onSuccess: (txReceipt, vars) => {
|
|
110
110
|
logger.log("Cancel Order success", txReceipt);
|
|
111
|
-
if (
|
|
111
|
+
if (otcOrderSubmission.order?.orderHash) {
|
|
112
112
|
queryClient.refetchQueries({
|
|
113
|
-
queryKey: limitOrderByHashQueryKey(
|
|
113
|
+
queryKey: limitOrderByHashQueryKey(otcOrderSubmission.order.orderHash)
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
116
|
cancelOrderEvents.onSuccess?.(txReceipt, vars);
|
|
@@ -320,9 +320,10 @@ function useOtcOrderFlow({
|
|
|
320
320
|
});
|
|
321
321
|
const runOtcOrderFlow = otcOrderMut.mutateAsync;
|
|
322
322
|
const cancelOtcOrder = async () => {
|
|
323
|
-
|
|
323
|
+
const orderToCancel = otcOrderSubmission.order;
|
|
324
|
+
assert(orderToCancel, "No order to cancel");
|
|
324
325
|
return cancelOrderMut.mutateAsync({
|
|
325
|
-
orderHash:
|
|
326
|
+
orderHash: orderToCancel.orderHash,
|
|
326
327
|
onTxSent: ({
|
|
327
328
|
chainId: chainId_0,
|
|
328
329
|
transactionHash,
|
|
@@ -333,7 +334,7 @@ function useOtcOrderFlow({
|
|
|
333
334
|
action: "cancelOtcOrder",
|
|
334
335
|
transactionSpecificData: {
|
|
335
336
|
action: "cancelOtcOrder",
|
|
336
|
-
cancelledOrder:
|
|
337
|
+
cancelledOrder: orderToCancel
|
|
337
338
|
},
|
|
338
339
|
receiptPromise
|
|
339
340
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type {\n ApprovalFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\nimport { useCreateLimitOrder } from \"../mutations/useCreateLimitOrder\";\nimport {\n useCancelOtcOrderAndWait,\n useCancelOtcOrderEventCallbacks,\n} from \"../mutations/useCancelLimitOrder\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n handleTxSent,\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useOtcDeadline } from \"@/core/otc/state/deadlineAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport {\n limitOrderByHashQueryKey,\n useLimitOrderByHashQuery,\n} from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatchWrapAndApprove,\n useBatchWrapAndApprove,\n} from \"@/hooks/swap/tradeFlow/common/useBatchWrapAndApprove\";\nimport type { BatchTxStepResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\n\nconst otcOrderFlowType = \"otcOrder\";\n\nexport type UserDefinedOtcPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n};\n\nexport type UseOtcOrderFlowInput = {\n otcPrice?: UserDefinedOtcPrice;\n preWrapETH?: boolean;\n};\n\nexport type SubmitOtcOrderResult = {\n tradeFlowType: typeof otcOrderFlowType;\n approve: SubmitTxResult;\n wrapAndApproveBatch: SubmitTxResult;\n otcOrder: {\n sentOrder: LimitOrderFromApi;\n };\n otcPrice: UserDefinedOtcPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseOtcOrderFlowResult = {\n tradeFlowType: typeof otcOrderFlowType;\n chainId: SupportedChainId;\n runOtcOrderFlow: (\n options?: RunOtcOrderOptions\n ) => Promise<SubmitOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunOtcOrderOptions) => Promise<SubmitOtcOrderResult>; // reset and retry flow\n cancelOtcOrder: () => void;\n approval: ApprovalFlowResult;\n wrapAndApprovalBatch: BatchTxStepResult;\n otcOrderSubmission: {\n order?: LimitOrderFromApi;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n otcOrderCancelation: {\n isCancelingOrder: boolean;\n isOrderCanceled: boolean;\n lastOrderState?: LimitOrderFromApi;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitOtcOrderResult;\n otcPrice?: UserDefinedOtcPrice;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runOtcOrderFlow\";\n\nexport function useOtcOrderFlow({\n otcPrice,\n preWrapETH,\n}: UseOtcOrderFlowInput): UseOtcOrderFlowResult {\n const logger = useLogger(\"OtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: otcPrice?.srcTokenAddress,\n srcAmount: otcPrice?.srcAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n /* 2.2. Or submit Batch tx (Wrap ETH + Approve WETH) */\n const {\n batchWrapAndApprove,\n reset: resetBatchWrapAndApprove,\n canBatchTxs,\n wrapAndApproveBatchResult: wrapAndApprovalBatch,\n } = useBatchWrapAndApprove({\n chainId,\n account,\n logger,\n tradeMode: \"otc\",\n });\n\n /* 4. Build and Submit OTC Order */\n const createOrderMut = useCreateLimitOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create OTC Order error\", error);\n },\n },\n });\n\n const otcOrderSubmission: UseOtcOrderFlowResult[\"otcOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /// CANCELATION\n\n const limitOrderQuery = useLimitOrderByHashQuery({\n orderParams: createOrderMut.data?.orderHash,\n });\n\n const cancelOrderEvents = useCancelOtcOrderEventCallbacks(\n createOrderMut.data\n );\n const queryClient = useQueryClient();\n\n const orderChainId = createOrderMut.data?.chainId as\n | SupportedChainId\n | undefined;\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const cancelOrderMut = useCancelOtcOrderAndWait({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: async (variables) => {\n assert(orderChainId, \"orderChainId is undefined\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n cancelOrderEvents.onMutate?.(variables);\n },\n onSuccess: (txReceipt, vars) => {\n logger.log(\"Cancel Order success\", txReceipt);\n if (createOrderMut.data?.orderHash) {\n queryClient.refetchQueries({\n queryKey: limitOrderByHashQueryKey(createOrderMut.data.orderHash),\n });\n }\n\n cancelOrderEvents.onSuccess?.(txReceipt, vars);\n },\n onError: (error, vars) => {\n logger.error(\"Cancel Order error\", error);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const isCancelTxSucceeded = cancelOrderMut.data?.status === \"success\";\n const isCancelTxReverted = cancelOrderMut.data?.status === \"reverted\";\n\n const lastOrderState =\n limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.data\n ? {\n // optimistically update order state to CANCELLED\n // because API won't return the updated order state immediately\n // as it depends on the subgraph indexing\n ...limitOrderQuery.data,\n state: \"CANCELLED\" as const,\n transactionHash: cancelOrderMut.data.transactionHash,\n }\n : limitOrderQuery.data;\n\n const otcOrderCancelation: UseOtcOrderFlowResult[\"otcOrderCancelation\"] = {\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCanceled: isCancelTxSucceeded,\n lastOrderState,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError || isCancelTxReverted,\n isSuccess: cancelOrderMut.isSuccess && isCancelTxSucceeded,\n error: cancelOrderMut.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const receiverAddress = useOtcReceiverAddressValue();\n const deadline = useOtcDeadline();\n\n const { onOTCOrder } = useWidgetEvents();\n\n const submitOtcOrder = async ({\n onTxSent,\n }: RunOtcOrderOptions = {}): Promise<SubmitOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(otcPrice, \"Otc price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n let wrapAndApproveBatch: SubmitTxResult = {};\n\n const allowanceToSet = approval.allowanceToSet;\n\n const { shouldDoApprovalTx, shouldWrapAndApproveBatch } =\n shouldApproveOrBatchWrapAndApprove({\n approval,\n preWrapETH,\n canBatchTxs,\n });\n\n try {\n if (shouldWrapAndApproveBatch) {\n const sendCallsResult = await batchWrapAndApprove({\n approval,\n preWrapETH: {\n wrapAmount: BigInt(otcPrice.srcAmount),\n },\n onTxSent,\n signal,\n });\n\n const lastCallsReceipt =\n sendCallsResult?.receipts?.[sendCallsResult.receipts.length - 1];\n wrapAndApproveBatch = {\n callsId: sendCallsResult?.id,\n callsReceipt: lastCallsReceipt,\n };\n\n logger.log(\"~ wrap and approve batch tx ~ receipt:\", lastCallsReceipt);\n } else if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } catch (error) {\n logger.error(\"Approve tx error\", error);\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(otcPrice, \"otcPrice is not available\");\n assert(receiverAddress, \"Receiver address is not set\");\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:request\",\n params: {\n price: otcPrice,\n },\n },\n });\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n expiry: deadline,\n makerAsset: otcPrice.srcTokenAddress,\n takerAsset: otcPrice.destTokenAddress,\n makerAmount: otcPrice.srcAmount,\n takerAmount: otcPrice.destAmount,\n maker: account,\n taker: receiverAddress,\n },\n });\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:sent\",\n params: {\n price: otcPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: otcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n wrapAndApproveBatch,\n otcOrder: {\n sentOrder: orderFromAPI,\n },\n otcPrice: otcPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:failed\",\n params: {\n price: otcPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const otcOrderMut = useMutation({\n mutationFn: submitOtcOrder,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runOtcOrderFlow = otcOrderMut.mutateAsync;\n const cancelOtcOrder = async () => {\n assert(createOrderMut.data, \"No order to cancel\");\n return cancelOrderMut.mutateAsync({\n orderHash: createOrderMut.data.orderHash,\n onTxSent: ({ chainId, transactionHash, receiptPromise }) =>\n handleTxSent({\n chainId,\n transactionHash,\n action: \"cancelOtcOrder\",\n transactionSpecificData: {\n action: \"cancelOtcOrder\",\n cancelledOrder: createOrderMut.data,\n },\n receiptPromise,\n }),\n });\n };\n\n const reset = () => {\n approveTxMut.reset();\n createOrderMut.reset();\n otcOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n };\n\n const retryFlow = (\n options?: RunOtcOrderOptions\n ): Promise<SubmitOtcOrderResult> => {\n reset();\n return runOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: otcOrderFlowType,\n chainId,\n runOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelOtcOrder,\n approval,\n wrapAndApprovalBatch,\n otcOrderSubmission,\n otcOrderCancelation,\n // otcOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: otcOrderMut.isPending,\n isSuccess: otcOrderSubmission.isSuccess, // approval is an optional step\n isError: otcOrderMut.isError,\n error: otcOrderMut.error,\n result: otcOrderMut.data,\n otcPrice,\n };\n}\n"],"names":["otcOrderFlowType","OTC_ORDER_MUTATION_KEY","useOtcOrderFlow","otcPrice","preWrapETH","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","batchWrapAndApprove","reset","resetBatchWrapAndApprove","canBatchTxs","wrapAndApproveBatchResult","wrapAndApprovalBatch","useBatchWrapAndApprove","createOrderMut","useCreateLimitOrder","client","mutationOptions","onSuccess","order","log","onError","error","otcOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","limitOrderQuery","useLimitOrderByHashQuery","orderParams","orderHash","cancelOrderEvents","useCancelOtcOrderEventCallbacks","queryClient","useQueryClient","orderChainId","forcedChainMatchesWalletChain","useChainMatches","mutateAsync","switchChain","useSwitchChainWithGuard","cancelOrderMut","useCancelOtcOrderAndWait","onMutate","variables","assert","txReceipt","vars","refetchQueries","queryKey","limitOrderByHashQueryKey","isCancelTxSucceeded","status","isCancelTxReverted","lastOrderState","state","transactionHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useOtcReceiverAddressValue","deadline","useOtcDeadline","onOTCOrder","useWidgetEvents","submitOtcOrder","onTxSent","abortController","AbortController","signal","approveTxHash","approveTxReceipt","wrapAndApproveBatch","allowanceToSet","shouldDoApprovalTx","shouldWrapAndApproveBatch","shouldApproveOrBatchWrapAndApprove","sendCallsResult","wrapAmount","BigInt","lastCallsReceipt","receipts","length","callsId","id","callsReceipt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","failed","event","name","params","price","orderFromAPI","orderInput","expiry","makerAsset","takerAsset","destTokenAddress","makerAmount","takerAmount","destAmount","maker","taker","tradeFlowType","approve","receipt","otcOrder","sentOrder","otcOrderMut","useMutation","mutationFn","mutationKey","onSettled","runOtcOrderFlow","cancelOtcOrder","handleTxSent","cancelledOrder","retryFlow","options","result"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type {\n ApprovalFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\nimport { useCreateLimitOrder } from \"../mutations/useCreateLimitOrder\";\nimport {\n useCancelOtcOrderAndWait,\n useCancelOtcOrderEventCallbacks,\n} from \"../mutations/useCancelLimitOrder\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n handleTxSent,\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useOtcDeadline } from \"@/core/otc/state/deadlineAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport {\n limitOrderByHashQueryKey,\n useLimitOrderByHashQuery,\n} from \"../queries/useLimitOrders\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatchWrapAndApprove,\n useBatchWrapAndApprove,\n} from \"@/hooks/swap/tradeFlow/common/useBatchWrapAndApprove\";\nimport type { BatchTxStepResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\n\nconst otcOrderFlowType = \"otcOrder\";\n\nexport type UserDefinedOtcPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n};\n\nexport type UseOtcOrderFlowInput = {\n otcPrice?: UserDefinedOtcPrice;\n preWrapETH?: boolean;\n};\n\nexport type SubmitOtcOrderResult = {\n tradeFlowType: typeof otcOrderFlowType;\n approve: SubmitTxResult;\n wrapAndApproveBatch: SubmitTxResult;\n otcOrder: {\n sentOrder: LimitOrderFromApi;\n };\n otcPrice: UserDefinedOtcPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseOtcOrderFlowResult = {\n tradeFlowType: typeof otcOrderFlowType;\n chainId: SupportedChainId;\n runOtcOrderFlow: (\n options?: RunOtcOrderOptions\n ) => Promise<SubmitOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunOtcOrderOptions) => Promise<SubmitOtcOrderResult>; // reset and retry flow\n cancelOtcOrder: () => void;\n approval: ApprovalFlowResult;\n wrapAndApprovalBatch: BatchTxStepResult;\n otcOrderSubmission: {\n order?: LimitOrderFromApi;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n otcOrderCancelation: {\n isCancelingOrder: boolean;\n isOrderCanceled: boolean;\n lastOrderState?: LimitOrderFromApi;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitOtcOrderResult;\n otcPrice?: UserDefinedOtcPrice;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runOtcOrderFlow\";\n\nexport function useOtcOrderFlow({\n otcPrice,\n preWrapETH,\n}: UseOtcOrderFlowInput): UseOtcOrderFlowResult {\n const logger = useLogger(\"OtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: otcPrice?.srcTokenAddress,\n srcAmount: otcPrice?.srcAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n /* 2.2. Or submit Batch tx (Wrap ETH + Approve WETH) */\n const {\n batchWrapAndApprove,\n reset: resetBatchWrapAndApprove,\n canBatchTxs,\n wrapAndApproveBatchResult: wrapAndApprovalBatch,\n } = useBatchWrapAndApprove({\n chainId,\n account,\n logger,\n tradeMode: \"otc\",\n });\n\n /* 4. Build and Submit OTC Order */\n const createOrderMut = useCreateLimitOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create OTC Order error\", error);\n },\n },\n });\n\n const otcOrderSubmission: UseOtcOrderFlowResult[\"otcOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /// CANCELATION\n\n const limitOrderQuery = useLimitOrderByHashQuery({\n orderParams: otcOrderSubmission.order?.orderHash,\n });\n\n const cancelOrderEvents = useCancelOtcOrderEventCallbacks(\n otcOrderSubmission.order\n );\n const queryClient = useQueryClient();\n\n const orderChainId = otcOrderSubmission.order?.chainId as\n | SupportedChainId\n | undefined;\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const cancelOrderMut = useCancelOtcOrderAndWait({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: async (variables) => {\n assert(orderChainId, \"orderChainId is undefined\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n cancelOrderEvents.onMutate?.(variables);\n },\n onSuccess: (txReceipt, vars) => {\n logger.log(\"Cancel Order success\", txReceipt);\n if (otcOrderSubmission.order?.orderHash) {\n queryClient.refetchQueries({\n queryKey: limitOrderByHashQueryKey(\n otcOrderSubmission.order.orderHash\n ),\n });\n }\n\n cancelOrderEvents.onSuccess?.(txReceipt, vars);\n },\n onError: (error, vars) => {\n logger.error(\"Cancel Order error\", error);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const isCancelTxSucceeded = cancelOrderMut.data?.status === \"success\";\n const isCancelTxReverted = cancelOrderMut.data?.status === \"reverted\";\n\n const lastOrderState =\n limitOrderQuery.data && isCancelTxSucceeded && cancelOrderMut.data\n ? {\n // optimistically update order state to CANCELLED\n // because API won't return the updated order state immediately\n // as it depends on the subgraph indexing\n ...limitOrderQuery.data,\n state: \"CANCELLED\" as const,\n transactionHash: cancelOrderMut.data.transactionHash,\n }\n : limitOrderQuery.data;\n\n const otcOrderCancelation: UseOtcOrderFlowResult[\"otcOrderCancelation\"] = {\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCanceled: isCancelTxSucceeded,\n lastOrderState,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError || isCancelTxReverted,\n isSuccess: cancelOrderMut.isSuccess && isCancelTxSucceeded,\n error: cancelOrderMut.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const receiverAddress = useOtcReceiverAddressValue();\n const deadline = useOtcDeadline();\n\n const { onOTCOrder } = useWidgetEvents();\n\n const submitOtcOrder = async ({\n onTxSent,\n }: RunOtcOrderOptions = {}): Promise<SubmitOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(otcPrice, \"Otc price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n let wrapAndApproveBatch: SubmitTxResult = {};\n\n const allowanceToSet = approval.allowanceToSet;\n\n const { shouldDoApprovalTx, shouldWrapAndApproveBatch } =\n shouldApproveOrBatchWrapAndApprove({\n approval,\n preWrapETH,\n canBatchTxs,\n });\n\n try {\n if (shouldWrapAndApproveBatch) {\n const sendCallsResult = await batchWrapAndApprove({\n approval,\n preWrapETH: {\n wrapAmount: BigInt(otcPrice.srcAmount),\n },\n onTxSent,\n signal,\n });\n\n const lastCallsReceipt =\n sendCallsResult?.receipts?.[sendCallsResult.receipts.length - 1];\n wrapAndApproveBatch = {\n callsId: sendCallsResult?.id,\n callsReceipt: lastCallsReceipt,\n };\n\n logger.log(\"~ wrap and approve batch tx ~ receipt:\", lastCallsReceipt);\n } else if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } catch (error) {\n logger.error(\"Approve tx error\", error);\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(otcPrice, \"otcPrice is not available\");\n assert(receiverAddress, \"Receiver address is not set\");\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:request\",\n params: {\n price: otcPrice,\n },\n },\n });\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n expiry: deadline,\n makerAsset: otcPrice.srcTokenAddress,\n takerAsset: otcPrice.destTokenAddress,\n makerAmount: otcPrice.srcAmount,\n takerAmount: otcPrice.destAmount,\n maker: account,\n taker: receiverAddress,\n },\n });\n\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:sent\",\n params: {\n price: otcPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: otcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n wrapAndApproveBatch,\n otcOrder: {\n sentOrder: orderFromAPI,\n },\n otcPrice: otcPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:failed\",\n params: {\n price: otcPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const otcOrderMut = useMutation({\n mutationFn: submitOtcOrder,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runOtcOrderFlow = otcOrderMut.mutateAsync;\n const cancelOtcOrder = async () => {\n const orderToCancel = otcOrderSubmission.order;\n assert(orderToCancel, \"No order to cancel\");\n return cancelOrderMut.mutateAsync({\n orderHash: orderToCancel.orderHash,\n onTxSent: ({ chainId, transactionHash, receiptPromise }) =>\n handleTxSent({\n chainId,\n transactionHash,\n action: \"cancelOtcOrder\",\n transactionSpecificData: {\n action: \"cancelOtcOrder\",\n cancelledOrder: orderToCancel,\n },\n receiptPromise,\n }),\n });\n };\n\n const reset = () => {\n approveTxMut.reset();\n createOrderMut.reset();\n otcOrderMut.reset();\n cancelOrderMut.reset();\n resetBatchWrapAndApprove();\n };\n\n const retryFlow = (\n options?: RunOtcOrderOptions\n ): Promise<SubmitOtcOrderResult> => {\n reset();\n return runOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: otcOrderFlowType,\n chainId,\n runOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelOtcOrder,\n approval,\n wrapAndApprovalBatch,\n otcOrderSubmission,\n otcOrderCancelation,\n // otcOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: otcOrderMut.isPending,\n isSuccess: otcOrderSubmission.isSuccess, // approval is an optional step\n isError: otcOrderMut.isError,\n error: otcOrderMut.error,\n result: otcOrderMut.data,\n otcPrice,\n };\n}\n"],"names":["otcOrderFlowType","OTC_ORDER_MUTATION_KEY","useOtcOrderFlow","otcPrice","preWrapETH","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","batchWrapAndApprove","reset","resetBatchWrapAndApprove","canBatchTxs","wrapAndApproveBatchResult","wrapAndApprovalBatch","useBatchWrapAndApprove","createOrderMut","useCreateLimitOrder","client","mutationOptions","onSuccess","order","log","onError","error","otcOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","limitOrderQuery","useLimitOrderByHashQuery","orderParams","orderHash","cancelOrderEvents","useCancelOtcOrderEventCallbacks","queryClient","useQueryClient","orderChainId","forcedChainMatchesWalletChain","useChainMatches","mutateAsync","switchChain","useSwitchChainWithGuard","cancelOrderMut","useCancelOtcOrderAndWait","onMutate","variables","assert","txReceipt","vars","refetchQueries","queryKey","limitOrderByHashQueryKey","isCancelTxSucceeded","status","isCancelTxReverted","lastOrderState","state","transactionHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useOtcReceiverAddressValue","deadline","useOtcDeadline","onOTCOrder","useWidgetEvents","submitOtcOrder","onTxSent","abortController","AbortController","signal","approveTxHash","approveTxReceipt","wrapAndApproveBatch","allowanceToSet","shouldDoApprovalTx","shouldWrapAndApproveBatch","shouldApproveOrBatchWrapAndApprove","sendCallsResult","wrapAmount","BigInt","lastCallsReceipt","receipts","length","callsId","id","callsReceipt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","failed","event","name","params","price","orderFromAPI","orderInput","expiry","makerAsset","takerAsset","destTokenAddress","makerAmount","takerAmount","destAmount","maker","taker","tradeFlowType","approve","receipt","otcOrder","sentOrder","otcOrderMut","useMutation","mutationFn","mutationKey","onSettled","runOtcOrderFlow","cancelOtcOrder","orderToCancel","handleTxSent","cancelledOrder","retryFlow","options","result"],"mappings":"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"}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
|
-
import { UseMutationOptions
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
2
|
import { BuildDeltaOrderDataParams, MinViemClient } from '@velora-dex/sdk';
|
|
3
3
|
import { Address } from 'viem';
|
|
4
4
|
import { SubmittedDeltaOrderFromAPI } from '../queries/useDeltaOrders';
|
|
5
5
|
import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
|
|
6
|
-
type
|
|
7
|
-
type
|
|
8
|
-
export type
|
|
9
|
-
orderInput:
|
|
6
|
+
type CreateAndSubmitDeltaOrderParams = BuildDeltaOrderDataParams;
|
|
7
|
+
type CreateAndSubmitDeltaOrderReturn = SubmittedDeltaOrderFromAPI;
|
|
8
|
+
export type CreateAndSubmitDeltaOrderInput = {
|
|
9
|
+
orderInput: CreateAndSubmitDeltaOrderParams;
|
|
10
10
|
referrerAddress?: string;
|
|
11
11
|
signal?: AbortSignal;
|
|
12
12
|
type?: "MARKET" | "LIMIT";
|
|
13
13
|
};
|
|
14
|
-
type
|
|
15
|
-
type
|
|
16
|
-
mutationOptions?:
|
|
14
|
+
type CreateAndSubmitDeltaOrderMutationOptions = Omit<UseMutationOptions<CreateAndSubmitDeltaOrderReturn, Error, CreateAndSubmitDeltaOrderInput, void>, "mutationFn">;
|
|
15
|
+
type CreateAndSubmitDeltaOrderMutInput = {
|
|
16
|
+
mutationOptions?: CreateAndSubmitDeltaOrderMutationOptions;
|
|
17
17
|
chainId: SupportedChainId;
|
|
18
18
|
account?: Address;
|
|
19
19
|
client?: MinViemClient;
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
type CreateAndSubmitDeltaOrderResult = {
|
|
22
|
+
mutate: (variables: CreateAndSubmitDeltaOrderInput) => void;
|
|
23
|
+
mutateAsync: (variables: CreateAndSubmitDeltaOrderInput) => Promise<SubmittedDeltaOrderFromAPI>;
|
|
24
|
+
reset: () => void;
|
|
25
|
+
order?: SubmittedDeltaOrderFromAPI;
|
|
26
|
+
isPostingOrder: boolean;
|
|
27
|
+
isCreatingOrder: boolean;
|
|
28
|
+
isOrderSent: boolean;
|
|
29
|
+
isPending: boolean;
|
|
30
|
+
isError: boolean;
|
|
31
|
+
isSuccess: boolean;
|
|
32
|
+
error: Error | null;
|
|
33
|
+
};
|
|
34
|
+
export declare const DELTA_ORDER_MUTATION_KEY = "createAndSubmitDeltaOrder";
|
|
35
|
+
export declare function useCreateAndSubmitDeltaOrder({ mutationOptions, chainId, account, client, }: CreateAndSubmitDeltaOrderMutInput): CreateAndSubmitDeltaOrderResult;
|
|
23
36
|
export {};
|
|
24
37
|
//# sourceMappingURL=useCreateDeltaOrder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useCreateDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,KAAK,+BAA+B,GAAG,yBAAyB,CAAC;AACjE,KAAK,+BAA+B,GAAG,0BAA0B,CAAC;AAElE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,UAAU,EAAE,+BAA+B,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,CAAC;AAEF,KAAK,wCAAwC,GAAG,IAAI,CAClD,kBAAkB,CAChB,+BAA+B,EAC/B,KAAK,EACL,8BAA8B,EAC9B,IAAI,CACL,EACD,YAAY,CACb,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,eAAe,CAAC,EAAE,wCAAwC,CAAC;IAC3D,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,KAAK,+BAA+B,GAAG;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAC5D,WAAW,EAAE,CACX,SAAS,EAAE,8BAA8B,KACtC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,wBAAgB,4BAA4B,CAAC,EAC3C,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,iCAAiC,GAAG,+BAA+B,CAkFrE"}
|
|
@@ -4,10 +4,11 @@ import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
|
4
4
|
import { assert } from 'ts-essentials';
|
|
5
5
|
import { deltaOrdersQueryKey } from '../queries/useDeltaOrders.js';
|
|
6
6
|
import { deltaLimitOrderRequiredBalanceQueryKey } from '../queries/useDeltaLimitOrderRequiredBalance.js';
|
|
7
|
+
import { usePostDeltaOrder } from './usePostDeltaOrder.js';
|
|
7
8
|
|
|
8
|
-
const DELTA_ORDER_MUTATION_KEY = "
|
|
9
|
-
function
|
|
10
|
-
const $ = distExports.c(
|
|
9
|
+
const DELTA_ORDER_MUTATION_KEY = "createAndSubmitDeltaOrder";
|
|
10
|
+
function useCreateAndSubmitDeltaOrder(t0) {
|
|
11
|
+
const $ = distExports.c(31);
|
|
11
12
|
const {
|
|
12
13
|
mutationOptions,
|
|
13
14
|
chainId,
|
|
@@ -33,28 +34,43 @@ function useCreateDeltaOrder(t0) {
|
|
|
33
34
|
} = useDeltaSDK(t1);
|
|
34
35
|
const queryClient = useQueryClient();
|
|
35
36
|
let t2;
|
|
36
|
-
if ($[4]
|
|
37
|
-
t2 =
|
|
38
|
-
|
|
37
|
+
if ($[4] !== account || $[5] !== chainId || $[6] !== client) {
|
|
38
|
+
t2 = {
|
|
39
|
+
chainId,
|
|
40
|
+
account,
|
|
41
|
+
client
|
|
42
|
+
};
|
|
43
|
+
$[4] = account;
|
|
44
|
+
$[5] = chainId;
|
|
45
|
+
$[6] = client;
|
|
46
|
+
$[7] = t2;
|
|
39
47
|
} else {
|
|
40
|
-
t2 = $[
|
|
48
|
+
t2 = $[7];
|
|
41
49
|
}
|
|
50
|
+
const postOrderMut = usePostDeltaOrder(t2);
|
|
42
51
|
let t3;
|
|
43
|
-
if ($[
|
|
44
|
-
t3 =
|
|
52
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
53
|
+
t3 = [DELTA_ORDER_MUTATION_KEY];
|
|
54
|
+
$[8] = t3;
|
|
55
|
+
} else {
|
|
56
|
+
t3 = $[8];
|
|
57
|
+
}
|
|
58
|
+
let t4;
|
|
59
|
+
if ($[9] !== postOrderMut || $[10] !== sdk) {
|
|
60
|
+
t4 = async (t52) => {
|
|
45
61
|
const {
|
|
46
62
|
orderInput,
|
|
47
63
|
referrerAddress,
|
|
48
64
|
signal,
|
|
49
65
|
type
|
|
50
|
-
} =
|
|
66
|
+
} = t52;
|
|
51
67
|
signal?.throwIfAborted();
|
|
52
68
|
assert("signDeltaOrder" in sdk, "signDeltaOrder is not available on this SDK");
|
|
53
69
|
const signableTypedData = await sdk.buildDeltaOrder(orderInput);
|
|
54
70
|
signal?.throwIfAborted();
|
|
55
71
|
const signature = await sdk.signDeltaOrder(signableTypedData);
|
|
56
72
|
signal?.throwIfAborted();
|
|
57
|
-
const orderFromAPI = await
|
|
73
|
+
const orderFromAPI = await postOrderMut.mutateAsync({
|
|
58
74
|
signature,
|
|
59
75
|
order: signableTypedData.data,
|
|
60
76
|
partner: orderInput.partner,
|
|
@@ -63,14 +79,15 @@ function useCreateDeltaOrder(t0) {
|
|
|
63
79
|
});
|
|
64
80
|
return orderFromAPI;
|
|
65
81
|
};
|
|
66
|
-
$[
|
|
67
|
-
$[
|
|
82
|
+
$[9] = postOrderMut;
|
|
83
|
+
$[10] = sdk;
|
|
84
|
+
$[11] = t4;
|
|
68
85
|
} else {
|
|
69
|
-
|
|
86
|
+
t4 = $[11];
|
|
70
87
|
}
|
|
71
|
-
let
|
|
72
|
-
if ($[
|
|
73
|
-
|
|
88
|
+
let t5;
|
|
89
|
+
if ($[12] !== account || $[13] !== chainId || $[14] !== mutationOptions || $[15] !== queryClient) {
|
|
90
|
+
t5 = (order, variables, onMutationResult, context) => {
|
|
74
91
|
queryClient.invalidateQueries({
|
|
75
92
|
queryKey: deltaOrdersQueryKey({
|
|
76
93
|
userAddress: order.user
|
|
@@ -86,31 +103,60 @@ function useCreateDeltaOrder(t0) {
|
|
|
86
103
|
});
|
|
87
104
|
mutationOptions?.onSuccess?.(order, variables, onMutationResult, context);
|
|
88
105
|
};
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
106
|
+
$[12] = account;
|
|
107
|
+
$[13] = chainId;
|
|
108
|
+
$[14] = mutationOptions;
|
|
109
|
+
$[15] = queryClient;
|
|
110
|
+
$[16] = t5;
|
|
94
111
|
} else {
|
|
95
|
-
|
|
112
|
+
t5 = $[16];
|
|
96
113
|
}
|
|
97
|
-
let
|
|
98
|
-
if ($[
|
|
99
|
-
|
|
100
|
-
mutationKey:
|
|
101
|
-
mutationFn:
|
|
114
|
+
let t6;
|
|
115
|
+
if ($[17] !== mutationOptions || $[18] !== t4 || $[19] !== t5) {
|
|
116
|
+
t6 = {
|
|
117
|
+
mutationKey: t3,
|
|
118
|
+
mutationFn: t4,
|
|
102
119
|
...mutationOptions,
|
|
103
|
-
onSuccess:
|
|
120
|
+
onSuccess: t5
|
|
121
|
+
};
|
|
122
|
+
$[17] = mutationOptions;
|
|
123
|
+
$[18] = t4;
|
|
124
|
+
$[19] = t5;
|
|
125
|
+
$[20] = t6;
|
|
126
|
+
} else {
|
|
127
|
+
t6 = $[20];
|
|
128
|
+
}
|
|
129
|
+
const createOrderMut = useMutation(t6);
|
|
130
|
+
let t7;
|
|
131
|
+
if ($[21] !== createOrderMut.data || $[22] !== createOrderMut.error || $[23] !== createOrderMut.isError || $[24] !== createOrderMut.isPending || $[25] !== createOrderMut.isSuccess || $[26] !== createOrderMut.mutate || $[27] !== createOrderMut.mutateAsync || $[28] !== createOrderMut.reset || $[29] !== postOrderMut.isPending) {
|
|
132
|
+
t7 = {
|
|
133
|
+
mutate: createOrderMut.mutate,
|
|
134
|
+
mutateAsync: createOrderMut.mutateAsync,
|
|
135
|
+
reset: createOrderMut.reset,
|
|
136
|
+
order: createOrderMut.data,
|
|
137
|
+
isPostingOrder: postOrderMut.isPending,
|
|
138
|
+
isCreatingOrder: createOrderMut.isPending,
|
|
139
|
+
isOrderSent: createOrderMut.isSuccess,
|
|
140
|
+
isPending: createOrderMut.isPending,
|
|
141
|
+
isError: createOrderMut.isError,
|
|
142
|
+
isSuccess: createOrderMut.isSuccess,
|
|
143
|
+
error: createOrderMut.error
|
|
104
144
|
};
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
145
|
+
$[21] = createOrderMut.data;
|
|
146
|
+
$[22] = createOrderMut.error;
|
|
147
|
+
$[23] = createOrderMut.isError;
|
|
148
|
+
$[24] = createOrderMut.isPending;
|
|
149
|
+
$[25] = createOrderMut.isSuccess;
|
|
150
|
+
$[26] = createOrderMut.mutate;
|
|
151
|
+
$[27] = createOrderMut.mutateAsync;
|
|
152
|
+
$[28] = createOrderMut.reset;
|
|
153
|
+
$[29] = postOrderMut.isPending;
|
|
154
|
+
$[30] = t7;
|
|
109
155
|
} else {
|
|
110
|
-
|
|
156
|
+
t7 = $[30];
|
|
111
157
|
}
|
|
112
|
-
return
|
|
158
|
+
return t7;
|
|
113
159
|
}
|
|
114
160
|
|
|
115
|
-
export { DELTA_ORDER_MUTATION_KEY,
|
|
161
|
+
export { DELTA_ORDER_MUTATION_KEY, useCreateAndSubmitDeltaOrder };
|
|
116
162
|
//# sourceMappingURL=useCreateDeltaOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { BuildDeltaOrderDataParams, MinViemClient } from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../queries/useDeltaOrders\";\nimport { deltaLimitOrderRequiredBalanceQueryKey } from \"../queries/useDeltaLimitOrderRequiredBalance\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ntype CreateDeltaOrderParams = BuildDeltaOrderDataParams;\ntype CreateDeltaOrderReturn = SubmittedDeltaOrderFromAPI;\n\nexport type CreateDeltaOrderInput = {\n orderInput: CreateDeltaOrderParams;\n referrerAddress?: string;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n type?: \"MARKET\" | \"LIMIT\"; // defaults to MARKET in SDK\n};\n\ntype CreateDeltaOrderMutationOptions = Omit<\n UseMutationOptions<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CreateDeltaOrderMutInput = {\n mutationOptions?: CreateDeltaOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const DELTA_ORDER_MUTATION_KEY = \"createDeltaOrder\";\n\nexport function useCreateDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateDeltaOrderMutInput): UseMutationResult<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput,\n void\n> {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n const queryClient = useQueryClient();\n\n return useMutation<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput,\n void\n >({\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, referrerAddress, signal, type }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signDeltaOrder\" in sdk,\n \"signDeltaOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signDeltaOrder functionality\n\n // Step 1: Build the Delta order\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Delta order (only available on full DeltaSDK, not ReadOnlyDeltaSDK)\n const signature = await sdk.signDeltaOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Delta order to the API\n const orderFromAPI = await sdk.postDeltaOrder({\n signature,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n type,\n });\n\n return orderFromAPI;\n },\n ...mutationOptions,\n onSuccess: (order, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress: order.order.srcToken,\n }),\n });\n\n mutationOptions?.onSuccess?.(order, variables, onMutationResult, context);\n },\n });\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useCreateDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","queryClient","useQueryClient","t2","Symbol","for","t3","t4","orderInput","referrerAddress","signal","type","throwIfAborted","assert","signableTypedData","buildDeltaOrder","signature","signDeltaOrder","orderFromAPI","postDeltaOrder","order","data","partner","variables","onMutationResult","context","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaLimitOrderRequiredBalanceQueryKey","tokenAddress","srcToken","onSuccess","t5","mutationKey","mutationFn","useMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCreateDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport type { BuildDeltaOrderDataParams, MinViemClient } from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../queries/useDeltaOrders\";\nimport { deltaLimitOrderRequiredBalanceQueryKey } from \"../queries/useDeltaLimitOrderRequiredBalance\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { usePostDeltaOrder } from \"./usePostDeltaOrder\";\n\ntype CreateAndSubmitDeltaOrderParams = BuildDeltaOrderDataParams;\ntype CreateAndSubmitDeltaOrderReturn = SubmittedDeltaOrderFromAPI;\n\nexport type CreateAndSubmitDeltaOrderInput = {\n orderInput: CreateAndSubmitDeltaOrderParams;\n referrerAddress?: string;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n type?: \"MARKET\" | \"LIMIT\"; // defaults to MARKET in SDK\n};\n\ntype CreateAndSubmitDeltaOrderMutationOptions = Omit<\n UseMutationOptions<\n CreateAndSubmitDeltaOrderReturn,\n Error,\n CreateAndSubmitDeltaOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CreateAndSubmitDeltaOrderMutInput = {\n mutationOptions?: CreateAndSubmitDeltaOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype CreateAndSubmitDeltaOrderResult = {\n mutate: (variables: CreateAndSubmitDeltaOrderInput) => void;\n mutateAsync: (\n variables: CreateAndSubmitDeltaOrderInput\n ) => Promise<SubmittedDeltaOrderFromAPI>;\n reset: () => void;\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\nexport const DELTA_ORDER_MUTATION_KEY = \"createAndSubmitDeltaOrder\";\n\nexport function useCreateAndSubmitDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateAndSubmitDeltaOrderMutInput): CreateAndSubmitDeltaOrderResult {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n const queryClient = useQueryClient();\n\n const postOrderMut = usePostDeltaOrder({ chainId, account, client });\n\n const createOrderMut = useMutation<\n CreateAndSubmitDeltaOrderReturn,\n Error,\n CreateAndSubmitDeltaOrderInput,\n void\n >({\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, referrerAddress, signal, type }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signDeltaOrder\" in sdk,\n \"signDeltaOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signDeltaOrder functionality\n\n // Step 1: Build the Delta order\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Delta order (only available on full DeltaSDK, not ReadOnlyDeltaSDK)\n const signature = await sdk.signDeltaOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Delta order to the API\n const orderFromAPI = await postOrderMut.mutateAsync({\n signature,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n type,\n });\n\n return orderFromAPI;\n },\n ...mutationOptions,\n onSuccess: (order, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n queryClient.invalidateQueries({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress: order.order.srcToken,\n }),\n });\n\n mutationOptions?.onSuccess?.(order, variables, onMutationResult, context);\n },\n });\n\n return {\n mutate: createOrderMut.mutate,\n mutateAsync: createOrderMut.mutateAsync,\n reset: createOrderMut.reset,\n\n order: createOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useCreateAndSubmitDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","queryClient","useQueryClient","t2","postOrderMut","usePostDeltaOrder","t3","Symbol","for","t4","t5","orderInput","referrerAddress","signal","type","throwIfAborted","assert","signableTypedData","buildDeltaOrder","signature","signDeltaOrder","orderFromAPI","mutateAsync","order","data","partner","variables","onMutationResult","context","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaLimitOrderRequiredBalanceQueryKey","tokenAddress","srcToken","onSuccess","t6","mutationKey","mutationFn","createOrderMut","useMutation","t7","error","isError","isPending","isSuccess","mutate","reset","isPostingOrder","isCreatingOrder","isOrderSent"],"mappings":";;;;;;;;AA4DO,MAAMA,wBAAAA,GAA2B;AAEjC,SAAAC,6BAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsC,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AACNC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAxD,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,YAAYF,EAA4B,CAAA;AACxD,EAAA,MAAAG,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAEEM,IAAAA,EAAAA,GAAA;AAAA,MAAAR,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAnE,EAAA,MAAAY,YAAAA,GAAqBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAe,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAQtDF,IAAAA,EAAAA,GAAA,CAACjB,wBAAwB,CAAA;AAACG,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAiB,EAAAA;AAAA,EAAA,IAAAjB,EAAA,CAAA,CAAA,KAAAY,gBAAAZ,CAAAA,SAAAO,GAAAA,EAAA;AAC3BU,IAAAA,EAAAA,UAAAC,GAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,UAAAA;AAAAA,QAAAC,eAAAA;AAAAA,QAAAC,MAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAJ,GAAAA;AAEjBG,MAAAA,MAAAA,EAAME,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,gBAAA,IAAoBjB,KACpB,6CACF,CAAA;AAKA,MAAA,MAAAkB,iBAAAA,GAA0B,MAAMlB,GAAAA,CAAGmB,eAAAA,CAAiBP,UAAU,CAAA;AAG9DE,MAAAA,MAAAA,EAAME,cAAAA,EAAiB;AAGvB,MAAA,MAAAI,SAAAA,GAAkB,MAAMpB,GAAAA,CAAGqB,cAAAA,CAAgBH,iBAAiB,CAAA;AAG5DJ,MAAAA,MAAAA,EAAME,cAAAA,EAAiB;AAGvB,MAAA,MAAAM,YAAAA,GAAqB,MAAMjB,YAAAA,CAAYkB,WAAAA,CAAa;AAAA,QAAAH,SAAAA;AAAAA,QAAAI,OAE3CN,iBAAAA,CAAiBO,IAAAA;AAAAA,QAAKC,SACpBd,UAAAA,CAAUc,OAAAA;AAAAA,QAAQb,eAAAA;AAAAA,QAAAE;AAAAA,OAG5B,CAAA;AAAE,MAAA,OAEIO,YAAAA;AAAAA,IAAY,CAAA;AACpB7B,IAAAA,CAAAA,MAAAY,YAAAA;AAAAZ,IAAAA,CAAAA,OAAAO,GAAAA;AAAAP,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,EAAA,CAAA,KAAAI,OAAAA,IAAAJ,EAAA,EAAA,CAAA,KAAAG,OAAAA,IAAAH,CAAAA,CAAA,EAAA,CAAA,KAAAE,eAAAA,IAAAF,CAAAA,SAAAS,WAAAA,EAAA;AAEUS,IAAAA,EAAAA,GAAAA,CAAAa,KAAAA,EAAAG,SAAAA,EAAAC,gBAAAA,EAAAC,OAAAA,KAAA;AACT3B,MAAAA,WAAAA,CAAW4B,iBAAAA,CAAmB;AAAA,QAAAC,UAClBC,mBAAAA,CAAoB;AAAA,UAAAC,aACfT,KAAAA,CAAKU;AAAAA,SACnB,CAAA;AAAA,QAACC,KAAAA,EACK;AAAA,OACR,CAAA;AACDjC,MAAAA,WAAAA,CAAW4B,iBAAAA,CAAmB;AAAA,QAAAC,UAClBK,sCAAAA,CAAuC;AAAA,UAAAxC,OAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAwC,YAAAA,EAGjCb,MAAKA,KAAAA,CAAMc;AAAAA,SAC1B;AAAA,OACF,CAAA;AAED3C,MAAAA,eAAAA,EAAe4C,SAAAA,GAAcf,KAAAA,EAAOG,SAAAA,EAAWC,gBAAAA,EAAkBC,OAAO,CAAA;AAAA,IAAC,CAAA;AAC1EpC,IAAAA,CAAAA,OAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,OAAAG,OAAAA;AAAAH,IAAAA,CAAAA,OAAAE,eAAAA;AAAAF,IAAAA,CAAAA,OAAAS,WAAAA;AAAAT,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+C,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,CAAA,EAAA,CAAA,KAAAE,eAAAA,IAAAF,CAAAA,SAAAiB,EAAAA,IAAAjB,CAAAA,CAAA,EAAA,CAAA,KAAAkB,EAAAA,EAAA;AArDD6B,IAAAA,EAAAA,GAAA;AAAA,MAAAC,WAAAA,EACalC,EAAAA;AAAAA,MAA0BmC,UAAAA,EAC3BhC,EAAAA;AAAAA,MAiCX,GACEf,eAAAA;AAAAA,MAAe4C,SAAAA,EACP5B;AAAAA,KAiBb;AAAClB,IAAAA,CAAAA,OAAAE,eAAAA;AAAAF,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,OAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA,EAAA;AA3DD,EAAA,MAAAkD,cAAAA,GAAuBC,YAKrBJ,EAsDD,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAApD,CAAAA,CAAA,EAAA,CAAA,KAAAkD,cAAAA,CAAAlB,QAAAhC,CAAAA,CAAA,EAAA,MAAAkD,cAAAA,CAAAG,KAAAA,IAAArD,EAAA,EAAA,CAAA,KAAAkD,eAAAI,OAAAA,IAAAtD,CAAAA,SAAAkD,cAAAA,CAAAK,aAAAvD,CAAAA,CAAA,EAAA,MAAAkD,cAAAA,CAAAM,SAAAA,IAAAxD,EAAA,EAAA,CAAA,KAAAkD,eAAAO,MAAAA,IAAAzD,CAAAA,CAAA,EAAA,CAAA,KAAAkD,cAAAA,CAAApB,eAAA9B,CAAAA,CAAA,EAAA,MAAAkD,cAAAA,CAAAQ,KAAAA,IAAA1D,EAAA,EAAA,CAAA,KAAAY,aAAA2C,SAAAA,EAAA;AAEIH,IAAAA,EAAAA,GAAA;AAAA,MAAAK,QACGP,cAAAA,CAAcO,MAAAA;AAAAA,MAAO3B,aAChBoB,cAAAA,CAAcpB,WAAAA;AAAAA,MAAY4B,OAChCR,cAAAA,CAAcQ,KAAAA;AAAAA,MAAM3B,OAEpBmB,cAAAA,CAAclB,IAAAA;AAAAA,MAAK2B,gBACV/C,YAAAA,CAAY2C,SAAAA;AAAAA,MAAUK,iBACrBV,cAAAA,CAAcK,SAAAA;AAAAA,MAAUM,aAC5BX,cAAAA,CAAcM,SAAAA;AAAAA,MAAUD,WAE1BL,cAAAA,CAAcK,SAAAA;AAAAA,MAAUD,SAC1BJ,cAAAA,CAAcI,OAAAA;AAAAA,MAAQE,WACpBN,cAAAA,CAAcM,SAAAA;AAAAA,MAAUH,OAC5BH,cAAAA,CAAcG;AAAAA,KACvB;AAACrD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAlB,IAAAA;AAAAhC,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAG,KAAAA;AAAArD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAI,OAAAA;AAAAtD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAK,SAAAA;AAAAvD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAM,SAAAA;AAAAxD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAO,MAAAA;AAAAzD,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAApB,WAAAA;AAAA9B,IAAAA,CAAAA,CAAA,EAAA,IAAAkD,cAAAA,CAAAQ,KAAAA;AAAA1D,IAAAA,CAAAA,CAAA,EAAA,IAAAY,YAAAA,CAAA2C,SAAAA;AAAAvD,IAAAA,CAAAA,OAAAoD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAdMoD,EAAAA;AAcN;;;;"}
|
|
@@ -2,12 +2,12 @@ import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
|
2
2
|
import { MinViemClient } from '@velora-dex/sdk';
|
|
3
3
|
import { Hex } from 'viem';
|
|
4
4
|
import { PreSignDeltaOrderToPost } from './types';
|
|
5
|
-
import {
|
|
5
|
+
import { CreateAndSubmitDeltaOrderInput } from './useCreateDeltaOrder';
|
|
6
6
|
type CreatePreSignableDeltaOrderReturn = {
|
|
7
7
|
orderToPost: PreSignDeltaOrderToPost;
|
|
8
8
|
preSignCalldata: Hex;
|
|
9
9
|
};
|
|
10
|
-
type CreatePreSignableDeltaOrderInput =
|
|
10
|
+
type CreatePreSignableDeltaOrderInput = CreateAndSubmitDeltaOrderInput;
|
|
11
11
|
type CreatePreSignableDeltaOrderMutationOptions = Omit<UseMutationOptions<CreatePreSignableDeltaOrderReturn, Error, CreatePreSignableDeltaOrderInput, void>, "mutationFn">;
|
|
12
12
|
type CreateDeltaOrderMutInput = {
|
|
13
13
|
mutationOptions?: CreatePreSignableDeltaOrderMutationOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreatePreSignableDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useCreatePreSignableDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG5E,KAAK,iCAAiC,GAAG;IACvC,WAAW,EAAE,uBAAuB,CAAC;IACrC,eAAe,EAAE,GAAG,CAAC;CACtB,CAAC;AAEF,KAAK,gCAAgC,GAAG,8BAA8B,CAAC;AAEvE,KAAK,0CAA0C,GAAG,IAAI,CACpD,kBAAkB,CAChB,iCAAiC,EACjC,KAAK,EACL,gCAAgC,EAChC,IAAI,CACL,EACD,YAAY,CACb,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,eAAe,CAAC,EAAE,0CAA0C,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,4CAA4C,gCAC1B,CAAC;AAEhC,wBAAgB,8BAA8B,CAAC,EAC7C,eAAe,EACf,OAAO,EACP,MAAM,GACP,EAAE,wBAAwB,GAAG,iBAAiB,CAC7C,iCAAiC,EACjC,KAAK,EACL,gCAAgC,EAChC,IAAI,CACL,CAsCA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreatePreSignableDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.ts"],"sourcesContent":["import { useCalldataSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Hex } from \"viem\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport type {
|
|
1
|
+
{"version":3,"file":"useCreatePreSignableDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.ts"],"sourcesContent":["import { useCalldataSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Hex } from \"viem\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"./useCreateDeltaOrder\";\nimport { buildPreSignOrderPayload } from \"./utils\";\n\ntype CreatePreSignableDeltaOrderReturn = {\n orderToPost: PreSignDeltaOrderToPost;\n preSignCalldata: Hex;\n};\n\ntype CreatePreSignableDeltaOrderInput = CreateAndSubmitDeltaOrderInput;\n\ntype CreatePreSignableDeltaOrderMutationOptions = Omit<\n UseMutationOptions<\n CreatePreSignableDeltaOrderReturn,\n Error,\n CreatePreSignableDeltaOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype CreateDeltaOrderMutInput = {\n mutationOptions?: CreatePreSignableDeltaOrderMutationOptions;\n chainId: number;\n client?: MinViemClient;\n};\n\nexport const CREATE_PRE_SIGNABLE_DELTA_ORDER_MUTATION_KEY =\n \"createPreSignableDeltaOrder\";\n\nexport function useCreatePreSignableDeltaOrder({\n mutationOptions,\n chainId,\n client,\n}: CreateDeltaOrderMutInput): UseMutationResult<\n CreatePreSignableDeltaOrderReturn,\n Error,\n CreatePreSignableDeltaOrderInput,\n void\n> {\n const { sdk } = useCalldataSDK({ chainId, client });\n\n return useMutation<\n CreatePreSignableDeltaOrderReturn,\n Error,\n CreatePreSignableDeltaOrderInput,\n void\n >({\n mutationKey: [CREATE_PRE_SIGNABLE_DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, referrerAddress, signal, type }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(sdk, \"sdk is not available\");\n // Note: This mutation requires the SDK to be initialized with viem client\n // to access setDeltaOrderPreSignature functionality and create calldata\n\n const orderToPost = await buildPreSignOrderPayload({\n sdk,\n orderInput,\n chainId,\n referrerAddress,\n type,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 4: Gather calldata to make a setPreSignature request\n const preSignCalldata = await sdk.setDeltaOrderPreSignature(\n orderToPost.orderHash\n );\n\n return { orderToPost, preSignCalldata };\n },\n ...mutationOptions,\n });\n}\n"],"names":["CREATE_PRE_SIGNABLE_DELTA_ORDER_MUTATION_KEY","useCreatePreSignableDeltaOrder","t0","$","_c","mutationOptions","chainId","client","t1","sdk","useCalldataSDK","t2","Symbol","for","t3","t4","orderInput","referrerAddress","signal","type","throwIfAborted","assert","orderToPost","buildPreSignOrderPayload","preSignCalldata","setDeltaOrderPreSignature","orderHash","mutationKey","mutationFn","useMutation"],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
-
import {
|
|
2
|
+
import { CreateAndSubmitDeltaOrderInput } from './useCreateDeltaOrder';
|
|
3
3
|
import { MinViemClient } from '@velora-dex/sdk';
|
|
4
4
|
import { PreSignDeltaOrderToPost } from './types';
|
|
5
5
|
type DeltaOrderToPostResult = PreSignDeltaOrderToPost;
|
|
6
|
-
type DeltaOrderToPostInput =
|
|
6
|
+
type DeltaOrderToPostInput = CreateAndSubmitDeltaOrderInput;
|
|
7
7
|
type UseDeltaOrderToPostInput = {
|
|
8
8
|
mutationOptions?: Omit<UseMutationOptions<DeltaOrderToPostResult, Error, DeltaOrderToPostInput, void>, "mutationFn">;
|
|
9
9
|
chainId: number;
|
|
10
10
|
client?: MinViemClient;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
Creates the payload to post a Delta Order with 0x signature.
|
|
14
|
+
Primary for depositAndPreSign mutation.
|
|
15
|
+
*/
|
|
12
16
|
export declare function useDeltaOrderToPost({ mutationOptions, chainId, client, }: UseDeltaOrderToPostInput): UseMutationResult<DeltaOrderToPostResult, Error, DeltaOrderToPostInput, void>;
|
|
13
17
|
export {};
|
|
14
18
|
//# sourceMappingURL=useDeltaOrderToPost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaOrderToPost.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useDeltaOrderToPost.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGvD,KAAK,sBAAsB,GAAG,uBAAuB,CAAC;AACtD,KAAK,qBAAqB,GAAG,8BAA8B,CAAC;AAE5D,KAAK,wBAAwB,GAAG;IAC9B,eAAe,CAAC,EAAE,IAAI,CACpB,kBAAkB,CAChB,sBAAsB,EACtB,KAAK,EACL,qBAAqB,EACrB,IAAI,CACL,EACD,YAAY,CACb,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;;EAGE;AACF,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,OAAO,EACP,MAAM,GACP,EAAE,wBAAwB,GAAG,iBAAiB,CAC7C,sBAAsB,EACtB,KAAK,EACL,qBAAqB,EACrB,IAAI,CACL,CAgCA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaOrderToPost.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type UseMutationOptions,\n type UseMutationResult,\n useMutation,\n} from \"@tanstack/react-query\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type {
|
|
1
|
+
{"version":3,"file":"useDeltaOrderToPost.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type UseMutationOptions,\n type UseMutationResult,\n useMutation,\n} from \"@tanstack/react-query\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"./useCreateDeltaOrder\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport { buildPreSignOrderPayload } from \"./utils\";\n\ntype DeltaOrderToPostResult = PreSignDeltaOrderToPost;\ntype DeltaOrderToPostInput = CreateAndSubmitDeltaOrderInput;\n\ntype UseDeltaOrderToPostInput = {\n mutationOptions?: Omit<\n UseMutationOptions<\n DeltaOrderToPostResult,\n Error,\n DeltaOrderToPostInput,\n void\n >,\n \"mutationFn\"\n >;\n chainId: number;\n client?: MinViemClient;\n};\n\n/** \n Creates the payload to post a Delta Order with 0x signature.\n Primary for depositAndPreSign mutation.\n*/\nexport function useDeltaOrderToPost({\n mutationOptions,\n chainId,\n client,\n}: UseDeltaOrderToPostInput): UseMutationResult<\n DeltaOrderToPostResult,\n Error,\n DeltaOrderToPostInput,\n void\n> {\n const { address } = useAccount();\n const { sdk } = useDeltaSDK({ chainId, client, account: address });\n\n return useMutation<\n DeltaOrderToPostResult,\n Error,\n DeltaOrderToPostInput,\n void\n >({\n mutationKey: [\"deltaOrderToPost\"],\n mutationFn: async ({ orderInput, referrerAddress, signal, type }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"hashDeltaOrderTypedData\" in sdk,\n \"sdk.hashDeltaOrderTypedData is not available\"\n );\n\n const orderToPost = await buildPreSignOrderPayload({\n sdk,\n orderInput,\n chainId,\n referrerAddress,\n type,\n });\n\n return orderToPost;\n },\n ...mutationOptions,\n });\n}\n"],"names":["useDeltaOrderToPost","t0","$","_c","mutationOptions","chainId","client","address","useAccount","t1","account","sdk","useDeltaSDK","t2","Symbol","for","t3","t4","orderInput","referrerAddress","signal","type","throwIfAborted","assert","orderToPost","buildPreSignOrderPayload","mutationKey","mutationFn","useMutation"],"mappings":"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"}
|