@velora-dex/widget 0.7.4-dev.1 → 0.8.1-dev.0

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.
Files changed (141) hide show
  1. package/dist/components/SearchInput/SearchInput.d.ts +9 -0
  2. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  3. package/dist/components/SearchInput/SearchInput.js +41 -0
  4. package/dist/components/SearchInput/SearchInput.js.map +1 -0
  5. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/AppHeader.js +6 -3
  7. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  8. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -1
  9. package/dist/components/widget/BridgeList/BridgeProtocolsList.js +28 -47
  10. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  11. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
  12. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +18 -40
  13. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  14. package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts +3 -0
  15. package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts.map +1 -0
  16. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js +81 -0
  17. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -0
  18. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts +9 -0
  19. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts.map +1 -0
  20. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js +40 -0
  21. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -0
  22. package/dist/components/widget/EnabledExchanges/types.d.ts +7 -0
  23. package/dist/components/widget/EnabledExchanges/types.d.ts.map +1 -0
  24. package/dist/components/widget/EnabledList/EnabledList.d.ts +18 -0
  25. package/dist/components/widget/EnabledList/EnabledList.d.ts.map +1 -0
  26. package/dist/components/widget/EnabledList/EnabledList.js +56 -0
  27. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -0
  28. package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts +7 -0
  29. package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts.map +1 -0
  30. package/dist/components/widget/ListItem/ListItemWithSwitch.js +29 -0
  31. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -0
  32. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +3 -3
  33. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts +14 -0
  34. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts.map +1 -0
  35. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js +39 -0
  36. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -0
  37. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts +11 -0
  38. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts.map +1 -0
  39. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js +28 -0
  40. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -0
  41. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  42. package/dist/components/widget/TradeParameters/TradeParameters.js +61 -53
  43. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  44. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  45. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +14 -12
  46. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  47. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts +3 -0
  48. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts.map +1 -0
  49. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js +7 -0
  50. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js.map +1 -0
  51. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts +14 -0
  52. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts.map +1 -0
  53. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js +14 -0
  54. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -0
  55. package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts +7 -0
  56. package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts.map +1 -0
  57. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts +24 -0
  58. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts.map +1 -0
  59. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js +36 -0
  60. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -0
  61. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +17 -1
  62. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -1
  63. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +38 -13
  64. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  65. package/dist/components/widget/TradeParameters/state/types.d.ts +4 -0
  66. package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -1
  67. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +2 -0
  68. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  69. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +114 -82
  70. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  71. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  72. package/dist/core/limit/useLimitRate.js +44 -43
  73. package/dist/core/limit/useLimitRate.js.map +1 -1
  74. package/dist/core/screen/screenByType.d.ts +1 -0
  75. package/dist/core/screen/screenByType.d.ts.map +1 -1
  76. package/dist/core/screen/screenByType.js +8 -6
  77. package/dist/core/screen/screenByType.js.map +1 -1
  78. package/dist/core/screen/state/hooks/useSetScreen.d.ts +2 -0
  79. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
  80. package/dist/core/screen/state/hooks/useSetScreen.js +12 -4
  81. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  82. package/dist/core/state/enabledChainsAtom.js +13 -13
  83. package/dist/events/getters/settings.d.ts.map +1 -1
  84. package/dist/events/getters/settings.js +18 -15
  85. package/dist/events/getters/settings.js.map +1 -1
  86. package/dist/events/types/common.d.ts +2 -0
  87. package/dist/events/types/common.d.ts.map +1 -1
  88. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +4 -4
  89. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  90. package/dist/hooks/swap/prices/delta/orders/unposted/index.js +9 -14
  91. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  92. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +1 -5
  93. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  94. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +8 -11
  95. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  96. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
  97. package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts +15 -0
  98. package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts.map +1 -0
  99. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts +4 -0
  100. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts.map +1 -0
  101. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js +37 -0
  102. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -0
  103. package/dist/hooks/swap/prices/usePricesParams.d.ts +2 -1
  104. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  105. package/dist/hooks/swap/prices/usePricesParams.js +13 -8
  106. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  107. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  108. package/dist/hooks/swap/prices/useSwapPrices.js +88 -83
  109. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  110. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  111. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +24 -32
  112. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  113. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  114. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +33 -39
  115. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  116. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +19 -19
  117. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  118. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +26 -26
  119. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  120. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  121. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +180 -177
  122. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  123. package/dist/hooks/useSDK.d.ts +2 -2
  124. package/dist/hooks/useSDK.d.ts.map +1 -1
  125. package/dist/hooks/useSDK.js +30 -30
  126. package/dist/hooks/useSDK.js.map +1 -1
  127. package/dist/lib/constants/dexes.d.ts +3 -0
  128. package/dist/lib/constants/dexes.d.ts.map +1 -0
  129. package/dist/lib/constants/dexes.js +16 -0
  130. package/dist/lib/constants/dexes.js.map +1 -0
  131. package/dist/lib/utils/dexes.d.ts +1 -0
  132. package/dist/lib/utils/dexes.d.ts.map +1 -1
  133. package/dist/lib/utils/dexes.js +6 -2
  134. package/dist/lib/utils/dexes.js.map +1 -1
  135. package/dist/lib/utils/explorer.js +12 -12
  136. package/dist/lib/web3/wagmi/config.d.ts +18 -0
  137. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  138. package/dist/lib/web3/wagmi/config.js +6 -19
  139. package/dist/lib/web3/wagmi/config.js.map +1 -1
  140. package/dist/styles.css +1 -1
  141. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","BridgePrice","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t14","t15","t16","t17","t18","UseCurrentSwapPriceReturn","getPriceImpact","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { useExtraDeltaPriceParams, usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n // deltaParams include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","BridgePrice","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","getSwapSideFromDeltaPrice","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/orders/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"depositAndSubmitOrderFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAKpE,MAAM,MAAM,0BAA0B,CACpC,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,IACC;IACF,gBAAgB,EAAE,YAAY,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,EACD,QAAQ,SAAS,YAAY,IAC3B,CAAC,KAAK,EAAE,0BAA0B,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3E,KAAK,gCAAgC,CACnC,YAAY,SAAS,kBAAkB,EACvC,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,IACC;IACF,iBAAiB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,eAAe,EAAE,iBAAiB,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,YAAY,SAAS,kBAAkB,EACvC,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,EACD,EACA,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,MAAM,EACN,OAAO,GACR,EAAE,gCAAgC,CACjC,YAAY,EACZ,QAAQ,EACR,YAAY,CACb,GAAG,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAgFpD"}
1
+ {"version":3,"file":"depositAndSubmitOrderFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,MAAM,MAAM,0BAA0B,CACpC,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,IACC;IACF,gBAAgB,EAAE,YAAY,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,EACD,QAAQ,SAAS,YAAY,IAC3B,CAAC,KAAK,EAAE,0BAA0B,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3E,KAAK,gCAAgC,CACnC,YAAY,SAAS,kBAAkB,EACvC,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,IACC;IACF,iBAAiB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,eAAe,EAAE,iBAAiB,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,YAAY,SAAS,kBAAkB,EACvC,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,EACD,EACA,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,MAAM,EACN,OAAO,GACR,EAAE,gCAAgC,CACjC,YAAY,EACZ,QAAQ,EACR,YAAY,CACb,GAAG,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAwEpD"}
@@ -1,55 +1,47 @@
1
1
  import { isETHaddress as e } from "../../../../../tokens/utils/eth.js";
2
- import { guardUnpostedDeltaOrder as t } from "../../../prices/delta/orders/unposted/index.js";
3
- import { assert as n } from "ts-essentials";
2
+ import { assert as t } from "ts-essentials";
4
3
  //#region src/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.ts
5
- function r({ createOrderToPost: r, sendDepositPreSignTx: i, postOrder: a, ensureTxReceipt: o, logger: s, chainId: c }) {
6
- return async ({ depositAmount: l, createOrderInput: u, onTxSent: d }) => {
7
- let f = BigInt(l);
8
- n(e(u.orderInput.srcToken), "srcToken must be ETH"), n(f > 0n, "depositAmount must be greater than 0");
9
- let { signal: p } = u;
10
- p?.throwIfAborted();
4
+ function n({ createOrderToPost: n, sendDepositPreSignTx: r, postOrder: i, ensureTxReceipt: a, logger: o, chainId: s }) {
5
+ return async ({ depositAmount: c, createOrderInput: l, onTxSent: u }) => {
6
+ let d = BigInt(c);
7
+ t(e(l.orderInput.srcToken), "srcToken must be ETH"), t(d > 0n, "depositAmount must be greater than 0");
8
+ let { signal: f } = l;
9
+ f?.throwIfAborted();
11
10
  try {
12
- let e = await r(u);
13
- p?.throwIfAborted();
14
- let n = await i({
11
+ let e = await n(l), t = await i(e);
12
+ f?.throwIfAborted();
13
+ let c = await r({
15
14
  orderHash: e.orderHash,
16
- depositAmount: f.toString(),
17
- signal: p
15
+ depositAmount: d.toString(),
16
+ signal: f
18
17
  });
19
- if (d) {
20
- let t = o({
21
- hash: n,
22
- chainId: c,
18
+ if (u) {
19
+ let t = a({
20
+ hash: c,
21
+ chainId: s,
23
22
  onReplaced: (e) => {
24
- s.log("[DepositAndSubmit] onReplaced:txHash", n, e);
23
+ o.log("[DepositAndSubmit] onReplaced:txHash", c, e);
25
24
  }
26
25
  });
27
- s.log("[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:", n), d({
28
- chainId: c,
26
+ o.log("[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:", c), u({
27
+ chainId: s,
29
28
  action: "depositNativeAndPreSign",
30
29
  receiptPromise: t,
31
- transactionHash: n,
30
+ transactionHash: c,
32
31
  transactionSpecificData: {
33
32
  action: "depositNativeAndPreSign",
34
33
  order: e,
35
- depositAmount: f
34
+ depositAmount: d
36
35
  }
37
36
  });
38
37
  }
39
- return await t({
40
- order: {
41
- ...e,
42
- timestamp: Date.now(),
43
- transactionHash: n
44
- },
45
- cb: () => a(e)
46
- });
38
+ return t;
47
39
  } catch (e) {
48
- throw s.error("[DepositAndSubmit] error", e), e;
40
+ throw o.error("[DepositAndSubmit] error", e), e;
49
41
  }
50
42
  };
51
43
  }
52
44
  //#endregion
53
- export { r as depositAndSubmitOrderFactory };
45
+ export { n as depositAndSubmitOrderFactory };
54
46
 
55
47
  //# sourceMappingURL=depositAndSubmitOrderFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"depositAndSubmitOrderFactory.js","names":["DeltaAuction","PreSignOrderToPost","EnsureTxReceiptFn","Hash","SupportedChainId","LoggerInstance","TxSentObject","assert","isETHaddress","guardUnpostedDeltaOrder","DepositAndSubmitOrderInput","signal","AbortSignal","orderInput","srcToken","createOrderInput","TCreateInput","depositAmount","onTxSent","txSent","DepositAndSubmitOrderFunc","input","Promise","TAuction","DepositAndSubmitOrderFactoryDeps","createOrderToPost","TOrderToPost","sendDepositPreSignTx","params","orderHash","postOrder","order","ensureTxReceipt","logger","chainId","depositAndSubmitOrderFactory","_depositAmount","BigInt","throwIfAborted","orderToPost","depositTxHash","toString","depositTxReceiptPromise","hash","onReplaced","data","log","action","receiptPromise","transactionHash","transactionSpecificData","orderFromAPI","timestamp","Date","now","cb","error"],"sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { PreSignOrderToPost } from \"../../../prices/delta/mutations/types\";\nimport type { EnsureTxReceiptFn } from \"@/transactions/queries/ensureTxReceipt\";\nimport type { Hash } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { guardUnpostedDeltaOrder } from \"../../../prices/delta/orders/unposted\";\n\nexport type DepositAndSubmitOrderInput<\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n> = {\n createOrderInput: TCreateInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\nexport type DepositAndSubmitOrderFunc<\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n TAuction extends DeltaAuction,\n> = (input: DepositAndSubmitOrderInput<TCreateInput>) => Promise<TAuction>;\n\ntype DepositAndSubmitOrderFactoryDeps<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n> = {\n createOrderToPost: (input: TCreateInput) => Promise<TOrderToPost>;\n sendDepositPreSignTx: (params: {\n orderHash: string;\n depositAmount: string;\n signal?: AbortSignal;\n }) => Promise<Hash>;\n postOrder: (order: TOrderToPost) => Promise<TAuction>;\n ensureTxReceipt: EnsureTxReceiptFn;\n logger: LoggerInstance;\n chainId: SupportedChainId;\n};\n\nexport function depositAndSubmitOrderFactory<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n>({\n createOrderToPost,\n sendDepositPreSignTx,\n postOrder,\n ensureTxReceipt,\n logger,\n chainId,\n}: DepositAndSubmitOrderFactoryDeps<\n TOrderToPost,\n TAuction,\n TCreateInput\n>): DepositAndSubmitOrderFunc<TCreateInput, TAuction> {\n return async ({\n depositAmount: _depositAmount,\n createOrderInput,\n onTxSent,\n }) => {\n const depositAmount = BigInt(_depositAmount);\n\n assert(\n isETHaddress(createOrderInput.orderInput.srcToken),\n \"srcToken must be ETH\"\n );\n assert(depositAmount > 0n, \"depositAmount must be greater than 0\");\n\n // sign depositTx + POST order\n\n const { signal } = createOrderInput;\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n try {\n const orderToPost = await createOrderToPost(createOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const depositTxHash = await sendDepositPreSignTx({\n orderHash: orderToPost.orderHash,\n depositAmount: depositAmount.toString(),\n signal,\n });\n\n if (onTxSent) {\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\n \"[DepositAndSubmit] onReplaced:txHash\",\n depositTxHash,\n data\n );\n },\n });\n\n logger.log(\n \"[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:\",\n depositTxHash\n );\n\n onTxSent({\n chainId,\n action: \"depositNativeAndPreSign\",\n receiptPromise: depositTxReceiptPromise,\n transactionHash: depositTxHash,\n transactionSpecificData: {\n action: \"depositNativeAndPreSign\",\n order: orderToPost,\n depositAmount,\n },\n });\n }\n\n // POST the Order to API with signature=0x\n const orderFromAPI = await guardUnpostedDeltaOrder({\n order: {\n ...orderToPost,\n timestamp: Date.now(),\n transactionHash: depositTxHash,\n },\n cb: () => postOrder(orderToPost),\n });\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"[DepositAndSubmit] error\", error);\n throw error;\n }\n };\n}\n"],"mappings":";;;;AAkDA,SAAgBmC,EAOd,EACAV,sBACAE,yBACAG,cACAE,oBACAC,WACAC,cAKoD;AACpD,QAAO,OAAO,EACZjB,eAAemB,GACfrB,qBACAG,kBACI;EACJ,IAAMD,IAAgBoB,OAAOD,EAAe;AAM5C7B,EAJAA,EACEC,EAAaO,EAAiBF,WAAWC,SAAS,EAClD,uBACD,EACDP,EAAOU,IAAgB,IAAI,uCAAuC;EAIlE,IAAM,EAAEN,cAAWI;AAGnBJ,KAAQ2B,gBAAgB;AAExB,MAAI;GACF,IAAMC,IAAc,MAAMd,EAAkBV,EAAiB;AAG7DJ,MAAQ2B,gBAAgB;GAExB,IAAME,IAAgB,MAAMb,EAAqB;IAC/CE,WAAWU,EAAYV;IACvBZ,eAAeA,EAAcwB,UAAU;IACvC9B;IACD,CAAC;AAEF,OAAIO,GAAU;IACZ,IAAMwB,IAA0BV,EAAgB;KAC9CW,MAAMH;KACNN;KACAU,aAAaC,MAAS;AACpBZ,QAAOa,IACL,wCACAN,GACAK,EACD;;KAEJ,CAAC;AAOF3B,IALAe,EAAOa,IACL,+DACAN,EACD,EAEDtB,EAAS;KACPgB;KACAa,QAAQ;KACRC,gBAAgBN;KAChBO,iBAAiBT;KACjBU,yBAAyB;MACvBH,QAAQ;MACRhB,OAAOQ;MACPtB;MACF;KACD,CAAC;;AAaJ,UATqB,MAAMR,EAAwB;IACjDsB,OAAO;KACL,GAAGQ;KACHa,WAAWC,KAAKC,KAAK;KACrBL,iBAAiBT;KAClB;IACDe,UAAUzB,EAAUS,EAAW;IAChC,CAAC;WAGKiB,GAAO;AAEd,SADAvB,EAAOuB,MAAM,4BAA4BA,EAAM,EACzCA"}
1
+ {"version":3,"file":"depositAndSubmitOrderFactory.js","names":["DeltaAuction","PreSignOrderToPost","EnsureTxReceiptFn","Hash","SupportedChainId","LoggerInstance","TxSentObject","assert","isETHaddress","DepositAndSubmitOrderInput","signal","AbortSignal","orderInput","srcToken","createOrderInput","TCreateInput","depositAmount","onTxSent","txSent","DepositAndSubmitOrderFunc","input","Promise","TAuction","DepositAndSubmitOrderFactoryDeps","createOrderToPost","TOrderToPost","sendDepositPreSignTx","params","orderHash","postOrder","order","ensureTxReceipt","logger","chainId","depositAndSubmitOrderFactory","_depositAmount","BigInt","throwIfAborted","orderToPost","orderFromAPI","depositTxHash","toString","depositTxReceiptPromise","hash","onReplaced","data","log","action","receiptPromise","transactionHash","transactionSpecificData","error"],"sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { PreSignOrderToPost } from \"../../../prices/delta/mutations/types\";\nimport type { EnsureTxReceiptFn } from \"@/transactions/queries/ensureTxReceipt\";\nimport type { Hash } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\n\nexport type DepositAndSubmitOrderInput<\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n> = {\n createOrderInput: TCreateInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\nexport type DepositAndSubmitOrderFunc<\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n TAuction extends DeltaAuction,\n> = (input: DepositAndSubmitOrderInput<TCreateInput>) => Promise<TAuction>;\n\ntype DepositAndSubmitOrderFactoryDeps<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n> = {\n createOrderToPost: (input: TCreateInput) => Promise<TOrderToPost>;\n sendDepositPreSignTx: (params: {\n orderHash: string;\n depositAmount: string;\n signal?: AbortSignal;\n }) => Promise<Hash>;\n postOrder: (order: TOrderToPost) => Promise<TAuction>;\n ensureTxReceipt: EnsureTxReceiptFn;\n logger: LoggerInstance;\n chainId: SupportedChainId;\n};\n\nexport function depositAndSubmitOrderFactory<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends {\n signal?: AbortSignal;\n orderInput: { srcToken: string };\n },\n>({\n createOrderToPost,\n sendDepositPreSignTx,\n postOrder,\n ensureTxReceipt,\n logger,\n chainId,\n}: DepositAndSubmitOrderFactoryDeps<\n TOrderToPost,\n TAuction,\n TCreateInput\n>): DepositAndSubmitOrderFunc<TCreateInput, TAuction> {\n return async ({\n depositAmount: _depositAmount,\n createOrderInput,\n onTxSent,\n }) => {\n const depositAmount = BigInt(_depositAmount);\n\n assert(\n isETHaddress(createOrderInput.orderInput.srcToken),\n \"srcToken must be ETH\"\n );\n assert(depositAmount > 0n, \"depositAmount must be greater than 0\");\n\n // sign depositTx + POST order\n\n const { signal } = createOrderInput;\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n try {\n const orderToPost = await createOrderToPost(createOrderInput);\n // POST the Order to API with signature=0x\n const orderFromAPI = await postOrder(orderToPost);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const depositTxHash = await sendDepositPreSignTx({\n orderHash: orderToPost.orderHash,\n depositAmount: depositAmount.toString(),\n signal,\n });\n\n if (onTxSent) {\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\n \"[DepositAndSubmit] onReplaced:txHash\",\n depositTxHash,\n data\n );\n },\n });\n\n logger.log(\n \"[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:\",\n depositTxHash\n );\n\n onTxSent({\n chainId,\n action: \"depositNativeAndPreSign\",\n receiptPromise: depositTxReceiptPromise,\n transactionHash: depositTxHash,\n transactionSpecificData: {\n action: \"depositNativeAndPreSign\",\n order: orderToPost,\n depositAmount,\n },\n });\n }\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"[DepositAndSubmit] error\", error);\n throw error;\n }\n };\n}\n"],"mappings":";;;AAiDA,SAAgBkC,EAOd,EACAV,sBACAE,yBACAG,cACAE,oBACAC,WACAC,cAKoD;AACpD,QAAO,OAAO,EACZjB,eAAemB,GACfrB,qBACAG,kBACI;EACJ,IAAMD,IAAgBoB,OAAOD,EAAe;AAM5C5B,EAJAA,EACEC,EAAaM,EAAiBF,WAAWC,SAAS,EAClD,uBACD,EACDN,EAAOS,IAAgB,IAAI,uCAAuC;EAIlE,IAAM,EAAEN,cAAWI;AAGnBJ,KAAQ2B,gBAAgB;AAExB,MAAI;GACF,IAAMC,IAAc,MAAMd,EAAkBV,EAAiB,EAEvDyB,IAAe,MAAMV,EAAUS,EAAY;AAGjD5B,MAAQ2B,gBAAgB;GAExB,IAAMG,IAAgB,MAAMd,EAAqB;IAC/CE,WAAWU,EAAYV;IACvBZ,eAAeA,EAAcyB,UAAU;IACvC/B;IACD,CAAC;AAEF,OAAIO,GAAU;IACZ,IAAMyB,IAA0BX,EAAgB;KAC9CY,MAAMH;KACNP;KACAW,aAAaC,MAAS;AACpBb,QAAOc,IACL,wCACAN,GACAK,EACD;;KAEJ,CAAC;AAOF5B,IALAe,EAAOc,IACL,+DACAN,EACD,EAEDvB,EAAS;KACPgB;KACAc,QAAQ;KACRC,gBAAgBN;KAChBO,iBAAiBT;KACjBU,yBAAyB;MACvBH,QAAQ;MACRjB,OAAOQ;MACPtB;MACF;KACD,CAAC;;AAGJ,UAAOuB;WACAY,GAAO;AAEd,SADAnB,EAAOmB,MAAM,4BAA4BA,EAAM,EACzCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"preSignAndSubmitOrderFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preSignAndSubmitOrderFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,53 @@
1
- import { guardUnpostedDeltaOrder as e } from "../../../prices/delta/orders/unposted/index.js";
2
- import { assert as t } from "ts-essentials";
3
- import { isAddress as n } from "viem";
1
+ import { assert as e } from "ts-essentials";
2
+ import { isAddress as t } from "viem";
4
3
  //#region src/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.ts
5
- function r({ createPreSignableOrder: r, postOrder: i, addTxWithApprovals: a, sendCalls: o, ensureCallsStatus: s, ensureContractsLoaded: c, logger: l, chainId: u, account: d }) {
6
- return async ({ createOrderInput: f, approval: p, onTxSent: m }) => {
7
- let { signal: h } = f, { orderToPost: g, preSignCalldata: _ } = await r(f);
8
- h?.throwIfAborted();
9
- let { ParaswapDelta: v } = await c({ signal: h });
10
- t(v && n(v), `DeltaContract is not available on chain ${u}`);
11
- let y = [{
12
- to: v,
13
- account: d,
14
- data: _,
4
+ function n({ createPreSignableOrder: n, postOrder: r, addTxWithApprovals: i, sendCalls: a, ensureCallsStatus: o, ensureContractsLoaded: s, logger: c, chainId: l, account: u }) {
5
+ return async ({ createOrderInput: d, approval: f, onTxSent: p }) => {
6
+ let { signal: m } = d, { orderToPost: h, preSignCalldata: g } = await n(d);
7
+ m?.throwIfAborted();
8
+ let { ParaswapDelta: _ } = await s({ signal: m });
9
+ e(_ && t(_), `DeltaContract is not available on chain ${l}`);
10
+ let v = [{
11
+ to: _,
12
+ account: u,
13
+ data: g,
15
14
  value: 0n,
16
- chainId: u
17
- }], b = p.allowanceToSet && p.allowanceToSet > 0n && p.spender ? [{
18
- spender: p.spender,
19
- allowanceToSet: p.allowanceToSet,
20
- token: p.token,
21
- chainId: p.chainId
15
+ chainId: l
16
+ }], y = f.allowanceToSet && f.allowanceToSet > 0n && f.spender ? [{
17
+ spender: f.spender,
18
+ allowanceToSet: f.allowanceToSet,
19
+ token: f.token,
20
+ chainId: f.chainId
22
21
  }] : void 0;
23
22
  try {
24
- let { calls: t } = await a({
25
- txsParams: y,
26
- approveProps: b
23
+ let { calls: e } = await i({
24
+ txsParams: v,
25
+ approveProps: y
27
26
  });
28
- h?.throwIfAborted();
29
- let n = await o({ txsParams: t });
30
- if (h?.throwIfAborted(), m) {
31
- let e = s({ id: n.id }).then((e) => e.receipts?.[e.receipts.length - 1]);
32
- l.log("~ deltaOrder ~ setPreSignature calls id :", n.id), m({
33
- chainId: u,
27
+ m?.throwIfAborted();
28
+ let t = await r(h);
29
+ m?.throwIfAborted();
30
+ let n = await a({ txsParams: e });
31
+ if (m?.throwIfAborted(), p) {
32
+ let e = o({ id: n.id }).then((e) => e.receipts?.[e.receipts.length - 1]);
33
+ c.log("~ deltaOrder ~ setPreSignature calls id :", n.id), p({
34
+ chainId: l,
34
35
  action: "preSignDeltaOrder",
35
36
  callsId: n.id,
36
37
  receiptPromise: e,
37
38
  transactionSpecificData: {
38
39
  action: "preSignDeltaOrder",
39
- order: g
40
+ order: h
40
41
  }
41
42
  });
42
43
  }
43
- return await e({
44
- order: {
45
- ...g,
46
- timestamp: Date.now(),
47
- callsId: n.id
48
- },
49
- cb: () => i(g)
50
- });
44
+ return t;
51
45
  } catch (e) {
52
- throw l.error("Pre-sign and submit Order error", e), e;
46
+ throw c.error("Pre-sign and submit Order error", e), e;
53
47
  }
54
48
  };
55
49
  }
56
50
  //#endregion
57
- export { r as preSignAndSubmitOrderFactory };
51
+ export { n as preSignAndSubmitOrderFactory };
58
52
 
59
53
  //# sourceMappingURL=preSignAndSubmitOrderFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preSignAndSubmitOrderFactory.js","names":["DeltaAuction","PreSignOrderToPost","TxParams","SendCalls","EnsureCallsStatusFn","AdaptersContractsResult","isAddress","Address","Hex","SupportedChainId","LoggerInstance","ApprovalFlowResult","CallsSentObject","assert","guardUnpostedDeltaOrder","PreSignableOrderResult","orderToPost","TOrderToPost","preSignCalldata","AddTxWithApprovals","options","txsParams","approveProps","Pick","Promise","calls","PreSignAndSubmitOrderInput","signal","AbortSignal","createOrderInput","TCreateInput","approval","onTxSent","txSent","PreSignAndSubmitOrderFunc","input","TAuction","PreSignAndSubmitOrderFactoryDeps","createPreSignableOrder","postOrder","order","addTxWithApprovals","sendCalls","ensureCallsStatus","ensureContractsLoaded","params","logger","chainId","account","preSignAndSubmitOrderFactory","throwIfAborted","ParaswapDelta","DeltaContract","to","data","value","needToApprove","allowanceToSet","spender","token","undefined","sendCallsResult","sendCallsReceiptPromise","id","then","status","receipts","length","log","action","callsId","receiptPromise","transactionSpecificData","orderFromAPI","timestamp","Date","now","cb","error"],"sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { PreSignOrderToPost } from \"../../../prices/delta/mutations/types\";\nimport type { TxParams } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport type { SendCalls } from \"@/hooks/batch/useSendBatchTx\";\nimport type { EnsureCallsStatusFn } from \"@/transactions/queries/ensureCallsStatus\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport { isAddress, type Address, type Hex } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { ApprovalFlowResult } from \"../types\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { guardUnpostedDeltaOrder } from \"../../../prices/delta/orders/unposted\";\n\ntype PreSignableOrderResult<TOrderToPost> = {\n orderToPost: TOrderToPost;\n preSignCalldata: Hex;\n};\n\nexport type AddTxWithApprovals = (options: {\n txsParams: [TxParams, ...TxParams[]];\n approveProps?: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >[];\n}) => Promise<{ calls: [TxParams, ...TxParams[]] }>;\n\nexport type PreSignAndSubmitOrderInput<\n TCreateInput extends { signal?: AbortSignal },\n> = {\n createOrderInput: TCreateInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\nexport type PreSignAndSubmitOrderFunc<\n TCreateInput extends { signal?: AbortSignal },\n TAuction extends DeltaAuction,\n> = (input: PreSignAndSubmitOrderInput<TCreateInput>) => Promise<TAuction>;\n\ntype PreSignAndSubmitOrderFactoryDeps<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends { signal?: AbortSignal },\n> = {\n createPreSignableOrder: (\n input: TCreateInput\n ) => Promise<PreSignableOrderResult<TOrderToPost>>;\n postOrder: (order: TOrderToPost) => Promise<TAuction>;\n addTxWithApprovals: AddTxWithApprovals;\n sendCalls: SendCalls;\n ensureCallsStatus: EnsureCallsStatusFn;\n ensureContractsLoaded: (params: {\n signal?: AbortSignal;\n }) => Promise<AdaptersContractsResult>;\n logger: LoggerInstance;\n chainId: SupportedChainId;\n account?: Address;\n};\n\nexport function preSignAndSubmitOrderFactory<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends { signal?: AbortSignal },\n>({\n createPreSignableOrder,\n postOrder,\n addTxWithApprovals,\n sendCalls,\n ensureCallsStatus,\n ensureContractsLoaded,\n logger,\n chainId,\n account,\n}: PreSignAndSubmitOrderFactoryDeps<\n TOrderToPost,\n TAuction,\n TCreateInput\n>): PreSignAndSubmitOrderFunc<TCreateInput, TAuction> {\n return async ({ createOrderInput, approval, onTxSent }) => {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3 construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n const { signal } = createOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrder(createOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n try {\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // 5. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await sendCalls({\n txsParams: calls,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n if (onTxSent) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n // 7. POST the Order to API with signature=0x\n const orderFromAPI = await guardUnpostedDeltaOrder({\n order: {\n ...orderToPost,\n timestamp: Date.now(),\n callsId: sendCallsResult.id,\n },\n cb: () => postOrder(orderToPost),\n });\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Order error\", error);\n throw error;\n }\n };\n}\n"],"mappings":";;;;AA+DA,SAAgBiD,EAId,EACAX,2BACAC,cACAE,uBACAC,cACAC,sBACAC,0BACAE,WACAC,YACAC,cAKoD;AACpD,QAAO,OAAO,EAAEnB,qBAAkBE,aAAUC,kBAAe;EAMzD,IAAM,EAAEL,cAAWE,GAEb,EAAEb,gBAAaE,uBACnB,MAAMoB,EAAuBT,EAAiB;AAGhDF,KAAQuB,gBAAgB;EAExB,IAAM,EAAEC,eAAeC,MAAkB,MAAMR,EAAsB,EACnEjB,WACD,CAAC;AAEFd,IACEuC,KAAiB9C,EAAU8C,EAAc,EACzC,2CAA2CL,IAC5C;EAED,IAAM1B,IAAuC,CAC3C;GACEgC,IAAID;GACJJ;GACAM,MAAMpC;GACNqC,OAAO;GACPR;GACD,CACF,EAOKzB,IAJJS,EAAS0B,kBACT1B,EAAS0B,iBAAiB,MAC1B1B,EAAS2B,UAGP,CACE;GACEA,SAAS3B,EAAS2B;GAClBD,gBAAgB1B,EAAS0B;GACzBE,OAAO5B,EAAS4B;GAChBZ,SAAShB,EAASgB;GACnB,CACF,GACDa,KAAAA;AAEJ,MAAI;GAEF,IAAM,EAAEnC,aAAU,MAAMgB,EAAmB;IACzCpB;IACAC;IACD,CAAC;AAGFK,MAAQuB,gBAAgB;GAGxB,IAAMW,IAAkB,MAAMnB,EAAU,EACtCrB,WAAWI,GACZ,CAAC;AAKF,OAFAE,GAAQuB,gBAAgB,EAEpBlB,GAAU;IACZ,IAAM8B,IAA0BnB,EAAkB,EAChDoB,IAAIF,EAAgBE,IACrB,CAAC,CAACC,MAAMC,MAAWA,EAAOC,WAAWD,EAAOC,SAASC,SAAS,GAAG;AAOlEnC,IALAc,EAAOsB,IACL,6CACAP,EAAgBE,GACjB,EAED/B,EAAS;KACPe;KACAsB,QAAQ;KACRC,SAAST,EAAgBE;KACzBQ,gBAAgBT;KAChBU,yBAAyB;MACvBH,QAAQ;MACR7B,OAAOxB;MACT;KACD,CAAC;;AAaJ,UATqB,MAAMF,EAAwB;IACjD0B,OAAO;KACL,GAAGxB;KACH0D,WAAWC,KAAKC,KAAK;KACrBN,SAAST,EAAgBE;KAC1B;IACDc,UAAUtC,EAAUvB,EAAW;IAChC,CAAC;WAGK8D,GAAO;AAEd,SADAhC,EAAOgC,MAAM,mCAAmCA,EAAM,EAChDA"}
1
+ {"version":3,"file":"preSignAndSubmitOrderFactory.js","names":["DeltaAuction","PreSignOrderToPost","TxParams","SendCalls","EnsureCallsStatusFn","AdaptersContractsResult","isAddress","Address","Hex","SupportedChainId","LoggerInstance","ApprovalFlowResult","CallsSentObject","assert","PreSignableOrderResult","orderToPost","TOrderToPost","preSignCalldata","AddTxWithApprovals","options","txsParams","approveProps","Pick","Promise","calls","PreSignAndSubmitOrderInput","signal","AbortSignal","createOrderInput","TCreateInput","approval","onTxSent","txSent","PreSignAndSubmitOrderFunc","input","TAuction","PreSignAndSubmitOrderFactoryDeps","createPreSignableOrder","postOrder","order","addTxWithApprovals","sendCalls","ensureCallsStatus","ensureContractsLoaded","params","logger","chainId","account","preSignAndSubmitOrderFactory","throwIfAborted","ParaswapDelta","DeltaContract","to","data","value","needToApprove","allowanceToSet","spender","token","undefined","orderFromAPI","sendCallsResult","sendCallsReceiptPromise","id","then","status","receipts","length","log","action","callsId","receiptPromise","transactionSpecificData","error"],"sources":["../../../../../../src/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { PreSignOrderToPost } from \"../../../prices/delta/mutations/types\";\nimport type { TxParams } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport type { SendCalls } from \"@/hooks/batch/useSendBatchTx\";\nimport type { EnsureCallsStatusFn } from \"@/transactions/queries/ensureCallsStatus\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport { isAddress, type Address, type Hex } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { ApprovalFlowResult } from \"../types\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\n\ntype PreSignableOrderResult<TOrderToPost> = {\n orderToPost: TOrderToPost;\n preSignCalldata: Hex;\n};\n\nexport type AddTxWithApprovals = (options: {\n txsParams: [TxParams, ...TxParams[]];\n approveProps?: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >[];\n}) => Promise<{ calls: [TxParams, ...TxParams[]] }>;\n\nexport type PreSignAndSubmitOrderInput<\n TCreateInput extends { signal?: AbortSignal },\n> = {\n createOrderInput: TCreateInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\nexport type PreSignAndSubmitOrderFunc<\n TCreateInput extends { signal?: AbortSignal },\n TAuction extends DeltaAuction,\n> = (input: PreSignAndSubmitOrderInput<TCreateInput>) => Promise<TAuction>;\n\ntype PreSignAndSubmitOrderFactoryDeps<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends { signal?: AbortSignal },\n> = {\n createPreSignableOrder: (\n input: TCreateInput\n ) => Promise<PreSignableOrderResult<TOrderToPost>>;\n postOrder: (order: TOrderToPost) => Promise<TAuction>;\n addTxWithApprovals: AddTxWithApprovals;\n sendCalls: SendCalls;\n ensureCallsStatus: EnsureCallsStatusFn;\n ensureContractsLoaded: (params: {\n signal?: AbortSignal;\n }) => Promise<AdaptersContractsResult>;\n logger: LoggerInstance;\n chainId: SupportedChainId;\n account?: Address;\n};\n\nexport function preSignAndSubmitOrderFactory<\n TOrderToPost extends PreSignOrderToPost,\n TAuction extends DeltaAuction,\n TCreateInput extends { signal?: AbortSignal },\n>({\n createPreSignableOrder,\n postOrder,\n addTxWithApprovals,\n sendCalls,\n ensureCallsStatus,\n ensureContractsLoaded,\n logger,\n chainId,\n account,\n}: PreSignAndSubmitOrderFactoryDeps<\n TOrderToPost,\n TAuction,\n TCreateInput\n>): PreSignAndSubmitOrderFunc<TCreateInput, TAuction> {\n return async ({ createOrderInput, approval, onTxSent }) => {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3 construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n const { signal } = createOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrder(createOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n try {\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // 5. POST the Order to API with signature=0x\n const orderFromAPI = await postOrder(orderToPost);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // 6. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await sendCalls({\n txsParams: calls,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n if (onTxSent) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Order error\", error);\n throw error;\n }\n };\n}\n"],"mappings":";;;AA8DA,SAAgBgD,EAId,EACAX,2BACAC,cACAE,uBACAC,cACAC,sBACAC,0BACAE,WACAC,YACAC,cAKoD;AACpD,QAAO,OAAO,EAAEnB,qBAAkBE,aAAUC,kBAAe;EAMzD,IAAM,EAAEL,cAAWE,GAEb,EAAEb,gBAAaE,uBACnB,MAAMoB,EAAuBT,EAAiB;AAGhDF,KAAQuB,gBAAgB;EAExB,IAAM,EAAEC,eAAeC,MAAkB,MAAMR,EAAsB,EACnEjB,WACD,CAAC;AAEFb,IACEsC,KAAiB7C,EAAU6C,EAAc,EACzC,2CAA2CL,IAC5C;EAED,IAAM1B,IAAuC,CAC3C;GACEgC,IAAID;GACJJ;GACAM,MAAMpC;GACNqC,OAAO;GACPR;GACD,CACF,EAOKzB,IAJJS,EAAS0B,kBACT1B,EAAS0B,iBAAiB,MAC1B1B,EAAS2B,UAGP,CACE;GACEA,SAAS3B,EAAS2B;GAClBD,gBAAgB1B,EAAS0B;GACzBE,OAAO5B,EAAS4B;GAChBZ,SAAShB,EAASgB;GACnB,CACF,GACDa,KAAAA;AAEJ,MAAI;GAEF,IAAM,EAAEnC,aAAU,MAAMgB,EAAmB;IACzCpB;IACAC;IACD,CAAC;AAGFK,MAAQuB,gBAAgB;GAGxB,IAAMW,IAAe,MAAMtB,EAAUvB,EAAY;AAGjDW,MAAQuB,gBAAgB;GAGxB,IAAMY,IAAkB,MAAMpB,EAAU,EACtCrB,WAAWI,GACZ,CAAC;AAKF,OAFAE,GAAQuB,gBAAgB,EAEpBlB,GAAU;IACZ,IAAM+B,IAA0BpB,EAAkB,EAChDqB,IAAIF,EAAgBE,IACrB,CAAC,CAACC,MAAMC,MAAWA,EAAOC,WAAWD,EAAOC,SAASC,SAAS,GAAG;AAOlEpC,IALAc,EAAOuB,IACL,6CACAP,EAAgBE,GACjB,EAEDhC,EAAS;KACPe;KACAuB,QAAQ;KACRC,SAAST,EAAgBE;KACzBQ,gBAAgBT;KAChBU,yBAAyB;MACvBH,QAAQ;MACR9B,OAAOxB;MACT;KACD,CAAC;;AAGJ,UAAO6C;WACAa,GAAO;AAEd,SADA5B,EAAO4B,MAAM,mCAAmCA,EAAM,EAChDA"}
@@ -9,7 +9,7 @@ import { useQueryClient as c } from "@tanstack/react-query";
9
9
  import "viem";
10
10
  //#region src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts
11
11
  function l(l) {
12
- let u = s(70), { chainId: d, account: f, logger: p, viemClient: m } = l, h = c(), g;
12
+ let u = s(71), { chainId: d, account: f, logger: p, viemClient: m } = l, h = c(), g;
13
13
  u[0] !== d || u[1] !== m ? (g = {
14
14
  chainId: d,
15
15
  client: m
@@ -82,8 +82,8 @@ function l(l) {
82
82
  isSuccess: N.isSuccess,
83
83
  error: N.error
84
84
  }, u[40] = N.data, u[41] = N.error, u[42] = N.isError, u[43] = N.isPending, u[44] = N.isSuccess, u[45] = P) : P = u[45];
85
- let F = P, I = y.isCreatingOrder || O.isPending || F.isPostingOrder, L = y.isPending || O.isPending || F.isPending, R = y.isError || O.isError || F.isError, z = y.error || O.error || F.error, B;
86
- u[46] !== F || u[47] !== y || u[48] !== O || u[49] !== N.data || u[50] !== I || u[51] !== L || u[52] !== R || u[53] !== z ? (B = {
85
+ let F = P, I = y.isCreatingOrder || O.isPending || F.isPostingOrder, L = y.isPending || O.isPending || F.isPending, R = y.isError || O.isError || F.isError, z = F.isSuccess && O.isTxSent, B = y.error || O.error || F.error, V;
86
+ u[46] !== F || u[47] !== y || u[48] !== O || u[49] !== N.data || u[50] !== I || u[51] !== L || u[52] !== R || u[53] !== z || u[54] !== B ? (V = {
87
87
  order: N.data,
88
88
  depositPrep: y,
89
89
  depositTx: O,
@@ -92,28 +92,28 @@ function l(l) {
92
92
  isOrderSent: F.isOrderSent,
93
93
  isPending: L,
94
94
  isError: R,
95
- isSuccess: F.isSuccess,
96
- error: z
97
- }, u[46] = F, u[47] = y, u[48] = O, u[49] = N.data, u[50] = I, u[51] = L, u[52] = R, u[53] = z, u[54] = B) : B = u[54];
98
- let V = B, H = n(), U;
99
- u[55] !== d || u[56] !== _.mutateAsync || u[57] !== H || u[58] !== p || u[59] !== N.mutateAsync || u[60] !== x.mutateAsync ? (U = o({
95
+ isSuccess: z,
96
+ error: B
97
+ }, u[46] = F, u[47] = y, u[48] = O, u[49] = N.data, u[50] = I, u[51] = L, u[52] = R, u[53] = z, u[54] = B, u[55] = V) : V = u[55];
98
+ let H = V, U = n(), W;
99
+ u[56] !== d || u[57] !== _.mutateAsync || u[58] !== U || u[59] !== p || u[60] !== N.mutateAsync || u[61] !== x.mutateAsync ? (W = o({
100
100
  createOrderToPost: _.mutateAsync,
101
101
  sendDepositPreSignTx: x.mutateAsync,
102
102
  postOrder: N.mutateAsync,
103
- ensureTxReceipt: H,
103
+ ensureTxReceipt: U,
104
104
  logger: p,
105
105
  chainId: d
106
- }), u[55] = d, u[56] = _.mutateAsync, u[57] = H, u[58] = p, u[59] = N.mutateAsync, u[60] = x.mutateAsync, u[61] = U) : U = u[61];
107
- let W = U, G;
108
- u[62] !== _ || u[63] !== N || u[64] !== x ? (G = () => {
106
+ }), u[56] = d, u[57] = _.mutateAsync, u[58] = U, u[59] = p, u[60] = N.mutateAsync, u[61] = x.mutateAsync, u[62] = W) : W = u[62];
107
+ let G = W, K;
108
+ u[63] !== _ || u[64] !== N || u[65] !== x ? (K = () => {
109
109
  _.reset(), x.reset(), N.reset();
110
- }, u[62] = _, u[63] = N, u[64] = x, u[65] = G) : G = u[65];
111
- let K = G, q;
112
- return u[66] !== V || u[67] !== W || u[68] !== K ? (q = {
113
- deltaOrderDeposit: V,
114
- depositAndSubmitDeltaOrder: W,
115
- reset: K
116
- }, u[66] = V, u[67] = W, u[68] = K, u[69] = q) : q = u[69], q;
110
+ }, u[63] = _, u[64] = N, u[65] = x, u[66] = K) : K = u[66];
111
+ let q = K, J;
112
+ return u[67] !== H || u[68] !== G || u[69] !== q ? (J = {
113
+ deltaOrderDeposit: H,
114
+ depositAndSubmitDeltaOrder: G,
115
+ reset: q
116
+ }, u[67] = H, u[68] = G, u[69] = q, u[70] = J) : J = u[70], J;
117
117
  }
118
118
  //#endregion
119
119
  export { l as useDepositAndSubmitDeltaOrder };
@@ -1 +1 @@
1
- {"version":3,"file":"useDepositAndSubmitDeltaOrder.js","names":["Address","TransactionReceipt","deltaOrdersQueryKey","SupportedChainId","LoggerInstance","MinViemClient","usePostDeltaOrder","useQueryClient","CreateAndSubmitDeltaOrderInput","TxSentObject","useAwaitTx","useEnsureTxReceipt","useDeltaOrderToPost","useSendDepositPreSignDeltaOrderTx","PreSignDeltaOrderToPost","DeltaAuctionWithOrder","depositAndSubmitOrderFactory","DeltaOrderDepositResult","depositPrep","order","isCreatingOrder","isOrderHashReady","isPending","isError","isSuccess","error","Error","depositTx","txHash","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isTxMined","isTxAwaitingError","postingOrder","isPostingOrder","isOrderSent","UseDepositAndSubmitDeltaOrderInput","chainId","account","logger","viemClient","UseDepositAndSubmitDeltaOrderResult","deltaOrderDeposit","depositAndSubmitDeltaOrder","DepositAndSubmitDeltaOrderFunc","reset","useDepositAndSubmitDeltaOrder","t0","$","_c","queryClient","t1","client","deltaOrderToPostMut","t2","data","t3","sendDepositTxMut","t4","hash","awaitDepositTx","t5","isLoading","t6","t7","t8","t9","log","invalidateQueries","queryKey","userAddress","user","exact","t10","t11","onSuccess","onError","t12","mutationOptions","postOrderMut","t13","deltaOrderPosting","t14","t15","t16","t17","t18","ensureTxReceipt","t19","mutateAsync","createOrderToPost","sendDepositPreSignTx","postOrder","t20","t21","DepositAndSubmitDeltaOrderInput","createOrderInput","depositAmount","onTxSent","txSent","input","Promise"],"sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"sourcesContent":["import { type Address, type TransactionReceipt } from \"viem\";\nimport { deltaOrdersQueryKey } from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { useDeltaOrderToPost } from \"../../prices/delta/mutations/useDeltaOrderToPost\";\nimport { useSendDepositPreSignDeltaOrderTx } from \"../../prices/delta/mutations/useSendDepositPreSignDeltaOrderTx\";\nimport type { PreSignDeltaOrderToPost } from \"../../prices/delta/mutations/types\";\nimport type { DeltaAuctionWithOrder } from \"../../prices/delta/orders/types\";\nimport { depositAndSubmitOrderFactory } from \"./factory/depositAndSubmitOrderFactory\";\n\nexport type DeltaOrderDepositResult = {\n depositPrep: {\n order?: PreSignDeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n depositTx: {\n txHash?: Address;\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 isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n };\n postingOrder: {\n order?: DeltaAuctionWithOrder;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: DeltaAuctionWithOrder;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UseDepositAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UseDepositAndSubmitDeltaOrderResult = {\n deltaOrderDeposit: DeltaOrderDepositResult;\n depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const deltaOrderToPostMut = useDeltaOrderToPost({\n chainId,\n client: viemClient,\n });\n\n const depositPrep: DeltaOrderDepositResult[\"depositPrep\"] = {\n isCreatingOrder: deltaOrderToPostMut.isPending,\n isOrderHashReady: deltaOrderToPostMut.isSuccess,\n order: deltaOrderToPostMut.data,\n isPending: deltaOrderToPostMut.isPending,\n isError: deltaOrderToPostMut.isError,\n isSuccess: deltaOrderToPostMut.isSuccess,\n error: deltaOrderToPostMut.error,\n };\n\n /* 1. submit depositNativeAndPreSign tx */\n const sendDepositTxMut = useSendDepositPreSignDeltaOrderTx({\n chainId,\n client: viemClient,\n });\n\n /* 2. await depositNativeAndPreSign tx */\n const awaitDepositTx = useAwaitTx({\n hash: sendDepositTxMut.data,\n chainId,\n });\n\n const depositTx = {\n txHash: sendDepositTxMut.data,\n receipt: awaitDepositTx.data,\n /* tx sending */\n isConfirmingTX: sendDepositTxMut.isPending,\n isConfirmingTxError: sendDepositTxMut.isError,\n isTxSent: sendDepositTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: awaitDepositTx.isLoading,\n isTxMined: awaitDepositTx.isSuccess,\n isTxAwaitingError: awaitDepositTx.isError,\n /* combined */\n isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,\n isSuccess: awaitDepositTx.isSuccess, // final success\n isError: sendDepositTxMut.isError || awaitDepositTx.isError,\n error: sendDepositTxMut.error || awaitDepositTx.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"[DepositAndSubmit] Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"[DepositAndSubmit] Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderDepositResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderDeposit: DeltaOrderDepositResult = {\n order: postOrderMut.data,\n depositPrep: depositPrep,\n depositTx,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n depositPrep.isCreatingOrder ||\n depositTx.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n depositPrep.isPending ||\n depositTx.isPending ||\n deltaOrderPosting.isPending,\n isError:\n depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error: depositPrep.error || depositTx.error || deltaOrderPosting.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const depositAndSubmitDeltaOrder = depositAndSubmitOrderFactory({\n createOrderToPost: deltaOrderToPostMut.mutateAsync,\n sendDepositPreSignTx: sendDepositTxMut.mutateAsync,\n postOrder: postOrderMut.mutateAsync,\n ensureTxReceipt,\n logger,\n chainId,\n });\n\n const reset = () => {\n deltaOrderToPostMut.reset();\n sendDepositTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderDeposit,\n depositAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype DepositAndSubmitDeltaOrderInput = {\n createOrderInput: CreateAndSubmitDeltaOrderInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype DepositAndSubmitDeltaOrderFunc = (\n input: DepositAndSubmitDeltaOrderInput\n) => Promise<DeltaAuctionWithOrder>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDepositAndSubmitDeltaOrder.js","names":["Address","TransactionReceipt","deltaOrdersQueryKey","SupportedChainId","LoggerInstance","MinViemClient","usePostDeltaOrder","useQueryClient","CreateAndSubmitDeltaOrderInput","TxSentObject","useAwaitTx","useEnsureTxReceipt","useDeltaOrderToPost","useSendDepositPreSignDeltaOrderTx","PreSignDeltaOrderToPost","DeltaAuctionWithOrder","depositAndSubmitOrderFactory","DeltaOrderDepositResult","depositPrep","order","isCreatingOrder","isOrderHashReady","isPending","isError","isSuccess","error","Error","depositTx","txHash","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isTxMined","isTxAwaitingError","postingOrder","isPostingOrder","isOrderSent","UseDepositAndSubmitDeltaOrderInput","chainId","account","logger","viemClient","UseDepositAndSubmitDeltaOrderResult","deltaOrderDeposit","depositAndSubmitDeltaOrder","DepositAndSubmitDeltaOrderFunc","reset","useDepositAndSubmitDeltaOrder","t0","$","_c","queryClient","t1","client","deltaOrderToPostMut","t2","data","t3","sendDepositTxMut","t4","hash","awaitDepositTx","t5","isLoading","t6","t7","t8","t9","log","invalidateQueries","queryKey","userAddress","user","exact","t10","t11","onSuccess","onError","t12","mutationOptions","postOrderMut","t13","deltaOrderPosting","t14","t15","t16","t17","t18","t19","ensureTxReceipt","t20","mutateAsync","createOrderToPost","sendDepositPreSignTx","postOrder","t21","t22","DepositAndSubmitDeltaOrderInput","createOrderInput","depositAmount","onTxSent","txSent","input","Promise"],"sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"sourcesContent":["import { type Address, type TransactionReceipt } from \"viem\";\nimport { deltaOrdersQueryKey } from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { useDeltaOrderToPost } from \"../../prices/delta/mutations/useDeltaOrderToPost\";\nimport { useSendDepositPreSignDeltaOrderTx } from \"../../prices/delta/mutations/useSendDepositPreSignDeltaOrderTx\";\nimport type { PreSignDeltaOrderToPost } from \"../../prices/delta/mutations/types\";\nimport type { DeltaAuctionWithOrder } from \"../../prices/delta/orders/types\";\nimport { depositAndSubmitOrderFactory } from \"./factory/depositAndSubmitOrderFactory\";\n\nexport type DeltaOrderDepositResult = {\n depositPrep: {\n order?: PreSignDeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n depositTx: {\n txHash?: Address;\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 isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n };\n postingOrder: {\n order?: DeltaAuctionWithOrder;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: DeltaAuctionWithOrder;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UseDepositAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UseDepositAndSubmitDeltaOrderResult = {\n deltaOrderDeposit: DeltaOrderDepositResult;\n depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const deltaOrderToPostMut = useDeltaOrderToPost({\n chainId,\n client: viemClient,\n });\n\n const depositPrep: DeltaOrderDepositResult[\"depositPrep\"] = {\n isCreatingOrder: deltaOrderToPostMut.isPending,\n isOrderHashReady: deltaOrderToPostMut.isSuccess,\n order: deltaOrderToPostMut.data,\n isPending: deltaOrderToPostMut.isPending,\n isError: deltaOrderToPostMut.isError,\n isSuccess: deltaOrderToPostMut.isSuccess,\n error: deltaOrderToPostMut.error,\n };\n\n /* 1. submit depositNativeAndPreSign tx */\n const sendDepositTxMut = useSendDepositPreSignDeltaOrderTx({\n chainId,\n client: viemClient,\n });\n\n /* 2. await depositNativeAndPreSign tx */\n const awaitDepositTx = useAwaitTx({\n hash: sendDepositTxMut.data,\n chainId,\n });\n\n const depositTx = {\n txHash: sendDepositTxMut.data,\n receipt: awaitDepositTx.data,\n /* tx sending */\n isConfirmingTX: sendDepositTxMut.isPending,\n isConfirmingTxError: sendDepositTxMut.isError,\n isTxSent: sendDepositTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: awaitDepositTx.isLoading,\n isTxMined: awaitDepositTx.isSuccess,\n isTxAwaitingError: awaitDepositTx.isError,\n /* combined */\n isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,\n isSuccess: awaitDepositTx.isSuccess, // final success\n isError: sendDepositTxMut.isError || awaitDepositTx.isError,\n error: sendDepositTxMut.error || awaitDepositTx.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"[DepositAndSubmit] Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"[DepositAndSubmit] Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderDepositResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderDeposit: DeltaOrderDepositResult = {\n order: postOrderMut.data,\n depositPrep: depositPrep,\n depositTx,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n depositPrep.isCreatingOrder ||\n depositTx.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n depositPrep.isPending ||\n depositTx.isPending ||\n deltaOrderPosting.isPending,\n isError:\n depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess && depositTx.isTxSent,\n error: depositPrep.error || depositTx.error || deltaOrderPosting.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const depositAndSubmitDeltaOrder = depositAndSubmitOrderFactory({\n createOrderToPost: deltaOrderToPostMut.mutateAsync,\n sendDepositPreSignTx: sendDepositTxMut.mutateAsync,\n postOrder: postOrderMut.mutateAsync,\n ensureTxReceipt,\n logger,\n chainId,\n });\n\n const reset = () => {\n deltaOrderToPostMut.reset();\n sendDepositTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderDeposit,\n depositAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype DepositAndSubmitDeltaOrderInput = {\n createOrderInput: CreateAndSubmitDeltaOrderInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype DepositAndSubmitDeltaOrderFunc = (\n input: DepositAndSubmitDeltaOrderInput\n) => Promise<DeltaAuctionWithOrder>;\n"],"mappings":";;;;;;;;;;AAuEA,SAAOiD,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAuC,EAAAZ,YAAAC,YAAAC,WAAAC,kBAAAO,GAM5CG,IAAoB9C,GAAgB,EAAC+C;AAAA,CAAAH,EAAA,OAAAX,KAAAW,EAAA,OAAAR,KAEWW,IAAA;EAAAd;EAAAe,QAEtCZ;EACT,EAAAQ,EAAA,KAAAX,GAAAW,EAAA,KAAAR,GAAAQ,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAHD,IAAAK,IAA4B5C,EAAoB0C,EAG9C,EAACG;AAAA,CAAAN,EAAA,OAAAK,EAAAE,QAAAP,EAAA,OAAAK,EAAA/B,SAAA0B,EAAA,OAAAK,EAAAjC,WAAA4B,EAAA,OAAAK,EAAAlC,aAAA6B,EAAA,OAAAK,EAAAhC,aAEyDiC,IAAA;EAAArC,iBACzCoC,EAAmBlC;EAAUD,kBAC5BmC,EAAmBhC;EAAUL,OACxCqC,EAAmBE;EAAKpC,WACpBkC,EAAmBlC;EAAUC,SAC/BiC,EAAmBjC;EAAQC,WACzBgC,EAAmBhC;EAAUC,OACjC+B,EAAmB/B;EAC3B,EAAA0B,EAAA,KAAAK,EAAAE,MAAAP,EAAA,KAAAK,EAAA/B,OAAA0B,EAAA,KAAAK,EAAAjC,SAAA4B,EAAA,KAAAK,EAAAlC,WAAA6B,EAAA,KAAAK,EAAAhC,WAAA2B,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CARD,IAAAjC,IAA4DuC,GAQ1DE;AAAA,CAAAR,EAAA,OAAAX,KAAAW,EAAA,QAAAR,KAGyDgB,IAAA;EAAAnB;EAAAe,QAEjDZ;EACT,EAAAQ,EAAA,KAAAX,GAAAW,EAAA,MAAAR,GAAAQ,EAAA,MAAAQ,KAAAA,IAAAR,EAAA;CAHD,IAAAS,IAAyB/C,EAAkC8C,EAGzD,EAACE;AAAA,CAAAV,EAAA,QAAAX,KAAAW,EAAA,QAAAS,EAAAF,QAG+BG,IAAA;EAAAC,MAC1BF,EAAgBF;EAAKlB;EAE5B,EAAAW,EAAA,MAAAX,GAAAW,EAAA,MAAAS,EAAAF,MAAAP,EAAA,MAAAU,KAAAA,IAAAV,EAAA;CAHD,IAAAY,IAAuBrD,EAAWmD,EAGhC,EAcWG,IAAAJ,EAAgBtC,aAAcyC,EAAcE,WAE9CC,IAAAN,EAAgBrC,WAAYwC,EAAcxC,SAC5C4C,IAAAP,EAAgBnC,SAAUsC,EAActC,OAAM2C;AAAA,CAAAjB,EAAA,QAAAY,EAAAL,QAAAP,EAAA,QAAAY,EAAAxC,WAAA4B,EAAA,QAAAY,EAAAE,aAAAd,EAAA,QAAAY,EAAAvC,aAAA2B,EAAA,QAAAS,EAAAF,QAAAP,EAAA,QAAAS,EAAArC,WAAA4B,EAAA,QAAAS,EAAAtC,aAAA6B,EAAA,QAAAS,EAAApC,aAAA2B,EAAA,QAAAa,KAAAb,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAfrCC,IAAA;EAAAxC,QACRgC,EAAgBF;EAAK7B,SACpBkC,EAAcL;EAAK5B,gBAEZ8B,EAAgBtC;EAAUS,qBACrB6B,EAAgBrC;EAAQS,UACnC4B,EAAgBpC;EAAUS,aAEvB8B,EAAcE;EAAU/B,WAC1B6B,EAAcvC;EAAUW,mBAChB4B,EAAcxC;EAAQD,WAE9B0C;EAAsDxC,WACtDuC,EAAcvC;EAAUD,SAC1B2C;EAAkDzC,OACpD0C;EACR,EAAAhB,EAAA,MAAAY,EAAAL,MAAAP,EAAA,MAAAY,EAAAxC,SAAA4B,EAAA,MAAAY,EAAAE,WAAAd,EAAA,MAAAY,EAAAvC,WAAA2B,EAAA,MAAAS,EAAAF,MAAAP,EAAA,MAAAS,EAAArC,SAAA4B,EAAA,MAAAS,EAAAtC,WAAA6B,EAAA,MAAAS,EAAApC,WAAA2B,EAAA,MAAAa,GAAAb,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA;CAhBD,IAAAxB,IAAkByC,GAgBhBC;AAAA,CAAAlB,EAAA,QAAAT,KAAAS,EAAA,QAAAE,KASagB,KAAAlD,MAAA;AAETkC,EADAX,EAAM4B,IAAK,iDAAiDnD,EAAM,EAClEkC,EAAWkB,kBAAmB;GAAAC,UAClBtE,EAAoB,EAAAuE,aACftD,EAAKuD,MACnB,CAAC;GAAAC,OACK;GACR,CAAC;IACHxB,EAAA,MAAAT,GAAAS,EAAA,MAAAE,GAAAF,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAyB;AAAA,CAAAzB,EAAA,QAAAT,IAGAkC,IAAAzB,EAAA,OAFQyB,KAAAnD,MAAA;AACPiB,IAAMjB,MAAO,+CAA+CA,EAAM;IACnE0B,EAAA,MAAAT,GAAAS,EAAA,MAAAyB;CAAA,IAAAC;AAAA,CAAA1B,EAAA,QAAAyB,KAAAzB,EAAA,QAAAkB,KAZcQ,IAAA;EAAAC,WACJT;EAQVU,SACQH;EAGV,EAAAzB,EAAA,MAAAyB,GAAAzB,EAAA,MAAAkB,GAAAlB,EAAA,MAAA0B,KAAAA,IAAA1B,EAAA;CAAA,IAAA6B;AAAA,CAAA7B,EAAA,QAAAV,KAAAU,EAAA,QAAAX,KAAAW,EAAA,QAAA0B,KAAA1B,EAAA,QAAAR,KAjBoCqC,IAAA;EAAAxC;EAAAC;EAAAc,QAG7BZ;EAAUsC,iBACDJ;EAclB,EAAA1B,EAAA,MAAAV,GAAAU,EAAA,MAAAX,GAAAW,EAAA,MAAA0B,GAAA1B,EAAA,MAAAR,GAAAQ,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA;CAlBD,IAAA+B,IAAqB5E,EAAkB0E,EAkBrC,EAACG;AAAA,CAAAhC,EAAA,QAAA+B,EAAAxB,QAAAP,EAAA,QAAA+B,EAAAzD,SAAA0B,EAAA,QAAA+B,EAAA3D,WAAA4B,EAAA,QAAA+B,EAAA5D,aAAA6B,EAAA,QAAA+B,EAAA1D,aAEgE2D,IAAA;EAAAhE,OAC1D+D,EAAYxB;EAAKrB,gBACR6C,EAAY5D;EAAUgB,aACzB4C,EAAY1D;EAAUF,WACxB4D,EAAY5D;EAAUC,SACxB2D,EAAY3D;EAAQC,WAClB0D,EAAY1D;EAAUC,OAC1ByD,EAAYzD;EACpB,EAAA0B,EAAA,MAAA+B,EAAAxB,MAAAP,EAAA,MAAA+B,EAAAzD,OAAA0B,EAAA,MAAA+B,EAAA3D,SAAA4B,EAAA,MAAA+B,EAAA5D,WAAA6B,EAAA,MAAA+B,EAAA1D,WAAA2B,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CARD,IAAAiC,IAAmED,GAgB/DE,IAAAnE,EAAWE,mBACXO,EAASL,aACT8D,EAAiB/C,gBAGjBiD,IAAApE,EAAWI,aACXK,EAASL,aACT8D,EAAiB9D,WAEjBiE,IAAArE,EAAWK,WAAYI,EAASJ,WAAY6D,EAAiB7D,SACpDiE,IAAAJ,EAAiB5D,aAAcG,EAASK,UAC5CyD,IAAAvE,EAAWO,SAAUE,EAASF,SAAU2D,EAAiB3D,OAAMiE;AAAA,CAAAvC,EAAA,QAAAiC,KAAAjC,EAAA,QAAAjC,KAAAiC,EAAA,QAAAxB,KAAAwB,EAAA,QAAA+B,EAAAxB,QAAAP,EAAA,QAAAkC,KAAAlC,EAAA,QAAAmC,KAAAnC,EAAA,QAAAoC,KAAApC,EAAA,QAAAqC,KAAArC,EAAA,QAAAsC,KAjBrBC,IAAA;EAAAvE,OAC1C+D,EAAYxB;EAAKxC;EAAAS;EAAAS,cAGVgD;EAAiBhE,iBAE7BiE;EAEgC/C,aACrB8C,EAAiB9C;EAAYhB,WAExCgE;EAE2B/D,SAE3BgE;EAAqE/D,WAC5DgE;EAAiD/D,OACrDgE;EACR,EAAAtC,EAAA,MAAAiC,GAAAjC,EAAA,MAAAjC,GAAAiC,EAAA,MAAAxB,GAAAwB,EAAA,MAAA+B,EAAAxB,MAAAP,EAAA,MAAAkC,GAAAlC,EAAA,MAAAmC,GAAAnC,EAAA,MAAAoC,GAAApC,EAAA,MAAAqC,GAAArC,EAAA,MAAAsC,GAAAtC,EAAA,MAAAuC,KAAAA,IAAAvC,EAAA;CAlBD,IAAAN,IAAmD6C,GAoBnDC,IAAwBhF,GAAoB,EAACiF;AAAA,CAAAzC,EAAA,QAAAX,KAAAW,EAAA,QAAAK,EAAAqC,eAAA1C,EAAA,QAAAwC,KAAAxC,EAAA,QAAAT,KAAAS,EAAA,QAAA+B,EAAAW,eAAA1C,EAAA,QAAAS,EAAAiC,eAEVD,IAAA5E,EAA6B;EAAA8E,mBAC3CtC,EAAmBqC;EAAYE,sBAC5BnC,EAAgBiC;EAAYG,WACvCd,EAAYW;EAAYF;EAAAjD;EAAAF;EAIpC,CAAC,EAAAW,EAAA,MAAAX,GAAAW,EAAA,MAAAK,EAAAqC,aAAA1C,EAAA,MAAAwC,GAAAxC,EAAA,MAAAT,GAAAS,EAAA,MAAA+B,EAAAW,aAAA1C,EAAA,MAAAS,EAAAiC,aAAA1C,EAAA,MAAAyC,KAAAA,IAAAzC,EAAA;CAPF,IAAAL,IAAmC8C,GAOhCK;AAAA,CAAA9C,EAAA,QAAAK,KAAAL,EAAA,QAAA+B,KAAA/B,EAAA,QAAAS,KAEWqC,UAAA;AAGZf,EAFA1B,EAAmBR,OAAQ,EAC3BY,EAAgBZ,OAAQ,EACxBkC,EAAYlC,OAAQ;IACrBG,EAAA,MAAAK,GAAAL,EAAA,MAAA+B,GAAA/B,EAAA,MAAAS,GAAAT,EAAA,MAAA8C,KAAAA,IAAA9C,EAAA;CAJD,IAAAH,IAAciD,GAIZC;AAMD,QANC/C,EAAA,QAAAN,KAAAM,EAAA,QAAAL,KAAAK,EAAA,QAAAH,KAEKkD,IAAA;EAAArD;EAAAC;EAAAE;EAIN,EAAAG,EAAA,MAAAN,GAAAM,EAAA,MAAAL,GAAAK,EAAA,MAAAH,GAAAG,EAAA,MAAA+C,KAAAA,IAAA/C,EAAA,KAJM+C"}