@velora-dex/widget 0.3.3-dev.1 → 0.3.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.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +3 -3
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +96 -68
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +94 -66
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -0
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.d.ts +2 -2
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +115 -46
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +41 -35
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.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 +31 -25
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +5 -0
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +12 -11
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +3 -2
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +50 -42
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +4 -5
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js +9 -4
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +19 -2
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +28 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/{useCancelLimitDeltaOrders.js → useCancelDeltaOrders.js} +5 -5
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -0
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/errors.js +21 -0
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +7 -4
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +10 -0
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +70 -10
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +42 -23
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +22 -5
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +9 -4
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/useChainMatches.d.ts +7 -0
- package/dist/hooks/useChainMatches.d.ts.map +1 -0
- package/dist/hooks/useChainMatches.js +31 -0
- package/dist/hooks/useChainMatches.js.map +1 -0
- package/dist/hooks/useMinViemClient.d.ts +16 -0
- package/dist/hooks/useMinViemClient.d.ts.map +1 -1
- package/dist/hooks/useMinViemClient.js +62 -7
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.d.ts +12 -0
- package/dist/hooks/useSwitchChainWithGuard.d.ts.map +1 -0
- package/dist/hooks/useSwitchChainWithGuard.js +70 -0
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -0
- package/dist/lib/web3/wagmi/transports.js +1 -1
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.d.ts +2 -1
- package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +22 -26
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/package.json +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +0 -28
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeOverviewFooter.js","sources":["../../../../src/components/widget/TradeOverview/TradeOverviewFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { cn } from \"@/lib/utils\";\n\n// --- Footer ---\ntype TradeOverviewFooterProps = {\n onDismiss?: () => void;\n onCancelFlow?: () => void;\n};\n\ntype TradeOverviewFooterBaseProps = TradeOverviewFooterProps & {\n isFlowCancellable?: boolean;\n explorerLink?: string;\n};\n\nconst TradeOverviewFooterBase = ({\n onDismiss,\n onCancelFlow,\n isFlowCancellable,\n explorerLink,\n}: TradeOverviewFooterBaseProps) => {\n const cancelFlowAndDismiss = () => {\n onDismiss?.();\n onCancelFlow?.();\n };\n if (isFlowCancellable) {\n return (\n <ViewOrCancelFooter\n onCancelFlow={cancelFlowAndDismiss}\n explorerLink={explorerLink}\n />\n );\n }\n return (\n <DismissFooter\n onDismiss={cancelFlowAndDismiss}\n explorerLink={explorerLink}\n />\n );\n};\n\nexport const TradeOverviewFooter = ({\n onDismiss,\n onCancelFlow,\n}: TradeOverviewFooterProps) => {\n const { isFlowCancellable, explorerLink } = useTradeFlowContext();\n\n return (\n <TradeOverviewFooterBase\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n />\n );\n};\n\nexport const DismissFooter = ({\n onDismiss,\n explorerLink,\n}: Pick<TradeOverviewFooterBaseProps, \"onDismiss\" | \"explorerLink\">) => {\n const oneButtonOnly = !explorerLink;\n return (\n <div className=\"flex justify-center w-full gap-[16px]\">\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className={cn(\"text-sm\", {\n \"w-full\": oneButtonOnly,\n \"w-[118px]\": !oneButtonOnly,\n })}\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n {explorerLink && (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"flex-1 text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n )}\n </div>\n );\n};\n\nexport const ViewOrCancelFooter = ({\n onCancelFlow,\n explorerLink,\n}: Pick<TradeOverviewFooterBaseProps, \"onCancelFlow\" | \"explorerLink\">) => {\n const oneButtonOnly = !explorerLink;\n return (\n <div className=\"flex justify-center w-full gap-[16px]\">\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className={cn(\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1 text-sm\",\n {\n \"w-full\": oneButtonOnly,\n \"w-[118px]\": !oneButtonOnly,\n }\n )}\n onClick={onCancelFlow}\n >\n Cancel\n </Button>\n {explorerLink && (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"flex-1 text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n )}\n </div>\n );\n};\n"],"names":["TradeOverviewFooterBase","t0","$","_c","onDismiss","onCancelFlow","isFlowCancellable","explorerLink","t1","cancelFlowAndDismiss","t2","TradeOverviewFooter","useTradeFlowContext","DismissFooter","oneButtonOnly","cn","t3","t4","t5","ViewOrCancelFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeOverviewFooter.js","sources":["../../../../src/components/widget/TradeOverview/TradeOverviewFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { cn } from \"@/lib/utils\";\n\n// --- Footer ---\ntype TradeOverviewFooterProps = {\n onDismiss?: () => void;\n onCancelFlow?: () => void;\n onCancelOrder?: () => void;\n};\n\ntype TradeOverviewFooterBaseProps = TradeOverviewFooterProps & {\n isFlowCancellable?: boolean;\n explorerLink?: string;\n};\n\nconst TradeOverviewFooterBase = ({\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n isFlowCancellable,\n explorerLink,\n}: TradeOverviewFooterBaseProps) => {\n const cancelFlowAndDismiss = () => {\n onDismiss?.();\n onCancelFlow?.();\n };\n if (isFlowCancellable || onCancelOrder) {\n return (\n <ViewOrCancelFooter\n onCancelFlow={cancelFlowAndDismiss}\n onCancelOrder={onCancelOrder}\n explorerLink={explorerLink}\n />\n );\n }\n return (\n <DismissFooter\n onDismiss={cancelFlowAndDismiss}\n explorerLink={explorerLink}\n />\n );\n};\n\nexport const TradeOverviewFooter = ({\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n}: TradeOverviewFooterProps) => {\n const { isFlowCancellable, explorerLink } = useTradeFlowContext();\n\n return (\n <TradeOverviewFooterBase\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n />\n );\n};\n\nexport const DismissFooter = ({\n onDismiss,\n explorerLink,\n}: Pick<TradeOverviewFooterBaseProps, \"onDismiss\" | \"explorerLink\">) => {\n const oneButtonOnly = !explorerLink;\n return (\n <div className=\"flex justify-center w-full gap-[16px]\">\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className={cn(\"text-sm\", {\n \"w-full\": oneButtonOnly,\n \"w-[118px]\": !oneButtonOnly,\n })}\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n {explorerLink && (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"flex-1 text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n )}\n </div>\n );\n};\n\nexport const ViewOrCancelFooter = ({\n onCancelFlow,\n onCancelOrder,\n explorerLink,\n}: Pick<\n TradeOverviewFooterBaseProps,\n \"onCancelFlow\" | \"onCancelOrder\" | \"explorerLink\"\n>) => {\n const oneButtonOnly = !explorerLink;\n return (\n <div className=\"flex justify-center w-full gap-[16px]\">\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className={cn(\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1 text-sm\",\n {\n \"w-full\": oneButtonOnly,\n \"w-[118px]\": !oneButtonOnly,\n }\n )}\n onClick={onCancelOrder || onCancelFlow}\n >\n {onCancelOrder ? \"Cancel Order\" : \"Cancel\"}\n </Button>\n {explorerLink && (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"flex-1 text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n )}\n </div>\n );\n};\n"],"names":["TradeOverviewFooterBase","t0","$","_c","onDismiss","onCancelFlow","onCancelOrder","isFlowCancellable","explorerLink","t1","cancelFlowAndDismiss","t2","TradeOverviewFooter","useTradeFlowContext","DismissFooter","oneButtonOnly","cn","t3","t4","t5","ViewOrCancelFooter","t6","t7"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updaters.d.ts","sourceRoot":"","sources":["../../src/core/Updaters.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Updaters.d.ts","sourceRoot":"","sources":["../../src/core/Updaters.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,QAAQ,YAmDpB,CAAC"}
|
package/dist/core/Updaters.js
CHANGED
|
@@ -16,6 +16,7 @@ import { useActivateFormInputEffects } from './inputs/state/setTokenByAddressAto
|
|
|
16
16
|
import { useActivateConfigEffect } from './state/configEffectAtom.js';
|
|
17
17
|
import { useOnPriceUpdates } from '../events/hooks/useOnPriceUpdates.js';
|
|
18
18
|
import { useBridgeProtocolsQuery } from '../hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js';
|
|
19
|
+
import { useCacheMinViemClient } from '../hooks/useMinViemClient.js';
|
|
19
20
|
|
|
20
21
|
const Updaters = () => {
|
|
21
22
|
const $ = distExports.c(2);
|
|
@@ -55,6 +56,7 @@ const Updaters = () => {
|
|
|
55
56
|
useActivateEffects$2();
|
|
56
57
|
useActivateFormInputEffects();
|
|
57
58
|
useActivateConfigEffect();
|
|
59
|
+
useCacheMinViemClient();
|
|
58
60
|
return null;
|
|
59
61
|
};
|
|
60
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeInfo({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n return null;\n};\n"],"names":["Updaters","$","_c","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","t0","Symbol","for","mode","useGetBridgeInfo","t1","useGetContracts","useBridgeProtocolsQuery","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useOnPriceUpdates","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\nimport { useCacheMinViemClient } from \"@/hooks/useMinViemClient\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeInfo({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n // keep one subscriber to useConnectorClient query at all times\n // to avoid async client creation on useMinViemClient mount\n // and first minClient being undefined for a short time\n useCacheMinViemClient();\n\n return null;\n};\n"],"names":["Updaters","$","_c","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","t0","Symbol","for","mode","useGetBridgeInfo","t1","useGetContracts","useBridgeProtocolsQuery","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useOnPriceUpdates","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect","useCacheMinViemClient"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,WAAWA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAEtBC,EAAAA,kBAAAA,EAAmB;AAEnBC,EAAAA,kBAAAA,EAA4B;AAG5BC,EAAAA,wBAAAA,EAAyB;AAAC,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAM,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACTF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,IAAAA,EAAQ;AAAA,KAAO;AAACR,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAjCS,EAAAA,gBAAAA,CAAiBJ,EAAgB,CAAA;AAAC,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAV,EAAA,CAAA,CAAA,KAAAM,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACjBG,IAAAA,EAAAA,GAAA;AAAA,MAAAF,IAAAA,EAAQ;AAAA,KAAQ;AAACR,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAlCS,EAAAA,gBAAAA,CAAiBC,EAAiB,CAAA;AAClCC,EAAAA,eAAAA,EAAgB;AAChBC,EAAAA,uBAAAA,EAAwB;AAGxBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAGZC,EAAAA,cAAAA,EAAe;AAGfC,EAAAA,oBAAAA,EAAqB;AAGrBC,EAAAA,iBAAAA,EAAkB;AAGlBC,EAAAA,oBAAAA,EAAwB;AAGxBC,EAAAA,oBAAAA,EAA8B;AAG9BC,EAAAA,2BAAAA,EAA4B;AAG5BC,EAAAA,uBAAAA,EAAwB;AAKxBC,EAAAA,qBAAAA,EAAsB;AAAC,EAAA,OAEhB,IAAA;AAAI;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA0D5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA0C7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D"}
|
|
@@ -5,13 +5,13 @@ import { useCurrentSwapPrice } from '../../../hooks/swap/prices/useSwapPrices.js
|
|
|
5
5
|
import { useIsTokenFromInsufficientBalance } from '../../../hooks/tokens/balances/useIsInsufficientTokenBalance.js';
|
|
6
6
|
import { areTokensSame } from '../../../tokens/utils/areTokensSame.js';
|
|
7
7
|
import { useIsCrossChain } from '../../state/isCrosschainAtom.js';
|
|
8
|
-
import { useChainId, useAccount } from 'wagmi';
|
|
9
8
|
import { useOtcReceiverAddressValue } from '../../otc/state/receiverAddressAtom.js';
|
|
10
9
|
import { useUnsupportedLimitChain } from '../../limit/useLimitNotSupported.js';
|
|
11
10
|
import { useUnsupportedOtcChain } from '../../otc/useOtcNotSupported.js';
|
|
12
11
|
import { useUnsupportedLimitTokens } from '../../limit/useLimitTokenToInputProps.js';
|
|
13
12
|
import { useDeltaSwapPriceForLimit } from '../../limit/useLimitRate.js';
|
|
14
13
|
import { useLimitReceiverAddressValue } from '../../limit/state/receiverAddressAtom.js';
|
|
14
|
+
import { useChainMatches } from '../../../hooks/useChainMatches.js';
|
|
15
15
|
|
|
16
16
|
const errorMessageByApiErrorMessage = {
|
|
17
17
|
ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: "Price Impact Too High",
|
|
@@ -36,12 +36,11 @@ function useWidgetButtonConditions(t0) {
|
|
|
36
36
|
tokenTo,
|
|
37
37
|
tradeMode
|
|
38
38
|
} = t0;
|
|
39
|
-
const appChainId = useChainId();
|
|
40
39
|
const {
|
|
41
|
-
|
|
40
|
+
walletChainMatchesAppChain,
|
|
42
41
|
isConnected
|
|
43
|
-
} =
|
|
44
|
-
const wrongNetwork =
|
|
42
|
+
} = useChainMatches();
|
|
43
|
+
const wrongNetwork = !walletChainMatchesAppChain;
|
|
45
44
|
let t1;
|
|
46
45
|
if ($[0] !== tokenFrom || $[1] !== tokenTo) {
|
|
47
46
|
t1 = tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useChainId, useAccount } from \"wagmi\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n\n const wrongNetwork =\n isConnected && !!walletChainId && appChainId !== walletChainId;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride, isConnected };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","useWidgetButtonExtraProps","Symbol","for","enabled","error","useCurrentSwapPrice","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","receiver","useSwapReceiverAddressValue","t3","disabled","labelOverride","t4","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","unsupportedTokens","useUnsupportedLimitTokens","network","isCrosschainLimitOrder","limitPriceError","useDeltaSwapPriceForLimit","undefined","limitReceiverAddress","useLimitReceiverAddressValue","connectedButNoReceiver","className","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride, isConnected };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","useChainMatches","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","useWidgetButtonExtraProps","Symbol","for","enabled","error","useCurrentSwapPrice","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","receiver","useSwapReceiverAddressValue","t3","disabled","labelOverride","t4","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","unsupportedTokens","useUnsupportedLimitTokens","network","isCrosschainLimitOrder","limitPriceError","useDeltaSwapPriceForLimit","undefined","limitReceiverAddress","useLimitReceiverAddressValue","connectedButNoReceiver","className","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"names":[],"mappings":"AAMA,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,QAarD"}
|
|
@@ -2,26 +2,31 @@ import { d as distExports } from '../../../_virtual/index.js';
|
|
|
2
2
|
import { useClickOutside } from '../../../hooks/useClickOutside.js';
|
|
3
3
|
import { useScreen } from '../state/hooks/useScreen.js';
|
|
4
4
|
import { screenTypesClosableByOutsideClick } from '../screenByType.js';
|
|
5
|
+
import { openDrawerAtom } from '../../../components/widget/Drawer/state/useDrawerControls.js';
|
|
6
|
+
import { useSetAtom } from '../../store.js';
|
|
5
7
|
|
|
6
8
|
function useCloseScreenOnClickOutside(containerRef) {
|
|
7
|
-
const $ = distExports.c(
|
|
9
|
+
const $ = distExports.c(4);
|
|
8
10
|
const {
|
|
9
11
|
screen,
|
|
10
12
|
closeScreen
|
|
11
13
|
} = useScreen();
|
|
14
|
+
const setOpenDrawer = useSetAtom(openDrawerAtom);
|
|
12
15
|
let t0;
|
|
13
|
-
if ($[0] !== closeScreen || $[1] !== screen?.screenType) {
|
|
16
|
+
if ($[0] !== closeScreen || $[1] !== screen?.screenType || $[2] !== setOpenDrawer) {
|
|
14
17
|
t0 = () => {
|
|
15
18
|
const screenType = screen?.screenType;
|
|
16
19
|
if (screenType && screenTypesClosableByOutsideClick.includes(screenType)) {
|
|
17
20
|
closeScreen();
|
|
21
|
+
setOpenDrawer(null);
|
|
18
22
|
}
|
|
19
23
|
};
|
|
20
24
|
$[0] = closeScreen;
|
|
21
25
|
$[1] = screen?.screenType;
|
|
22
|
-
$[2] =
|
|
26
|
+
$[2] = setOpenDrawer;
|
|
27
|
+
$[3] = t0;
|
|
23
28
|
} else {
|
|
24
|
-
t0 = $[
|
|
29
|
+
t0 = $[3];
|
|
25
30
|
}
|
|
26
31
|
useClickOutside(containerRef, t0);
|
|
27
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnClickOutside.js","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"sourcesContent":["import { useClickOutside } from \"@/hooks/useClickOutside\";\nimport { useScreen } from \"../state/hooks/useScreen\";\nimport { screenTypesClosableByOutsideClick } from \"../screenByType\";\n\nexport function useCloseScreenOnClickOutside(\n containerRef: React.RefObject<HTMLDivElement | null>\n) {\n const { screen, closeScreen } = useScreen();\n useClickOutside(containerRef, () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType))\n closeScreen();\n });\n}\n"],"names":["useCloseScreenOnClickOutside","containerRef","$","_c","screen","closeScreen","useScreen","t0","screenType","screenTypesClosableByOutsideClick","includes","useClickOutside"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useOnClickOutside.js","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"sourcesContent":["import { useClickOutside } from \"@/hooks/useClickOutside\";\nimport { useScreen } from \"../state/hooks/useScreen\";\nimport { screenTypesClosableByOutsideClick } from \"../screenByType\";\nimport { openDrawerAtom } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useSetAtom } from \"@/core/store\";\n\nexport function useCloseScreenOnClickOutside(\n containerRef: React.RefObject<HTMLDivElement | null>\n) {\n const { screen, closeScreen } = useScreen();\n const setOpenDrawer = useSetAtom(openDrawerAtom);\n useClickOutside(containerRef, () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType)) {\n // close the screen when clicking outside\n closeScreen();\n // close any open drawer when closing the screen\n setOpenDrawer(null);\n }\n });\n}\n"],"names":["useCloseScreenOnClickOutside","containerRef","$","_c","screen","closeScreen","useScreen","setOpenDrawer","useSetAtom","openDrawerAtom","t0","screenType","screenTypesClosableByOutsideClick","includes","useClickOutside"],"mappings":";;;;;;;AAMO,SAAAA,6BAAAC,YAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,MAAgCC,SAAAA,EAAU;AAC1C,EAAA,MAAAC,aAAAA,GAAsBC,WAAWC,cAAc,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAG,WAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAE,MAAAA,EAAAO,UAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAK,aAAAA,EAAA;AACnBG,IAAAA,EAAAA,GAAAA,MAAA;AAC5B,MAAA,MAAAC,aAAmBP,MAAAA,EAAMO,UAAAA;AACzB,MAAA,IAAIA,UAAAA,IAAcC,iCAAAA,CAAiCC,QAAAA,CAAUF,UAAU,CAAA,EAAC;AAEtEN,QAAAA,WAAAA,EAAY;AAEZE,QAAAA,aAAAA,CAAc,IAAI,CAAA;AAAA,MAAC;AAAA,IACpB,CAAA;AACFL,IAAAA,CAAAA,MAAAG,WAAAA;AAAAH,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,EAAAO,UAAAA;AAAAT,IAAAA,CAAAA,MAAAK,aAAAA;AAAAL,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AARDY,EAAAA,eAAAA,CAAgBb,cAAcS,EAQ7B,CAAA;AAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOtcOrderFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAA4B,MAAM,MAAM,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAU3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAYzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"useOtcOrderFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderFlow.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ import { useOtcReceiverAddressValue } from '../../../core/otc/state/receiverAddr
|
|
|
15
15
|
import { useLimitOrderByHashQuery, limitOrderByHashQueryKey } from '../queries/useLimitOrders.js';
|
|
16
16
|
import { useWidgetEvents } from '../../../core/state/widgetEventsAtom.js';
|
|
17
17
|
import { useBatchWrapAndApprove, shouldApproveOrBatchWrapAndApprove } from '../../swap/tradeFlow/common/useBatchWrapAndApprove.js';
|
|
18
|
+
import { useChainMatches } from '../../useChainMatches.js';
|
|
19
|
+
import { useSwitchChainWithGuard } from '../../useSwitchChainWithGuard.js';
|
|
18
20
|
|
|
19
21
|
const otcOrderFlowType = "otcOrder";
|
|
20
22
|
const OTC_ORDER_MUTATION_KEY = "runOtcOrderFlow";
|
|
@@ -82,12 +84,27 @@ function useOtcOrderFlow({
|
|
|
82
84
|
});
|
|
83
85
|
const cancelOrderEvents = useCancelOtcOrderEventCallbacks(createOrderMut.data);
|
|
84
86
|
const queryClient = useQueryClient();
|
|
87
|
+
const orderChainId = createOrderMut.data?.chainId;
|
|
88
|
+
const {
|
|
89
|
+
forcedChainMatchesWalletChain
|
|
90
|
+
} = useChainMatches(orderChainId);
|
|
91
|
+
const {
|
|
92
|
+
mutateAsync: switchChain
|
|
93
|
+
} = useSwitchChainWithGuard();
|
|
85
94
|
const cancelOrderMut = useCancelOtcOrderAndWait({
|
|
86
95
|
chainId,
|
|
87
96
|
account,
|
|
88
97
|
client: minClient,
|
|
89
98
|
mutationOptions: {
|
|
90
|
-
onMutate:
|
|
99
|
+
onMutate: async (variables) => {
|
|
100
|
+
assert(orderChainId, "orderChainId is undefined");
|
|
101
|
+
if (!forcedChainMatchesWalletChain) {
|
|
102
|
+
await switchChain({
|
|
103
|
+
chainId: orderChainId
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
cancelOrderEvents.onMutate?.(variables);
|
|
107
|
+
},
|
|
91
108
|
onSuccess: (txReceipt, vars) => {
|
|
92
109
|
logger.log("Cancel Order success", txReceipt);
|
|
93
110
|
if (createOrderMut.data?.orderHash) {
|
|
@@ -301,7 +318,7 @@ function useOtcOrderFlow({
|
|
|
301
318
|
}
|
|
302
319
|
});
|
|
303
320
|
const runOtcOrderFlow = otcOrderMut.mutateAsync;
|
|
304
|
-
const cancelOtcOrder = () => {
|
|
321
|
+
const cancelOtcOrder = async () => {
|
|
305
322
|
assert(createOrderMut.data, "No order to cancel");
|
|
306
323
|
return cancelOrderMut.mutateAsync({
|
|
307
324
|
orderHash: createOrderMut.data.orderHash,
|
|
@@ -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\";\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 });\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 cancelOrderMut = useCancelOtcOrderAndWait({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: cancelOrderEvents.onMutate,\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 = () => {\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","cancelOrderMut","useCancelOtcOrderAndWait","onMutate","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","assert","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","mutateAsync","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 });\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"sourcesContent":["import type {\n GenericStep,\n OtcOrderStep,\n OtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useOtcOrderFlow,\n type SubmitOtcOrderResult,\n type UseOtcOrderFlowInput,\n type UseOtcOrderFlowResult,\n} from \"./useOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { LimitOrderStateChecker } from \"../queries/utils\";\n\ntype UseOtcOrderStepResult = {\n startOtcOrder: UseOtcOrderFlowResult[\"runOtcOrderFlow\"];\n cancelOtcOrder: UseOtcOrderFlowResult[\"cancelOtcOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: OtcOrderStep;\n orderCancellationStep?: GenericStep;\n error: Error | null;\n erroredStep?: OtcOrderStepKey;\n result?: SubmitOtcOrderResult;\n tradeFlowType: UseOtcOrderFlowResult[\"tradeFlowType\"];\n};\n\nexport function useOtcOrderStep(\n options: UseOtcOrderFlowInput\n): UseOtcOrderStepResult {\n const logger = useLogger(\"OtcOrderStep\");\n const otcOrderFlow = useOtcOrderFlow(options);\n\n const startOtcOrder = otcOrderFlow.runOtcOrderFlow;\n const reset = otcOrderFlow.reset;\n const cancelFlow = otcOrderFlow.cancelFlow;\n const retryFlow = otcOrderFlow.retryFlow;\n\n let step: OtcOrderStep | undefined;\n\n const wrapAndApproveBatchHappeningOrNeverHappened =\n options.preWrapETH &&\n otcOrderFlow.approval.needsApproval &&\n (otcOrderFlow.wrapAndApprovalBatch.isPending ||\n !otcOrderFlow.wrapAndApprovalBatch.isSuccess);\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n otcOrderFlow.approval.isPending || !otcOrderFlow.approval.isSuccess;\n\n if (\n otcOrderFlow.approval.needsApproval &&\n (approvalHappeningOrNeverHappened ||\n wrapAndApproveBatchHappeningOrNeverHappened)\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (otcOrderFlow.otcOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!otcOrderFlow.approval.txHash;\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (otcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n let orderCancellationStep: GenericStep | undefined;\n if (otcOrderFlow.otcOrderCancelation.isCancelingOrder) {\n orderCancellationStep = \"pending\";\n } else if (otcOrderFlow.otcOrderCancelation.isOrderCanceled) {\n orderCancellationStep = \"success\";\n } else if (otcOrderFlow.otcOrderCancelation.isError) {\n orderCancellationStep = \"error\";\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n otcOrderFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const lastOrderState =\n otcOrderFlow.otcOrderCancelation.lastOrderState ||\n otcOrderFlow.otcOrderSubmission.order;\n // @TODO fix edge case: this state won't be enough if order was expired while sitting in the drawer\n const isOrderCancellable =\n !!lastOrderState &&\n LimitOrderStateChecker.cancellable.has(lastOrderState.state);\n\n const orderHash = otcOrderFlow.otcOrderSubmission.order?.orderHash;\n\n logger.once.log(\"step\", step, otcOrderFlow, {\n isFlowCancellable,\n orderHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(otcOrderFlow.error)\n ? null\n : otcOrderFlow.error;\n\n let erroredStep: OtcOrderStepKey | undefined;\n\n if (otcOrderFlow.isError) {\n if (otcOrderFlow.approval.isError) {\n erroredStep = \"signature\";\n } else if (otcOrderFlow.otcOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n return {\n startOtcOrder,\n cancelOtcOrder: otcOrderFlow.cancelOtcOrder,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n step,\n orderCancellationStep,\n error,\n erroredStep,\n result: otcOrderFlow.result,\n tradeFlowType: otcOrderFlow.tradeFlowType,\n };\n}\n"],"names":["useOtcOrderStep","options","$","_c","logger","useLogger","otcOrderFlow","useOtcOrderFlow","startOtcOrder","runOtcOrderFlow","reset","cancelFlow","retryFlow","isFlowCancellable","isOrderCancellable","orderCancellationStep","step","once","preWrapETH","wrapAndApproveBatchHappeningOrNeverHappened","approval","needsApproval","wrapAndApprovalBatch","isPending","isSuccess","approvalHappeningOrNeverHappened","otcOrderSubmission","permitOrApprovalHappened","txHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","isError","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","lastOrderState","order","t0","LimitOrderStateChecker","cancellable","has","state","orderHash","log","error","isUserCancelledError","erroredStep","t1","cancelOtcOrder","result","tradeFlowType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useOtcOrderStep.ts"],"sourcesContent":["import type {\n GenericStep,\n OtcOrderStep,\n OtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useOtcOrderFlow,\n type SubmitOtcOrderResult,\n type UseOtcOrderFlowInput,\n type UseOtcOrderFlowResult,\n} from \"./useOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { LimitOrderStateChecker } from \"../queries/utils\";\n\ntype UseOtcOrderStepResult = {\n startOtcOrder: UseOtcOrderFlowResult[\"runOtcOrderFlow\"];\n cancelOtcOrder: UseOtcOrderFlowResult[\"cancelOtcOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: OtcOrderStep;\n orderCancellationStep?: GenericStep;\n error: Error | null;\n erroredStep?: OtcOrderStepKey;\n result?: SubmitOtcOrderResult;\n tradeFlowType: UseOtcOrderFlowResult[\"tradeFlowType\"];\n};\n\nexport function useOtcOrderStep(\n options: UseOtcOrderFlowInput\n): UseOtcOrderStepResult {\n const logger = useLogger(\"OtcOrderStep\");\n const otcOrderFlow = useOtcOrderFlow(options);\n\n const startOtcOrder = otcOrderFlow.runOtcOrderFlow;\n const reset = otcOrderFlow.reset;\n const cancelFlow = otcOrderFlow.cancelFlow;\n const retryFlow = otcOrderFlow.retryFlow;\n\n let step: OtcOrderStep | undefined;\n\n const wrapAndApproveBatchHappeningOrNeverHappened =\n options.preWrapETH &&\n otcOrderFlow.approval.needsApproval &&\n (otcOrderFlow.wrapAndApprovalBatch.isPending ||\n !otcOrderFlow.wrapAndApprovalBatch.isSuccess);\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n otcOrderFlow.approval.isPending || !otcOrderFlow.approval.isSuccess;\n\n if (\n otcOrderFlow.approval.needsApproval &&\n (approvalHappeningOrNeverHappened ||\n wrapAndApproveBatchHappeningOrNeverHappened)\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (otcOrderFlow.otcOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!otcOrderFlow.approval.txHash;\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (otcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n let orderCancellationStep: GenericStep | undefined;\n if (otcOrderFlow.otcOrderCancelation.isCancelingOrder) {\n orderCancellationStep = \"pending\";\n } else if (otcOrderFlow.otcOrderCancelation.isOrderCanceled) {\n orderCancellationStep = \"success\";\n } else if (otcOrderFlow.otcOrderCancelation.isError) {\n orderCancellationStep = \"error\";\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n otcOrderFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const lastOrderState =\n otcOrderFlow.otcOrderCancelation.lastOrderState ||\n otcOrderFlow.otcOrderSubmission.order;\n\n const isOrderCancellable =\n !!lastOrderState && // @TODO fix edge case: this state won't be enough if order was expired while sitting in the drawer\n LimitOrderStateChecker.cancellable.has(lastOrderState.state);\n\n const orderHash = otcOrderFlow.otcOrderSubmission.order?.orderHash;\n\n logger.once.log(\"step\", step, otcOrderFlow, {\n isFlowCancellable,\n orderHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(otcOrderFlow.error)\n ? null\n : otcOrderFlow.error;\n\n let erroredStep: OtcOrderStepKey | undefined;\n\n if (otcOrderFlow.isError) {\n if (otcOrderFlow.approval.isError) {\n erroredStep = \"signature\";\n } else if (otcOrderFlow.otcOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n return {\n startOtcOrder,\n cancelOtcOrder: otcOrderFlow.cancelOtcOrder,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n step,\n orderCancellationStep,\n error,\n erroredStep,\n result: otcOrderFlow.result,\n tradeFlowType: otcOrderFlow.tradeFlowType,\n };\n}\n"],"names":["useOtcOrderStep","options","$","_c","logger","useLogger","otcOrderFlow","useOtcOrderFlow","startOtcOrder","runOtcOrderFlow","reset","cancelFlow","retryFlow","isFlowCancellable","isOrderCancellable","orderCancellationStep","step","once","preWrapETH","wrapAndApproveBatchHappeningOrNeverHappened","approval","needsApproval","wrapAndApprovalBatch","isPending","isSuccess","approvalHappeningOrNeverHappened","otcOrderSubmission","permitOrApprovalHappened","txHash","otcOrderCancelation","isCancelingOrder","isOrderCanceled","isError","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","lastOrderState","order","t0","LimitOrderStateChecker","cancellable","has","state","orderHash","log","error","isUserCancelledError","erroredStep","t1","cancelOtcOrder","result","tradeFlowType"],"mappings":";;;;;;AAgCO,SAAAA,gBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,cAAc,CAAA;AACvC,EAAA,MAAAC,YAAAA,GAAqBC,gBAAgBN,OAAO,CAAA;AAE5C,EAAA,MAAAO,gBAAsBF,YAAAA,CAAYG,eAAAA;AAClC,EAAA,MAAAC,QAAcJ,YAAAA,CAAYI,KAAAA;AAC1B,EAAA,MAAAC,aAAmBL,YAAAA,CAAYK,UAAAA;AAC/B,EAAA,MAAAC,YAAkBN,YAAAA,CAAYM,SAAAA;AAAW,EAAA,IAAAC,iBAAAA;AAAA,EAAA,IAAAC,kBAAAA;AAAA,EAAA,IAAAC,qBAAAA;AAAA,EAAA,IAAAC,IAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAE,MAAAA,CAAAa,IAAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAD,OAAAA,CAAAiB,UAAAA,IAAAhB,CAAAA,QAAAI,YAAAA,EAAA;AAIzC,IAAA,MAAAa,2CAAAA,GACElB,OAAAA,CAAOiB,UAAAA,IACPZ,YAAAA,CAAYc,QAAAA,CAASC,aAAAA,KACpBf,YAAAA,CAAYgB,oBAAAA,CAAqBC,SAAAA,IAAjC,CACEjB,YAAAA,CAAYgB,oBAAAA,CAAqBE,SAAAA,CAAAA;AAEtC,IAAA,MAAAC,mCAGEnB,YAAAA,CAAYc,QAAAA,CAASG,SAAAA,IAArB,CAAoCjB,aAAYc,QAAAA,CAASI,SAAAA;AAE3D,IAAA,IACElB,YAAAA,CAAYc,QAAAA,CAASC,aAAAA,KACpBI,gCAAAA,IAAAN,2CAAAA,CAAAA,EAC6C;AAE9CH,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EAAOA,WAAAA;AAAAA,QAAWA,OAAAA,EAAWA;AAAAA,OAAqBA;AAAAA,IAArD,CAAA,MAAA;AACC,MAAA,IAAIV,YAAAA,CAAYoB,mBAAmBH,SAAAA,EAAU;AAClD,QAAA,MAAAI,wBAAAA,GAAiC,CAAC,CAACrB,YAAAA,CAAYc,QAAAA,CAASQ,MAAAA;AAExDZ,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EACAA,WAAAA;AAAAA,UAAWA,OAAAA,EACPW,2BAAA,iBAAA,GAAA;AAAA,SAGX;AAAA,MALI,CAAA,MAAA;AAMC,QAAA,IAAIrB,aAAYiB,SAAAA,EAAU;AAG/BP,UAAAA,IAAAA,GAAOA;AAAAA,YAAAA,GAAAA,EAAOA,WAAAA;AAAAA,YAAWA,OAAAA,EAAWA;AAAAA,WAA6BA;AAAAA,QAA7D;AAAA,MACL;AAAA,IAAA;AAGD,IAAA,IAAIV,YAAAA,CAAYuB,oBAAoBC,gBAAAA,EAAiB;AACnDf,MAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,IAAH,CAAA,MAAA;AAChB,MAAA,IAAIT,YAAAA,CAAYuB,oBAAoBE,eAAAA,EAAgB;AACzDhB,QAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,MAAH,CAAA,MAAA;AAChB,QAAA,IAAIT,YAAAA,CAAYuB,oBAAoBG,OAAAA,EAAQ;AACjDjB,UAAAA,qBAAAA,GAAwBA,OAAAA;AAAAA,QAAH;AAAA,MACtB;AAAA,IAAA;AAED,IAAA,MAAAkB,iBAAAA,GACEjB,MAAIkB,GAAAA,KAAU,WAAA,IACdlB,KAAImB,OAAAA,KAAa,oBAAA,IACjB7B,aAAYc,QAAAA,CAASgB,WAAAA;AAEvB,IAAA,MAAAC,kBAAAA,GACErB,MAAIkB,GAAAA,KAAU,WAAA,KACblB,KAAImB,OAAAA,KAAa,iBAAA,IAChBnB,KAAImB,OAAAA,KAAa,4BAAA,CAAA;AAErBtB,IAAAA,iBAAAA,GAGEoB,iBAAAA,IAAAI,kBAAAA;AAEF,IAAA,MAAAC,cAAAA,GACEhC,YAAAA,CAAYuB,mBAAAA,CAAoBS,cAAAA,IAChChC,aAAYoB,kBAAAA,CAAmBa,KAAAA;AAAO,IAAA,IAAAC,GAAAA;AAAA,IAAA,IAAAtC,CAAAA,QAAAoC,cAAAA,EAAA;AAGtCE,MAAAA,GAAAA,GAAA,CAAC,CAACF,cAAAA,IACFG,uBAAsBC,WAAAA,CAAYC,GAAAA,CAAKL,eAAcM,KAAM,CAAA;AAAC1C,MAAAA,CAAAA,MAAAoC,cAAAA;AAAApC,MAAAA,CAAAA,MAAAsC,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAtC,EAAA,CAAA,CAAA;AAAA,IAAA;AAF9DY,IAAAA,kBAAAA,GACE0B,GAAAA;AAGF,IAAA,MAAAK,SAAAA,GAAkBvC,YAAAA,CAAYoB,kBAAAA,CAAmBa,KAAAA,EAAiBM,SAAAA;AAElEzC,IAAAA,MAAAA,CAAMa,IAAAA,CAAK6B,GAAAA,CAAK,MAAA,EAAQ9B,IAAAA,EAAMV,YAAAA,EAAc;AAAA,MAAAO,iBAAAA;AAAAA,MAAAgC;AAAAA,KAG3C,CAAA;AAAC3C,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,CAAAa,IAAAA;AAAAf,IAAAA,CAAAA,CAAA,CAAA,IAAAD,OAAAA,CAAAiB,UAAAA;AAAAhB,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAW,iBAAAA;AAAAX,IAAAA,CAAAA,MAAAY,kBAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,qBAAAA;AAAAb,IAAAA,CAAAA,MAAAc,IAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAH,IAAAA,iBAAAA,GAAAX,EAAA,CAAA,CAAA;AAAAY,IAAAA,kBAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAAa,IAAAA,qBAAAA,GAAAb,EAAA,CAAA,CAAA;AAAAc,IAAAA,IAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsC,EAAAA;AAAA,EAAA,IAAAtC,CAAAA,CAAA,CAAA,CAAA,KAAAI,YAAAA,CAAAyC,KAAAA,EAAA;AAGYP,IAAAA,EAAAA,GAAAQ,oBAAAA,CAAqB1C,YAAAA,CAAYyC,KAE1B,CAAA,GAFP,OAEVzC,YAAAA,CAAYyC,KAAAA;AAAM7C,IAAAA,CAAAA,CAAA,CAAA,IAAAI,YAAAA,CAAAyC,KAAAA;AAAA7C,IAAAA,CAAAA,OAAAsC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtC,EAAA,EAAA,CAAA;AAAA,EAAA;AAFtB,EAAA,MAAA6C,KAAAA,GAAcP,EAAAA;AAIVS,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAI3C,aAAY0B,OAAAA,EAAQ;AACtB,IAAA,IAAI1B,YAAAA,CAAYc,SAASY,OAAAA,EAAQ;AAC/BiB,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IAAI3C,YAAAA,CAAYoB,mBAAmBM,OAAAA,EAAQ;AAChDiB,QAAAA,WAAAA,GAAcA,kBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AACF,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAhD,CAAAA,CAAA,EAAA,CAAA,KAAAS,UAAAA,IAAAT,CAAAA,CAAA,EAAA,CAAA,KAAA6C,KAAAA,IAAA7C,CAAAA,CAAA,EAAA,CAAA,KAAA+C,WAAAA,IAAA/C,UAAAW,iBAAAA,IAAAX,CAAAA,CAAA,EAAA,CAAA,KAAAY,kBAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAa,qBAAAA,IAAAb,CAAAA,CAAA,EAAA,CAAA,KAAAI,aAAA6C,cAAAA,IAAAjD,CAAAA,CAAA,EAAA,CAAA,KAAAI,YAAAA,CAAA8C,MAAAA,IAAAlD,EAAA,EAAA,CAAA,KAAAI,YAAAA,CAAA+C,aAAAA,IAAAnD,CAAAA,SAAAQ,KAAAA,IAAAR,CAAAA,CAAA,EAAA,CAAA,KAAAU,SAAAA,IAAAV,CAAAA,CAAA,EAAA,CAAA,KAAAM,aAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAc,IAAAA,EAAA;AAEMkC,IAAAA,EAAAA,GAAA;AAAA,MAAA1C,aAAAA;AAAAA,MAAA2C,gBAEW7C,YAAAA,CAAY6C,cAAAA;AAAAA,MAAezC,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAC,iBAAAA;AAAAA,MAAAC,kBAAAA;AAAAA,MAAAE,IAAAA;AAAAA,MAAAD,qBAAAA;AAAAA,MAAAgC,KAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAG,QAYnC9C,YAAAA,CAAY8C,MAAAA;AAAAA,MAAOC,eACZ/C,YAAAA,CAAY+C;AAAAA,KAC7B;AAACnD,IAAAA,CAAAA,OAAAS,UAAAA;AAAAT,IAAAA,CAAAA,OAAA6C,KAAAA;AAAA7C,IAAAA,CAAAA,OAAA+C,WAAAA;AAAA/C,IAAAA,CAAAA,OAAAW,iBAAAA;AAAAX,IAAAA,CAAAA,OAAAY,kBAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,qBAAAA;AAAAb,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA6C,cAAAA;AAAAjD,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA8C,MAAAA;AAAAlD,IAAAA,CAAAA,CAAA,EAAA,IAAAI,YAAAA,CAAA+C,aAAAA;AAAAnD,IAAAA,CAAAA,OAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,OAAAU,SAAAA;AAAAV,IAAAA,CAAAA,OAAAM,aAAAA;AAAAN,IAAAA,CAAAA,OAAAc,IAAAA;AAAAd,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMgD,EAAAA;AAgBN;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import { DeltaAuction, MinViemClient } from '@velora-dex/sdk';
|
|
3
|
+
import { Address } from 'viem';
|
|
4
|
+
import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
|
|
5
|
+
type CancelDeltaOrdersParams = {
|
|
6
|
+
orderIds: string[];
|
|
7
|
+
};
|
|
8
|
+
export type CancelDeltaOrdersReturn = {
|
|
9
|
+
success: boolean;
|
|
10
|
+
};
|
|
11
|
+
type CancelDeltaOrdersInput = CancelDeltaOrdersParams;
|
|
12
|
+
export type CancelDeltaOrdersMutationOptions = Omit<UseMutationOptions<CancelDeltaOrdersReturn, Error, CancelDeltaOrdersInput, void>, "mutationFn">;
|
|
13
|
+
type CancelDeltaOrdersMutInput = {
|
|
14
|
+
mutationOptions?: CancelDeltaOrdersMutationOptions;
|
|
15
|
+
chainId: SupportedChainId;
|
|
16
|
+
account?: Address;
|
|
17
|
+
client?: MinViemClient;
|
|
18
|
+
};
|
|
19
|
+
export declare const CANCEL_DELTA_ORDERS_MUTATION_KEY = "cancelDeltaOrders";
|
|
20
|
+
export declare function useCancelDeltaOrders({ mutationOptions, chainId, account, client, }: CancelDeltaOrdersMutInput): UseMutationResult<CancelDeltaOrdersReturn, Error, CancelDeltaOrdersInput, void>;
|
|
21
|
+
type CancelOrderEventCallbacks = {
|
|
22
|
+
onMutate?: (variables: CancelDeltaOrdersInput) => void;
|
|
23
|
+
onSuccess?: (_data: unknown, variables: CancelDeltaOrdersInput) => void;
|
|
24
|
+
onError?: (error: Error, variables: CancelDeltaOrdersInput) => void;
|
|
25
|
+
};
|
|
26
|
+
export declare function useCancelDeltaOrderEventCallbacks(order?: Pick<DeltaAuction, "id" | "type">): CancelOrderEventCallbacks;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=useCancelDeltaOrders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCancelDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,KAAK,sBAAsB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,kBAAkB,CAChB,uBAAuB,EACvB,KAAK,EACL,sBAAsB,EACtB,IAAI,CACL,EACD,YAAY,CACb,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,eAAe,CAAC,EAAE,gCAAgC,CAAC;IACnD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,gCAAgC,sBAAsB,CAAC;AAEpE,wBAAgB,oBAAoB,CAAC,EACnC,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,yBAAyB,GAAG,iBAAiB,CAC9C,uBAAuB,EACvB,KAAK,EACL,sBAAsB,EACtB,IAAI,CACL,CAsCA;AAED,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACrE,CAAC;AASF,wBAAgB,iCAAiC,CAC/C,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GACxC,yBAAyB,CA+C3B"}
|