@velora-dex/widget 0.4.3 → 0.4.4-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +18 -23
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +7 -0
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +1 -0
- package/dist/components/widget/Button/CancelButton/CancelButton.js +102 -0
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -0
- package/dist/components/widget/Button/CancelButton/constants.d.ts +2 -0
- package/dist/components/widget/Button/CancelButton/constants.d.ts.map +1 -0
- package/dist/components/widget/Button/CancelButton/constants.js +4 -0
- package/dist/components/widget/Button/CancelButton/constants.js.map +1 -0
- package/dist/components/widget/Button/DismissButton.d.ts +4 -0
- package/dist/components/widget/Button/DismissButton.d.ts.map +1 -0
- package/dist/components/widget/Button/DismissButton.js +29 -0
- package/dist/components/widget/Button/DismissButton.js.map +1 -0
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +6 -4
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +133 -147
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +138 -55
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +87 -137
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/types.d.ts +3 -5
- package/dist/components/widget/PayReceiveInfo/types.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -2
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +87 -108
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +12 -14
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +3 -3
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +101 -74
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +63 -72
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +13 -16
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.d.ts +1 -2
- package/dist/components/widget/TradeOverview/Step/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js +2 -4
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +62 -59
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +3 -5
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +13 -181
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +4 -4
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts +2 -18
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +111 -145
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +0 -2
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +58 -65
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.d.ts +0 -32
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +2 -12
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +1 -13
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +1 -4
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +1 -2
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +0 -2
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +3 -236
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +18 -40
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +24 -46
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +2 -2
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/events/types/cancel.d.ts +7 -1
- package/dist/events/types/cancel.d.ts.map +1 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +8 -9
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +7 -0
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +1 -7
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +13 -85
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +11 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +87 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +32 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +248 -0
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +3 -8
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +8 -11
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts +14 -0
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +85 -0
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.d.ts +17 -0
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +80 -0
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +44 -0
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +262 -0
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +13 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.js +23 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +1 -2
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +27 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +109 -0
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +170 -0
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -2
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -2
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +27 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +0 -9
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +1 -32
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +142 -149
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +35 -35
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +69 -0
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +179 -0
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -5
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -20
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +68 -127
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +3 -4
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +98 -186
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -4
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +56 -72
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +23 -33
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +1 -2
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +11 -37
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +0 -2
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +79 -161
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.d.ts +2 -10
- package/dist/hooks/tokens/allowance/utils.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js +8 -19
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +3 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +3 -3
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/index.d.ts +1 -0
- package/dist/lib/constants/index.d.ts.map +1 -1
- package/dist/lib/constants/index.js +2 -1
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/urls.d.ts.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/utils/fee.js +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/slippage.d.ts.map +1 -1
- package/dist/lib/utils/slippage.js +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/toDecimal.d.ts.map +1 -1
- package/dist/lib/utils/toDecimal.js +3 -5
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/styles.css +3 -0
- package/dist/transactions/types.d.ts +9 -1
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts +0 -4
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts.map +0 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +0 -6
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BuildDeltaOrderDataParams, BuildDeltaOrderFunctions, PreSignDeltaOrderFunctions } from '@velora-dex/sdk';
|
|
2
|
+
import { PreSignDeltaOrderToPost } from './types';
|
|
3
|
+
import { Hex } from 'viem';
|
|
4
|
+
type MinSDK = Pick<PreSignDeltaOrderFunctions<Hex>, "hashDeltaOrderTypedData"> & Pick<BuildDeltaOrderFunctions, "buildDeltaOrder">;
|
|
5
|
+
export declare function buildPreSignOrderPayload({ sdk, orderInput, chainId, referrerAddress, type, }: {
|
|
6
|
+
sdk: MinSDK;
|
|
7
|
+
orderInput: BuildDeltaOrderDataParams;
|
|
8
|
+
chainId: number;
|
|
9
|
+
referrerAddress?: string;
|
|
10
|
+
type?: "MARKET" | "LIMIT";
|
|
11
|
+
}): Promise<PreSignDeltaOrderToPost>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,KAAK,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,yBAAyB,CAAC,GAC5E,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;AAEpD,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,EACH,UAAU,EACV,OAAO,EACP,eAAe,EACf,IAAI,GACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,yBAAyB,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmBnC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
async function buildPreSignOrderPayload({
|
|
2
|
+
sdk,
|
|
3
|
+
orderInput,
|
|
4
|
+
chainId,
|
|
5
|
+
referrerAddress,
|
|
6
|
+
type
|
|
7
|
+
}) {
|
|
8
|
+
const signableTypedData = await sdk.buildDeltaOrder(orderInput);
|
|
9
|
+
const orderHash = sdk.hashDeltaOrderTypedData(signableTypedData);
|
|
10
|
+
const orderToPost = {
|
|
11
|
+
chainId,
|
|
12
|
+
orderHash,
|
|
13
|
+
order: signableTypedData.data,
|
|
14
|
+
partner: orderInput.partner,
|
|
15
|
+
referrerAddress,
|
|
16
|
+
type,
|
|
17
|
+
signature: "0x"
|
|
18
|
+
};
|
|
19
|
+
return orderToPost;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { buildPreSignOrderPayload };
|
|
23
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"sourcesContent":["import type {\n BuildDeltaOrderDataParams,\n BuildDeltaOrderFunctions,\n PreSignDeltaOrderFunctions,\n} from \"@velora-dex/sdk\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport type { Hex } from \"viem\";\n\ntype MinSDK = Pick<PreSignDeltaOrderFunctions<Hex>, \"hashDeltaOrderTypedData\"> &\n Pick<BuildDeltaOrderFunctions, \"buildDeltaOrder\">;\n\nexport async function buildPreSignOrderPayload({\n sdk,\n orderInput,\n chainId,\n referrerAddress,\n type,\n}: {\n sdk: MinSDK;\n orderInput: BuildDeltaOrderDataParams;\n chainId: number;\n referrerAddress?: string;\n type?: \"MARKET\" | \"LIMIT\";\n}): Promise<PreSignDeltaOrderToPost> {\n // Step 1: build order (with async partnerFee calculation internally)\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // Step 2: hash order\n const orderHash = sdk.hashDeltaOrderTypedData(signableTypedData);\n\n // Step 3: prepare order payload\n const orderToPost: PreSignDeltaOrderToPost = {\n chainId,\n orderHash,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n type,\n signature: \"0x\",\n };\n\n return orderToPost;\n}\n"],"names":["buildPreSignOrderPayload","sdk","orderInput","chainId","referrerAddress","type","signableTypedData","buildDeltaOrder","orderHash","hashDeltaOrderTypedData","orderToPost","order","data","partner","signature"],"mappings":"AAWA,eAAsBA,wBAAAA,CAAyB;AAAA,EAC7CC,GAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC;AAOF,CAAA,EAAqC;AAEnC,EAAA,MAAMC,iBAAAA,GAAoB,MAAML,GAAAA,CAAIM,eAAAA,CAAgBL,UAAU,CAAA;AAG9D,EAAA,MAAMM,SAAAA,GAAYP,GAAAA,CAAIQ,uBAAAA,CAAwBH,iBAAiB,CAAA;AAG/D,EAAA,MAAMI,WAAAA,GAAuC;AAAA,IAC3CP,OAAAA;AAAAA,IACAK,SAAAA;AAAAA,IACAG,OAAOL,iBAAAA,CAAkBM,IAAAA;AAAAA,IACzBC,SAASX,UAAAA,CAAWW,OAAAA;AAAAA,IACpBT,eAAAA;AAAAA,IACAC,IAAAA;AAAAA,IACAS,SAAAA,EAAW;AAAA,GACb;AAEA,EAAA,OAAOJ,WAAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaLimitOrderRequiredBalance.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useDeltaLimitOrderRequiredBalance.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,KAAK,oCAAoC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,KAAK,yCAAyC,CAC5C,KAAK,GAAG,oCAAoC,IAC1C,IAAI,CACN,eAAe,CACb,oCAAoC,EACpC,KAAK,EACL,KAAK,EACL,sCAAsC,CACvC,EACD,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,yCAAyC,CAC5C,KAAK,GAAG,oCAAoC,IAC1C,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEjC,KAAK,wCAAwC,CAC3C,KAAK,GAAG,oCAAoC,IAC1C;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,yCAAyC,CAAC,KAAK,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,sCAAsC,GAAG;IAC5C,IAAI,EAAE,0BAA0B;IAChC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;CAC9D,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,KAAK,GAAG,oCAAoC,EAC5C,EACA,YAAY,EACZ,KAAK,GACN,EAAE,wCAAwC,CAAC,KAAK,CAAC,GAAG,yCAAyC,CAAC,KAAK,CAAC,CAwCpG;AAED,wBAAgB,sCAAsC,CAAC,EACrD,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,sCAAsC,CASzC;AAED,KAAK,gCAAgC,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AACF,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,YAAY,CAAC,gCAAgC,EAAE,QAAQ,CAAC,GAAG,YAAY,CACxE,iCAAiC,EACjC,mBAAmB,CACpB,CAAC;AACF,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,gCAAgC,GAAG;IACpC,MAAM,EAAE,SAAS,CAAC;CACnB,GAAG,iCAAiC,GAAG;IAAE,iBAAiB,EAAE,SAAS,CAAA;CAAE,CAAC;AACzE,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,gCAAgC,GAAG,iCAAiC,CAAC"}
|
|
@@ -4,7 +4,6 @@ import { assert } from 'ts-essentials';
|
|
|
4
4
|
import { useChainId, useAccount } from 'wagmi';
|
|
5
5
|
import { useMinViemClient } from '../../../../useMinViemClient.js';
|
|
6
6
|
import { useQuery } from '@tanstack/react-query';
|
|
7
|
-
import { isETHaddress } from '../../../../../tokens/utils/eth.js';
|
|
8
7
|
import { isAddress } from 'viem';
|
|
9
8
|
import { LONG_STALE_TIME_FOR_REACTIVENESS } from '../../../../../lib/constants/time.js';
|
|
10
9
|
|
|
@@ -88,7 +87,7 @@ function useDeltaLimitOrderRequiredBalance(t0) {
|
|
|
88
87
|
}
|
|
89
88
|
let t5;
|
|
90
89
|
if ($[15] !== account || $[16] !== chainId || $[17] !== query?.enabled || $[18] !== sdk || $[19] !== tokenAddress) {
|
|
91
|
-
t5 = !!(chainId && account && sdk) && (!tokenAddress || isAddress(tokenAddress)
|
|
90
|
+
t5 = !!(chainId && account && sdk) && (!tokenAddress || isAddress(tokenAddress)) && (query?.enabled ?? true);
|
|
92
91
|
$[15] = account;
|
|
93
92
|
$[16] = chainId;
|
|
94
93
|
$[17] = query?.enabled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaLimitOrderRequiredBalance.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\n\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { isAddress, type Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\n// ============================================================================\n// Types for getRequiredBalanceForDeltaLimitOrders\n// ============================================================================\n\ntype DeltaLimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype DeltaLimitOrderRequiredBalanceQueryParams<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaLimitOrderRequiredBalanceQueryResult<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype DeltaLimitOrderRequiredBalanceQueryInput<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: DeltaLimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype DeltaLimitOrderRequiredBalanceQueryKey = [\n base: \"delta/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useDeltaLimitOrderRequiredBalance<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: DeltaLimitOrderRequiredBalanceQueryInput<TData>): DeltaLimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useDeltaSDK({\n chainId,\n client: minClient,\n account,\n });\n\n return useQuery<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n }),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(account, \"account is required\");\n\n return sdk.getRequiredBalanceForDeltaLimitOrders(\n { userAddress: account, tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or a non-ETH token with a valid address\n (isAddress(tokenAddress) && !isETHaddress(tokenAddress))) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): DeltaLimitOrderRequiredBalanceQueryKey {\n return [\n \"delta/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype DeltaOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype DeltaOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<DeltaOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n DeltaOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput & {\n amount: undefined;\n}): DeltaOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useDeltaLimitOrderRequiredBalance({\n tokenAddress,\n query: {\n enabled: !!tokenAddress && enabled,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n select: (data) => {\n if (!tokenAddress) return 0n;\n\n const balanceRequired = data[tokenAddress.toLowerCase()];\n if (!balanceRequired) return 0n;\n return BigInt(balanceRequired);\n },\n },\n });\n\n if (!amount || !enabled || !balanceRequiredForCurrentOrders)\n // don't include current orders allowance if not enabled\n return {\n isLoading,\n combinedAllowance: amount !== undefined ? BigInt(amount) : undefined,\n };\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const combinedAllowance = BigInt(amount) + balanceRequiredForCurrentOrders;\n\n return {\n combinedAllowance,\n isLoading,\n };\n}\n"],"names":["useDeltaLimitOrderRequiredBalance","t0","$","_c","tokenAddress","query","chainId","useChainId","address","account","useAccount","t1","minClient","useMinViemClient","t2","client","sdk","useDeltaSDK","t3","deltaLimitOrderRequiredBalanceQueryKey","t4","t5","signal","assert","getRequiredBalanceForDeltaLimitOrders","userAddress","enabled","isAddress","isETHaddress","t6","queryKey","queryFn","useQuery","toLowerCase","useDeltaOrderRequiredAllowance","amount","data","balanceRequiredForCurrentOrders","isLoading","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","select","balanceRequired","BigInt","combinedAllowance","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDeltaLimitOrderRequiredBalance.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\n\nimport { isAddress, type Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\n// ============================================================================\n// Types for getRequiredBalanceForDeltaLimitOrders\n// ============================================================================\n\ntype DeltaLimitOrderRequiredBalanceReturn = Record<string, string>;\n\ntype DeltaLimitOrderRequiredBalanceQueryParams<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = Omit<\n UseQueryOptions<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaLimitOrderRequiredBalanceQueryResult<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = UseQueryResult<TData, Error>;\n\ntype DeltaLimitOrderRequiredBalanceQueryInput<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n> = {\n tokenAddress?: string;\n query?: DeltaLimitOrderRequiredBalanceQueryParams<TData>;\n};\n\ntype DeltaLimitOrderRequiredBalanceQueryKey = [\n base: \"delta/getRequiredBalance\",\n { chainId: number; account?: Address; tokenAddress?: string },\n];\n\nexport function useDeltaLimitOrderRequiredBalance<\n TData = DeltaLimitOrderRequiredBalanceReturn,\n>({\n tokenAddress,\n query,\n}: DeltaLimitOrderRequiredBalanceQueryInput<TData>): DeltaLimitOrderRequiredBalanceQueryResult<TData> {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const { sdk } = useDeltaSDK({\n chainId,\n client: minClient,\n account,\n });\n\n return useQuery<\n DeltaLimitOrderRequiredBalanceReturn,\n Error,\n TData,\n DeltaLimitOrderRequiredBalanceQueryKey\n >({\n queryKey: deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n }),\n queryFn: ({ signal }) => {\n assert(sdk, \"SDK not initialized\");\n assert(account, \"account is required\");\n\n return sdk.getRequiredBalanceForDeltaLimitOrders(\n { userAddress: account, tokenAddress },\n { signal }\n );\n },\n ...query,\n enabled:\n !!(chainId && account && sdk) &&\n // either no specific token given\n (!tokenAddress ||\n // or the token with a valid address\n isAddress(tokenAddress)) &&\n (query?.enabled ?? true),\n });\n}\n\nexport function deltaLimitOrderRequiredBalanceQueryKey({\n chainId,\n account,\n tokenAddress,\n}: {\n chainId: SupportedChainId;\n account?: Address;\n tokenAddress?: string;\n}): DeltaLimitOrderRequiredBalanceQueryKey {\n return [\n \"delta/getRequiredBalance\",\n {\n chainId,\n account: account?.toLowerCase() as Address,\n tokenAddress: tokenAddress?.toLowerCase(),\n },\n ] as const;\n}\n\ntype DeltaOrderRequiredAllowanceInput = {\n tokenAddress?: string;\n amount?: string | bigint;\n enabled: boolean;\n};\n\ntype DeltaOrderRequiredAllowanceResult = {\n combinedAllowance?: bigint;\n isLoading: boolean;\n};\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: MarkRequired<DeltaOrderRequiredAllowanceInput, \"amount\">): MarkRequired<\n DeltaOrderRequiredAllowanceResult,\n \"combinedAllowance\"\n>;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput & {\n amount: undefined;\n}): DeltaOrderRequiredAllowanceResult & { combinedAllowance: undefined };\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult;\nexport function useDeltaOrderRequiredAllowance({\n tokenAddress,\n amount,\n enabled,\n}: DeltaOrderRequiredAllowanceInput): DeltaOrderRequiredAllowanceResult {\n const { data: balanceRequiredForCurrentOrders, isLoading } =\n useDeltaLimitOrderRequiredBalance({\n tokenAddress,\n query: {\n enabled: !!tokenAddress && enabled,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n select: (data) => {\n if (!tokenAddress) return 0n;\n\n const balanceRequired = data[tokenAddress.toLowerCase()];\n if (!balanceRequired) return 0n;\n return BigInt(balanceRequired);\n },\n },\n });\n\n if (!amount || !enabled || !balanceRequiredForCurrentOrders)\n // don't include current orders allowance if not enabled\n return {\n isLoading,\n combinedAllowance: amount !== undefined ? BigInt(amount) : undefined,\n };\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const combinedAllowance = BigInt(amount) + balanceRequiredForCurrentOrders;\n\n return {\n combinedAllowance,\n isLoading,\n };\n}\n"],"names":["useDeltaLimitOrderRequiredBalance","t0","$","_c","tokenAddress","query","chainId","useChainId","address","account","useAccount","t1","minClient","useMinViemClient","t2","client","sdk","useDeltaSDK","t3","deltaLimitOrderRequiredBalanceQueryKey","t4","t5","signal","assert","getRequiredBalanceForDeltaLimitOrders","userAddress","enabled","isAddress","t6","queryKey","queryFn","useQuery","toLowerCase","useDeltaOrderRequiredAllowance","amount","data","balanceRequiredForCurrentOrders","isLoading","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","select","balanceRequired","BigInt","combinedAllowance","undefined"],"mappings":"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"}
|
|
@@ -116,6 +116,32 @@ function isDeltaPrice(price) {
|
|
|
116
116
|
function isBridgePrice(price) {
|
|
117
117
|
return price.bridge.destinationChainId !== 0;
|
|
118
118
|
}
|
|
119
|
+
function useDeltaPriceQueryForPrice() {
|
|
120
|
+
const $ = distExports.c(2);
|
|
121
|
+
const queryClient = useQueryClient();
|
|
122
|
+
let t0;
|
|
123
|
+
if ($[0] !== queryClient) {
|
|
124
|
+
t0 = (t1) => {
|
|
125
|
+
const {
|
|
126
|
+
chainId,
|
|
127
|
+
price
|
|
128
|
+
} = t1;
|
|
129
|
+
const queryKey = [DeltaPriceQueryKeyPrefix, chainId];
|
|
130
|
+
const queryCache = queryClient.getQueryCache();
|
|
131
|
+
const query_0 = queryCache.find({
|
|
132
|
+
queryKey,
|
|
133
|
+
exact: false,
|
|
134
|
+
predicate: (query) => query.state.data === price
|
|
135
|
+
});
|
|
136
|
+
return query_0;
|
|
137
|
+
};
|
|
138
|
+
$[0] = queryClient;
|
|
139
|
+
$[1] = t0;
|
|
140
|
+
} else {
|
|
141
|
+
t0 = $[1];
|
|
142
|
+
}
|
|
143
|
+
return t0;
|
|
144
|
+
}
|
|
119
145
|
function useSubscribeToDeltaPrice() {
|
|
120
146
|
const $ = distExports.c(2);
|
|
121
147
|
const queryClient = useQueryClient();
|
|
@@ -204,5 +230,5 @@ function useDeltaPriceQueryKey({
|
|
|
204
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]);
|
|
205
231
|
}
|
|
206
232
|
|
|
207
|
-
export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
|
|
233
|
+
export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
|
|
208
234
|
//# sourceMappingURL=useDeltaPriceQuery.js.map
|
|
@@ -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 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","useSubscribeToDeltaPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastDeltaPriceQuery","getQueryCache","find","exact","type","getLastDeltaPrice","state","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","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\">;\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":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
|
|
2
|
+
import { Address } from 'viem';
|
|
3
|
+
type UseIsDeltaNonceUsedInput = {
|
|
4
|
+
chainId?: SupportedChainId;
|
|
5
|
+
nonce?: string;
|
|
6
|
+
query?: {
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare function useIsDeltaNonceUsed({ chainId, nonce: _nonce, query, }: UseIsDeltaNonceUsedInput): import('wagmi').UseReadContractReturnType<readonly [{
|
|
11
|
+
readonly type: "function";
|
|
12
|
+
readonly name: "isNonceUsed";
|
|
13
|
+
readonly inputs: readonly [{
|
|
14
|
+
readonly name: "owner";
|
|
15
|
+
readonly type: "address";
|
|
16
|
+
readonly internalType: "address";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "nonce";
|
|
19
|
+
readonly type: "uint256";
|
|
20
|
+
readonly internalType: "uint256";
|
|
21
|
+
}];
|
|
22
|
+
readonly outputs: readonly [{
|
|
23
|
+
readonly name: "used";
|
|
24
|
+
readonly type: "bool";
|
|
25
|
+
readonly internalType: "bool";
|
|
26
|
+
}];
|
|
27
|
+
readonly stateMutability: "view";
|
|
28
|
+
}], "isNonceUsed", [`0x${string}`, bigint], boolean>;
|
|
29
|
+
export declare function isDeltaNonceUsedQueryKey({ chainId, account, deltaContract, nonce: _nonce, }: {
|
|
30
|
+
chainId?: SupportedChainId;
|
|
31
|
+
account?: Address;
|
|
32
|
+
deltaContract?: string;
|
|
33
|
+
nonce?: string;
|
|
34
|
+
}): readonly ["readContract", Omit<import('@wagmi/core/internal').ExactPartial<{
|
|
35
|
+
account?: `0x${string}` | import('viem').Account | undefined;
|
|
36
|
+
blockNumber?: bigint | undefined | undefined;
|
|
37
|
+
factory?: `0x${string}` | undefined;
|
|
38
|
+
factoryData?: `0x${string}` | undefined;
|
|
39
|
+
stateOverride?: import('viem').StateOverride | undefined;
|
|
40
|
+
blockTag?: import('viem').BlockTag | undefined;
|
|
41
|
+
} & {
|
|
42
|
+
abi: readonly [{
|
|
43
|
+
readonly type: "function";
|
|
44
|
+
readonly name: "isNonceUsed";
|
|
45
|
+
readonly inputs: readonly [{
|
|
46
|
+
readonly name: "owner";
|
|
47
|
+
readonly type: "address";
|
|
48
|
+
readonly internalType: "address";
|
|
49
|
+
}, {
|
|
50
|
+
readonly name: "nonce";
|
|
51
|
+
readonly type: "uint256";
|
|
52
|
+
readonly internalType: "uint256";
|
|
53
|
+
}];
|
|
54
|
+
readonly outputs: readonly [{
|
|
55
|
+
readonly name: "used";
|
|
56
|
+
readonly type: "bool";
|
|
57
|
+
readonly internalType: "bool";
|
|
58
|
+
}];
|
|
59
|
+
readonly stateMutability: "view";
|
|
60
|
+
}];
|
|
61
|
+
functionName: "isNonceUsed";
|
|
62
|
+
args?: readonly [`0x${string}`, bigint] | undefined;
|
|
63
|
+
} & {
|
|
64
|
+
args: readonly [`0x${string}`, bigint];
|
|
65
|
+
} & {
|
|
66
|
+
address: import('viem').Address;
|
|
67
|
+
} & import('@wagmi/core/internal').ChainIdParameter<import('wagmi').Config, number>> & import('@wagmi/core/internal').ScopeKeyParameter, "abi"> | Omit<import('@wagmi/core/internal').ExactPartial<{
|
|
68
|
+
account?: `0x${string}` | import('viem').Account | undefined;
|
|
69
|
+
blockNumber?: bigint | undefined | undefined;
|
|
70
|
+
factory?: `0x${string}` | undefined;
|
|
71
|
+
factoryData?: `0x${string}` | undefined;
|
|
72
|
+
stateOverride?: import('viem').StateOverride | undefined;
|
|
73
|
+
blockTag?: import('viem').BlockTag | undefined;
|
|
74
|
+
} & {
|
|
75
|
+
abi: readonly [{
|
|
76
|
+
readonly type: "function";
|
|
77
|
+
readonly name: "isNonceUsed";
|
|
78
|
+
readonly inputs: readonly [{
|
|
79
|
+
readonly name: "owner";
|
|
80
|
+
readonly type: "address";
|
|
81
|
+
readonly internalType: "address";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "nonce";
|
|
84
|
+
readonly type: "uint256";
|
|
85
|
+
readonly internalType: "uint256";
|
|
86
|
+
}];
|
|
87
|
+
readonly outputs: readonly [{
|
|
88
|
+
readonly name: "used";
|
|
89
|
+
readonly type: "bool";
|
|
90
|
+
readonly internalType: "bool";
|
|
91
|
+
}];
|
|
92
|
+
readonly stateMutability: "view";
|
|
93
|
+
}];
|
|
94
|
+
functionName: "isNonceUsed";
|
|
95
|
+
args?: readonly [`0x${string}`, bigint] | undefined;
|
|
96
|
+
} & {
|
|
97
|
+
args: readonly [`0x${string}`, bigint];
|
|
98
|
+
} & {
|
|
99
|
+
address?: undefined;
|
|
100
|
+
code: import('viem').Hex;
|
|
101
|
+
} & import('@wagmi/core/internal').ChainIdParameter<import('wagmi').Config, number>> & import('@wagmi/core/internal').ScopeKeyParameter, "abi">];
|
|
102
|
+
type UseEnsureIsDeltaNonceUsedFnInput = {
|
|
103
|
+
nonce: string;
|
|
104
|
+
account: Address;
|
|
105
|
+
DeltaContract: Address;
|
|
106
|
+
};
|
|
107
|
+
export declare function useEnsureIsDeltaNonceUsed(): (data: UseEnsureIsDeltaNonceUsedFnInput) => Promise<boolean>;
|
|
108
|
+
export {};
|
|
109
|
+
//# sourceMappingURL=useIsDeltaNonceUsed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsDeltaNonceUsed.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAqB/C,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,KAAK,EAAE,MAAM,EACb,KAAK,GACN,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;qDAiC1B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,OAAO,EACP,aAAa,EACb,KAAK,EAAE,MAAM,GACd,EAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAYA;AAED,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,CAC3C,IAAI,EAAE,gCAAgC,KACnC,OAAO,CAAC,OAAO,CAAC,CAwBpB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { d as distExports } from '../../../../../_virtual/index.js';
|
|
2
|
+
import { useGetContracts } from '../../../../sdk/useGetContracts.js';
|
|
3
|
+
import { wagmiConfig } from '../../../../../lib/web3/wagmi/config.js';
|
|
4
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
5
|
+
import { isAddress } from 'viem';
|
|
6
|
+
import { useAccount, useReadContract } from 'wagmi';
|
|
7
|
+
import { readContractQueryOptions, hashFn, readContractQueryKey } from 'wagmi/query';
|
|
8
|
+
|
|
9
|
+
const NonceManagementModuleMinAbi = [{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "isNonceUsed",
|
|
12
|
+
inputs: [{
|
|
13
|
+
name: "owner",
|
|
14
|
+
type: "address",
|
|
15
|
+
internalType: "address"
|
|
16
|
+
}, {
|
|
17
|
+
name: "nonce",
|
|
18
|
+
type: "uint256",
|
|
19
|
+
internalType: "uint256"
|
|
20
|
+
}],
|
|
21
|
+
outputs: [{
|
|
22
|
+
name: "used",
|
|
23
|
+
type: "bool",
|
|
24
|
+
internalType: "bool"
|
|
25
|
+
}],
|
|
26
|
+
stateMutability: "view"
|
|
27
|
+
}];
|
|
28
|
+
function useIsDeltaNonceUsed(t0) {
|
|
29
|
+
const $ = distExports.c(14);
|
|
30
|
+
const {
|
|
31
|
+
chainId,
|
|
32
|
+
nonce: _nonce,
|
|
33
|
+
query
|
|
34
|
+
} = t0;
|
|
35
|
+
const {
|
|
36
|
+
address: account
|
|
37
|
+
} = useAccount();
|
|
38
|
+
const {
|
|
39
|
+
data: contracts
|
|
40
|
+
} = useGetContracts();
|
|
41
|
+
let t1;
|
|
42
|
+
if ($[0] !== contracts) {
|
|
43
|
+
t1 = contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta) ? contracts.ParaswapDelta : void 0;
|
|
44
|
+
$[0] = contracts;
|
|
45
|
+
$[1] = t1;
|
|
46
|
+
} else {
|
|
47
|
+
t1 = $[1];
|
|
48
|
+
}
|
|
49
|
+
const DeltaContract = t1;
|
|
50
|
+
let t2;
|
|
51
|
+
if ($[2] !== _nonce) {
|
|
52
|
+
t2 = _nonce !== void 0 ? BigInt(_nonce) : void 0;
|
|
53
|
+
$[2] = _nonce;
|
|
54
|
+
$[3] = t2;
|
|
55
|
+
} else {
|
|
56
|
+
t2 = $[3];
|
|
57
|
+
}
|
|
58
|
+
const nonce = t2;
|
|
59
|
+
const t3 = DeltaContract;
|
|
60
|
+
const t4 = account;
|
|
61
|
+
const t5 = nonce;
|
|
62
|
+
let t6;
|
|
63
|
+
if ($[4] !== t4 || $[5] !== t5) {
|
|
64
|
+
t6 = [t4, t5];
|
|
65
|
+
$[4] = t4;
|
|
66
|
+
$[5] = t5;
|
|
67
|
+
$[6] = t6;
|
|
68
|
+
} else {
|
|
69
|
+
t6 = $[6];
|
|
70
|
+
}
|
|
71
|
+
const t7 = account && DeltaContract && typeof nonce === "bigint" && (query?.enabled ?? true);
|
|
72
|
+
let t8;
|
|
73
|
+
if ($[7] !== t7) {
|
|
74
|
+
t8 = {
|
|
75
|
+
enabled: t7,
|
|
76
|
+
refetchInterval: _temp,
|
|
77
|
+
staleTime: _temp2
|
|
78
|
+
};
|
|
79
|
+
$[7] = t7;
|
|
80
|
+
$[8] = t8;
|
|
81
|
+
} else {
|
|
82
|
+
t8 = $[8];
|
|
83
|
+
}
|
|
84
|
+
let t9;
|
|
85
|
+
if ($[9] !== chainId || $[10] !== t3 || $[11] !== t6 || $[12] !== t8) {
|
|
86
|
+
t9 = {
|
|
87
|
+
chainId,
|
|
88
|
+
abi: NonceManagementModuleMinAbi,
|
|
89
|
+
address: t3,
|
|
90
|
+
functionName: "isNonceUsed",
|
|
91
|
+
args: t6,
|
|
92
|
+
query: t8
|
|
93
|
+
};
|
|
94
|
+
$[9] = chainId;
|
|
95
|
+
$[10] = t3;
|
|
96
|
+
$[11] = t6;
|
|
97
|
+
$[12] = t8;
|
|
98
|
+
$[13] = t9;
|
|
99
|
+
} else {
|
|
100
|
+
t9 = $[13];
|
|
101
|
+
}
|
|
102
|
+
return useReadContract(t9);
|
|
103
|
+
}
|
|
104
|
+
function _temp2(t0) {
|
|
105
|
+
const {
|
|
106
|
+
state: state_0
|
|
107
|
+
} = t0;
|
|
108
|
+
if (state_0.data === true) {
|
|
109
|
+
return Infinity;
|
|
110
|
+
}
|
|
111
|
+
return 5e3;
|
|
112
|
+
}
|
|
113
|
+
function _temp(t0) {
|
|
114
|
+
const {
|
|
115
|
+
state
|
|
116
|
+
} = t0;
|
|
117
|
+
if (state.data === true) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function isDeltaNonceUsedQueryKey({
|
|
122
|
+
chainId,
|
|
123
|
+
account,
|
|
124
|
+
deltaContract,
|
|
125
|
+
nonce: _nonce
|
|
126
|
+
}) {
|
|
127
|
+
const DeltaContract = deltaContract && isAddress(deltaContract) ? deltaContract : void 0;
|
|
128
|
+
const nonce = _nonce ? BigInt(_nonce) : void 0;
|
|
129
|
+
return readContractQueryKey({
|
|
130
|
+
chainId,
|
|
131
|
+
abi: NonceManagementModuleMinAbi,
|
|
132
|
+
address: DeltaContract,
|
|
133
|
+
functionName: "isNonceUsed",
|
|
134
|
+
args: [account, nonce]
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
function useEnsureIsDeltaNonceUsed() {
|
|
138
|
+
const $ = distExports.c(2);
|
|
139
|
+
const queryClient = useQueryClient();
|
|
140
|
+
let t0;
|
|
141
|
+
if ($[0] !== queryClient) {
|
|
142
|
+
t0 = async (t1) => {
|
|
143
|
+
const {
|
|
144
|
+
account,
|
|
145
|
+
nonce,
|
|
146
|
+
DeltaContract
|
|
147
|
+
} = t1;
|
|
148
|
+
const queryOptions = readContractQueryOptions(wagmiConfig, {
|
|
149
|
+
abi: NonceManagementModuleMinAbi,
|
|
150
|
+
address: DeltaContract,
|
|
151
|
+
functionName: "isNonceUsed",
|
|
152
|
+
args: [account, BigInt(nonce)]
|
|
153
|
+
});
|
|
154
|
+
const isNonceUsed = await queryClient.ensureQueryData({
|
|
155
|
+
...queryOptions,
|
|
156
|
+
queryKeyHashFn: hashFn
|
|
157
|
+
});
|
|
158
|
+
return isNonceUsed;
|
|
159
|
+
};
|
|
160
|
+
$[0] = queryClient;
|
|
161
|
+
$[1] = t0;
|
|
162
|
+
} else {
|
|
163
|
+
t0 = $[1];
|
|
164
|
+
}
|
|
165
|
+
const ensureIsDeltaNonceUsed = t0;
|
|
166
|
+
return ensureIsDeltaNonceUsed;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export { isDeltaNonceUsedQueryKey, useEnsureIsDeltaNonceUsed, useIsDeltaNonceUsed };
|
|
170
|
+
//# sourceMappingURL=useIsDeltaNonceUsed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsDeltaNonceUsed.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isAddress, type Address } from \"viem\";\nimport { useAccount, useReadContract } from \"wagmi\";\nimport {\n hashFn,\n readContractQueryKey,\n readContractQueryOptions,\n} from \"wagmi/query\";\n\nconst NonceManagementModuleMinAbi = [\n {\n type: \"function\",\n name: \"isNonceUsed\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"used\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\ntype UseIsDeltaNonceUsedInput = {\n chainId?: SupportedChainId;\n nonce?: string;\n query?: {\n enabled?: boolean;\n };\n};\n\nexport function useIsDeltaNonceUsed({\n chainId,\n nonce: _nonce,\n query,\n}: UseIsDeltaNonceUsedInput) {\n const { address: account } = useAccount();\n const { data: contracts } = useGetContracts();\n\n const DeltaContract =\n contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta)\n ? contracts.ParaswapDelta\n : undefined;\n const nonce = _nonce !== undefined ? BigInt(_nonce) : undefined;\n\n return useReadContract({\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract as Address,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n query: {\n enabled:\n account &&\n DeltaContract &&\n typeof nonce === \"bigint\" &&\n (query?.enabled ?? true),\n refetchInterval: ({ state }) => {\n // if the nonce is used, it won't change anymore\n if (state.data === true) return false;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore\n if (state.data === true) return Infinity;\n return 5_000;\n },\n },\n });\n}\n\nexport function isDeltaNonceUsedQueryKey({\n chainId,\n account,\n deltaContract,\n nonce: _nonce,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n deltaContract?: string;\n nonce?: string;\n}) {\n const DeltaContract =\n deltaContract && isAddress(deltaContract) ? deltaContract : undefined;\n const nonce = _nonce ? BigInt(_nonce) : undefined;\n\n return readContractQueryKey({\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract as Address,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n });\n}\n\ntype UseEnsureIsDeltaNonceUsedFnInput = {\n nonce: string;\n account: Address;\n DeltaContract: Address;\n};\n\nexport function useEnsureIsDeltaNonceUsed(): (\n data: UseEnsureIsDeltaNonceUsedFnInput\n) => Promise<boolean> {\n const queryClient = useQueryClient();\n\n const ensureIsDeltaNonceUsed = async ({\n account,\n nonce,\n DeltaContract,\n }: UseEnsureIsDeltaNonceUsedFnInput) => {\n const queryOptions = readContractQueryOptions(wagmiConfig, {\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract,\n functionName: \"isNonceUsed\",\n args: [account, BigInt(nonce)],\n });\n\n const isNonceUsed = await queryClient.ensureQueryData({\n ...queryOptions,\n queryKeyHashFn: hashFn, // for bigint support\n });\n\n return isNonceUsed;\n };\n\n return ensureIsDeltaNonceUsed;\n}\n"],"names":["NonceManagementModuleMinAbi","type","name","inputs","internalType","outputs","stateMutability","useIsDeltaNonceUsed","t0","$","_c","chainId","nonce","_nonce","query","address","account","useAccount","data","contracts","useGetContracts","t1","ParaswapDelta","isAddress","undefined","DeltaContract","t2","BigInt","t3","t4","t5","t6","t7","enabled","t8","refetchInterval","_temp","staleTime","_temp2","t9","abi","functionName","args","useReadContract","state","state_0","Infinity","isDeltaNonceUsedQueryKey","deltaContract","readContractQueryKey","useEnsureIsDeltaNonceUsed","queryClient","useQueryClient","queryOptions","readContractQueryOptions","wagmiConfig","isNonceUsed","ensureQueryData","queryKeyHashFn","hashFn","ensureIsDeltaNonceUsed"],"mappings":"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"}
|
|
@@ -13,15 +13,16 @@ export declare function deltaAuctionPollingQueryKey({ orderId, }?: {
|
|
|
13
13
|
orderId?: string;
|
|
14
14
|
}): SingleDeltaAuctionQueryKey;
|
|
15
15
|
export type MaybeVeloraDeltaAuction = DeltaOrderFromAPI | null;
|
|
16
|
-
type UseWatchDeltaAuctionQueryInput = {
|
|
16
|
+
type UseWatchDeltaAuctionQueryInput<TData = MaybeVeloraDeltaAuction> = {
|
|
17
17
|
orderId?: string;
|
|
18
18
|
enabled?: boolean;
|
|
19
|
+
select?: (data: MaybeVeloraDeltaAuction) => TData;
|
|
19
20
|
onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;
|
|
20
21
|
onAuctionFailure?: (auction: FailedDeltaAuction) => void;
|
|
21
22
|
onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, "signature">) => void;
|
|
22
23
|
onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, "id">) => void;
|
|
23
24
|
};
|
|
24
|
-
export declare function useWatchDeltaAuction({ orderId, enabled, onAuctionSuccess, onAuctionFailure, onUpdatedAuction, onTimeoutGettingOrder, }: UseWatchDeltaAuctionQueryInput): UseQueryResult<
|
|
25
|
+
export declare function useWatchDeltaAuction<TData = MaybeVeloraDeltaAuction>({ orderId, enabled, select, onAuctionSuccess, onAuctionFailure, onUpdatedAuction, onTimeoutGettingOrder, }: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData>;
|
|
25
26
|
type EnsureOrderExecutedFn = (options: {
|
|
26
27
|
orderId: string;
|
|
27
28
|
signal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQ1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMhF,QAAA,MAAM,qCAAqC,yBAAyB,CAAC;AACrE,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,OAAO,qCAAqC;IAClD,OAAO,CAAC,EAAE,MAAM;CACjB,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,GACR,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,0BAA0B,CAElC;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQ1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMhF,QAAA,MAAM,qCAAqC,yBAAyB,CAAC;AACrE,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,OAAO,qCAAqC;IAClD,OAAO,CAAC,EAAE,MAAM;CACjB,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,GACR,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,0BAA0B,CAElC;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,IAAI,CAAC;AAyI/D,KAAK,8BAA8B,CAAC,KAAK,GAAG,uBAAuB,IAAI;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,KAAK,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9E,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,uBAAuB,EAAE,EACpE,OAAO,EACP,OAAc,EAGd,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GACtB,EAAE,8BAA8B,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CA6C/D;AAED,KAAK,qBAAqB,GAAG,CAAC,OAAO,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEvC,wBAAgB,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,gBAAgB,GACjB,GAAE,IAAI,CACL,8BAA8B,EAC9B,kBAAkB,GAAG,kBAAkB,CACnC,GAAG,qBAAqB,CAgH7B;AAID,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9E,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,OAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GACtB,EAAE,0BAA0B,GAAG,cAAc,CAAC,uBAAuB,CAAC,EAAE,CAgDxE;AAED,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,cAAc,EAAE,sBAAsB,KACnC,IAAI,CAAC;CACX,CAAC;AAIF,wBAAgB,mCAAmC,CAAC,EAClD,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,gCAAgC,GAAG,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAuE7E"}
|