@velora-dex/widget 0.3.11-dev.2 → 0.3.11-dev.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/ui/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +41 -72
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.d.ts +1 -4
- package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +7 -18
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +6 -4
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +346 -139
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +24 -19
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +48 -36
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts +3 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +57 -108
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +72 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts +5 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +48 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts +7 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +46 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/types.d.ts +13 -2
- package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js +65 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -0
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +2 -2
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +5 -11
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts +6 -2
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +112 -33
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +100 -73
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +3 -0
- package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.d.ts +3 -0
- package/dist/components/widget/TokenInput/InputContainer.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputContainer.js +54 -0
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -0
- package/dist/components/widget/TokenInput/InputField.d.ts +6 -0
- package/dist/components/widget/TokenInput/InputField.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputField.js +84 -0
- package/dist/components/widget/TokenInput/InputField.js.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.js +206 -0
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.js +58 -0
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts +3 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.js +23 -0
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts +4 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js +49 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -0
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +115 -153
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +7 -1
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +23 -22
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -1
- package/dist/configurator/components/PartnerInput.d.ts +5 -3
- package/dist/configurator/components/PartnerInput.d.ts.map +1 -1
- package/dist/configurator/components/common/Input.d.ts +9 -0
- package/dist/configurator/components/common/Input.d.ts.map +1 -1
- package/dist/core/constants.d.ts +3 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +4 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +152 -135
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +2 -7
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +39 -6
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.d.ts +2 -0
- package/dist/core/screen/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/core/screen/hooks/useResizeObserver.js +36 -0
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -0
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -3
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +5 -6
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +8 -9
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/containerAtom.d.ts +4 -0
- package/dist/core/state/containerAtom.d.ts.map +1 -1
- package/dist/core/state/containerAtom.js +8 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.d.ts +0 -9
- package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
- package/dist/core/state/externalProviderAtom.js +1 -28
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.d.ts +3 -0
- package/dist/core/state/validatedPartnerConfigAtom.d.ts.map +1 -0
- package/dist/core/state/validatedPartnerConfigAtom.js +22 -0
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -0
- package/dist/core/types.d.ts +12 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/getters/swap.d.ts.map +1 -1
- package/dist/events/getters/swap.js +1 -2
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +1 -6
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/connectWallet.d.ts +3 -3
- package/dist/events/types/connectWallet.d.ts.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js +1 -3
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +1 -4
- package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js +4 -3
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -16
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +4 -5
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +4 -7
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +5 -2
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +4 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +3 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +36 -27
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -2
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +9 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +9 -6
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -7
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +19 -71
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/useBreakpoints.d.ts +4 -0
- package/dist/hooks/useBreakpoints.d.ts.map +1 -0
- package/dist/hooks/useBreakpoints.js +22 -0
- package/dist/hooks/useBreakpoints.js.map +1 -0
- package/dist/hooks/usePartner.d.ts +1 -1
- package/dist/hooks/usePartner.d.ts.map +1 -1
- package/dist/hooks/usePartner.js +3 -5
- package/dist/hooks/usePartner.js.map +1 -1
- package/dist/lib/constants/mobile.d.ts +2 -0
- package/dist/lib/constants/mobile.d.ts.map +1 -0
- package/dist/lib/constants/mobile.js +6 -0
- package/dist/lib/constants/mobile.js.map +1 -0
- package/dist/lib/utils/formatFiatPrice.d.ts +1 -1
- package/dist/lib/utils/formatFiatPrice.d.ts.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +4 -2
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/mobile.d.ts +6 -0
- package/dist/lib/utils/mobile.d.ts.map +1 -0
- package/dist/lib/utils/mobile.js +10 -0
- package/dist/lib/utils/mobile.js.map +1 -0
- package/dist/lib/utils/toasts.d.ts +1 -1
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js +1 -5
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +1 -0
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +13 -1
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/external.d.ts +3 -10
- package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/external.js +2 -17
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js +1 -5
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/styles.css +57 -18
- package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js +3 -11
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +4 -7
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/state/effects/finalize.d.ts +1 -7
- package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
- package/dist/transactions/state/effects/finalize.js +7 -41
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js +2 -4
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +15 -55
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +2 -2
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/types.d.ts +1 -11
- package/dist/transactions/types.d.ts.map +1 -1
- package/dist/transactions/utils.d.ts +1 -2
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +1 -6
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +2 -1
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts +0 -2
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +0 -1
- package/dist/components/web3/ConnectExternalProvider/constants.js +0 -4
- package/dist/components/web3/ConnectExternalProvider/constants.js.map +0 -1
- package/dist/components/web3/ConnectExternalProvider/utils.d.ts +0 -8
- package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +0 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +0 -9
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +0 -1
- package/dist/transactions/hash.d.ts +0 -7
- package/dist/transactions/hash.d.ts.map +0 -1
- package/dist/transactions/hash.js +0 -35
- package/dist/transactions/hash.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { isExternalConnector } from '../../components/web3/ConnectExternalProvider/utils.js';
|
|
2
1
|
import { useWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
|
|
3
2
|
import { walletConnect } from 'wagmi/connectors';
|
|
4
3
|
|
|
@@ -12,31 +11,18 @@ const GnosisSafeWConnectRegex = [
|
|
|
12
11
|
function useIsSafeThroughWalletConnect() {
|
|
13
12
|
const {
|
|
14
13
|
connectorType,
|
|
15
|
-
|
|
16
|
-
name,
|
|
17
|
-
isWalletConnect
|
|
14
|
+
name
|
|
18
15
|
} = useWalletMetadata() ?? {};
|
|
19
|
-
if (!isWalletConnect) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
16
|
return isSafeConnectorThroughWalletConnect({
|
|
23
17
|
connectorType,
|
|
24
|
-
connectorId,
|
|
25
18
|
name
|
|
26
19
|
});
|
|
27
20
|
}
|
|
28
21
|
function isSafeConnectorThroughWalletConnect({
|
|
29
22
|
connectorType,
|
|
30
|
-
connectorId,
|
|
31
23
|
name
|
|
32
24
|
}) {
|
|
33
|
-
|
|
34
|
-
type: connectorType,
|
|
35
|
-
id: connectorId
|
|
36
|
-
});
|
|
37
|
-
const isWalletConnectConnector = connectorType === walletConnect.type;
|
|
38
|
-
const isConnectorWithMayBeSafe = isExternal || isWalletConnectConnector;
|
|
39
|
-
if (!isConnectorWithMayBeSafe || !name) {
|
|
25
|
+
if (connectorType !== walletConnect.type || !name) {
|
|
40
26
|
return false;
|
|
41
27
|
}
|
|
42
28
|
const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { walletConnect } from \"wagmi/connectors\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connectorType, name } = useWalletMetadata() ?? {};\n\n return isSafeConnectorThroughWalletConnect({ connectorType, name });\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n name,\n}: Partial<Pick<WalletMeta, \"connectorType\" | \"name\">>): boolean {\n if (connectorType !== walletConnect.type || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n"],"names":["GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","connectorType","name","useWalletMetadata","isSafeConnectorThroughWalletConnect","walletConnect","type","isSafe","some","rule","test"],"mappings":";;;AAMA,MAAMA,uBAAAA,GAA0B;AAAA;AAAA,EAE9B,yCAAA;AAAA;AAAA,EAGA;AAAA;AAAmC,CAAA;AAG9B,SAAAC,6BAAAA,GAAA;AACL,EAAA,MAAA;AAAA,IAAAC,aAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAgCC,iBAAAA,EAAwB,IAAxB,EAAwB;AAAE,EAAA,OAEnDC,mCAAAA,CAAoC;AAAA,IAAAH,aAAAA;AAAAA,IAAAC;AAAAA,GAAuB,CAAA;AAAC;AAG9D,SAASE,mCAAAA,CAAoC;AAAA,EAClDH,aAAAA;AAAAA,EACAC;AACmD,CAAA,EAAY;AAC/D,EAAA,IAAID,aAAAA,KAAkBI,aAAAA,CAAcC,IAAAA,IAAQ,CAACJ,IAAAA,EAAM;AACjD,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMK,SAASR,uBAAAA,CAAwBS,IAAAA,CAAMC,UAASA,IAAAA,CAAKC,IAAAA,CAAKR,IAAI,CAAC,CAAA;AACrE,EAAA,OAAOK,MAAAA;AACT;;;;"}
|
|
@@ -4,17 +4,16 @@ import { useMutation } from '@tanstack/react-query';
|
|
|
4
4
|
import { assert } from 'ts-essentials';
|
|
5
5
|
import 'wagmi';
|
|
6
6
|
import 'wagmi/query';
|
|
7
|
-
import '../../../lib/queryClient.js';
|
|
8
7
|
import '../../../lib/web3/wagmi/config.js';
|
|
9
|
-
import 'viem';
|
|
10
|
-
import 'wagmi/chains';
|
|
11
8
|
import '@wagmi/core';
|
|
12
9
|
import 'wagmi/connectors';
|
|
10
|
+
import '../../../lib/queryClient.js';
|
|
11
|
+
import 'viem';
|
|
13
12
|
import 'react/jsx-runtime';
|
|
14
|
-
import 'clsx';
|
|
15
|
-
import 'tailwind-merge';
|
|
16
13
|
import 'lucide-react';
|
|
17
14
|
import 'sonner';
|
|
15
|
+
import 'clsx';
|
|
16
|
+
import 'tailwind-merge';
|
|
18
17
|
import '../../../assets/spinner.svg.js';
|
|
19
18
|
import '../../../assets/circle-check.svg.js';
|
|
20
19
|
import '../../../assets/circle-exclamation.svg.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
|
|
@@ -8,17 +8,16 @@ import { useRef } from 'react';
|
|
|
8
8
|
import { UserCancelledError } from '../../swap/tradeFlow/common/errors.js';
|
|
9
9
|
import 'react/jsx-runtime';
|
|
10
10
|
import '../../../_virtual/index.js';
|
|
11
|
-
import 'clsx';
|
|
12
|
-
import 'tailwind-merge';
|
|
13
11
|
import 'lucide-react';
|
|
14
12
|
import 'sonner';
|
|
13
|
+
import 'clsx';
|
|
14
|
+
import 'tailwind-merge';
|
|
15
15
|
import '../../../assets/spinner.svg.js';
|
|
16
16
|
import '../../../assets/circle-check.svg.js';
|
|
17
17
|
import '../../../assets/circle-exclamation.svg.js';
|
|
18
18
|
import '@radix-ui/react-progress';
|
|
19
19
|
import '../../../lib/web3/wagmi/constants.js';
|
|
20
20
|
import '../../../core/store.js';
|
|
21
|
-
import 'wagmi/connectors';
|
|
22
21
|
import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPermit.js';
|
|
23
22
|
import { useLogger } from '../../../core/logger.js';
|
|
24
23
|
import { useFillOrder } from '../mutations/useFillOrder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n 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 { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\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?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\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 { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n try {\n if (!tryPermit) {\n // Token doesn't support Permit\n // make an Approval tx\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 } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\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\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","tryPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","value","permit","permitEncodedArgs","failed","orderFillData","signature","takerPermit","encodedPermitParams","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n 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 { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\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?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n chainId,\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\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 { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n try {\n if (!tryPermit) {\n // Token doesn't support Permit\n // make an Approval tx\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 } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\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\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","tryPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","value","permit","permitEncodedArgs","failed","orderFillData","signature","takerPermit","encodedPermitParams","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOtcOrderStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFillOtcOrderStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,yBAAyB,GAAG;IACtC,iBAAiB,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;IAEpE,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,UAAU,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACpD,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAClD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,aAAa,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,wBAAwB,GAChC,yBAAyB,CAqI3B"}
|
|
@@ -3,7 +3,6 @@ import { useFillOtcOrderFlow } from './useFillOtcOrderFlow.js';
|
|
|
3
3
|
import { useLogger } from '../../../core/logger.js';
|
|
4
4
|
import { isUserCancelledError } from '../../swap/tradeFlow/common/errors.js';
|
|
5
5
|
import { constructTxLinkForChain } from '../../../lib/utils/explorer.js';
|
|
6
|
-
import { getStandaloneTxHash } from '../../../transactions/hash.js';
|
|
7
6
|
|
|
8
7
|
function useFillOtcOrderStep(options) {
|
|
9
8
|
const $ = distExports.c(19);
|
|
@@ -52,17 +51,15 @@ function useFillOtcOrderStep(options) {
|
|
|
52
51
|
const inFillTxConfirmation = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
|
|
53
52
|
const notYetFillTxSent = step?.key === "order-execution" && !fillOtcOrderFlow.fillOrder.isTxSent && !fillOtcOrderFlow.fillOrderBatch.isCallsSent;
|
|
54
53
|
isFlowCancellable = approvalIsStarted || notYetFillTxSent || inFillTxConfirmation;
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
explorerLink = fillTxHash ? constructTxLinkForChain({
|
|
54
|
+
const txHash = fillOtcOrderFlow.fillOrder.txHash || fillOtcOrderFlow.fillOrderBatch.txHash;
|
|
55
|
+
explorerLink = txHash ? constructTxLinkForChain({
|
|
59
56
|
chainId: fillOtcOrderFlow.chainId,
|
|
60
|
-
txHash
|
|
57
|
+
txHash
|
|
61
58
|
}) : void 0;
|
|
62
59
|
logger.once.log("step", step, fillOtcOrderFlow, {
|
|
63
60
|
isFlowCancellable,
|
|
64
61
|
explorerLink,
|
|
65
|
-
txHash
|
|
62
|
+
txHash
|
|
66
63
|
});
|
|
67
64
|
$[0] = fillOtcOrderFlow;
|
|
68
65
|
$[1] = logger.once;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"sourcesContent":["import type {\n FillOtcOrderStep,\n FillOtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useFillOtcOrderFlow,\n type SubmitFillOtcOrderResult,\n type UseFillOtcOrderFlowInput,\n type UseFillOtcOrderFlowResult,\n} from \"./useFillOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\n\nexport type UseFillOtcOrderStepResult = {\n startFillOtcOrder: UseFillOtcOrderFlowResult[\"runFillOtcOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseFillOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseFillOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseFillOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n step?: FillOtcOrderStep;\n error: Error | null;\n erroredStep?: FillOtcOrderStepKey;\n result?: SubmitFillOtcOrderResult;\n tradeFlowType: UseFillOtcOrderFlowResult[\"tradeFlowType\"];\n explorerLink?: string;\n};\n\nexport function useFillOtcOrderStep(\n options: UseFillOtcOrderFlowInput\n): UseFillOtcOrderStepResult {\n const logger = useLogger(\"FillOtcOrderStep\");\n const fillOtcOrderFlow = useFillOtcOrderFlow(options);\n\n const startFillOtcOrder = fillOtcOrderFlow.runFillOtcOrderFlow;\n const reset = fillOtcOrderFlow.reset;\n const cancelFlow = fillOtcOrderFlow.cancelFlow;\n const retryFlow = fillOtcOrderFlow.retryFlow;\n\n let step: FillOtcOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n fillOtcOrderFlow.signPermit.isPending ||\n !fillOtcOrderFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n fillOtcOrderFlow.approval.isPending || !fillOtcOrderFlow.approval.isSuccess;\n\n const willUsePermit =\n fillOtcOrderFlow.approval.needsApproval &&\n fillOtcOrderFlow.signPermit.isPermitSupported &&\n fillOtcOrderFlow.signPermit.isPermitReadyToSign &&\n !fillOtcOrderFlow.fillOrderBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n fillOtcOrderFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n fillOtcOrderFlow.fillOrder.isConfirmingTX ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n fillOtcOrderFlow.approval.txHash || fillOtcOrderFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n fillOtcOrderFlow.fillOrder.isTxPending ||\n fillOtcOrderFlow.fillOrderBatch.isCallsPending\n ) {\n step = { key: \"order-execution\" };\n } else if (fillOtcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n fillOtcOrderFlow.approval.isTxPending;\n\n const inFillTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetFillTxSent =\n step?.key === \"order-execution\" &&\n !fillOtcOrderFlow.fillOrder.isTxSent &&\n !fillOtcOrderFlow.fillOrderBatch.isCallsSent;\n\n const isFlowCancellable =\n // final Tx is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || notYetFillTxSent || inFillTxConfirmation;\n\n const fillTxHash =\n // either last txHash from batch receipt\n fillOtcOrderFlow.fillOrderBatch.txHash ||\n // or standalone fill txHash\n getStandaloneTxHash({ transactionHash: fillOtcOrderFlow.fillOrder.txHash });\n const explorerLink = fillTxHash\n ? constructTxLinkForChain({\n chainId: fillOtcOrderFlow.chainId,\n txHash: fillTxHash,\n })\n : undefined;\n\n logger.once.log(\"step\", step, fillOtcOrderFlow, {\n isFlowCancellable,\n explorerLink,\n txHash: fillTxHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(fillOtcOrderFlow.error)\n ? null\n : fillOtcOrderFlow.error;\n\n let erroredStep: FillOtcOrderStepKey | undefined;\n\n if (fillOtcOrderFlow.isError) {\n if (\n fillOtcOrderFlow.approval.isError ||\n fillOtcOrderFlow.signPermit.isError ||\n fillOtcOrderFlow.fillOrder.isConfirmingTxError ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n fillOtcOrderFlow.fillOrder.isTxAwaitingError ||\n fillOtcOrderFlow.fillOrderBatch.isCallsAwaitingError\n ) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n startFillOtcOrder,\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 step,\n error,\n erroredStep,\n result: fillOtcOrderFlow.result,\n tradeFlowType: fillOtcOrderFlow.tradeFlowType,\n explorerLink,\n };\n}\n"],"names":["useFillOtcOrderStep","options","$","_c","logger","useLogger","fillOtcOrderFlow","useFillOtcOrderFlow","startFillOtcOrder","runFillOtcOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isFlowCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","fillOrderBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","fillOrder","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inFillTxConfirmation","notYetFillTxSent","isTxSent","isCallsSent","fillTxHash","getStandaloneTxHash","transactionHash","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t1","result","tradeFlowType"],"mappings":";;;;;;;AA8BO,SAAAA,oBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,kBAAkB,CAAA;AAC3C,EAAA,MAAAC,gBAAAA,GAAyBC,oBAAoBN,OAAO,CAAA;AAEpD,EAAA,MAAAO,oBAA0BF,gBAAAA,CAAgBG,mBAAAA;AAC1C,EAAA,MAAAC,QAAcJ,gBAAAA,CAAgBI,KAAAA;AAC9B,EAAA,MAAAC,aAAmBL,gBAAAA,CAAgBK,UAAAA;AACnC,EAAA,MAAAC,YAAkBN,gBAAAA,CAAgBM,SAAAA;AAAW,EAAA,IAAAC,YAAAA;AAAA,EAAA,IAAAC,iBAAAA;AAAA,EAAA,IAAAC,IAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAI,gBAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAE,OAAAY,IAAAA,EAAA;AAI7C,IAAA,MAAAC,wCAGEX,gBAAAA,CAAgBY,UAAAA,CAAWC,SAAAA,IAA3B,CACCb,iBAAgBY,UAAAA,CAAWE,cAAAA;AAE9B,IAAA,MAAAC,mCAGEf,gBAAAA,CAAgBgB,QAAAA,CAASH,SAAAA,IAAzB,CAAwCb,iBAAgBgB,QAAAA,CAASC,SAAAA;AAEnE,IAAA,MAAAC,aAAAA,GACElB,gBAAAA,CAAgBgB,QAAAA,CAASG,aAAAA,IACzBnB,gBAAAA,CAAgBY,UAAAA,CAAWQ,iBAAAA,IAC3BpB,gBAAAA,CAAgBY,UAAAA,CAAWS,mBAAAA,IAF3B,CAGCrB,gBAAAA,CAAgBsB,cAAAA,CAAeC,WAAAA;AAElC,IAAA,MAAAC,wCAAAA,GAAiDN,gBAAAP,qCAAAA,GAAAI,gCAAAA;AAIjD,IAAA,IACEf,gBAAAA,CAAgBgB,QAAAA,CAASG,aAAAA,IAAzBK,wCAAAA,EACwC;AAExCf,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EAAOA,WAAAA;AAAAA,QAAWA,OAAAA,EAAWA;AAAAA,OAAqBA;AAAAA,IAArD,CAAA,MAAA;AACC,MAAA,IACLT,gBAAAA,CAAgByB,SAAAA,CAAUC,cAAAA,IAC1B1B,gBAAAA,CAAgBsB,eAAeK,iBAAAA,EAAkB;AAEjD,QAAA,MAAAC,2BAAiC,CAAC,EAChC5B,iBAAgBgB,QAAAA,CAASa,MAAAA,IAAW7B,iBAAgBY,UAAAA,CAAWkB,SAAAA,CAAAA;AAGjErB,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EACAA,WAAAA;AAAAA,UAAWA,OAAAA,EACPmB,2BAAA,iBAAA,GAAA;AAAA,SAGX;AAAA,MALI,CAAA,MAAA;AAMC,QAAA,IACL5B,gBAAAA,CAAgByB,SAAAA,CAAUM,WAAAA,IAC1B/B,gBAAAA,CAAgBsB,eAAeU,cAAAA,EAAe;AAE9CvB,UAAAA,IAAAA,GAAOA;AAAAA,YAAAA,GAAAA,EAAOA;AAAAA,WAAkBA;AAAAA,QAA5B,CAAA,MAAA;AACC,UAAA,IAAIT,iBAAgBa,SAAAA,EAAU;AAGnCJ,YAAAA,IAAAA,GAAOA;AAAAA,cAAAA,GAAAA,EAAOA,WAAAA;AAAAA,cAAWA,OAAAA,EAAWA;AAAAA,aAA6BA;AAAAA,UAA7D;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAED,IAAA,MAAAwB,iBAAAA,GACExB,MAAIyB,GAAAA,KAAU,WAAA,IACdzB,KAAI0B,OAAAA,KAAa,oBAAA,IACjBnC,iBAAgBgB,QAAAA,CAASe,WAAAA;AAE3B,IAAA,MAAAK,oBAAAA,GACE3B,MAAIyB,GAAAA,KAAU,WAAA,KACbzB,KAAI0B,OAAAA,KAAa,iBAAA,IAChB1B,KAAI0B,OAAAA,KAAa,4BAAA,CAAA;AAErB,IAAA,MAAAE,gBAAAA,GACE5B,IAAAA,EAAIyB,GAAAA,KAAU,iBAAA,IAAd,CACClC,iBAAgByB,SAAAA,CAAUa,QAAAA,IAD3B,CAECtC,gBAAAA,CAAgBsB,cAAAA,CAAeiB,WAAAA;AAElC/B,IAAAA,iBAAAA,GAGEyB,qBAAAI,gBAAAA,IAAAD,oBAAAA;AAEF,IAAA,MAAAI,UAAAA,GAEExC,gBAAAA,CAAgBsB,cAAAA,CAAeO,MAAAA,IAE/BY,mBAAAA,CAAoB;AAAA,MAAAC,eAAAA,EAAmB1C,iBAAgByB,SAAAA,CAAUI;AAAAA,KAAS,CAAA;AAC5EtB,IAAAA,YAAAA,GAAqBiC,aACjBG,uBAAAA,CAAwB;AAAA,MAAAC,SACb5C,gBAAAA,CAAgB4C,OAAAA;AAAAA,MAAQf,MAAAA,EACzBW;AAAAA,KAEF,CAAA,GALSK,MAAAA;AAOrB/C,IAAAA,MAAAA,CAAMY,IAAAA,CAAKoC,GAAAA,CAAK,MAAA,EAAQrC,IAAAA,EAAMT,gBAAAA,EAAkB;AAAA,MAAAQ,iBAAAA;AAAAA,MAAAD,YAAAA;AAAAA,MAAAsB,MAAAA,EAGtCW;AAAAA,KACT,CAAA;AAAC5C,IAAAA,CAAAA,MAAAI,gBAAAA;AAAAJ,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,CAAAY,IAAAA;AAAAd,IAAAA,CAAAA,MAAAW,YAAAA;AAAAX,IAAAA,CAAAA,MAAAY,iBAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,IAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAF,IAAAA,YAAAA,GAAAX,EAAA,CAAA,CAAA;AAAAY,IAAAA,iBAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAAa,IAAAA,IAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmD,EAAAA;AAAA,EAAA,IAAAnD,CAAAA,CAAA,CAAA,CAAA,KAAAI,gBAAAA,CAAAgD,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqBjD,gBAAAA,CAAgBgD,KAE1B,CAAA,GAFX,OAEVhD,gBAAAA,CAAgBgD,KAAAA;AAAMpD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,gBAAAA,CAAAgD,KAAAA;AAAApD,IAAAA,CAAAA,MAAAmD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnD,EAAA,CAAA,CAAA;AAAA,EAAA;AAF1B,EAAA,MAAAoD,KAAAA,GAAcD,EAAAA;AAIVG,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAIlD,iBAAgBmD,OAAAA,EAAQ;AAC1B,IAAA,IACEnD,gBAAAA,CAAgBgB,QAAAA,CAASmC,OAAAA,IACzBnD,gBAAAA,CAAgBY,UAAAA,CAAWuC,OAAAA,IAC3BnD,gBAAAA,CAAgByB,SAAAA,CAAU2B,mBAAAA,IAC1BpD,gBAAAA,CAAgBsB,cAAAA,CAAe+B,sBAAAA,EAAuB;AAEtDH,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IACLlD,gBAAAA,CAAgByB,SAAAA,CAAU6B,iBAAAA,IAC1BtD,gBAAAA,CAAgBsB,eAAeiC,oBAAAA,EAAqB;AAEpDL,QAAAA,WAAAA,GAAcA,iBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AACF,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAA5D,CAAAA,QAAAS,UAAAA,IAAAT,EAAA,CAAA,CAAA,KAAAoD,SAAApD,CAAAA,CAAA,CAAA,MAAAsD,WAAAA,IAAAtD,CAAAA,SAAAW,YAAAA,IAAAX,EAAA,EAAA,CAAA,KAAAI,iBAAAyD,MAAAA,IAAA7D,CAAAA,SAAAI,gBAAAA,CAAA0D,iBAAA9D,CAAAA,SAAAY,iBAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAQ,KAAAA,IAAAR,EAAA,EAAA,CAAA,KAAAU,aAAAV,CAAAA,SAAAM,iBAAAA,IAAAN,CAAAA,CAAA,EAAA,CAAA,KAAAa,IAAAA,EAAA;AAEM+C,IAAAA,EAAAA,GAAA;AAAA,MAAAtD,iBAAAA;AAAAA,MAAAE,KAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAE,iBAAAA;AAAAA,MAAAC,IAAAA;AAAAA,MAAAuC,KAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAO,QAWGzD,gBAAAA,CAAgByD,MAAAA;AAAAA,MAAOC,eAChB1D,gBAAAA,CAAgB0D,aAAAA;AAAAA,MAAcnD;AAAAA,KAE/C;AAACX,IAAAA,CAAAA,MAAAS,UAAAA;AAAAT,IAAAA,CAAAA,MAAAoD,KAAAA;AAAApD,IAAAA,CAAAA,MAAAsD,WAAAA;AAAAtD,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,CAAA,EAAA,IAAAI,gBAAAA,CAAAyD,MAAAA;AAAA7D,IAAAA,CAAAA,CAAA,EAAA,IAAAI,gBAAAA,CAAA0D,aAAAA;AAAA9D,IAAAA,CAAAA,OAAAY,iBAAAA;AAAAZ,IAAAA,CAAAA,OAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,OAAAU,SAAAA;AAAAV,IAAAA,CAAAA,OAAAM,iBAAAA;AAAAN,IAAAA,CAAAA,OAAAa,IAAAA;AAAAb,IAAAA,CAAAA,OAAA4D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5D,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAdM4D,EAAAA;AAcN;;;;"}
|
|
1
|
+
{"version":3,"file":"useFillOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"sourcesContent":["import type {\n FillOtcOrderStep,\n FillOtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useFillOtcOrderFlow,\n type SubmitFillOtcOrderResult,\n type UseFillOtcOrderFlowInput,\n type UseFillOtcOrderFlowResult,\n} from \"./useFillOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\n\nexport type UseFillOtcOrderStepResult = {\n startFillOtcOrder: UseFillOtcOrderFlowResult[\"runFillOtcOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseFillOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseFillOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseFillOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n step?: FillOtcOrderStep;\n error: Error | null;\n erroredStep?: FillOtcOrderStepKey;\n result?: SubmitFillOtcOrderResult;\n tradeFlowType: UseFillOtcOrderFlowResult[\"tradeFlowType\"];\n explorerLink?: string;\n};\n\nexport function useFillOtcOrderStep(\n options: UseFillOtcOrderFlowInput\n): UseFillOtcOrderStepResult {\n const logger = useLogger(\"FillOtcOrderStep\");\n const fillOtcOrderFlow = useFillOtcOrderFlow(options);\n\n const startFillOtcOrder = fillOtcOrderFlow.runFillOtcOrderFlow;\n const reset = fillOtcOrderFlow.reset;\n const cancelFlow = fillOtcOrderFlow.cancelFlow;\n const retryFlow = fillOtcOrderFlow.retryFlow;\n\n let step: FillOtcOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n fillOtcOrderFlow.signPermit.isPending ||\n !fillOtcOrderFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n fillOtcOrderFlow.approval.isPending || !fillOtcOrderFlow.approval.isSuccess;\n\n const willUsePermit =\n fillOtcOrderFlow.approval.needsApproval &&\n fillOtcOrderFlow.signPermit.isPermitSupported &&\n fillOtcOrderFlow.signPermit.isPermitReadyToSign &&\n !fillOtcOrderFlow.fillOrderBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n fillOtcOrderFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n fillOtcOrderFlow.fillOrder.isConfirmingTX ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n fillOtcOrderFlow.approval.txHash || fillOtcOrderFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n fillOtcOrderFlow.fillOrder.isTxPending ||\n fillOtcOrderFlow.fillOrderBatch.isCallsPending\n ) {\n step = { key: \"order-execution\" };\n } else if (fillOtcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n fillOtcOrderFlow.approval.isTxPending;\n\n const inFillTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetFillTxSent =\n step?.key === \"order-execution\" &&\n !fillOtcOrderFlow.fillOrder.isTxSent &&\n !fillOtcOrderFlow.fillOrderBatch.isCallsSent;\n\n const isFlowCancellable =\n // final Tx is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || notYetFillTxSent || inFillTxConfirmation;\n\n // either of the txHashes will be available\n const txHash =\n fillOtcOrderFlow.fillOrder.txHash || fillOtcOrderFlow.fillOrderBatch.txHash;\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: fillOtcOrderFlow.chainId, txHash })\n : undefined;\n\n logger.once.log(\"step\", step, fillOtcOrderFlow, {\n isFlowCancellable,\n explorerLink,\n txHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(fillOtcOrderFlow.error)\n ? null\n : fillOtcOrderFlow.error;\n\n let erroredStep: FillOtcOrderStepKey | undefined;\n\n if (fillOtcOrderFlow.isError) {\n if (\n fillOtcOrderFlow.approval.isError ||\n fillOtcOrderFlow.signPermit.isError ||\n fillOtcOrderFlow.fillOrder.isConfirmingTxError ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n fillOtcOrderFlow.fillOrder.isTxAwaitingError ||\n fillOtcOrderFlow.fillOrderBatch.isCallsAwaitingError\n ) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n startFillOtcOrder,\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 step,\n error,\n erroredStep,\n result: fillOtcOrderFlow.result,\n tradeFlowType: fillOtcOrderFlow.tradeFlowType,\n explorerLink,\n };\n}\n"],"names":["useFillOtcOrderStep","options","$","_c","logger","useLogger","fillOtcOrderFlow","useFillOtcOrderFlow","startFillOtcOrder","runFillOtcOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isFlowCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","fillOrderBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","fillOrder","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inFillTxConfirmation","notYetFillTxSent","isTxSent","isCallsSent","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t1","result","tradeFlowType"],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Query, QueryClient, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import { DeltaPrice, BridgePrice, DeltaPriceParams as DParams, OptimalRate } from '@velora-dex/sdk';
|
|
3
3
|
import { MarkOptional } from 'ts-essentials';
|
|
4
|
-
type RequiredDeltaPriceParams = Omit<DParams, "destChainId"
|
|
4
|
+
type RequiredDeltaPriceParams = Omit<DParams, "destChainId"> & {
|
|
5
|
+
partnerFeeBps?: number;
|
|
6
|
+
};
|
|
5
7
|
type DeltaPriceParams = MarkOptional<RequiredDeltaPriceParams, "destToken" | "destDecimals">;
|
|
6
8
|
type DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>, "queryKey" | "queryFn">;
|
|
7
9
|
type DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;
|
|
@@ -65,9 +67,9 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
|
|
|
65
67
|
}): {
|
|
66
68
|
queryKey: DeltaPriceQueryKey;
|
|
67
69
|
sanitizedPriceParams: {
|
|
68
|
-
partner?: string | undefined;
|
|
69
70
|
amount: string;
|
|
70
71
|
side?: ("SELL" | "BUY") | undefined;
|
|
72
|
+
partner?: string | undefined;
|
|
71
73
|
excludeAgents?: string[] | undefined;
|
|
72
74
|
includeAgents?: string[] | undefined;
|
|
73
75
|
userAddress?: string | undefined;
|
|
@@ -79,6 +81,7 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
|
|
|
79
81
|
includeBridges?: string[] | undefined;
|
|
80
82
|
excludeBridges?: string[] | undefined;
|
|
81
83
|
allowBridgeAndSwap?: boolean | undefined;
|
|
84
|
+
partnerFeeBps?: number | undefined;
|
|
82
85
|
} & {
|
|
83
86
|
destChainId?: number;
|
|
84
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,IAAI,OAAO,EAC3B,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAI1D,KAAK,wBAAwB,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,6 +213,7 @@ function useDeltaPriceQueryKey({
|
|
|
213
213
|
userAddress: priceParams.userAddress,
|
|
214
214
|
beneficiary: priceParams.beneficiary,
|
|
215
215
|
partner: priceParams.partner,
|
|
216
|
+
partnerFeeBps: priceParams.partnerFeeBps,
|
|
216
217
|
side: priceParams.side,
|
|
217
218
|
includeAgents: priceParams.includeAgents,
|
|
218
219
|
excludeAgents: priceParams.excludeAgents,
|
|
@@ -226,7 +227,7 @@ function useDeltaPriceQueryKey({
|
|
|
226
227
|
queryKey,
|
|
227
228
|
sanitizedPriceParams
|
|
228
229
|
};
|
|
229
|
-
}, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, chainId, debouncedAmount, destChainId]);
|
|
230
|
+
}, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, chainId, debouncedAmount, destChainId]);
|
|
230
231
|
}
|
|
231
232
|
|
|
232
233
|
export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","error","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\"> & {\n partnerFeeBps?: number; // @TODO add to SDK\n};\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","error","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap"],"mappings":";;;;;;;AA0CO,MAAMA,wBAAAA,GAA2B;AAgDjC,SAAAC,mBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA8D,EAAA,MAAA;AAAA,IAAAC,WAAAA,EAAAC,YAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAR,EAAAA;AAQpE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAK,OAAAA,EAAA;AAI6BG,IAAAA,EAAAA,GAAA;AAAA,MAAAH;AAAAA,KAAU;AAACL,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAvC,EAAA,MAAA;AAAA,IAAAS;AAAAA,GAAA,GAAgBC,YAAYF,EAAW,CAAA;AAEvC,EAAA,MAAAG,YAAAA,GAAqBP,OAAKQ,OAAAA,IAAL,IAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAG,YAAAA,IAAAH,CAAAA,QAAAK,OAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAO,WAAAA,EAAA;AAEqBM,IAAAA,EAAAA,GAAA;AAAA,MAAAX,WAAAA,EAClDC,YAAAA;AAAAA,MAAYE,OAAAA;AAAAA,MAAAE;AAAAA,KAG3B;AAACP,IAAAA,CAAAA,MAAAG,YAAAA;AAAAH,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAO,WAAAA;AAAAP,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAA;AAAA,IAAAc,QAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA2CC,sBAAsBH,EAIhE,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAe,oBAAAA,IAAAf,CAAAA,QAAAS,GAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AASQW,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACRE,MAAAA,MAAAA,CAAOC,kBAAAA,CAAmBN,oBAAoB,CAAA,EAAG,uBAAuB,CAAA;AACxE,MAAA,MAAAO,KAAAA,GAAcb,GAAAA,CAAGc,aAAAA,CAAeR,oBAAAA,EAAsB;AAAA,QAAAI,MAAAA;AAAAA,QAAAb;AAAAA,OAGrD,CAAA;AAAE,MAAA,OACIgB,KAAAA;AAAAA,IAAK,CAAA;AACbtB,IAAAA,CAAAA,MAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,MAAAS,GAAAA;AAAAT,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,EAAA,EAAA,CAAA,KAAAW,gBAAAX,CAAAA,SAAAe,oBAAAA,EAAA;AAEQG,IAAAA,EAAAA,GAAAP,YAAAA,IAAgBU,mBAAmBN,oBAAoB,CAAA;AAACf,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,OAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,EAAA,CAAA,KAAAI,KAAAA,IAAAJ,EAAA,EAAA,CAAA,KAAAc,QAAAA,IAAAd,CAAAA,CAAA,EAAA,CAAA,KAAAiB,EAAAA,IAAAjB,CAAAA,SAAAkB,EAAAA,EAAA;AAXjEM,IAAAA,EAAAA,GAAA;AAAA,MAAAV,QAAAA;AAAAA,MAAAW,OAAAA,EAESR,EAAAA;AAAAA,MAOR,GACEb,KAAAA;AAAAA,MAAKQ,OAAAA,EACCM;AAAAA,KACX;AAAClB,IAAAA,CAAAA,OAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAjBD,EAAA,MAAA0B,MAAAA,GAAeC,SAKbH,EAYD,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA5B,EAAA,EAAA,CAAA,KAAAc,YAAAd,CAAAA,SAAA0B,MAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAA;AAAA,MAAAF,MAAAA;AAAAA,MAAAZ;AAAAA,KAAmB;AAACd,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAA0B,MAAAA;AAAA1B,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAApB4B,EAAAA;AAAoB;AAG7B,SAASP,mBACPnB,WAAAA,EACyC;AACzC,EAAA,OACE,CAAC,CAACA,WAAAA,CAAY2B,SAAAA,IACd3B,WAAAA,CAAY4B,iBAAiBC,MAAAA,IAC7BC,MAAAA,CAAO9B,WAAAA,CAAY+B,MAAM,CAAA,GAAI,CAAA;AAEjC;AAEO,SAASC,aACdZ,KAAAA,EACqB;AACrB,EAAA,OAAO,QAAA,IAAYA,KAAAA;AACrB;AAEO,SAASa,cACdb,KAAAA,EACsB;AACtB,EAAA,OAAOA,KAAAA,CAAMc,OAAOC,kBAAAA,KAAuB,CAAA;AAC7C;AA0BO,SAAAC,0BAAAA,GAAA;AAAA,EAAA,MAAAtC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAsC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAzC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAAuC,WAAAA,EAAA;AAE9BxC,IAAAA,EAAAA,GAAAS,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAH,OAAAA;AAAAA,QAAAiB;AAAAA,OAAA,GAAAd,EAAAA;AACN,MAAA,MAAAM,QAAAA,GAAiE,CAC/DjB,wBAAAA,EACAQ,OAAO,CAAA;AAET,MAAA,MAAAoC,UAAAA,GAAmBF,YAAWG,aAAAA,EAAe;AAC7C,MAAA,MAAAC,OAAAA,GAAcF,WAAUG,IAAAA,CAItB;AAAA,QAAA9B,QAAAA;AAAAA,QAAA+B,KAAAA,EAEO,KAAA;AAAA,QAAKC,SAAAA,EACD1C,CAAAA,KAAAA,KACFA,KAAAA,CAAK2C,KAAAA,CAAMC,IAAAA,KAAU1B;AAAAA,OAE/B,CAAA;AAAE,MAAA,OAEIlB,OAAAA;AAAAA,IAAoC,CAAA;AAC5CJ,IAAAA,CAAAA,MAAAuC,WAAAA;AAAAvC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAnBMD,EAAAA;AAmBN;AAcI,SAAAkD,wBAAAA,GAAA;AAAA,EAAA,MAAAjD,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAsC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAzC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAAuC,WAAAA,EAAA;AAE9BxC,IAAAA,EAAAA,GAAAS,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAM,QAAAA;AAAAA,QAAAoC,MAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAA3C,EAAAA;AACN,MAAA,MAAA4C,QAAAA,GAAiB,IAAIC,aAAAA,CAMnBd,WAAAA,EAAa;AAAA,QAAAzB,QAAAA;AAAAA,QAAAF,OAAAA,EAGJ;AAAA,OACV,CAAA;AAAE,MAAA,OAGIwC,QAAAA,CAAQE,UAAW5B,CAAAA,MAAAA,KAAA;AACxB,QAAA,IAAIA,OAAM6B,KAAAA,EAAM;AACdJ,UAAAA,OAAAA,GAAUzB,OAAM6B,KAAM,CAAA;AAAC,UAAA;AAAA,QAAA;AAGzB,QAAA,IAAI7B,OAAMsB,IAAAA,EAAK;AACbE,UAAAA,MAAAA,GAASxB,OAAMsB,IAAK,CAAA;AAAA,QAAC;AAAA,MACtB,CACF,CAAA;AAAA,IAAC,CAAA;AACHhD,IAAAA,CAAAA,MAAAuC,WAAAA;AAAAvC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAvBMD,EAAAA;AAuBN;AAGH,SAASyD,uBACPjB,WAAAA,EAGY;AACZ,EAAA,OAAOA,WAAAA,CACJG,aAAAA,EAAc,CACdE,IAAAA,CAAgE;AAAA,IAC/D9B,QAAAA,EAAU,CAACjB,wBAAwB,CAAA;AAAA,IACnCgD,KAAAA,EAAO,KAAA;AAAA,IACPY,IAAAA,EAAM;AAAA;AAAA,GACP,CAAA;AACL;AAEO,SAASC,kBACdnB,WAAAA,EACsC;AACtC,EAAA,MAAMnC,KAAAA,GAAQoD,uBAAuBjB,WAAW,CAAA;AAEhD,EAAA,OAAOnC,OAAO2C,KAAAA,CAAMC,IAAAA;AACtB;AAEO,SAASW,6BACdpB,WAAAA,EACS;AACT,EAAA,MAAMnC,KAAAA,GAAQoD,uBAAuBjB,WAAW,CAAA;AAChD,EAAA,MAAMgB,KAAAA,GAAQnD,OAAO2C,KAAAA,CAAMQ,KAAAA;AAC3B,EAAA,OAAO,CAAC,CAACA,KAAAA;AACX;AAEO,SAASK,yBACdtC,KAAAA,EACmC;AACnC,EAAA,OACE,OAAOA,KAAAA,KAAU,QAAA,IACjBA,KAAAA,KAAU,IAAA,IACV,QAAA,IAAYA,KAAAA,IACZ,UAAA,IAAcA,KAAAA,IACd,WAAA,IAAeA,KAAAA,IACf,WAAA,IAAeA,SACf,YAAA,IAAgBA,KAAAA;AAEpB;AAEO,SAASN,qBAAAA,CAAsB;AAAA,EACpCd,WAAAA;AAAAA,EACAG,OAAAA;AAAAA,EACAE;AAGF,CAAA,EAAG;AACD,EAAA,aAAA;AAGA,EAAA,MAAM,CAACsD,eAAe,CAAA,GAAIC,iBAAAA,CAAkB5D,YAAY+B,MAAAA,EAAQ;AAAA,IAC9D8B,IAAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,OAAOC,QAAQ,MAAM;AAEnB,IAAA,MAAMjD,oBAAAA,GAEF;AAAA,MACFkB,MAAAA,EAAQ4B,eAAAA;AAAAA,MACRI,UAAU/D,WAAAA,CAAY+D,QAAAA;AAAAA,MACtBpC,WAAW3B,WAAAA,CAAY2B,SAAAA;AAAAA,MACvBqC,aAAahE,WAAAA,CAAYgE,WAAAA;AAAAA,MACzBpC,cAAc5B,WAAAA,CAAY4B,YAAAA;AAAAA,MAC1BqC,aAAajE,WAAAA,CAAYiE,WAAAA;AAAAA,MACzBC,aAAalE,WAAAA,CAAYkE,WAAAA;AAAAA,MACzBC,SAASnE,WAAAA,CAAYmE,OAAAA;AAAAA,MACrBC,eAAepE,WAAAA,CAAYoE,aAAAA;AAAAA,MAC3BC,MAAMrE,WAAAA,CAAYqE,IAAAA;AAAAA,MAClBC,eAAetE,WAAAA,CAAYsE,aAAAA;AAAAA,MAC3BC,eAAevE,WAAAA,CAAYuE,aAAAA;AAAAA,MAC3BC,gBAAgBxE,WAAAA,CAAYwE,cAAAA;AAAAA,MAC5BC,gBAAgBzE,WAAAA,CAAYyE,cAAAA;AAAAA,MAC5BC,oBAAoB1E,WAAAA,CAAY0E,kBAAAA;AAAAA,MAChCrE;AAAAA,KACF;AAEA,IAAA,MAAMO,QAAAA,GAA+B,CACnCjB,wBAAAA,EACAQ,OAAAA,EACAU,oBAAoB,CAAA;AAGtB,IAAA,OAAO;AAAA,MAAED,QAAAA;AAAAA,MAAUC;AAAAA,KAAqB;AAAA,EAC1C,CAAA,EAAG,CACDb,WAAAA,CAAYkE,WAAAA,EACZlE,YAAY4B,YAAAA,EACZ5B,WAAAA,CAAY2B,SAAAA,EACZ3B,WAAAA,CAAYuE,aAAAA,EACZvE,WAAAA,CAAYsE,aAAAA,EACZtE,WAAAA,CAAYwE,gBACZxE,WAAAA,CAAYyE,cAAAA,EACZzE,WAAAA,CAAYmE,OAAAA,EACZnE,WAAAA,CAAYoE,aAAAA,EACZpE,WAAAA,CAAYqE,IAAAA,EACZrE,YAAYgE,WAAAA,EACZhE,WAAAA,CAAY+D,QAAAA,EACZ/D,WAAAA,CAAYiE,aACZjE,WAAAA,CAAY0E,kBAAAA,EACZvE,OAAAA,EACAwD,eAAAA,EACAtD,WAAW,CACZ,CAAA;AACH;;;;"}
|
|
@@ -2,7 +2,9 @@ import { Query, QueryClient, UseQueryOptions, UseQueryResult } from '@tanstack/r
|
|
|
2
2
|
import { OptimalRate, GetRateInput as GetRateInputSDK } from '@velora-dex/sdk';
|
|
3
3
|
import { MarkOptional, Prettify } from 'ts-essentials';
|
|
4
4
|
type GetRateInput = Prettify<GetRateInputSDK>;
|
|
5
|
-
type RequiredRateParams = Prettify<Omit<GetRateInput, "options"> & GetRateInput["options"]
|
|
5
|
+
type RequiredRateParams = Prettify<Omit<GetRateInput, "options"> & GetRateInput["options"]> & {
|
|
6
|
+
partnerFeeBps?: number;
|
|
7
|
+
};
|
|
6
8
|
export type RateParamsInput = MarkOptional<RequiredRateParams, "destToken">;
|
|
7
9
|
type MarketQueryParams<TData = OptimalRate> = Omit<UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>, "queryKey" | "queryFn">;
|
|
8
10
|
type MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;
|
|
@@ -54,6 +56,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
|
|
|
54
56
|
excludeContractMethods: import('@velora-dex/sdk').ContractMethodByName[] | undefined;
|
|
55
57
|
includeContractMethods: import('@velora-dex/sdk').ContractMethodByName[] | undefined;
|
|
56
58
|
partner: string | undefined;
|
|
59
|
+
partnerFeeBps: number | undefined;
|
|
57
60
|
maxImpact: number | undefined;
|
|
58
61
|
maxUSDImpact: number | undefined;
|
|
59
62
|
otherExchangePrices: boolean | undefined;
|