@velora-dex/widget 0.3.1 → 0.3.2-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/assets/bridges/canonical-uni.svg.js +12 -0
- package/dist/assets/bridges/canonical-uni.svg.js.map +1 -0
- package/dist/assets/bridges/cctp.svg.js +12 -0
- package/dist/assets/bridges/cctp.svg.js.map +1 -0
- package/dist/assets/bridges/celer.svg.js +16 -0
- package/dist/assets/bridges/celer.svg.js.map +1 -0
- package/dist/assets/bridges/relay.svg.js +12 -0
- package/dist/assets/bridges/relay.svg.js.map +1 -0
- package/dist/assets/refresh.svg.js +12 -0
- package/dist/assets/refresh.svg.js.map +1 -0
- package/dist/assets/speedometer.svg.js +12 -0
- package/dist/assets/speedometer.svg.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +3 -2
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +64 -40
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +52 -70
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.d.ts +7 -0
- package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -0
- package/dist/components/widget/BridgeList/BridgeListItem.js +475 -0
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -0
- package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts +9 -0
- package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -0
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js +219 -0
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -0
- package/dist/components/widget/BridgeList/BridgesList.d.ts +12 -0
- package/dist/components/widget/BridgeList/BridgesList.d.ts.map +1 -0
- package/dist/components/widget/BridgeList/BridgesList.js +76 -0
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -0
- package/dist/components/widget/BridgeList/hooks.d.ts +17 -0
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -0
- package/dist/components/widget/BridgeList/hooks.js +254 -0
- package/dist/components/widget/BridgeList/hooks.js.map +1 -0
- package/dist/components/widget/BridgeList/types.d.ts +19 -0
- package/dist/components/widget/BridgeList/types.d.ts.map +1 -0
- package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts +3 -0
- package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts.map +1 -0
- package/dist/components/widget/BridgePreferences/BridgePreferences.js +136 -0
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -0
- package/dist/components/widget/BridgePreferences/types.d.ts +11 -0
- package/dist/components/widget/BridgePreferences/types.d.ts.map +1 -0
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +8 -0
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -0
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +137 -0
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts +2 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.js +208 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -0
- package/dist/components/widget/Details/DetailWithValueListExpandable.d.ts.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts +6 -0
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -0
- package/dist/components/widget/Duration/Duration.js +85 -0
- package/dist/components/widget/Duration/Duration.js.map +1 -0
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts +2 -0
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts.map +1 -0
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +42 -0
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -0
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +10 -64
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.d.ts +5 -0
- package/dist/components/widget/SettingsButton/SettingsButton.d.ts.map +1 -0
- package/dist/components/widget/SettingsButton/SettingsButton.js +61 -0
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -0
- package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +114 -65
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/types.d.ts +1 -0
- package/dist/components/widget/TokenBadge/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +34 -18
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +1 -0
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts +21 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +90 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts +12 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +68 -0
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -0
- package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -2
- package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +64 -45
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +3 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +9 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +14 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts +4 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js +7 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +8 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +15 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts +2 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +11 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts +4 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js +6 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts +3 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts +14 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js +58 -0
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +5 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +150 -67
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +22 -14
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/types.d.ts +1 -1
- package/dist/core/inputs/hooks/types.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +25 -12
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/screenByType.d.ts +2 -0
- package/dist/core/screen/screenByType.d.ts.map +1 -1
- package/dist/core/screen/screenByType.js +5 -1
- package/dist/core/screen/screenByType.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.d.ts +3 -0
- package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js +43 -11
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +7 -3
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/events/getters/settings.d.ts.map +1 -1
- package/dist/events/getters/settings.js +7 -1
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/types/common.d.ts +6 -1
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/settings.d.ts +2 -1
- package/dist/events/types/settings.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +1 -14
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -12
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +3 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -0
- package/dist/hooks/swap/prices/constants.js +5 -0
- package/dist/hooks/swap/prices/constants.js.map +1 -0
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +6 -0
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +36 -0
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -0
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +7 -0
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +34 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts +13 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +75 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +3 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/types.d.ts +1 -0
- package/dist/hooks/swap/prices/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +5 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +119 -94
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +15 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.d.ts +4 -0
- package/dist/hooks/useBridgeProtocols.d.ts.map +1 -0
- package/dist/hooks/useBridgeProtocols.js +52 -0
- package/dist/hooks/useBridgeProtocols.js.map +1 -0
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/utils/priceImpact.d.ts +5 -2
- package/dist/lib/utils/priceImpact.d.ts.map +1 -1
- package/dist/lib/utils/priceImpact.js +8 -5
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/tuple.d.ts +1 -0
- package/dist/lib/utils/tuple.d.ts.map +1 -1
- package/dist/lib/utils/tuple.js +5 -1
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +51 -1
- package/dist/tokens/queries.d.ts.map +1 -1
- package/dist/tokens/queries.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SwapMode } from '../../components/widget/SwapModeSwitcher/state/types';
|
|
2
2
|
import { MinTradeFlowToken } from '../../components/widget/TradeOverview';
|
|
3
|
+
import { BridgePreference, DisabledBridges } from '../../components/widget/TradeParameters/state/bridgePreferences/types';
|
|
3
4
|
import { TradeMode } from '../../core/state/tradeModeAtom';
|
|
4
5
|
import { UserGasPreset } from '../../hooks/gas/types';
|
|
5
6
|
import { SupportedChainId } from '../../lib/web3/wagmi/types';
|
|
@@ -27,12 +28,16 @@ export type OTCOrderFormState = TokenFormState & {
|
|
|
27
28
|
otcPrice: string;
|
|
28
29
|
orderDeadline: number;
|
|
29
30
|
};
|
|
31
|
+
export type BridgePreferencesState = {
|
|
32
|
+
bridgePreference: BridgePreference;
|
|
33
|
+
disabledBridges: DisabledBridges;
|
|
34
|
+
};
|
|
30
35
|
export type SettingsState = {
|
|
31
36
|
slippageTolerance: number;
|
|
32
37
|
transactionSpeed: UserGasPreset;
|
|
33
38
|
swapMode: SwapMode;
|
|
34
39
|
eip1559Enabled: boolean;
|
|
35
|
-
};
|
|
40
|
+
} & BridgePreferencesState;
|
|
36
41
|
export type WidgetState = {
|
|
37
42
|
currentTradeMode: TradeMode;
|
|
38
43
|
formState: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,aAAa,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SwapMode } from '../../components/widget/SwapModeSwitcher/state/types';
|
|
2
|
-
import { MakeEventArgs, SettingsState, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
|
|
2
|
+
import { MakeEventArgs, SettingsState, BridgePreferencesState, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
|
|
3
3
|
type SwapModeSettingsParams = {
|
|
4
4
|
swapMode: SwapMode;
|
|
5
5
|
};
|
|
@@ -7,6 +7,7 @@ type SettingsParams = SettingsState;
|
|
|
7
7
|
type SettingsEventArgs = MakeEventArgs<{
|
|
8
8
|
"Settings:switchSwapMode": SwapModeSettingsParams;
|
|
9
9
|
"Settings:saveSettings": SettingsParams;
|
|
10
|
+
"Settings:changeBridgePreferences": BridgePreferencesState;
|
|
10
11
|
}>;
|
|
11
12
|
export type OnSettingsChange = WidgetEventCallbackConstructor<SettingsEventArgs>;
|
|
12
13
|
export type OnSettingsChangeMin = WidgetEventMinCallbackConstructor<SettingsEventArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/types/settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG,aAAa,CAAC;IACrC,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,uBAAuB,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/types/settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG,aAAa,CAAC;IACrC,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,uBAAuB,EAAE,cAAc,CAAC;IACxC,kCAAkC,EAAE,sBAAsB,CAAC;CAC5D,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAC1B,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;AACpD,MAAM,MAAM,mBAAmB,GAC7B,iCAAiC,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAiFpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n {
|
|
1
|
+
{"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n {\n signal,\n params: { eip1559: allowEip1559 },\n }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval,\n staleTime: refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","refetchInterval","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","getApiURL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","queryKey","queryFn","enabled","staleTime","useQuery"],"mappings":"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"}
|
|
@@ -4,24 +4,11 @@ import { useMutation } from '@tanstack/react-query';
|
|
|
4
4
|
import { assert } from 'ts-essentials';
|
|
5
5
|
import 'wagmi';
|
|
6
6
|
import 'wagmi/query';
|
|
7
|
-
import '../../../lib/queryClient.js';
|
|
8
7
|
import '../../../lib/web3/wagmi/config.js';
|
|
9
8
|
import '@wagmi/core';
|
|
10
|
-
import 'viem/actions';
|
|
11
9
|
import 'wagmi/connectors';
|
|
10
|
+
import '../../../lib/queryClient.js';
|
|
12
11
|
import 'viem';
|
|
13
|
-
import 'react/jsx-runtime';
|
|
14
|
-
import 'clsx';
|
|
15
|
-
import 'tailwind-merge';
|
|
16
|
-
import 'lucide-react';
|
|
17
|
-
import 'sonner';
|
|
18
|
-
import '../../../assets/spinner.svg.js';
|
|
19
|
-
import '../../../assets/circle-check.svg.js';
|
|
20
|
-
import '../../../assets/circle-exclamation.svg.js';
|
|
21
|
-
import 'react';
|
|
22
|
-
import '@radix-ui/react-progress';
|
|
23
|
-
import '../../../lib/web3/wagmi/constants.js';
|
|
24
|
-
import '../../../core/store.js';
|
|
25
12
|
|
|
26
13
|
function useFillOrder(t0) {
|
|
27
14
|
const $ = distExports.c(10);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
|
|
@@ -6,18 +6,6 @@ import { useMinViemClient } from '../../useMinViemClient.js';
|
|
|
6
6
|
import { useMutation } from '@tanstack/react-query';
|
|
7
7
|
import { useRef } from 'react';
|
|
8
8
|
import { UserCancelledError } from '../../swap/tradeFlow/common/errors.js';
|
|
9
|
-
import 'react/jsx-runtime';
|
|
10
|
-
import '../../../_virtual/index.js';
|
|
11
|
-
import 'clsx';
|
|
12
|
-
import 'tailwind-merge';
|
|
13
|
-
import 'lucide-react';
|
|
14
|
-
import 'sonner';
|
|
15
|
-
import '../../../assets/spinner.svg.js';
|
|
16
|
-
import '../../../assets/circle-check.svg.js';
|
|
17
|
-
import '../../../assets/circle-exclamation.svg.js';
|
|
18
|
-
import '@radix-ui/react-progress';
|
|
19
|
-
import '../../../lib/web3/wagmi/constants.js';
|
|
20
|
-
import '../../../core/store.js';
|
|
21
9
|
import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPermit.js';
|
|
22
10
|
import { useLogger } from '../../../core/logger.js';
|
|
23
11
|
import { useFillOrder } from '../mutations/useFillOrder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","events","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","signPermitAsync","value","orderFillData","signature","takerPermit","encodedPermitParams","permitEncodedArgs","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","txReceipt","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","events","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","signPermitAsync","value","orderFillData","signature","takerPermit","encodedPermitParams","permitEncodedArgs","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","txReceipt","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAmC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/hooks/swap/prices/constants.ts"],"sourcesContent":["export const PRICE_REFETCH_INTERVAL_MS = 5000; // 5 seconds\nexport const PRICE_REFETCH_INTERVAL_S = PRICE_REFETCH_INTERVAL_MS / 1000;"],"names":["PRICE_REFETCH_INTERVAL_MS","PRICE_REFETCH_INTERVAL_S"],"mappings":"AAAO,MAAMA,yBAAAA,GAA4B;AAClC,MAAMC,2BAA2BD,yBAAAA,GAA4B;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BridgePrice } from '@velora-dex/sdk';
|
|
2
|
+
import { DeltaOrBridgePrice } from '../../types';
|
|
3
|
+
export declare function useSelectedBridgePrice({ price, }: {
|
|
4
|
+
price?: DeltaOrBridgePrice;
|
|
5
|
+
}): BridgePrice | undefined;
|
|
6
|
+
//# sourceMappingURL=useSelectedBridgePrice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectedBridgePrice.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,GAAG,WAAW,GAAG,SAAS,CAY1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { d as distExports } from '../../../../../_virtual/index.js';
|
|
2
|
+
import { useAtomValue } from '../../../../../core/store.js';
|
|
3
|
+
import { protocolSelectorAtom } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js';
|
|
4
|
+
import { extractSelectedBridgePrice } from './utils.js';
|
|
5
|
+
import { isBridgePrice } from '../queries/useDeltaPriceQuery.js';
|
|
6
|
+
import { bridgePreferenceAtom } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js';
|
|
7
|
+
|
|
8
|
+
function useSelectedBridgePrice(t0) {
|
|
9
|
+
const $ = distExports.c(4);
|
|
10
|
+
const {
|
|
11
|
+
price
|
|
12
|
+
} = t0;
|
|
13
|
+
const protocolSelector = useAtomValue(protocolSelectorAtom);
|
|
14
|
+
const bridgePreference = useAtomValue(bridgePreferenceAtom);
|
|
15
|
+
if (!price || !isBridgePrice(price)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let t1;
|
|
19
|
+
if ($[0] !== bridgePreference || $[1] !== price || $[2] !== protocolSelector) {
|
|
20
|
+
t1 = extractSelectedBridgePrice({
|
|
21
|
+
price,
|
|
22
|
+
protocolSelector,
|
|
23
|
+
bridgePreference
|
|
24
|
+
});
|
|
25
|
+
$[0] = bridgePreference;
|
|
26
|
+
$[1] = price;
|
|
27
|
+
$[2] = protocolSelector;
|
|
28
|
+
$[3] = t1;
|
|
29
|
+
} else {
|
|
30
|
+
t1 = $[3];
|
|
31
|
+
}
|
|
32
|
+
return t1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { useSelectedBridgePrice };
|
|
36
|
+
//# sourceMappingURL=useSelectedBridgePrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectedBridgePrice.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport type { BridgePrice } from \"@velora-dex/sdk\";\nimport { protocolSelectorAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom\";\nimport type { DeltaOrBridgePrice } from \"../../types\";\nimport { extractSelectedBridgePrice } from \"./utils\";\nimport { isBridgePrice } from \"../queries/useDeltaPriceQuery\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\n\nexport function useSelectedBridgePrice({\n price,\n}: {\n price?: DeltaOrBridgePrice;\n}): BridgePrice | undefined {\n const protocolSelector = useAtomValue(protocolSelectorAtom);\n const bridgePreference = useAtomValue(bridgePreferenceAtom);\n\n // no price available\n if (!price || !isBridgePrice(price)) return;\n\n return extractSelectedBridgePrice({\n price,\n protocolSelector,\n bridgePreference,\n });\n}\n"],"names":["useSelectedBridgePrice","t0","$","_c","price","protocolSelector","useAtomValue","protocolSelectorAtom","bridgePreference","bridgePreferenceAtom","isBridgePrice","t1","extractSelectedBridgePrice"],"mappings":";;;;;;;AAQO,SAAAA,uBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAgC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAKrC,EAAA,MAAAI,gBAAAA,GAAyBC,aAAaC,oBAAoB,CAAA;AAC1D,EAAA,MAAAC,gBAAAA,GAAyBF,aAAaG,oBAAoB,CAAA;AAG1D,EAAA,IAAI,CAACL,KAAAA,IAAD,CAAWM,aAAAA,CAAcN,KAAK,CAAA,EAAC;AAAA,IAAA;AAAA,EAAA;AAAS,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,gBAAAA,IAAAN,CAAAA,QAAAE,KAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAG,gBAAAA,EAAA;AAErCM,IAAAA,EAAAA,GAAAC,0BAAAA,CAA2B;AAAA,MAAAR,KAAAA;AAAAA,MAAAC,gBAAAA;AAAAA,MAAAG;AAAAA,KAIjC,CAAA;AAACN,IAAAA,CAAAA,MAAAM,gBAAAA;AAAAN,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAG,gBAAAA;AAAAH,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJKS,EAAAA;AAIL;;;;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BridgedDepositResponse, GetSuggestedFeesResponse } from './types';
|
|
2
2
|
import { QueryMeta } from '@tanstack/react-query';
|
|
3
|
+
import { BridgePrice } from '@velora-dex/sdk';
|
|
4
|
+
import { BridgePreference } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/types';
|
|
3
5
|
export type GetBridgedDepositStatusInput = {
|
|
4
6
|
depositId: string;
|
|
5
7
|
originChainId: number;
|
|
@@ -36,4 +38,9 @@ export type RefetchMetaWithTiming = {
|
|
|
36
38
|
startedQueryAt: number;
|
|
37
39
|
};
|
|
38
40
|
export declare function isMetaWithTimeStart(meta: QueryMeta): meta is RefetchMetaWithTiming;
|
|
41
|
+
export declare function extractSelectedBridgePrice({ price, protocolSelector, bridgePreference, }: {
|
|
42
|
+
price: BridgePrice;
|
|
43
|
+
protocolSelector?: string;
|
|
44
|
+
bridgePreference: BridgePreference;
|
|
45
|
+
}): BridgePrice;
|
|
39
46
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AAE1G,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAsB,uBAAuB,CAAC,EAC5C,SAAS,EACT,aAAa,GACd,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMhE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,sBAAsB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAEA;AAID,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CASnC;AAID,MAAM,MAAM,qBAAqB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,GACd,IAAI,IAAI,qBAAqB,CAE/B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,eAkBA"}
|
|
@@ -3,6 +3,39 @@ import 'axios';
|
|
|
3
3
|
function isMetaWithTimeStart(meta) {
|
|
4
4
|
return "startedQueryAt" in meta && typeof meta["startedQueryAt"] === "number";
|
|
5
5
|
}
|
|
6
|
+
function extractSelectedBridgePrice({
|
|
7
|
+
price,
|
|
8
|
+
protocolSelector,
|
|
9
|
+
bridgePreference
|
|
10
|
+
}) {
|
|
11
|
+
if (!protocolSelector) return pickBridgePriceByPreference(price, bridgePreference);
|
|
12
|
+
if (protocolSelector === price.bridge.protocolSelector) return price;
|
|
13
|
+
const selectedAmongAvailable = price.availableBridges.find((bridge) => bridge.bridge.protocolSelector === protocolSelector);
|
|
14
|
+
if (selectedAmongAvailable) return combinePriceWithAvailableBridge(price, selectedAmongAvailable);
|
|
15
|
+
return price;
|
|
16
|
+
}
|
|
17
|
+
function pickBridgePriceByPreference(price, bridgePreference) {
|
|
18
|
+
if (bridgePreference === "auto" || bridgePreference === "fastest" && price.bridgeInfo.fastest || bridgePreference === "bestReturn" && price.bridgeInfo.bestReturn) return price;
|
|
19
|
+
const availableBridge = price.availableBridges.find((availableBridge2) => {
|
|
20
|
+
if (bridgePreference === "fastest") return availableBridge2.bridgeInfo.fastest;
|
|
21
|
+
if (bridgePreference === "bestReturn") return availableBridge2.bridgeInfo.bestReturn;
|
|
22
|
+
return false;
|
|
23
|
+
});
|
|
24
|
+
if (availableBridge) return combinePriceWithAvailableBridge(price, availableBridge);
|
|
25
|
+
return price;
|
|
26
|
+
}
|
|
27
|
+
function combinePriceWithAvailableBridge(price, availableBridge) {
|
|
28
|
+
return {
|
|
29
|
+
srcToken: price.srcToken,
|
|
30
|
+
srcAmount: price.srcAmount,
|
|
31
|
+
srcUSD: price.srcUSD,
|
|
32
|
+
partner: price.partner,
|
|
33
|
+
partnerFee: price.partnerFee,
|
|
34
|
+
hmac: price.hmac,
|
|
35
|
+
availableBridges: price.availableBridges,
|
|
36
|
+
...availableBridge
|
|
37
|
+
};
|
|
38
|
+
}
|
|
6
39
|
|
|
7
|
-
export { isMetaWithTimeStart };
|
|
40
|
+
export { extractSelectedBridgePrice, isMetaWithTimeStart };
|
|
8
41
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\nimport type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport type { BridgePreference } from \"@/components/widget/TradeParameters/state/bridgePreferences/types\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}`,\n );\n return data;\n}\n\nexport function isBridgedDepositExecuted(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponseSuccess {\n return deposit.status === \"filled\" && !!deposit.fillTx;\n}\n\nexport type BridgedDepositResponseSuccess = BridgedDepositResponse & {\n status: \"filled\";\n fillTx: string;\n};\n\nexport type BridgedDepositResponseFailure = BridgedDepositResponse & {\n status: \"refunded\" | \"expired\";\n fillTx: null;\n};\n\nexport function isBridgedDepositFailed(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponseFailure {\n return deposit.status === \"refunded\" || deposit.status === \"expired\";\n}\n\nexport function isBridgedDepositRefunded(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponse & {\n status: \"refunded\";\n fillTx: null;\n depositRefundTxHash: string;\n} {\n return deposit.status === \"refunded\" && !!deposit.depositRefundTxHash;\n}\n\n// ------------------- Suggested Fees -------------------\n\nexport type GetSuggestedFeesInput = {\n originChainId: number;\n destinationChainId: number;\n inputToken: string;\n outputToken: string;\n amount: string;\n recipient?: string;\n message?: string;\n relayer?: string;\n timestamp?: number;\n};\n\nexport async function getSuggestedFees(\n params: GetSuggestedFeesInput,\n signal?: AbortSignal,\n): Promise<GetSuggestedFeesResponse> {\n const { data } = await axios.get<GetSuggestedFeesResponse>(\n `${ACROSS_API}/suggested-fees`,\n {\n params,\n signal,\n },\n );\n return data;\n}\n\n// ------------------- Generic Utils -------------------\n\nexport type RefetchMetaWithTiming = { startedQueryAt: number };\nexport function isMetaWithTimeStart(\n meta: QueryMeta,\n): meta is RefetchMetaWithTiming {\n return \"startedQueryAt\" in meta && typeof meta[\"startedQueryAt\"] === \"number\";\n}\n\nexport function extractSelectedBridgePrice({\n price,\n protocolSelector,\n bridgePreference,\n}: {\n price: BridgePrice;\n protocolSelector?: string;\n bridgePreference: BridgePreference;\n}) {\n // no protocol selected\n if (!protocolSelector)\n return pickBridgePriceByPreference(price, bridgePreference);\n\n // selected protocol is from the top-level bridge price\n if (protocolSelector === price.bridge.protocolSelector) return price;\n\n const selectedAmongAvailable = price.availableBridges.find(\n (bridge) => bridge.bridge.protocolSelector === protocolSelector,\n );\n\n // selected protocol is found among available bridges\n if (selectedAmongAvailable)\n return combinePriceWithAvailableBridge(price, selectedAmongAvailable);\n\n // fallback to top-level bridge price\n return price;\n}\n\nfunction pickBridgePriceByPreference(\n price: BridgePrice,\n bridgePreference: BridgePreference,\n): BridgePrice {\n // top-level price matches preference\n if (\n bridgePreference === \"auto\" ||\n (bridgePreference === \"fastest\" && price.bridgeInfo.fastest) ||\n (bridgePreference === \"bestReturn\" && price.bridgeInfo.bestReturn)\n )\n return price;\n\n // look for matching available bridge\n const availableBridge = price.availableBridges.find((availableBridge) => {\n if (bridgePreference === \"fastest\")\n return availableBridge.bridgeInfo.fastest;\n if (bridgePreference === \"bestReturn\")\n return availableBridge.bridgeInfo.bestReturn;\n return false;\n });\n\n if (availableBridge)\n return combinePriceWithAvailableBridge(price, availableBridge);\n\n // fallback to top-level price\n return price;\n}\n\nfunction combinePriceWithAvailableBridge(\n price: BridgePrice,\n availableBridge: AvailableBridge,\n): BridgePrice {\n return {\n srcToken: price.srcToken,\n srcAmount: price.srcAmount,\n srcUSD: price.srcUSD,\n partner: price.partner,\n partnerFee: price.partnerFee,\n hmac: price.hmac,\n availableBridges: price.availableBridges,\n ...availableBridge,\n };\n}\n"],"names":["isMetaWithTimeStart","meta","extractSelectedBridgePrice","price","protocolSelector","bridgePreference","pickBridgePriceByPreference","bridge","selectedAmongAvailable","availableBridges","find","combinePriceWithAvailableBridge","bridgeInfo","fastest","bestReturn","availableBridge","srcToken","srcAmount","srcUSD","partner","partnerFee","hmac"],"mappings":";;AAuFO,SAASA,oBACdC,IAAAA,EAC+B;AAC/B,EAAA,OAAO,gBAAA,IAAoBA,IAAAA,IAAQ,OAAOA,IAAAA,CAAK,gBAAgB,CAAA,KAAM,QAAA;AACvE;AAEO,SAASC,0BAAAA,CAA2B;AAAA,EACzCC,KAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AAED,EAAA,IAAI,CAACD,gBAAAA,EACH,OAAOE,2BAAAA,CAA4BH,OAAOE,gBAAgB,CAAA;AAG5D,EAAA,IAAID,gBAAAA,KAAqBD,KAAAA,CAAMI,MAAAA,CAAOH,gBAAAA,EAAkB,OAAOD,KAAAA;AAE/D,EAAA,MAAMK,sBAAAA,GAAyBL,MAAMM,gBAAAA,CAAiBC,IAAAA,CACnDH,YAAWA,MAAAA,CAAOA,MAAAA,CAAOH,qBAAqBA,gBACjD,CAAA;AAGA,EAAA,IAAII,sBAAAA,EACF,OAAOG,+BAAAA,CAAgCR,KAAAA,EAAOK,sBAAsB,CAAA;AAGtE,EAAA,OAAOL,KAAAA;AACT;AAEA,SAASG,2BAAAA,CACPH,OACAE,gBAAAA,EACa;AAEb,EAAA,IACEA,gBAAAA,KAAqB,MAAA,IACpBA,gBAAAA,KAAqB,SAAA,IAAaF,KAAAA,CAAMS,UAAAA,CAAWC,OAAAA,IACnDR,gBAAAA,KAAqB,YAAA,IAAgBF,KAAAA,CAAMS,UAAAA,CAAWE,UAAAA,EAEvD,OAAOX,KAAAA;AAGT,EAAA,MAAMY,eAAAA,GAAkBZ,KAAAA,CAAMM,gBAAAA,CAAiBC,IAAAA,CAAMK,CAAAA,gBAAAA,KAAoB;AACvE,IAAA,IAAIV,gBAAAA,KAAqB,SAAA,EACvB,OAAOU,gBAAAA,CAAgBH,UAAAA,CAAWC,OAAAA;AACpC,IAAA,IAAIR,gBAAAA,KAAqB,YAAA,EACvB,OAAOU,gBAAAA,CAAgBH,UAAAA,CAAWE,UAAAA;AACpC,IAAA,OAAO,KAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,IAAIC,eAAAA,EACF,OAAOJ,+BAAAA,CAAgCR,KAAAA,EAAOY,eAAe,CAAA;AAG/D,EAAA,OAAOZ,KAAAA;AACT;AAEA,SAASQ,+BAAAA,CACPR,OACAY,eAAAA,EACa;AACb,EAAA,OAAO;AAAA,IACLC,UAAUb,KAAAA,CAAMa,QAAAA;AAAAA,IAChBC,WAAWd,KAAAA,CAAMc,SAAAA;AAAAA,IACjBC,QAAQf,KAAAA,CAAMe,MAAAA;AAAAA,IACdC,SAAShB,KAAAA,CAAMgB,OAAAA;AAAAA,IACfC,YAAYjB,KAAAA,CAAMiB,UAAAA;AAAAA,IAClBC,MAAMlB,KAAAA,CAAMkB,IAAAA;AAAAA,IACZZ,kBAAkBN,KAAAA,CAAMM,gBAAAA;AAAAA,IACxB,GAAGM;AAAAA,GACL;AACF;;;;"}
|
|
@@ -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\"
|
|
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 === \"FAILED\") 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 true;\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 ]), // 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 ]), // 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 ]),\n failed: new Set<DeltaAuctionStatus>([\"FAILED\", \"EXPIRED\", \"CANCELLED\"]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\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\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"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","isDeltaAuctionExpired","DeltaOrderStatusChecker","pending","Set","executing","success","completed","failed","cancellable","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","has","getCrossChainOrderStatus","getOverallOrderStatus"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import { BridgeProtocolResponse } from '@velora-dex/sdk';
|
|
3
|
+
export type BridgeProtocolsReturn = BridgeProtocolResponse[];
|
|
4
|
+
type BridgeProtocolsQueryParams<TData = BridgeProtocolsReturn> = Omit<UseQueryOptions<BridgeProtocolsReturn, Error, TData, BridgeProtocolsQueryKeyType>, "queryKey" | "queryFn">;
|
|
5
|
+
export type BridgeProtocolsQueryResult<TData = BridgeProtocolsReturn> = UseQueryResult<TData, Error>;
|
|
6
|
+
export type BridgeProtocolsQueryInput<TData = BridgeProtocolsReturn> = {
|
|
7
|
+
query?: BridgeProtocolsQueryParams<TData>;
|
|
8
|
+
};
|
|
9
|
+
export type BridgeProtocolsQueryKeyType = ["swap/delta/bridge-protocols"];
|
|
10
|
+
export type BridgeProtocolsMapping = Record<BridgeProtocolResponse["protocol"], // should match with bridgeInfo.protocolName.toLowerCase()
|
|
11
|
+
BridgeProtocolResponse>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|