@velora-dex/widget 0.4.12-dev.3 → 0.4.12
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/BridgeList/BridgeListItem.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +3 -13
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +40 -37
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +36 -34
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +6 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +45 -30
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +6 -3
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.d.ts +3 -0
- package/dist/components/widget/TradeParameters/state/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +4 -1
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +2 -6
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts +3 -2
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +9 -3
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +5 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +32 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts +11 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +6 -7
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/Warning/Warning.d.ts +3 -2
- package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
- package/dist/components/widget/Warning/Warning.js +74 -50
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/types.d.ts +2 -1
- package/dist/components/widget/Warning/types.d.ts.map +1 -1
- package/dist/configurator/state/themeAtom.d.ts +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +174 -72
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +43 -34
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +7 -11
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +53 -72
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +2 -3
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +4 -16
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +82 -80
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +1 -1
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +1 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +2 -1
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -2
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -0
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +10 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +5 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +28 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +34 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +47 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +16 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +103 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +9 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +19 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts +7 -0
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -0
- package/dist/hooks/swap/prices/factory.js +35 -0
- package/dist/hooks/swap/prices/factory.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -3
- package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js +7 -3
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +2 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +107 -64
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +49 -39
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +17 -9
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +21 -35
- 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 +17 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +1 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/useSDK.js +2 -34
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/utils/priceImpact.d.ts +5 -1
- package/dist/lib/utils/priceImpact.d.ts.map +1 -1
- package/dist/lib/utils/priceImpact.js +1 -1
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +78 -17
- package/dist/tokens/lists/lists.json.js +1 -337
- package/dist/tokens/lists/lists.json.js.map +1 -1
- package/dist/tokens/state/importedTokensAtom.d.ts +1 -1
- package/dist/transactions/state/transactionsAtom.d.ts +2 -1
- package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +6 -2
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/types.d.ts +1 -0
- package/dist/transactions/types.d.ts.map +1 -1
- package/dist/transactions/utils.d.ts +2 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +4 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +0 -12
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { accountAtom } from '../../../../../../lib/web3/wagmi/external.js';
|
|
2
|
+
import { atomEffect } from 'jotai-effect';
|
|
3
|
+
import { getUnpostedOrders } from './storage.js';
|
|
4
|
+
import { postUnpostedOrders } from './index.js';
|
|
5
|
+
import { useAtom } from '../../../../../../core/store.js';
|
|
6
|
+
|
|
7
|
+
const {
|
|
8
|
+
withBatchTx,
|
|
9
|
+
withStandaloneTx
|
|
10
|
+
} = getUnpostedOrders();
|
|
11
|
+
postUnpostedOrders(withStandaloneTx);
|
|
12
|
+
let hasRunEffect = false;
|
|
13
|
+
const unpostedOrdersEffect = atomEffect((get) => {
|
|
14
|
+
if (hasRunEffect) return;
|
|
15
|
+
const {
|
|
16
|
+
connector
|
|
17
|
+
} = get(accountAtom);
|
|
18
|
+
if (connector && "getChainId" in connector) {
|
|
19
|
+
hasRunEffect = true;
|
|
20
|
+
return postUnpostedOrders(withBatchTx);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
function useActivateUnpostedOrdersEffect() {
|
|
24
|
+
useAtom(unpostedOrdersEffect);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { useActivateUnpostedOrdersEffect };
|
|
28
|
+
//# sourceMappingURL=effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect.js","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/effect.ts"],"sourcesContent":["import { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { atomEffect } from \"jotai-effect\";\nimport { getUnpostedOrders } from \"./storage\";\nimport { postUnpostedOrders } from \".\";\nimport { useAtom } from \"@/core/store\";\n\nconst { withBatchTx, withStandaloneTx } = getUnpostedOrders();\n\npostUnpostedOrders(withStandaloneTx);\n\nlet hasRunEffect = false;\nconst unpostedOrdersEffect = atomEffect((get) => {\n if (hasRunEffect) return;\n\n const { connector } = get(accountAtom);\n\n // wait for connector to have getChainId available,\n // otherwise getCallsStatus throws connection.connector.getChainId is not a function\n if (connector && \"getChainId\" in connector) {\n hasRunEffect = true;\n return postUnpostedOrders(withBatchTx);\n }\n});\n\nexport function useActivateUnpostedOrdersEffect() {\n useAtom(unpostedOrdersEffect);\n}\n"],"names":["withBatchTx","withStandaloneTx","getUnpostedOrders","postUnpostedOrders","hasRunEffect","unpostedOrdersEffect","atomEffect","get","connector","accountAtom","useActivateUnpostedOrdersEffect","useAtom"],"mappings":";;;;;;AAMA,MAAM;AAAA,EAAEA,WAAAA;AAAAA,EAAaC;AAAiB,CAAA,GAAIC,iBAAAA,EAAkB;AAE5DC,kBAAAA,CAAmBF,gBAAgB,CAAA;AAEnC,IAAIG,YAAAA,GAAe,KAAA;AACnB,MAAMC,oBAAAA,GAAuBC,WAAYC,CAAAA,GAAAA,KAAQ;AAC/C,EAAA,IAAIH,YAAAA,EAAc;AAElB,EAAA,MAAM;AAAA,IAAEI;AAAAA,GAAU,GAAID,IAAIE,WAAW,CAAA;AAIrC,EAAA,IAAID,SAAAA,IAAa,gBAAgBA,SAAAA,EAAW;AAC1CJ,IAAAA,YAAAA,GAAe,IAAA;AACf,IAAA,OAAOD,mBAAmBH,WAAW,CAAA;AAAA,EACvC;AACF,CAAC,CAAA;AAEM,SAAAU,+BAAAA,GAAA;AACLC,EAAAA,OAAAA,CAAQN,oBAAoB,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DeltaOrderApiResponse } from '@velora-dex/sdk';
|
|
2
|
+
import { UnpostedOrder } from './types';
|
|
3
|
+
export declare function postUnpostedOrders(unpostedOrders: UnpostedOrder[]): (() => void) | undefined;
|
|
4
|
+
export declare function guardUnpostedDeltaOrder<TOrder extends DeltaOrderApiResponse>({ order, cb }: {
|
|
5
|
+
order: UnpostedOrder;
|
|
6
|
+
cb: () => Promise<TOrder>;
|
|
7
|
+
}): Promise<TOrder>;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,4BAwBjE;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,SAAS,qBAAqB,EACpC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,mBAKnE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { logger, RETRY_DELAY_MS } from './const.js';
|
|
2
|
+
import { removeUnpostedOrder, saveUnpostedOrder } from './storage.js';
|
|
3
|
+
import { processUnpostedOrder } from './utils.js';
|
|
4
|
+
|
|
5
|
+
function postUnpostedOrders(unpostedOrders) {
|
|
6
|
+
if (unpostedOrders.length === 0) return;
|
|
7
|
+
logger.log("post orders", {
|
|
8
|
+
count: unpostedOrders.length,
|
|
9
|
+
orders: unpostedOrders
|
|
10
|
+
});
|
|
11
|
+
const timeoutIds = [];
|
|
12
|
+
unpostedOrders.forEach((order, index) => {
|
|
13
|
+
const timeoutId = setTimeout(() => {
|
|
14
|
+
removeUnpostedOrder(order.orderHash);
|
|
15
|
+
processUnpostedOrder(order).then((order2) => logger.log("result", order2)).catch(logger.error);
|
|
16
|
+
}, index * RETRY_DELAY_MS);
|
|
17
|
+
timeoutIds.push(timeoutId);
|
|
18
|
+
});
|
|
19
|
+
return () => {
|
|
20
|
+
timeoutIds.forEach(clearTimeout);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function guardUnpostedDeltaOrder({
|
|
24
|
+
order,
|
|
25
|
+
cb
|
|
26
|
+
}) {
|
|
27
|
+
saveUnpostedOrder(order);
|
|
28
|
+
const posted = await cb();
|
|
29
|
+
removeUnpostedOrder(order.orderHash);
|
|
30
|
+
return posted;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { guardUnpostedDeltaOrder, postUnpostedOrders };
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"sourcesContent":["import type { DeltaOrderApiResponse } from \"@velora-dex/sdk\";\nimport { logger, RETRY_DELAY_MS } from \"./const\";\nimport { removeUnpostedOrder, saveUnpostedOrder } from \"./storage\";\nimport type { UnpostedOrder } from \"./types\";\nimport { processUnpostedOrder } from \"./utils\";\n\nexport function postUnpostedOrders(unpostedOrders: UnpostedOrder[]) {\n if (unpostedOrders.length === 0) return;\n logger.log(\"post orders\", {\n count: unpostedOrders.length,\n orders: unpostedOrders,\n });\n\n const timeoutIds: NodeJS.Timeout[] = [];\n // process each order with a small staggered delay to avoid overwhelming the API\n unpostedOrders.forEach((order, index) => {\n const timeoutId = setTimeout(() => {\n // eagerly remove the order from storage\n removeUnpostedOrder(order.orderHash);\n // and retry each order no more than once\n processUnpostedOrder(order)\n .then((order) => logger.log(\"result\", order))\n .catch(logger.error);\n }, index * RETRY_DELAY_MS);\n timeoutIds.push(timeoutId);\n });\n\n return () => {\n timeoutIds.forEach(clearTimeout);\n };\n}\n\nexport async function guardUnpostedDeltaOrder<\n TOrder extends DeltaOrderApiResponse,\n>({ order, cb }: { order: UnpostedOrder; cb: () => Promise<TOrder> }) {\n saveUnpostedOrder(order);\n const posted = await cb();\n removeUnpostedOrder(order.orderHash);\n return posted;\n}\n"],"names":["postUnpostedOrders","unpostedOrders","length","logger","log","count","orders","timeoutIds","forEach","order","index","timeoutId","setTimeout","removeUnpostedOrder","orderHash","processUnpostedOrder","then","catch","error","RETRY_DELAY_MS","push","clearTimeout","guardUnpostedDeltaOrder","cb","saveUnpostedOrder","posted"],"mappings":";;;;AAMO,SAASA,mBAAmBC,cAAAA,EAAiC;AAClE,EAAA,IAAIA,cAAAA,CAAeC,WAAW,CAAA,EAAG;AACjCC,EAAAA,MAAAA,CAAOC,IAAI,aAAA,EAAe;AAAA,IACxBC,OAAOJ,cAAAA,CAAeC,MAAAA;AAAAA,IACtBI,MAAAA,EAAQL;AAAAA,GACT,CAAA;AAED,EAAA,MAAMM,aAA+B,EAAA;AAErCN,EAAAA,cAAAA,CAAeO,OAAAA,CAAQ,CAACC,KAAAA,EAAOC,KAAAA,KAAU;AACvC,IAAA,MAAMC,SAAAA,GAAYC,WAAW,MAAM;AAEjCC,MAAAA,mBAAAA,CAAoBJ,MAAMK,SAAS,CAAA;AAEnCC,MAAAA,oBAAAA,CAAqBN,KAAK,CAAA,CACvBO,IAAAA,CAAMP,CAAAA,MAAAA,KAAUN,MAAAA,CAAOC,GAAAA,CAAI,QAAA,EAAUK,MAAK,CAAC,CAAA,CAC3CQ,KAAAA,CAAMd,OAAOe,KAAK,CAAA;AAAA,IACvB,CAAA,EAAGR,QAAQS,cAAc,CAAA;AACzBZ,IAAAA,UAAAA,CAAWa,KAAKT,SAAS,CAAA;AAAA,EAC3B,CAAC,CAAA;AAED,EAAA,OAAO,MAAM;AACXJ,IAAAA,UAAAA,CAAWC,QAAQa,YAAY,CAAA;AAAA,EACjC,CAAA;AACF;AAEA,eAAsBC,uBAAAA,CAEpB;AAAA,EAAEb,KAAAA;AAAAA,EAAOc;AAAwD,CAAA,EAAG;AACpEC,EAAAA,iBAAAA,CAAkBf,KAAK,CAAA;AACvB,EAAA,MAAMgB,MAAAA,GAAS,MAAMF,EAAAA,EAAG;AACxBV,EAAAA,mBAAAA,CAAoBJ,MAAMK,SAAS,CAAA;AACnC,EAAA,OAAOW,MAAAA;AACT;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UnpostedOrder, UnpostedOrderWithBatchTx, UnpostedOrderWithStandaloneTx } from './types';
|
|
2
|
+
export declare function getUnpostedOrders(): {
|
|
3
|
+
withStandaloneTx: UnpostedOrderWithStandaloneTx[];
|
|
4
|
+
withBatchTx: UnpostedOrderWithBatchTx[];
|
|
5
|
+
};
|
|
6
|
+
export declare function saveUnpostedOrder(order: UnpostedOrder): void;
|
|
7
|
+
export declare function removeUnpostedOrder(orderHash: string): void;
|
|
8
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAsBjB,wBAAgB,iBAAiB;;;EAgBhC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,QAYrD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,QAWpD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { emptyArray } from '../../../../../../lib/constants/index.js';
|
|
2
|
+
import { logger } from './const.js';
|
|
3
|
+
import { LOCAL_STORAGE_PREFIX } from '../../../../../../lib/constants/storage.js';
|
|
4
|
+
|
|
5
|
+
const UNPOSTED_DELTA_ORDERS_KEY = `${LOCAL_STORAGE_PREFIX}_unposted_delta_orders`;
|
|
6
|
+
function parseUnpostedOrders() {
|
|
7
|
+
const unpostedOrdersData = localStorage.getItem(UNPOSTED_DELTA_ORDERS_KEY);
|
|
8
|
+
if (!unpostedOrdersData) return emptyArray;
|
|
9
|
+
try {
|
|
10
|
+
const unpostedOrders = JSON.parse(unpostedOrdersData);
|
|
11
|
+
if (!Array.isArray(unpostedOrders)) {
|
|
12
|
+
logger.error("unexpected data format for unposted orders");
|
|
13
|
+
return emptyArray;
|
|
14
|
+
}
|
|
15
|
+
return unpostedOrders;
|
|
16
|
+
} catch (e) {
|
|
17
|
+
logger.error(`failed to parse ${UNPOSTED_DELTA_ORDERS_KEY} `, e);
|
|
18
|
+
return emptyArray;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function getUnpostedOrders() {
|
|
22
|
+
const withStandaloneTx = [];
|
|
23
|
+
const withBatchTx = [];
|
|
24
|
+
parseUnpostedOrders().forEach((order) => {
|
|
25
|
+
if ("transactionHash" in order) {
|
|
26
|
+
withStandaloneTx.push(order);
|
|
27
|
+
} else if ("callsId" in order) {
|
|
28
|
+
withBatchTx.push(order);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
withStandaloneTx,
|
|
33
|
+
withBatchTx
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function saveUnpostedOrder(order) {
|
|
37
|
+
const unpostedOrders = parseUnpostedOrders();
|
|
38
|
+
if (unpostedOrders.some((o) => o.orderHash.toLowerCase() === order.orderHash.toLowerCase())) return;
|
|
39
|
+
localStorage.setItem(UNPOSTED_DELTA_ORDERS_KEY, JSON.stringify([...unpostedOrders, order]));
|
|
40
|
+
}
|
|
41
|
+
function removeUnpostedOrder(orderHash) {
|
|
42
|
+
const unpostedOrders = parseUnpostedOrders();
|
|
43
|
+
localStorage.setItem(UNPOSTED_DELTA_ORDERS_KEY, JSON.stringify(unpostedOrders.filter((order) => order.orderHash.toLowerCase() !== orderHash.toLowerCase())));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { getUnpostedOrders, removeUnpostedOrder, saveUnpostedOrder };
|
|
47
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/storage.ts"],"sourcesContent":["import { emptyArray } from \"@/lib/constants\";\nimport { logger } from \"./const\";\nimport type {\n UnpostedOrder,\n UnpostedOrderWithBatchTx,\n UnpostedOrderWithStandaloneTx,\n} from \"./types\";\nimport { LOCAL_STORAGE_PREFIX } from \"@/lib/constants/storage\";\n\nconst UNPOSTED_DELTA_ORDERS_KEY =\n `${LOCAL_STORAGE_PREFIX}_unposted_delta_orders` as const;\n\nfunction parseUnpostedOrders(): UnpostedOrder[] {\n const unpostedOrdersData = localStorage.getItem(UNPOSTED_DELTA_ORDERS_KEY);\n if (!unpostedOrdersData) return emptyArray;\n try {\n const unpostedOrders = JSON.parse(unpostedOrdersData);\n if (!Array.isArray(unpostedOrders)) {\n logger.error(\"unexpected data format for unposted orders\");\n return emptyArray;\n }\n return unpostedOrders as UnpostedOrder[];\n } catch (e) {\n logger.error(`failed to parse ${UNPOSTED_DELTA_ORDERS_KEY} `, e);\n return emptyArray;\n }\n}\n\nexport function getUnpostedOrders() {\n const withStandaloneTx: UnpostedOrderWithStandaloneTx[] = [];\n const withBatchTx: UnpostedOrderWithBatchTx[] = [];\n\n parseUnpostedOrders().forEach((order) => {\n if (\"transactionHash\" in order) {\n withStandaloneTx.push(order);\n } else if (\"callsId\" in order) {\n withBatchTx.push(order);\n }\n });\n\n return {\n withStandaloneTx,\n withBatchTx,\n };\n}\n\nexport function saveUnpostedOrder(order: UnpostedOrder) {\n const unpostedOrders = parseUnpostedOrders();\n if (\n unpostedOrders.some(\n (o) => o.orderHash.toLowerCase() === order.orderHash.toLowerCase()\n )\n )\n return;\n localStorage.setItem(\n UNPOSTED_DELTA_ORDERS_KEY,\n JSON.stringify([...unpostedOrders, order])\n );\n}\n\nexport function removeUnpostedOrder(orderHash: string) {\n const unpostedOrders = parseUnpostedOrders();\n\n localStorage.setItem(\n UNPOSTED_DELTA_ORDERS_KEY,\n JSON.stringify(\n unpostedOrders.filter(\n (order) => order.orderHash.toLowerCase() !== orderHash.toLowerCase()\n )\n )\n );\n}\n"],"names":["UNPOSTED_DELTA_ORDERS_KEY","LOCAL_STORAGE_PREFIX","parseUnpostedOrders","unpostedOrdersData","localStorage","getItem","emptyArray","unpostedOrders","JSON","parse","Array","isArray","logger","error","e","getUnpostedOrders","withStandaloneTx","withBatchTx","forEach","order","push","saveUnpostedOrder","some","o","orderHash","toLowerCase","setItem","stringify","removeUnpostedOrder","filter"],"mappings":";;;;AASA,MAAMA,yBAAAA,GACJ,GAAGC,oBAAoB,CAAA,sBAAA,CAAA;AAEzB,SAASC,mBAAAA,GAAuC;AAC9C,EAAA,MAAMC,kBAAAA,GAAqBC,YAAAA,CAAaC,OAAAA,CAAQL,yBAAyB,CAAA;AACzE,EAAA,IAAI,CAACG,oBAAoB,OAAOG,UAAAA;AAChC,EAAA,IAAI;AACF,IAAA,MAAMC,cAAAA,GAAiBC,IAAAA,CAAKC,KAAAA,CAAMN,kBAAkB,CAAA;AACpD,IAAA,IAAI,CAACO,KAAAA,CAAMC,OAAAA,CAAQJ,cAAc,CAAA,EAAG;AAClCK,MAAAA,MAAAA,CAAOC,MAAM,4CAA4C,CAAA;AACzD,MAAA,OAAOP,UAAAA;AAAAA,IACT;AACA,IAAA,OAAOC,cAAAA;AAAAA,EACT,SAASO,CAAAA,EAAG;AACVF,IAAAA,MAAAA,CAAOC,KAAAA,CAAM,CAAA,gBAAA,EAAmBb,yBAAyB,CAAA,CAAA,CAAA,EAAKc,CAAC,CAAA;AAC/D,IAAA,OAAOR,UAAAA;AAAAA,EACT;AACF;AAEO,SAASS,iBAAAA,GAAoB;AAClC,EAAA,MAAMC,mBAAoD,EAAA;AAC1D,EAAA,MAAMC,cAA0C,EAAA;AAEhDf,EAAAA,mBAAAA,EAAoB,CAAEgB,QAASC,CAAAA,KAAAA,KAAU;AACvC,IAAA,IAAI,qBAAqBA,KAAAA,EAAO;AAC9BH,MAAAA,gBAAAA,CAAiBI,KAAKD,KAAK,CAAA;AAAA,IAC7B,CAAA,MAAA,IAAW,aAAaA,KAAAA,EAAO;AAC7BF,MAAAA,WAAAA,CAAYG,KAAKD,KAAK,CAAA;AAAA,IACxB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACLH,gBAAAA;AAAAA,IACAC;AAAAA,GACF;AACF;AAEO,SAASI,kBAAkBF,KAAAA,EAAsB;AACtD,EAAA,MAAMZ,iBAAiBL,mBAAAA,EAAoB;AAC3C,EAAA,IACEK,cAAAA,CAAee,IAAAA,CACZC,CAAAA,CAAAA,KAAMA,CAAAA,CAAEC,SAAAA,CAAUC,WAAAA,EAAY,KAAMN,KAAAA,CAAMK,SAAAA,CAAUC,WAAAA,EACvD,CAAA,EAEA;AACFrB,EAAAA,YAAAA,CAAasB,OAAAA,CACX1B,2BACAQ,IAAAA,CAAKmB,SAAAA,CAAU,CAAC,GAAGpB,cAAAA,EAAgBY,KAAK,CAAC,CAC3C,CAAA;AACF;AAEO,SAASS,oBAAoBJ,SAAAA,EAAmB;AACrD,EAAA,MAAMjB,iBAAiBL,mBAAAA,EAAoB;AAE3CE,EAAAA,YAAAA,CAAasB,OAAAA,CACX1B,yBAAAA,EACAQ,IAAAA,CAAKmB,SAAAA,CACHpB,eAAesB,MAAAA,CACZV,CAAAA,KAAAA,KAAUA,KAAAA,CAAMK,SAAAA,CAAUC,aAAY,KAAMD,SAAAA,CAAUC,WAAAA,EACzD,CACF,CACF,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Hash } from 'viem';
|
|
2
|
+
import { PreSignDeltaOrderToPost } from '../../mutations/types';
|
|
3
|
+
type BatchPreSignData = {
|
|
4
|
+
callsId: string;
|
|
5
|
+
};
|
|
6
|
+
type StandalonePreSignData = {
|
|
7
|
+
transactionHash: Hash;
|
|
8
|
+
};
|
|
9
|
+
type PreSignTxData = BatchPreSignData | StandalonePreSignData;
|
|
10
|
+
export type UnpostedOrder = PreSignDeltaOrderToPost & PreSignTxData & {
|
|
11
|
+
timestamp: number;
|
|
12
|
+
};
|
|
13
|
+
export type UnpostedOrderWithStandaloneTx = UnpostedOrder & StandalonePreSignData;
|
|
14
|
+
export type UnpostedOrderWithBatchTx = UnpostedOrder & BatchPreSignData;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,KAAK,qBAAqB,GAAG;IAC3B,eAAe,EAAE,IAAI,CAAC;CACvB,CAAC;AACF,KAAK,aAAa,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,uBAAuB,GACjD,aAAa,GAAG;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,6BAA6B,GAAG,aAAa,GACvD,qBAAqB,CAAC;AACxB,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/utils.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAgG7C,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,wEA4B9D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { TransactionReceiptNotFoundError } from 'viem';
|
|
2
|
+
import { constructPartialSDK, constructAxiosFetcher, constructGetDeltaOrders, constructPostDeltaOrder } from '@velora-dex/sdk';
|
|
3
|
+
import { isStandaloneTransactionItem, isBatchTransactionItem } from '../../../../../../transactions/utils.js';
|
|
4
|
+
import { apiConfigAtom } from '../../../../../../core/state/apiConfigAtom.js';
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import { getApiURL } from '../../../../../../lib/constants/urls.js';
|
|
7
|
+
import { jotaiStore } from '../../../../../../core/store.js';
|
|
8
|
+
import { deltaOrdersQueryKey, ensureDeltaOrderByHashFactory } from '../../queries/useDeltaOrders.js';
|
|
9
|
+
import { userPreSignTransactionsAtom } from '../../../../../../transactions/state/transactionsAtom.js';
|
|
10
|
+
import { queryClient } from '../../../../../../lib/queryClient.js';
|
|
11
|
+
import { getTransactionReceipt, getCallsStatus } from '@wagmi/core';
|
|
12
|
+
import { wagmiConfig } from '../../../../../../lib/web3/wagmi/config.js';
|
|
13
|
+
import { ORDER_TTL_MS, logger } from './const.js';
|
|
14
|
+
|
|
15
|
+
function findPreSignTxForOrder(order, preSignTransactions) {
|
|
16
|
+
const txHash = "transactionHash" in order ? order.transactionHash.toLowerCase() : null;
|
|
17
|
+
const callsId = "callsId" in order ? order.callsId.toLowerCase() : null;
|
|
18
|
+
return preSignTransactions.find((tx) => {
|
|
19
|
+
if (txHash && isStandaloneTransactionItem(tx)) {
|
|
20
|
+
return tx.transactionHash.toLowerCase() === txHash;
|
|
21
|
+
}
|
|
22
|
+
return isBatchTransactionItem(tx) && tx.callsId.toLowerCase() === callsId;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function constructSDK(chainId) {
|
|
26
|
+
return constructPartialSDK({
|
|
27
|
+
apiURL: getApiURL(),
|
|
28
|
+
chainId,
|
|
29
|
+
fetcher: constructAxiosFetcher(axios, jotaiStore.get(apiConfigAtom))
|
|
30
|
+
}, constructGetDeltaOrders, constructPostDeltaOrder);
|
|
31
|
+
}
|
|
32
|
+
async function shouldPostOrder(order, sdk) {
|
|
33
|
+
const {
|
|
34
|
+
orderHash
|
|
35
|
+
} = order;
|
|
36
|
+
try {
|
|
37
|
+
const ensureOrderByHash = ensureDeltaOrderByHashFactory({
|
|
38
|
+
sdk
|
|
39
|
+
});
|
|
40
|
+
await ensureOrderByHash(orderHash);
|
|
41
|
+
return false;
|
|
42
|
+
} catch (e) {
|
|
43
|
+
if (!axios.isAxiosError(e) || e.response?.status !== 404) {
|
|
44
|
+
logger.error("ensureOrderByHash error", {
|
|
45
|
+
orderHash,
|
|
46
|
+
error: e
|
|
47
|
+
});
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const preSignTx = findPreSignTxForOrder(order, jotaiStore.get(userPreSignTransactionsAtom));
|
|
52
|
+
if (!preSignTx || preSignTx.dropped) return false;
|
|
53
|
+
if (isStandaloneTransactionItem(preSignTx)) {
|
|
54
|
+
if (preSignTx.receipt?.status === "reverted") return false;
|
|
55
|
+
try {
|
|
56
|
+
const receipt = await getTransactionReceipt(wagmiConfig, {
|
|
57
|
+
hash: preSignTx.transactionHash
|
|
58
|
+
});
|
|
59
|
+
if (receipt.status === "reverted") return false;
|
|
60
|
+
} catch (error) {
|
|
61
|
+
if (!(error instanceof TransactionReceiptNotFoundError)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (preSignTx.callsStatus === "failure") return false;
|
|
67
|
+
try {
|
|
68
|
+
const callsStatus = await getCallsStatus(wagmiConfig, {
|
|
69
|
+
id: preSignTx.callsId
|
|
70
|
+
});
|
|
71
|
+
if (callsStatus?.status === "failure") return false;
|
|
72
|
+
} catch {
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
async function processUnpostedOrder(order) {
|
|
78
|
+
if (Date.now() - order.timestamp > ORDER_TTL_MS) return;
|
|
79
|
+
const sdk = constructSDK(order.chainId);
|
|
80
|
+
const shouldPost = await shouldPostOrder(order, sdk);
|
|
81
|
+
if (!shouldPost) return;
|
|
82
|
+
const postedOrder = await sdk.postDeltaOrder({
|
|
83
|
+
signature: order.signature,
|
|
84
|
+
order: order.order,
|
|
85
|
+
partner: order.partner,
|
|
86
|
+
referrerAddress: order.referrerAddress,
|
|
87
|
+
type: order.type,
|
|
88
|
+
includeAgents: order.includeAgents,
|
|
89
|
+
excludeAgents: order.excludeAgents
|
|
90
|
+
});
|
|
91
|
+
if (postedOrder) {
|
|
92
|
+
queryClient.invalidateQueries({
|
|
93
|
+
queryKey: deltaOrdersQueryKey({
|
|
94
|
+
userAddress: postedOrder.order.owner
|
|
95
|
+
}),
|
|
96
|
+
exact: false
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return postedOrder;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export { processUnpostedOrder };
|
|
103
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/utils.ts"],"sourcesContent":["import { TransactionReceiptNotFoundError } from \"viem\";\n\nimport {\n constructAxiosFetcher,\n constructGetDeltaOrders,\n constructPartialSDK,\n constructPostDeltaOrder,\n type GetDeltaOrdersFunctions,\n type PostDeltaOrderFunctions,\n} from \"@velora-dex/sdk\";\nimport {\n isBatchTransactionItem,\n isStandaloneTransactionItem,\n} from \"@/transactions/utils\";\nimport type { PreSignTransactionItem } from \"@/transactions/types\";\nimport { apiConfigAtom } from \"@/core/state/apiConfigAtom\";\nimport type { ConstructBaseInput } from \"@velora-dex/sdk/dist/types\";\nimport axios from \"axios\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { jotaiStore } from \"@/core/store\";\nimport {\n deltaOrdersQueryKey,\n ensureDeltaOrderByHashFactory,\n} from \"../../queries/useDeltaOrders\";\nimport { userPreSignTransactionsAtom } from \"@/transactions/state/transactionsAtom\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { getCallsStatus, getTransactionReceipt } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { UnpostedOrder } from \"./types\";\nimport { logger, ORDER_TTL_MS } from \"./const\";\n\nfunction findPreSignTxForOrder(\n order: UnpostedOrder,\n preSignTransactions: PreSignTransactionItem[]\n) {\n const txHash =\n \"transactionHash\" in order ? order.transactionHash.toLowerCase() : null;\n const callsId = \"callsId\" in order ? order.callsId.toLowerCase() : null;\n\n return preSignTransactions.find((tx) => {\n if (txHash && isStandaloneTransactionItem(tx)) {\n return tx.transactionHash.toLowerCase() === txHash;\n }\n\n return isBatchTransactionItem(tx) && tx.callsId.toLowerCase() === callsId;\n });\n}\n\ntype MinPostOrderSDK = GetDeltaOrdersFunctions &\n PostDeltaOrderFunctions &\n Required<ConstructBaseInput>;\n\nfunction constructSDK(chainId: number): MinPostOrderSDK {\n return constructPartialSDK(\n {\n apiURL: getApiURL(),\n chainId,\n fetcher: constructAxiosFetcher(axios, jotaiStore.get(apiConfigAtom)),\n },\n constructGetDeltaOrders,\n constructPostDeltaOrder\n );\n}\n\nasync function shouldPostOrder(\n order: UnpostedOrder,\n sdk: MinPostOrderSDK\n): Promise<boolean> {\n const { orderHash } = order;\n\n try {\n const ensureOrderByHash = ensureDeltaOrderByHashFactory({ sdk });\n await ensureOrderByHash(orderHash);\n return false; // order already posted\n } catch (e) {\n if (!axios.isAxiosError(e) || e.response?.status !== 404) {\n logger.error(\"ensureOrderByHash error\", { orderHash, error: e });\n return false; // safer not to retry if we cannot identify the error\n }\n }\n\n const preSignTx = findPreSignTxForOrder(\n order,\n jotaiStore.get(userPreSignTransactionsAtom)\n );\n\n // localStorage was cleared in between\n if (!preSignTx || preSignTx.dropped) return false;\n\n if (isStandaloneTransactionItem(preSignTx)) {\n // tx from localStorage reverted\n if (preSignTx.receipt?.status === \"reverted\") return false;\n\n try {\n const receipt = await getTransactionReceipt(wagmiConfig, {\n hash: preSignTx.transactionHash,\n });\n // tx reverted\n if (receipt.status === \"reverted\") return false;\n } catch (error) {\n // tx may still be pending if no receipt is returned\n if (!(error instanceof TransactionReceiptNotFoundError)) {\n return false; // do not retry for other errors\n }\n }\n } else {\n // batch from localStorage failed\n if (preSignTx.callsStatus === \"failure\") return false;\n\n try {\n const callsStatus = await getCallsStatus(wagmiConfig, {\n id: preSignTx.callsId,\n });\n // batch failed\n if (callsStatus?.status === \"failure\") return false;\n } catch {\n // likely wallet that doesn't support batches,\n // or different wallet was connected and callsId is not found\n }\n }\n\n return true;\n}\n\nexport async function processUnpostedOrder(order: UnpostedOrder) {\n // ignore expired orders\n if (Date.now() - order.timestamp > ORDER_TTL_MS) return;\n\n const sdk = constructSDK(order.chainId);\n\n const shouldPost = await shouldPostOrder(order, sdk);\n if (!shouldPost) return;\n\n const postedOrder = await sdk.postDeltaOrder({\n signature: order.signature,\n order: order.order,\n partner: order.partner,\n referrerAddress: order.referrerAddress,\n type: order.type,\n includeAgents: order.includeAgents,\n excludeAgents: order.excludeAgents,\n });\n\n if (postedOrder) {\n // invalidate delta orders query so UI picks up the new order\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({ userAddress: postedOrder.order.owner }),\n exact: false,\n });\n }\n\n return postedOrder;\n}\n"],"names":["findPreSignTxForOrder","order","preSignTransactions","txHash","transactionHash","toLowerCase","callsId","find","tx","isStandaloneTransactionItem","isBatchTransactionItem","constructSDK","chainId","constructPartialSDK","apiURL","getApiURL","fetcher","constructAxiosFetcher","axios","jotaiStore","get","apiConfigAtom","constructGetDeltaOrders","constructPostDeltaOrder","shouldPostOrder","sdk","orderHash","ensureOrderByHash","ensureDeltaOrderByHashFactory","e","isAxiosError","response","status","logger","error","preSignTx","userPreSignTransactionsAtom","dropped","receipt","getTransactionReceipt","wagmiConfig","hash","TransactionReceiptNotFoundError","callsStatus","getCallsStatus","id","processUnpostedOrder","Date","now","timestamp","ORDER_TTL_MS","shouldPost","postedOrder","postDeltaOrder","signature","partner","referrerAddress","type","includeAgents","excludeAgents","queryClient","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","owner","exact"],"mappings":";;;;;;;;;;;;;;AA+BA,SAASA,qBAAAA,CACPC,OACAC,mBAAAA,EACA;AACA,EAAA,MAAMC,SACJ,iBAAA,IAAqBF,KAAAA,GAAQA,KAAAA,CAAMG,eAAAA,CAAgBC,aAAY,GAAI,IAAA;AACrE,EAAA,MAAMC,UAAU,SAAA,IAAaL,KAAAA,GAAQA,KAAAA,CAAMK,OAAAA,CAAQD,aAAY,GAAI,IAAA;AAEnE,EAAA,OAAOH,mBAAAA,CAAoBK,KAAMC,CAAAA,EAAAA,KAAO;AACtC,IAAA,IAAIL,MAAAA,IAAUM,2BAAAA,CAA4BD,EAAE,CAAA,EAAG;AAC7C,MAAA,OAAOA,EAAAA,CAAGJ,eAAAA,CAAgBC,WAAAA,EAAY,KAAMF,MAAAA;AAAAA,IAC9C;AAEA,IAAA,OAAOO,uBAAuBF,EAAE,CAAA,IAAKA,EAAAA,CAAGF,OAAAA,CAAQD,aAAY,KAAMC,OAAAA;AAAAA,EACpE,CAAC,CAAA;AACH;AAMA,SAASK,aAAaC,OAAAA,EAAkC;AACtD,EAAA,OAAOC,mBAAAA,CACL;AAAA,IACEC,QAAQC,SAAAA,EAAU;AAAA,IAClBH,OAAAA;AAAAA,IACAI,SAASC,qBAAAA,CAAsBC,KAAAA,EAAOC,UAAAA,CAAWC,GAAAA,CAAIC,aAAa,CAAC;AAAA,GACrE,EACAC,yBACAC,uBACF,CAAA;AACF;AAEA,eAAeC,eAAAA,CACbvB,OACAwB,GAAAA,EACkB;AAClB,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIzB,KAAAA;AAEtB,EAAA,IAAI;AACF,IAAA,MAAM0B,oBAAoBC,6BAAAA,CAA8B;AAAA,MAAEH;AAAAA,KAAK,CAAA;AAC/D,IAAA,MAAME,kBAAkBD,SAAS,CAAA;AACjC,IAAA,OAAO,KAAA;AAAA,EACT,SAASG,CAAAA,EAAG;AACV,IAAA,IAAI,CAACX,MAAMY,YAAAA,CAAaD,CAAC,KAAKA,CAAAA,CAAEE,QAAAA,EAAUC,WAAW,GAAA,EAAK;AACxDC,MAAAA,MAAAA,CAAOC,MAAM,yBAAA,EAA2B;AAAA,QAAER,SAAAA;AAAAA,QAAWQ,KAAAA,EAAOL;AAAAA,OAAG,CAAA;AAC/D,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,MAAMM,YAAYnC,qBAAAA,CAChBC,KAAAA,EACAkB,UAAAA,CAAWC,GAAAA,CAAIgB,2BAA2B,CAC5C,CAAA;AAGA,EAAA,IAAI,CAACD,SAAAA,IAAaA,SAAAA,CAAUE,OAAAA,EAAS,OAAO,KAAA;AAE5C,EAAA,IAAI5B,2BAAAA,CAA4B0B,SAAS,CAAA,EAAG;AAE1C,IAAA,IAAIA,SAAAA,CAAUG,OAAAA,EAASN,MAAAA,KAAW,UAAA,EAAY,OAAO,KAAA;AAErD,IAAA,IAAI;AACF,MAAA,MAAMM,OAAAA,GAAU,MAAMC,qBAAAA,CAAsBC,WAAAA,EAAa;AAAA,QACvDC,MAAMN,SAAAA,CAAU/B;AAAAA,OACjB,CAAA;AAED,MAAA,IAAIkC,OAAAA,CAAQN,MAAAA,KAAW,UAAA,EAAY,OAAO,KAAA;AAAA,IAC5C,SAASE,KAAAA,EAAO;AAEd,MAAA,IAAI,EAAEA,iBAAiBQ,+BAAAA,CAAAA,EAAkC;AACvD,QAAA,OAAO,KAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAA,MAAO;AAEL,IAAA,IAAIP,SAAAA,CAAUQ,WAAAA,KAAgB,SAAA,EAAW,OAAO,KAAA;AAEhD,IAAA,IAAI;AACF,MAAA,MAAMA,WAAAA,GAAc,MAAMC,cAAAA,CAAeJ,WAAAA,EAAa;AAAA,QACpDK,IAAIV,SAAAA,CAAU7B;AAAAA,OACf,CAAA;AAED,MAAA,IAAIqC,WAAAA,EAAaX,MAAAA,KAAW,SAAA,EAAW,OAAO,KAAA;AAAA,IAChD,CAAA,CAAA,MAAQ;AAAA,IAEN;AAAA,EAEJ;AAEA,EAAA,OAAO,IAAA;AACT;AAEA,eAAsBc,qBAAqB7C,KAAAA,EAAsB;AAE/D,EAAA,IAAI8C,IAAAA,CAAKC,GAAAA,EAAI,GAAI/C,KAAAA,CAAMgD,YAAYC,YAAAA,EAAc;AAEjD,EAAA,MAAMzB,GAAAA,GAAMd,YAAAA,CAAaV,KAAAA,CAAMW,OAAO,CAAA;AAEtC,EAAA,MAAMuC,UAAAA,GAAa,MAAM3B,eAAAA,CAAgBvB,KAAAA,EAAOwB,GAAG,CAAA;AACnD,EAAA,IAAI,CAAC0B,UAAAA,EAAY;AAEjB,EAAA,MAAMC,WAAAA,GAAc,MAAM3B,GAAAA,CAAI4B,cAAAA,CAAe;AAAA,IAC3CC,WAAWrD,KAAAA,CAAMqD,SAAAA;AAAAA,IACjBrD,OAAOA,KAAAA,CAAMA,KAAAA;AAAAA,IACbsD,SAAStD,KAAAA,CAAMsD,OAAAA;AAAAA,IACfC,iBAAiBvD,KAAAA,CAAMuD,eAAAA;AAAAA,IACvBC,MAAMxD,KAAAA,CAAMwD,IAAAA;AAAAA,IACZC,eAAezD,KAAAA,CAAMyD,aAAAA;AAAAA,IACrBC,eAAe1D,KAAAA,CAAM0D;AAAAA,GACtB,CAAA;AAED,EAAA,IAAIP,WAAAA,EAAa;AAEfQ,IAAAA,WAAAA,CAAYC,iBAAAA,CAAkB;AAAA,MAC5BC,UAAUC,mBAAAA,CAAoB;AAAA,QAAEC,WAAAA,EAAaZ,YAAYnD,KAAAA,CAAMgE;AAAAA,OAAO,CAAA;AAAA,MACtEC,KAAAA,EAAO;AAAA,KACR,CAAA;AAAA,EACH;AAEA,EAAA,OAAOd,WAAAA;AACT;;;;"}
|
|
@@ -35,5 +35,12 @@ export declare const BridgeStatusChecker: {
|
|
|
35
35
|
export type VisualOrderStatus = "pending" | "executing" | "failed" | "confirmed";
|
|
36
36
|
export declare function getSingleChainOrderStatus(orderStatus: DeltaAuctionStatus): VisualOrderStatus;
|
|
37
37
|
export declare function getCrossChainOrderStatus(status: DeltaAuctionStatus, bridgeStatus: BridgeStatus | null): VisualOrderStatus;
|
|
38
|
+
/**
|
|
39
|
+
* For Delta Orders in the Trade Flow to switch between flow steps based on the order status
|
|
40
|
+
*/
|
|
38
41
|
export declare function getOverallOrderStatus(order: Pick<DeltaAuction, "status" | "bridgeStatus" | "order">): VisualOrderStatus;
|
|
42
|
+
/**
|
|
43
|
+
* For displaying order status to users.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getDisplayedOrderStatus(status: DeltaAuctionStatus): string;
|
|
39
46
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAU5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,QAAQ,CAAC;CACxB,CAEA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,UAAU,CAAC;CAC1B,CAEA;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,oBAAoB,CASjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,kBAAkB,CAgB/B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,WAAW,CAAC;CACrB,CAEA;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,SAAS,CAAC;CACnB,CAEA;AAKD,eAAO,MAAM,uBAAuB;;;;;;;;CAwCnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,iBAAiB,CAQnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,iBAAiB,CAcnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,GAC7D,iBAAiB,CAInB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAG1E"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { replaceUnderscoresWithSpaces } from '../../../../../lib/utils/index.js';
|
|
2
|
+
|
|
1
3
|
function isOrderCrosschain(order) {
|
|
2
4
|
return order.bridge && order.bridge.destinationChainId !== 0;
|
|
3
5
|
}
|
|
@@ -15,7 +17,7 @@ function isExecutedDeltaAuction(auction, waitForCrosschain = true) {
|
|
|
15
17
|
return true;
|
|
16
18
|
}
|
|
17
19
|
function isFailedDeltaAuction(auction, waitForCrosschain = true) {
|
|
18
|
-
if (auction.status
|
|
20
|
+
if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;
|
|
19
21
|
if (waitForCrosschain && auction.status === "EXECUTED" && auction.order.bridge.destinationChainId !== 0) {
|
|
20
22
|
return auction.bridgeStatus === "expired" || auction.bridgeStatus === "refunded";
|
|
21
23
|
}
|
|
@@ -33,8 +35,8 @@ const DeltaOrderStatusChecker = {
|
|
|
33
35
|
executing: /* @__PURE__ */ new Set(["EXECUTING"]),
|
|
34
36
|
// order always active, unless actual submission breaks
|
|
35
37
|
success: /* @__PURE__ */ new Set(["EXECUTED"]),
|
|
36
|
-
completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED", "CANCELLED"]),
|
|
37
|
-
failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED", "CANCELLED"]),
|
|
38
|
+
completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED", "CANCELLED", "REFUNDED"]),
|
|
39
|
+
failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED", "CANCELLED", "REFUNDED"]),
|
|
38
40
|
cancellable: /* @__PURE__ */ new Set(["NOT_STARTED", "RUNNING", "AWAITING_PRE_SIGNATURE", "EXECUTING", "SUSPENDED"])
|
|
39
41
|
};
|
|
40
42
|
const BridgeStatusChecker = {
|
|
@@ -55,6 +57,10 @@ function getCrossChainOrderStatus(status, bridgeStatus) {
|
|
|
55
57
|
function getOverallOrderStatus(order) {
|
|
56
58
|
return isOrderCrosschain(order.order) ? getCrossChainOrderStatus(order.status, order.bridgeStatus) : getSingleChainOrderStatus(order.status);
|
|
57
59
|
}
|
|
60
|
+
function getDisplayedOrderStatus(status) {
|
|
61
|
+
if (status === "AWAITING_PRE_SIGNATURE") return "UNSIGNED";
|
|
62
|
+
return replaceUnderscoresWithSpaces(status);
|
|
63
|
+
}
|
|
58
64
|
|
|
59
|
-
export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isCanceledDeltaAuction, isDeltaAuctionExpired, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain };
|
|
65
|
+
export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getDisplayedOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isCanceledDeltaAuction, isDeltaAuctionExpired, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain };
|
|
60
66
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (auction.status
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (\n waitForCrosschain &&\n auction.status === \"EXECUTED\" &&\n auction.order.bridge.destinationChainId !== 0\n ) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","success","completed","cancellable","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getOverallOrderStatus","getDisplayedOrderStatus","replaceUnderscoresWithSpaces"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
1
|
+
import { QueryClient, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import { DeltaOrderApiResponse, GetDeltaOrdersFunctions, DeltaOrderFromAPI } from '@velora-dex/sdk';
|
|
3
3
|
import { MarkOptional } from 'ts-essentials';
|
|
4
4
|
export type SubmittedDeltaOrderFromAPI = DeltaOrderApiResponse;
|
|
@@ -8,11 +8,11 @@ type DeltaOrderByHashReturn = DeltaOrderFromAPI;
|
|
|
8
8
|
type DeltaOrderByHashQueryParams<TData = DeltaOrderByHashReturn> = Omit<UseQueryOptions<DeltaOrderByHashReturn, Error, TData, DeltaOrderByHashQueryKey>, "queryKey" | "queryFn">;
|
|
9
9
|
type DeltaOrderByHashQueryResult<TData = DeltaOrderByHashReturn> = UseQueryResult<TData, Error>;
|
|
10
10
|
type DeltaOrderByHashQueryInput<TData = DeltaOrderByHashReturn> = {
|
|
11
|
-
|
|
11
|
+
orderHash: DeltaOrderByHashParams;
|
|
12
12
|
query?: DeltaOrderByHashQueryParams<TData>;
|
|
13
13
|
};
|
|
14
14
|
type DeltaOrderByHashQueryKey = [
|
|
15
|
-
base:
|
|
15
|
+
base: typeof DELTA_ORDER_BY_HASH_QUERY_KEY,
|
|
16
16
|
orderParams: DeltaOrderByHashParams
|
|
17
17
|
];
|
|
18
18
|
type DeltaOrderByIdParams = string;
|
|
@@ -43,7 +43,12 @@ type DeltaOrdersQueryKey = [
|
|
|
43
43
|
base: "swap/delta/orders",
|
|
44
44
|
orderParams: MarkOptional<DeltaOrdersParams, "userAddress">
|
|
45
45
|
];
|
|
46
|
-
|
|
46
|
+
declare const DELTA_ORDER_BY_HASH_QUERY_KEY = "swap/delta/order-by-hash";
|
|
47
|
+
export declare function useDeltaOrderByHashQuery<TData = DeltaOrderByHashReturn>({ orderHash, query, }: DeltaOrderByHashQueryInput<TData>): DeltaOrderByHashQueryResult<TData>;
|
|
48
|
+
export declare function ensureDeltaOrderByHashFactory({ queryClient, sdk, }: {
|
|
49
|
+
queryClient?: QueryClient;
|
|
50
|
+
sdk: GetDeltaOrdersFunctions;
|
|
51
|
+
}): (orderHash: string) => Promise<DeltaOrderFromAPI>;
|
|
47
52
|
export declare function useDeltaOrderByIdQuery<TData = DeltaOrderByIdReturn>({ orderParams, query, }: DeltaOrderByIdQueryInput<TData>): DeltaOrderByIdQueryResult<TData>;
|
|
48
53
|
export declare function useDeltaOrdersQuery<TData = DeltaOrdersReturn>({ orderParams, query, }: DeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData>;
|
|
49
54
|
export declare function useUserDeltaOrdersQuery<TData = DeltaOrdersReturn>({ orderParams: _orderParams, query, }: UserDeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAMlC,KAAK,sBAAsB,GAAG,MAAM,CAAC;AACrC,KAAK,sBAAsB,GAAG,iBAAiB,CAAC;AAEhD,KAAK,2BAA2B,CAAC,KAAK,GAAG,sBAAsB,IAAI,IAAI,CACrE,eAAe,CACb,sBAAsB,EACtB,KAAK,EACL,KAAK,EACL,wBAAwB,CACzB,EACD,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,2BAA2B,CAAC,KAAK,GAAG,sBAAsB,IAC7D,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/B,KAAK,0BAA0B,CAAC,KAAK,GAAG,sBAAsB,IAAI;IAChE,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC;CAC5C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,OAAO,6BAA6B;IAC1C,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAMF,KAAK,oBAAoB,GAAG,MAAM,CAAC;AACnC,KAAK,oBAAoB,GAAG,iBAAiB,CAAC;AAE9C,KAAK,yBAAyB,CAAC,KAAK,GAAG,oBAAoB,IAAI,IAAI,CACjE,eAAe,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAC3E,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,yBAAyB,CAAC,KAAK,GAAG,oBAAoB,IAAI,cAAc,CAC3E,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,wBAAwB,CAAC,KAAK,GAAG,oBAAoB,IAAI;IAC5D,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;CAC1C,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAMF,KAAK,iBAAiB,GAAG,UAAU,CACjC,uBAAuB,CAAC,gBAAgB,CAAC,CAC1C,CAAC,CAAC,CAAC,CAAC;AACL,KAAK,iBAAiB,GAAG,OAAO,CAC9B,UAAU,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CACtD,CAAC;AAEF,KAAK,sBAAsB,CAAC,KAAK,GAAG,iBAAiB,IAAI,IAAI,CAC3D,eAAe,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EACrE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,sBAAsB,CAAC,KAAK,GAAG,iBAAiB,IAAI,cAAc,CACrE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,qBAAqB,CAAC,KAAK,GAAG,iBAAiB,IAAI;IACtD,WAAW,EAAE,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,yBAAyB,CAAC,KAAK,GAAG,iBAAiB,IAAI;IAC1D,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC;CAC5D,CAAC;AAMF,QAAA,MAAM,6BAA6B,6BAA6B,CAAC;AAEjE,wBAAgB,wBAAwB,CAAC,KAAK,GAAG,sBAAsB,EAAE,EACvE,SAAS,EACT,KAAK,GACN,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAiBxE;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,WAA0B,EAC1B,GAAG,GACJ,EAAE;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,GAAG,EAAE,uBAAuB,CAAC;CAC9B,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAcpD;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,GAAG,oBAAoB,EAAE,EACnE,WAAW,EACX,KAAK,GACN,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAYpE;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,iBAAiB,EAAE,EAC7D,WAAW,EACX,KAAK,GACN,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAa9D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,GAAG,iBAAiB,EAAE,EACjE,WAAW,EAAE,YAAY,EACzB,KAAK,GACN,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CASlE;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,GAAG,WAAW,EACf,EAAE,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,mBAAmB,CAQtE"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { d as distExports } from '../../../../../_virtual/index.js';
|
|
2
2
|
import { useDeltaSDK } from '../../../../useSDK.js';
|
|
3
|
+
import { queryClient } from '../../../../../lib/queryClient.js';
|
|
3
4
|
import { assertProp } from '../../../../../lib/utils/index.js';
|
|
4
5
|
import { useQuery } from '@tanstack/react-query';
|
|
5
6
|
import { useAccount } from 'wagmi';
|
|
6
7
|
|
|
8
|
+
const DELTA_ORDER_BY_HASH_QUERY_KEY = "swap/delta/order-by-hash";
|
|
9
|
+
function ensureDeltaOrderByHashFactory({
|
|
10
|
+
queryClient: queryClient$1 = queryClient,
|
|
11
|
+
sdk
|
|
12
|
+
}) {
|
|
13
|
+
const ensureFn = async (orderHash) => {
|
|
14
|
+
return queryClient$1.ensureQueryData({
|
|
15
|
+
queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],
|
|
16
|
+
queryFn: ({
|
|
17
|
+
signal
|
|
18
|
+
}) => sdk.getDeltaOrderByHash(orderHash, {
|
|
19
|
+
signal
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
return ensureFn;
|
|
24
|
+
}
|
|
7
25
|
function useDeltaOrdersQuery(t0) {
|
|
8
26
|
const $ = distExports.c(11);
|
|
9
27
|
const {
|
|
@@ -113,5 +131,5 @@ function deltaOrdersQueryKey({
|
|
|
113
131
|
}];
|
|
114
132
|
}
|
|
115
133
|
|
|
116
|
-
export { deltaOrdersQueryKey, useDeltaOrdersQuery, useUserDeltaOrdersQuery };
|
|
134
|
+
export { deltaOrdersQueryKey, ensureDeltaOrderByHashFactory, useDeltaOrdersQuery, useUserDeltaOrdersQuery };
|
|
117
135
|
//# sourceMappingURL=useDeltaOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaOrders.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { assertProp } from \"@/lib/utils\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n DeltaOrderApiResponse,\n GetDeltaOrdersFunctions,\n DeltaOrderFromAPI,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\nexport type SubmittedDeltaOrderFromAPI = DeltaOrderApiResponse;\nexport type { DeltaOrderFromAPI };\n\n// ============================================================================\n// Types for getDeltaOrderByHash\n// ============================================================================\n\ntype DeltaOrderByHashParams = string; // orderHash\ntype DeltaOrderByHashReturn = DeltaOrderFromAPI;\n\ntype DeltaOrderByHashQueryParams<TData = DeltaOrderByHashReturn> = Omit<\n UseQueryOptions<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByHashQueryResult<TData = DeltaOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype DeltaOrderByHashQueryInput<TData = DeltaOrderByHashReturn> = {\n orderParams: DeltaOrderByHashParams;\n query?: DeltaOrderByHashQueryParams<TData>;\n};\n\ntype DeltaOrderByHashQueryKey = [\n base: \"swap/delta/order-by-hash\",\n orderParams: DeltaOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrderById\n// ============================================================================\n\ntype DeltaOrderByIdParams = string; // orderId\ntype DeltaOrderByIdReturn = DeltaOrderFromAPI;\n\ntype DeltaOrderByIdQueryParams<TData = DeltaOrderByIdReturn> = Omit<\n UseQueryOptions<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByIdQueryResult<TData = DeltaOrderByIdReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrderByIdQueryInput<TData = DeltaOrderByIdReturn> = {\n orderParams: DeltaOrderByIdParams;\n query?: DeltaOrderByIdQueryParams<TData>;\n};\n\ntype DeltaOrderByIdQueryKey = [\n base: \"swap/delta/order-by-id\",\n orderParams: DeltaOrderByIdParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrders\n// ============================================================================\n\ntype DeltaOrdersParams = Parameters<\n GetDeltaOrdersFunctions[\"getDeltaOrders\"]\n>[0];\ntype DeltaOrdersReturn = Awaited<\n ReturnType<GetDeltaOrdersFunctions[\"getDeltaOrders\"]>\n>;\n\ntype DeltaOrdersQueryParams<TData = DeltaOrdersReturn> = Omit<\n UseQueryOptions<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrdersQueryResult<TData = DeltaOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype UserDeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: Omit<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype DeltaOrdersQueryKey = [\n base: \"swap/delta/orders\",\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">,\n];\n\n// ============================================================================\n// Hook for getDeltaOrderByHash\n// ============================================================================\n\nexport function useDeltaOrderByHashQuery<TData = DeltaOrderByHashReturn>({\n orderParams,\n query,\n}: DeltaOrderByHashQueryInput<TData>): DeltaOrderByHashQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [\"swap/delta/order-by-hash\", orderParams],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderByHash(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\n// ============================================================================\n// Hook for getDeltaOrderById\n// ============================================================================\n\nexport function useDeltaOrderByIdQuery<TData = DeltaOrderByIdReturn>({\n orderParams,\n query,\n}: DeltaOrderByIdQueryInput<TData>): DeltaOrderByIdQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>({\n queryKey: [\"swap/delta/order-by-id\", orderParams],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderById(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\n// ============================================================================\n// Hook for getDeltaOrders\n// ============================================================================\n\nexport function useDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams,\n query,\n}: DeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>({\n queryKey: deltaOrdersQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assertProp(orderParams, \"userAddress\");\n const orders = sdk.getDeltaOrders(orderParams, { signal });\n return orders;\n },\n ...query,\n enabled: !!orderParams.userAddress && (query?.enabled ?? true),\n });\n}\n\nexport function useUserDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams: _orderParams,\n query,\n}: UserDeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = {\n ..._orderParams,\n userAddress: account,\n };\n\n return useDeltaOrdersQuery({ orderParams, query });\n}\n\nexport function deltaOrdersQueryKey({\n userAddress,\n ...orderParams\n}: MarkOptional<DeltaOrdersParams, \"userAddress\">): DeltaOrdersQueryKey {\n return [\n \"swap/delta/orders\",\n {\n ...orderParams,\n userAddress: userAddress?.toLowerCase(),\n },\n ] as const;\n}\n"],"names":["useDeltaOrdersQuery","t0","$","_c","orderParams","query","t1","Symbol","for","chainId","sdk","useDeltaSDK","t2","deltaOrdersQueryKey","t3","t4","signal","assertProp","orders","getDeltaOrders","userAddress","enabled","t5","queryKey","queryFn","useQuery","useUserDeltaOrdersQuery","_orderParams","address","account","useAccount","toLowerCase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDeltaOrders.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { assertProp } from \"@/lib/utils\";\nimport {\n QueryClient,\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n DeltaOrderApiResponse,\n GetDeltaOrdersFunctions,\n DeltaOrderFromAPI,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport { useAccount } from \"wagmi\";\n\nexport type SubmittedDeltaOrderFromAPI = DeltaOrderApiResponse;\nexport type { DeltaOrderFromAPI };\n\n// ============================================================================\n// Types for getDeltaOrderByHash\n// ============================================================================\n\ntype DeltaOrderByHashParams = string; // orderHash\ntype DeltaOrderByHashReturn = DeltaOrderFromAPI;\n\ntype DeltaOrderByHashQueryParams<TData = DeltaOrderByHashReturn> = Omit<\n UseQueryOptions<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByHashQueryResult<TData = DeltaOrderByHashReturn> =\n UseQueryResult<TData, Error>;\n\ntype DeltaOrderByHashQueryInput<TData = DeltaOrderByHashReturn> = {\n orderHash: DeltaOrderByHashParams;\n query?: DeltaOrderByHashQueryParams<TData>;\n};\n\ntype DeltaOrderByHashQueryKey = [\n base: typeof DELTA_ORDER_BY_HASH_QUERY_KEY,\n orderParams: DeltaOrderByHashParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrderById\n// ============================================================================\n\ntype DeltaOrderByIdParams = string; // orderId\ntype DeltaOrderByIdReturn = DeltaOrderFromAPI;\n\ntype DeltaOrderByIdQueryParams<TData = DeltaOrderByIdReturn> = Omit<\n UseQueryOptions<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrderByIdQueryResult<TData = DeltaOrderByIdReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrderByIdQueryInput<TData = DeltaOrderByIdReturn> = {\n orderParams: DeltaOrderByIdParams;\n query?: DeltaOrderByIdQueryParams<TData>;\n};\n\ntype DeltaOrderByIdQueryKey = [\n base: \"swap/delta/order-by-id\",\n orderParams: DeltaOrderByIdParams,\n];\n\n// ============================================================================\n// Types for getDeltaOrders\n// ============================================================================\n\ntype DeltaOrdersParams = Parameters<\n GetDeltaOrdersFunctions[\"getDeltaOrders\"]\n>[0];\ntype DeltaOrdersReturn = Awaited<\n ReturnType<GetDeltaOrdersFunctions[\"getDeltaOrders\"]>\n>;\n\ntype DeltaOrdersQueryParams<TData = DeltaOrdersReturn> = Omit<\n UseQueryOptions<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaOrdersQueryResult<TData = DeltaOrdersReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype DeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype UserDeltaOrdersQueryInput<TData = DeltaOrdersReturn> = {\n orderParams: Omit<DeltaOrdersParams, \"userAddress\">;\n query?: DeltaOrdersQueryParams<TData>;\n};\n\ntype DeltaOrdersQueryKey = [\n base: \"swap/delta/orders\",\n orderParams: MarkOptional<DeltaOrdersParams, \"userAddress\">,\n];\n\n// ============================================================================\n// Hook for getDeltaOrderByHash\n// ============================================================================\n\nconst DELTA_ORDER_BY_HASH_QUERY_KEY = \"swap/delta/order-by-hash\";\n\nexport function useDeltaOrderByHashQuery<TData = DeltaOrderByHashReturn>({\n orderHash,\n query,\n}: DeltaOrderByHashQueryInput<TData>): DeltaOrderByHashQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<\n DeltaOrderByHashReturn,\n Error,\n TData,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderByHash(orderHash, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\nexport function ensureDeltaOrderByHashFactory({\n queryClient = _queryClient,\n sdk,\n}: {\n queryClient?: QueryClient;\n sdk: GetDeltaOrdersFunctions;\n}): (orderHash: string) => Promise<DeltaOrderFromAPI> {\n const ensureFn = async (orderHash: string) => {\n return queryClient.ensureQueryData<\n DeltaOrderByHashReturn,\n Error,\n DeltaOrderByHashReturn,\n DeltaOrderByHashQueryKey\n >({\n queryKey: [DELTA_ORDER_BY_HASH_QUERY_KEY, orderHash],\n queryFn: ({ signal }) => sdk.getDeltaOrderByHash(orderHash, { signal }),\n });\n };\n\n return ensureFn;\n}\n\n// ============================================================================\n// Hook for getDeltaOrderById\n// ============================================================================\n\nexport function useDeltaOrderByIdQuery<TData = DeltaOrderByIdReturn>({\n orderParams,\n query,\n}: DeltaOrderByIdQueryInput<TData>): DeltaOrderByIdQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrderByIdReturn, Error, TData, DeltaOrderByIdQueryKey>({\n queryKey: [\"swap/delta/order-by-id\", orderParams],\n queryFn: ({ signal }) => {\n const order = sdk.getDeltaOrderById(orderParams, { signal });\n return order;\n },\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\n// ============================================================================\n// Hook for getDeltaOrders\n// ============================================================================\n\nexport function useDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams,\n query,\n}: DeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n return useQuery<DeltaOrdersReturn, Error, TData, DeltaOrdersQueryKey>({\n queryKey: deltaOrdersQueryKey(orderParams),\n queryFn: ({ signal }) => {\n assertProp(orderParams, \"userAddress\");\n const orders = sdk.getDeltaOrders(orderParams, { signal });\n return orders;\n },\n ...query,\n enabled: !!orderParams.userAddress && (query?.enabled ?? true),\n });\n}\n\nexport function useUserDeltaOrdersQuery<TData = DeltaOrdersReturn>({\n orderParams: _orderParams,\n query,\n}: UserDeltaOrdersQueryInput<TData>): DeltaOrdersQueryResult<TData> {\n const { address: account } = useAccount();\n\n const orderParams = {\n ..._orderParams,\n userAddress: account,\n };\n\n return useDeltaOrdersQuery({ orderParams, query });\n}\n\nexport function deltaOrdersQueryKey({\n userAddress,\n ...orderParams\n}: MarkOptional<DeltaOrdersParams, \"userAddress\">): DeltaOrdersQueryKey {\n return [\n \"swap/delta/orders\",\n {\n ...orderParams,\n userAddress: userAddress?.toLowerCase(),\n },\n ] as const;\n}\n"],"names":["DELTA_ORDER_BY_HASH_QUERY_KEY","ensureDeltaOrderByHashFactory","queryClient","_queryClient","sdk","ensureFn","orderHash","ensureQueryData","queryKey","queryFn","signal","getDeltaOrderByHash","useDeltaOrdersQuery","t0","$","_c","orderParams","query","t1","Symbol","for","chainId","useDeltaSDK","t2","deltaOrdersQueryKey","t3","t4","assertProp","orders","getDeltaOrders","userAddress","enabled","t5","useQuery","useUserDeltaOrdersQuery","_orderParams","address","account","useAccount","toLowerCase"],"mappings":";;;;;;;AAkHA,MAAMA,6BAAAA,GAAgC,0BAAA;AAwB/B,SAASC,6BAAAA,CAA8B;AAAA,eAC5CC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC;AAIF,CAAA,EAAsD;AACpD,EAAA,MAAMC,QAAAA,GAAW,OAAOC,SAAAA,KAAsB;AAC5C,IAAA,OAAOJ,cAAYK,eAAAA,CAKjB;AAAA,MACAC,QAAAA,EAAU,CAACR,6BAAAA,EAA+BM,SAAS,CAAA;AAAA,MACnDG,SAASA,CAAC;AAAA,QAAEC;AAAAA,OAAO,KAAMN,GAAAA,CAAIO,mBAAAA,CAAoBL,SAAAA,EAAW;AAAA,QAAEI;AAAAA,OAAQ;AAAA,KACvE,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAOL,QAAAA;AACT;AA2BO,SAAAO,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAwD,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGhC,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACDF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,OAAAA,EAAW;AAAA,KAAE;AAACP,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAA1C,EAAA,MAAA;AAAA,IAAAV;AAAAA,GAAA,GAAgBkB,YAAYJ,EAAc,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAE,WAAAA,EAAA;AAGhCO,IAAAA,EAAAA,GAAAC,oBAAoBR,WAAW,CAAA;AAACF,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAV,GAAAA,EAAA;AACjCqB,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAhB;AAAAA,OAAA,GAAAgB,GAAAA;AACRC,MAAAA,UAAAA,CAAWX,aAAa,aAAa,CAAA;AACrC,MAAA,MAAAY,MAAAA,GAAexB,GAAAA,CAAGyB,cAAAA,CAAgBb,WAAAA,EAAa;AAAA,QAAAN;AAAAA,OAAU,CAAA;AAAE,MAAA,OACpDkB,MAAAA;AAAAA,IAAM,CAAA;AACdd,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAV,GAAAA;AAAAU,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAEQ,EAAA,MAAAY,KAAA,CAAC,CAACV,WAAAA,CAAWc,WAAAA,KAAiBb,OAAKc,OAAAA,IAAL,IAAA,CAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAG,KAAAA,IAAAH,EAAA,CAAA,CAAA,KAAAS,EAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAW,EAAAA,IAAAX,CAAAA,QAAAY,EAAAA,EAAA;AARMM,IAAAA,EAAAA,GAAA;AAAA,MAAAxB,QAAAA,EAC1De,EAAAA;AAAAA,MAAgCd,OAAAA,EACjCgB,EAAAA;AAAAA,MAIR,GACER,KAAAA;AAAAA,MAAKc,OAAAA,EACCL;AAAAA,KACX;AAACZ,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATMmB,SAA+DD,EASrE,CAAA;AAAC;AAGG,SAAAE,wBAAArB,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA4D,EAAA,MAAA;AAAA,IAAAC,WAAAA,EAAAmB,YAAAA;AAAAA,IAAAlB;AAAAA,GAAA,GAAAJ,EAAAA;AAIjE,EAAA,MAAA;AAAA,IAAAuB,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAAE,EAAA,IAAApB,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAqB,gBAAArB,CAAAA,QAAAuB,OAAAA,EAAA;AAEtBnB,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACfiB,YAAAA;AAAAA,MAAYL,WAAAA,EACFO;AAAAA,KACf;AAACvB,IAAAA,CAAAA,MAAAqB,YAAAA;AAAArB,IAAAA,CAAAA,MAAAuB,OAAAA;AAAAvB,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAE,WAAAA,GAAoBE,EAAAA;AAGlB,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAG,KAAAA,EAAA;AAEyBM,IAAAA,EAAAA,GAAA;AAAA,MAAAP,WAAAA;AAAAA,MAAAC;AAAAA,KAAqB;AAACH,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA1CF,oBAAoBW,EAAsB,CAAA;AAAC;AAG7C,SAASC,mBAAAA,CAAoB;AAAA,EAClCM,WAAAA;AAAAA,EACA,GAAGd;AAC2C,CAAA,EAAwB;AACtE,EAAA,OAAO,CACL,mBAAA,EACA;AAAA,IACE,GAAGA,WAAAA;AAAAA,IACHc,WAAAA,EAAaA,aAAaS,WAAAA;AAAY,GACvC,CAAA;AAEL;;;;"}
|
|
@@ -79,6 +79,7 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
|
|
|
79
79
|
destDecimals?: number | undefined;
|
|
80
80
|
partnerFeeBps?: number | undefined;
|
|
81
81
|
maxImpact?: number | undefined;
|
|
82
|
+
maxUSDImpact?: number | undefined;
|
|
82
83
|
includeBridges?: string[] | undefined;
|
|
83
84
|
excludeBridges?: string[] | undefined;
|
|
84
85
|
allowBridgeAndSwap?: boolean | undefined;
|