@velora-dex/widget 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js +57 -62
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +6 -6
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +4 -2
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +46 -34
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +25 -16
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +9 -12
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +34 -25
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +9 -2
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +3 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +4 -4
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts +11 -0
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -0
- package/dist/core/swapDetails/maxToPay.js +41 -0
- package/dist/core/swapDetails/maxToPay.js.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -2
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.d.ts.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/events/effects/price.js +3 -3
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +2 -2
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts +2 -0
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -0
- package/dist/events/hooks/useOnPriceUpdates.js +104 -0
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -0
- package/dist/events/types/priceChange.d.ts +12 -4
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +98 -29
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +35 -2
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +102 -98
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +8 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +234 -99
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +13 -20
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/useCachedQueryError.d.ts +3 -0
- package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
- package/dist/hooks/useCachedQueryError.js +11 -0
- package/dist/hooks/useCachedQueryError.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/overrides.d.ts +13 -2
- package/dist/tokens/overrides.d.ts.map +1 -1
- package/dist/tokens/overrides.js +71 -3
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/types.d.ts +4 -0
- package/dist/tokens/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { amountAfterSlippage } from '../../lib/utils/slippage.js';
|
|
2
|
+
import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
|
|
3
|
+
import { formatUnits } from 'viem';
|
|
4
|
+
|
|
5
|
+
const tooltip = "Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.";
|
|
6
|
+
function constructMaxToPayDetail({
|
|
7
|
+
price,
|
|
8
|
+
slippagePercent,
|
|
9
|
+
isLoading,
|
|
10
|
+
tokenFrom,
|
|
11
|
+
swapSide
|
|
12
|
+
}) {
|
|
13
|
+
if (swapSide === "SELL") return;
|
|
14
|
+
const title = "Maximum to Pay";
|
|
15
|
+
if (!price || !tokenFrom) {
|
|
16
|
+
return {
|
|
17
|
+
title,
|
|
18
|
+
value: null,
|
|
19
|
+
isLoading,
|
|
20
|
+
tooltip
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const maxSrcAmount = amountAfterSlippage(
|
|
24
|
+
// amount after fee
|
|
25
|
+
price.srcAmount,
|
|
26
|
+
// +slippage=maxAmount to pay
|
|
27
|
+
slippagePercent,
|
|
28
|
+
"BUY"
|
|
29
|
+
).toFixed(0);
|
|
30
|
+
const maxSrcAmountUnit = formatUnits(BigInt(maxSrcAmount), tokenFrom.decimals);
|
|
31
|
+
const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);
|
|
32
|
+
return {
|
|
33
|
+
title,
|
|
34
|
+
value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,
|
|
35
|
+
isLoading,
|
|
36
|
+
tooltip
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { constructMaxToPayDetail };
|
|
41
|
+
//# sourceMappingURL=maxToPay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maxToPay.js","sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n price.srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"names":["tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","maxSrcAmount","amountAfterSlippage","srcAmount","toFixed","maxSrcAmountUnit","formatUnits","BigInt","decimals","formattedMaxSrcAmount","toDecimalTrimmed","symbol"],"mappings":";;;;AAQA,MAAMA,OAAAA,GACJ,qGAAA;AAEK,SAASC,uBAAAA,CAAwB;AAAA,EACtCC,KAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC;AAOF,CAAA,EAAgC;AAE9B,EAAA,IAAIA,aAAa,MAAA,EAAQ;AAEzB,EAAA,MAAMC,KAAAA,GAAQ,gBAAA;AAEd,EAAA,IAAI,CAACL,KAAAA,IAAS,CAACG,SAAAA,EAAW;AACxB,IAAA,OAAO;AAAA,MACLE,KAAAA;AAAAA,MACAC,KAAAA,EAAO,IAAA;AAAA,MACPJ,SAAAA;AAAAA,MACAJ;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMS,YAAAA,GAAeC,mBAAAA;AAAAA;AAAAA,IAEnBR,KAAAA,CAAMS,SAAAA;AAAAA;AAAAA,IAENR,eAAAA;AAAAA,IACA;AAAA,GACF,CAAES,QAAQ,CAAC,CAAA;AACX,EAAA,MAAMC,mBAAmBC,WAAAA,CACvBC,MAAAA,CAAON,YAAY,CAAA,EACnBJ,UAAUW,QACZ,CAAA;AACA,EAAA,MAAMC,qBAAAA,GAAwBC,iBAAiBL,gBAAgB,CAAA;AAE/D,EAAA,OAAO;AAAA,IACLN,KAAAA;AAAAA,IACAC,KAAAA,EAAO,CAAA,EAAGS,qBAAqB,CAAA,CAAA,EAAIZ,UAAUc,MAAM,CAAA,CAAA;AAAA,IACnDf,SAAAA;AAAAA,IACAJ;AAAAA,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AA2B3C,eAAO,MAAM,uBAAuB,QAC9B,kCAgHH,CAAC"}
|
|
@@ -15,6 +15,7 @@ import { useSlippage } from '../../hooks/useSlippage.js';
|
|
|
15
15
|
import { ReactComponent as ForwardRef } from '../../assets/price-impact.svg.js';
|
|
16
16
|
import { TooltipTrigger, TooltipContent, Tooltip } from '../../components/ui/tooltip.js';
|
|
17
17
|
import { Skeleton } from '../../components/ui/skeleton.js';
|
|
18
|
+
import { constructMaxToPayDetail } from './maxToPay.js';
|
|
18
19
|
|
|
19
20
|
const useSwapDetailsListProps = () => {
|
|
20
21
|
const $ = distExports.c(49);
|
|
@@ -73,14 +74,20 @@ const useSwapDetailsListProps = () => {
|
|
|
73
74
|
swapMode: priceMode,
|
|
74
75
|
isLoading
|
|
75
76
|
});
|
|
76
|
-
const
|
|
77
|
+
const minMaxDetail = swapSide === "SELL" ? constructYouGetDetail({
|
|
77
78
|
price,
|
|
78
79
|
isLoading,
|
|
79
80
|
slippagePercent: resolvedSlippage,
|
|
80
81
|
tokenTo,
|
|
81
82
|
swapSide
|
|
83
|
+
}) : constructMaxToPayDetail({
|
|
84
|
+
price,
|
|
85
|
+
isLoading,
|
|
86
|
+
slippagePercent: resolvedSlippage,
|
|
87
|
+
tokenFrom,
|
|
88
|
+
swapSide
|
|
82
89
|
});
|
|
83
|
-
details = [orderRoutingDetail, priceImpactDetail, swapFeesDetail,
|
|
90
|
+
details = [orderRoutingDetail, priceImpactDetail, swapFeesDetail, minMaxDetail, networkFeesDetail].filter(isTruthy);
|
|
84
91
|
const isBuy = swapSide === "BUY";
|
|
85
92
|
t5 = "flex items-center justify-between";
|
|
86
93
|
let t72;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapDetailsListProps.js","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"jotai\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { cn, isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const { isHighImpact, ...priceImpactDetail } = constructPriceImpactDetail({\n price,\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const youGetDetail = constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n youGetDetail,\n networkFeesDetail,\n // @TODO: Max To Pay detail for BUY mode\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <div className=\"flex items-center justify-between\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div>\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n isLoading={isLoading}\n reverse={isBuy}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n Best price for this trade based on the current market conditions\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && <PriceImpactSVG className=\"size-[16px]\" />}\n {priceImpactDetail.isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div\n className={cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isHighImpact,\n })}\n >\n {priceImpactDetail.value ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n ),\n details,\n classes: {\n root: \"mt-4\",\n },\n };\n };\n"],"names":["useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","useWidgetTokens","srcAmountWei","useAtomValue","payInputAmountWeiAtom","destAmountWei","receiveInputAmountWeiAtom","t0","Symbol","for","enabled","isLoading","price","priceMode","useCurrentSwapPrice","resolvedSlippage","useSlippage","swapSide","useSwapSide","T0","T1","details","t1","t2","t3","t4","t5","t6","orderRoutingDetail","constructOrderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","isHighImpact","priceImpactDetail","constructPriceImpactDetail","swapFeesDetail","constructSwapFeesDetail","networkFeesDetail","constructNetworkFeesDetail","youGetDetail","constructYouGetDetail","slippagePercent","filter","isTruthy","isBuy","t7","t8","Tooltip","TooltipTrigger","PriceImpactSVG","cn","value","t9","t10","t11","t12","root","t13","trigger","classes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSwapDetailsListProps.js","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"jotai\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { cn, isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { constructMaxToPayDetail } from \"./maxToPay\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const { isHighImpact, ...priceImpactDetail } = constructPriceImpactDetail({\n price,\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <div className=\"flex items-center justify-between\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div>\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n isLoading={isLoading}\n reverse={isBuy}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n Best price for this trade based on the current market conditions\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && <PriceImpactSVG className=\"size-[16px]\" />}\n {priceImpactDetail.isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div\n className={cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isHighImpact,\n })}\n >\n {priceImpactDetail.value ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n ),\n details,\n classes: {\n root: \"mt-4\",\n },\n };\n };\n"],"names":["useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","useWidgetTokens","srcAmountWei","useAtomValue","payInputAmountWeiAtom","destAmountWei","receiveInputAmountWeiAtom","t0","Symbol","for","enabled","isLoading","price","priceMode","useCurrentSwapPrice","resolvedSlippage","useSlippage","swapSide","useSwapSide","T0","T1","details","t1","t2","t3","t4","t5","t6","orderRoutingDetail","constructOrderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","isHighImpact","priceImpactDetail","constructPriceImpactDetail","swapFeesDetail","constructSwapFeesDetail","networkFeesDetail","constructNetworkFeesDetail","minMaxDetail","constructYouGetDetail","slippagePercent","constructMaxToPayDetail","filter","isTruthy","isBuy","t7","t8","Tooltip","TooltipTrigger","PriceImpactSVG","cn","value","t9","t10","t11","t12","root","t13","trigger","classes"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"youGet.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/youGet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"youGet.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/youGet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,CAiC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"youGet.js","sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"names":["tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","getDestAmountAfterFeeAndSlippage","minDestAmountUnit","formatUnits","BigInt","decimals","formattedMinDestAmountUnit","toDecimalTrimmed","symbol"],"mappings":";;;;AAQA,MAAMA,OAAAA,GACJ,gFAAA;AAEK,SAASC,qBAAAA,CAAsB;AAAA,EACpCC,KAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC;AAOF,CAAA,EAAgC;
|
|
1
|
+
{"version":3,"file":"youGet.js","sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY youGet= exactly destAmount\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"names":["tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","getDestAmountAfterFeeAndSlippage","minDestAmountUnit","formatUnits","BigInt","decimals","formattedMinDestAmountUnit","toDecimalTrimmed","symbol"],"mappings":";;;;AAQA,MAAMA,OAAAA,GACJ,gFAAA;AAEK,SAASC,qBAAAA,CAAsB;AAAA,EACpCC,KAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC;AAOF,CAAA,EAAgC;AAE9B,EAAA,IAAIA,aAAa,KAAA,EAAO;AAExB,EAAA,MAAMC,KAAAA,GAAQ,oBAAA;AAEd,EAAA,IAAI,CAACL,KAAAA,IAAS,CAACG,OAAAA,EAAS;AACtB,IAAA,OAAO;AAAA,MACLE,KAAAA;AAAAA,MACAC,KAAAA,EAAO,IAAA;AAAA,MACPJ,SAAAA;AAAAA,MACAJ;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMS,gBAAgBC,gCAAAA,CAAiC;AAAA,IACrDR,KAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AAED,EAAA,MAAMQ,oBAAoBC,WAAAA,CACxBC,MAAAA,CAAOJ,aAAa,CAAA,EACpBJ,QAAQS,QACV,CAAA;AAEA,EAAA,MAAMC,0BAAAA,GAA6BC,iBAAiBL,iBAAiB,CAAA;AAErE,EAAA,OAAO;AAAA,IACLJ,KAAAA;AAAAA,IACAC,KAAAA,EAAO,CAAA,EAAGO,0BAA0B,CAAA,CAAA,EAAIV,QAAQY,MAAM,CAAA,CAAA;AAAA,IACtDb,SAAAA;AAAAA,IACAJ;AAAAA,GACF;AACF;;;;"}
|
|
@@ -14,7 +14,7 @@ function notifyOnPriceChange(price, queryClient) {
|
|
|
14
14
|
if (swapMode === "market" && priceIsMarket) {
|
|
15
15
|
onPriceChange({
|
|
16
16
|
event: {
|
|
17
|
-
name: "
|
|
17
|
+
name: "PriceUpdate",
|
|
18
18
|
params: {
|
|
19
19
|
priceMode: "market",
|
|
20
20
|
price
|
|
@@ -25,7 +25,7 @@ function notifyOnPriceChange(price, queryClient) {
|
|
|
25
25
|
if (swapMode === "delta" && priceIsDelta) {
|
|
26
26
|
onPriceChange({
|
|
27
27
|
event: {
|
|
28
|
-
name: "
|
|
28
|
+
name: "PriceUpdate",
|
|
29
29
|
params: {
|
|
30
30
|
priceMode: "delta",
|
|
31
31
|
price
|
|
@@ -38,7 +38,7 @@ function notifyOnPriceChange(price, queryClient) {
|
|
|
38
38
|
isLastDeltaPriceQueryInError(queryClient)) {
|
|
39
39
|
onPriceChange({
|
|
40
40
|
event: {
|
|
41
|
-
name: "
|
|
41
|
+
name: "PriceUpdate",
|
|
42
42
|
params: {
|
|
43
43
|
priceMode: "market",
|
|
44
44
|
price
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"
|
|
1
|
+
{"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n\n if (swapMode === \"delta\" && priceIsDelta) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n return;\n }\n\n if (\n swapMode === \"delta\" &&\n priceIsMarket &&\n // market price will be used independent of swapMode setting if Delta price has error\n isLastDeltaPriceQueryInError(queryClient)\n ) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n}\n"],"names":["notifyOnPriceChange","price","queryClient","onPriceChange","jotaiStore","get","widgetEventsAtom","swapMode","swapModeAtom","priceIsDelta","isDeltaPrice","priceIsMarket","event","name","params","priceMode","isLastDeltaPriceQueryInError"],"mappings":";;;;;AAUO,SAASA,mBAAAA,CACdC,OACAC,WAAAA,EACA;AACA,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAc,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,EAAA,IAAI,CAACH,aAAAA,EAAe;AAEpB,EAAA,MAAMI,QAAAA,GAAWH,UAAAA,CAAWC,GAAAA,CAAIG,YAAY,CAAA;AAE5C,EAAA,MAAMC,YAAAA,GAAeC,aAAaT,KAAK,CAAA;AACvC,EAAA,MAAMU,gBAAgB,CAACF,YAAAA;AAEvB,EAAA,IAAIF,QAAAA,KAAa,YAAYI,aAAAA,EAAe;AAC1CR,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAIM,QAAAA,KAAa,WAAWE,YAAAA,EAAc;AACxCN,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,OAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,IACEM,aAAa,OAAA,IACbI,aAAAA;AAAAA,EAEAK,4BAAAA,CAA6Bd,WAAW,CAAA,EACxC;AACAC,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AACF;;;;"}
|
|
@@ -17,7 +17,7 @@ function subscribeToPriceOnSwapModeChange() {
|
|
|
17
17
|
if (!price) return;
|
|
18
18
|
onPriceChange({
|
|
19
19
|
event: {
|
|
20
|
-
name: "
|
|
20
|
+
name: "PriceUpdate",
|
|
21
21
|
params: {
|
|
22
22
|
priceMode: "delta",
|
|
23
23
|
price
|
|
@@ -31,7 +31,7 @@ function subscribeToPriceOnSwapModeChange() {
|
|
|
31
31
|
if (!price) return;
|
|
32
32
|
onPriceChange({
|
|
33
33
|
event: {
|
|
34
|
-
name: "
|
|
34
|
+
name: "PriceUpdate",
|
|
35
35
|
params: {
|
|
36
36
|
priceMode: "market",
|
|
37
37
|
price
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"
|
|
1
|
+
{"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n\n return;\n }\n if (swapMode === \"market\") {\n const price = getLastMarketPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n return;\n }\n });\n}\n"],"names":["subscribeToPriceOnSwapModeChange","jotaiStore","sub","swapModeAtom","onPriceChange","get","widgetEventsAtom","swapMode","price","getLastDeltaPrice","queryClient","event","name","params","priceMode","getLastMarketPrice"],"mappings":";;;;;;;AAOO,SAASA,gCAAAA,GAAmC;AAEjDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,cAAc,MAAM;AACjC,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAc,GAAIH,UAAAA,CAAWI,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,IAAA,IAAI,CAACF,aAAAA,EAAe;AAEpB,IAAA,MAAMG,QAAAA,GAAWN,UAAAA,CAAWI,GAAAA,CAAIF,YAAY,CAAA;AAE5C,IAAA,IAAII,aAAa,OAAA,EAAS;AACxB,MAAA,MAAMC,KAAAA,GAAQC,kBAAkBC,WAAW,CAAA;AAC3C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,OAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AAED,MAAA;AAAA,IACF;AACA,IAAA,IAAID,aAAa,QAAA,EAAU;AACzB,MAAA,MAAMC,KAAAA,GAAQO,mBAAmBL,WAAW,CAAA;AAC5C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,QAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnPriceUpdates.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,SAqEhC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { d as distExports } from '../../_virtual/index.js';
|
|
2
|
+
import { useWidgetEvents } from '../../core/state/widgetEventsAtom.js';
|
|
3
|
+
import { useRef, useLayoutEffect } from 'react';
|
|
4
|
+
import { QueryObserver } from '@tanstack/react-query';
|
|
5
|
+
import { queryClient } from '../../lib/queryClient.js';
|
|
6
|
+
import { DeltaPriceQueryKeyPrefix, isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
|
|
7
|
+
import { MarketPriceQueryKeyPrefix } from '../../hooks/swap/prices/market/queries/useMarketPriceQuery.js';
|
|
8
|
+
import { useCurrentSwapPrice } from '../../hooks/swap/prices/useSwapPrices.js';
|
|
9
|
+
|
|
10
|
+
function useOnPriceUpdates() {
|
|
11
|
+
const $ = distExports.c(7);
|
|
12
|
+
const {
|
|
13
|
+
onPriceChange
|
|
14
|
+
} = useWidgetEvents();
|
|
15
|
+
const {
|
|
16
|
+
queryKey
|
|
17
|
+
} = useCurrentSwapPrice();
|
|
18
|
+
const onPriceChangeRef = useRef(onPriceChange);
|
|
19
|
+
let t0;
|
|
20
|
+
let t1;
|
|
21
|
+
if ($[0] !== onPriceChange) {
|
|
22
|
+
t0 = () => {
|
|
23
|
+
onPriceChangeRef.current = onPriceChange;
|
|
24
|
+
};
|
|
25
|
+
t1 = [onPriceChange];
|
|
26
|
+
$[0] = onPriceChange;
|
|
27
|
+
$[1] = t0;
|
|
28
|
+
$[2] = t1;
|
|
29
|
+
} else {
|
|
30
|
+
t0 = $[1];
|
|
31
|
+
t1 = $[2];
|
|
32
|
+
}
|
|
33
|
+
useLayoutEffect(t0, t1);
|
|
34
|
+
const shouldSubscribe = !!onPriceChange;
|
|
35
|
+
let t2;
|
|
36
|
+
let t3;
|
|
37
|
+
if ($[3] !== queryKey || $[4] !== shouldSubscribe) {
|
|
38
|
+
t2 = () => {
|
|
39
|
+
if (!shouldSubscribe) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const observer = new QueryObserver(queryClient, {
|
|
43
|
+
queryKey,
|
|
44
|
+
enabled: false,
|
|
45
|
+
notifyOnChangeProps: ["data", "error", "isError", "isLoading", "isFetching"]
|
|
46
|
+
});
|
|
47
|
+
const unsubscribe = observer.subscribe((t4) => {
|
|
48
|
+
const {
|
|
49
|
+
data: price,
|
|
50
|
+
isLoading,
|
|
51
|
+
isFetching,
|
|
52
|
+
isError,
|
|
53
|
+
error
|
|
54
|
+
} = t4;
|
|
55
|
+
let priceMode;
|
|
56
|
+
if (queryKey[0] === MarketPriceQueryKeyPrefix) {
|
|
57
|
+
priceMode = "market";
|
|
58
|
+
} else {
|
|
59
|
+
if (queryKey[0] === DeltaPriceQueryKeyPrefix) {
|
|
60
|
+
priceMode = "delta";
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (!priceMode) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const params = {
|
|
67
|
+
priceMode,
|
|
68
|
+
isLoading,
|
|
69
|
+
isFetching,
|
|
70
|
+
isError,
|
|
71
|
+
error
|
|
72
|
+
};
|
|
73
|
+
if (price) {
|
|
74
|
+
if (params.priceMode === "delta" && isDeltaPrice(price)) {
|
|
75
|
+
params.price = price;
|
|
76
|
+
} else {
|
|
77
|
+
if (params.priceMode === "market" && !isDeltaPrice(price)) {
|
|
78
|
+
params.price = price;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
onPriceChangeRef.current?.({
|
|
83
|
+
event: {
|
|
84
|
+
name: "PriceQueryUpdate",
|
|
85
|
+
params
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
return unsubscribe;
|
|
90
|
+
};
|
|
91
|
+
t3 = [queryKey, shouldSubscribe];
|
|
92
|
+
$[3] = queryKey;
|
|
93
|
+
$[4] = shouldSubscribe;
|
|
94
|
+
$[5] = t2;
|
|
95
|
+
$[6] = t3;
|
|
96
|
+
} else {
|
|
97
|
+
t2 = $[5];
|
|
98
|
+
t3 = $[6];
|
|
99
|
+
}
|
|
100
|
+
useLayoutEffect(t2, t3);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { useOnPriceUpdates };
|
|
104
|
+
//# sourceMappingURL=useOnPriceUpdates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnPriceUpdates.js","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"sourcesContent":["import { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { QueryObserver } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport {\n DeltaPriceQueryKeyPrefix,\n isDeltaPrice,\n type DeltaPriceQueryKey,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n MarketPriceQueryKeyPrefix,\n type MarketPriceQueryKey,\n} from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport type { PriceQueryUpdateParams } from \"../types/priceChange\";\n\nexport function useOnPriceUpdates() {\n const { onPriceChange } = useWidgetEvents();\n const { queryKey } = useCurrentSwapPrice();\n\n const onPriceChangeRef = useRef(onPriceChange);\n useLayoutEffect(() => {\n onPriceChangeRef.current = onPriceChange;\n }, [onPriceChange]);\n\n const shouldSubscribe = !!onPriceChange;\n useLayoutEffect(() => {\n if (!shouldSubscribe) return;\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice | OptimalRate,\n Error,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPriceQueryKey | MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n enabled: false,\n notifyOnChangeProps: [\n \"data\",\n \"error\",\n \"isError\",\n \"isLoading\",\n \"isFetching\",\n ],\n });\n\n const unsubscribe = observer.subscribe(\n ({ data: price, isLoading, isFetching, isError, error }) => {\n let priceMode: \"market\" | \"delta\" | undefined;\n if (queryKey[0] === MarketPriceQueryKeyPrefix) {\n priceMode = \"market\";\n } else if (queryKey[0] === DeltaPriceQueryKeyPrefix) {\n priceMode = \"delta\";\n }\n // opt out for unknown queries\n if (!priceMode) return;\n\n const params: PriceQueryUpdateParams = {\n priceMode,\n isLoading,\n isFetching,\n isError,\n error,\n };\n\n // satisfy typescript narrowing\n if (price) {\n if (params.priceMode === \"delta\" && isDeltaPrice(price)) {\n params.price = price;\n } else if (params.priceMode === \"market\" && !isDeltaPrice(price)) {\n params.price = price;\n }\n }\n\n onPriceChangeRef.current?.({\n event: {\n name: \"PriceQueryUpdate\",\n params,\n },\n });\n }\n );\n\n return unsubscribe;\n }, [queryKey, shouldSubscribe]);\n}\n"],"names":["useOnPriceUpdates","$","_c","onPriceChange","useWidgetEvents","queryKey","useCurrentSwapPrice","onPriceChangeRef","useRef","t0","t1","current","useLayoutEffect","shouldSubscribe","t2","t3","observer","QueryObserver","queryClient","enabled","notifyOnChangeProps","unsubscribe","subscribe","t4","data","price","isLoading","isFetching","isError","error","priceMode","MarketPriceQueryKeyPrefix","DeltaPriceQueryKeyPrefix","params","isDeltaPrice","event","name"],"mappings":"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"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
+
import { MarkOptional } from 'ts-essentials';
|
|
1
2
|
import { MakeEventArgs, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
|
|
2
3
|
import { BridgePrice, DeltaPrice, OptimalRate } from '@velora-dex/sdk';
|
|
3
|
-
type
|
|
4
|
+
type DeltaPriceUpdateParams = {
|
|
4
5
|
priceMode: "delta";
|
|
5
6
|
price: DeltaPrice | BridgePrice;
|
|
6
7
|
};
|
|
7
|
-
type
|
|
8
|
+
type MarketPriceUpdateParams = {
|
|
8
9
|
priceMode: "market";
|
|
9
10
|
price: OptimalRate;
|
|
10
11
|
};
|
|
11
|
-
type
|
|
12
|
+
type PriceUpdateParams = DeltaPriceUpdateParams | MarketPriceUpdateParams;
|
|
13
|
+
export type PriceQueryUpdateParams = MarkOptional<PriceUpdateParams, "price"> & {
|
|
14
|
+
isLoading: boolean;
|
|
15
|
+
isFetching: boolean;
|
|
16
|
+
isError: boolean;
|
|
17
|
+
error: Error | null;
|
|
18
|
+
};
|
|
12
19
|
type EventArgs = {
|
|
13
|
-
|
|
20
|
+
PriceUpdate: PriceUpdateParams;
|
|
21
|
+
PriceQueryUpdate: PriceQueryUpdateParams;
|
|
14
22
|
};
|
|
15
23
|
type PriceChangeEventArgs = MakeEventArgs<EventArgs>;
|
|
16
24
|
export type OnPriceChange = WidgetEventCallbackConstructor<PriceChangeEventArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceChange.d.ts","sourceRoot":"","sources":["../../../src/events/types/priceChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;CACjC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE1E,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"priceChange.d.ts","sourceRoot":"","sources":["../../../src/events/types/priceChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;CACjC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAC/C,iBAAiB,EACjB,OAAO,CACR,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAEF,KAAK,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAGrD,MAAM,MAAM,aAAa,GACvB,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAC1B,iCAAiC,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -12,7 +12,7 @@ type DeltaPriceQueryInput<TData = DeltaPrice> = {
|
|
|
12
12
|
timeout?: number;
|
|
13
13
|
};
|
|
14
14
|
export declare const DeltaPriceQueryKeyPrefix = "swap/prices/delta";
|
|
15
|
-
type DeltaPriceQueryKey = readonly [
|
|
15
|
+
export type DeltaPriceQueryKey = readonly [
|
|
16
16
|
base: typeof DeltaPriceQueryKeyPrefix,
|
|
17
17
|
chainId: number,
|
|
18
18
|
priceParams: DeltaPriceParams & {
|
|
@@ -26,13 +26,22 @@ type DeltaPriceQueryKey = readonly [
|
|
|
26
26
|
*/
|
|
27
27
|
export declare function useDeltaPriceQuery<TData = BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
|
|
28
28
|
destChainId: number;
|
|
29
|
-
}):
|
|
29
|
+
}): {
|
|
30
|
+
result: DeltaQueryResult<TData>;
|
|
31
|
+
queryKey: DeltaPriceQueryKey;
|
|
32
|
+
};
|
|
30
33
|
export declare function useDeltaPriceQuery<TData = DeltaPrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
|
|
31
34
|
destChainId?: undefined;
|
|
32
|
-
}):
|
|
35
|
+
}): {
|
|
36
|
+
result: DeltaQueryResult<TData>;
|
|
37
|
+
queryKey: DeltaPriceQueryKey;
|
|
38
|
+
};
|
|
33
39
|
export declare function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
|
|
34
40
|
destChainId?: number;
|
|
35
|
-
}):
|
|
41
|
+
}): {
|
|
42
|
+
result: DeltaQueryResult<TData>;
|
|
43
|
+
queryKey: DeltaPriceQueryKey;
|
|
44
|
+
};
|
|
36
45
|
export declare function isDeltaPrice(price: OptimalRate | DeltaPrice): price is DeltaPrice;
|
|
37
46
|
export declare function isBridgePrice(price: DeltaPrice | BridgePrice): price is BridgePrice;
|
|
38
47
|
type GetDeltaPriceQueryForPriceInput = {
|
|
@@ -51,5 +60,25 @@ export declare function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult;
|
|
|
51
60
|
export declare function getLastDeltaPrice(queryClient: QueryClient): DeltaPrice | BridgePrice | undefined;
|
|
52
61
|
export declare function isLastDeltaPriceQueryInError(queryClient: QueryClient): boolean;
|
|
53
62
|
export declare function isDataDeltaOrBridgePrice(price: unknown): price is DeltaPrice | BridgePrice;
|
|
63
|
+
export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainId, }: Pick<DeltaPriceQueryInput, "priceParams" | "chainId"> & {
|
|
64
|
+
destChainId?: number;
|
|
65
|
+
}): {
|
|
66
|
+
queryKey: DeltaPriceQueryKey;
|
|
67
|
+
sanitizedPriceParams: {
|
|
68
|
+
side?: ("BUY" | "SELL") | undefined;
|
|
69
|
+
amount: string;
|
|
70
|
+
srcToken: string;
|
|
71
|
+
destToken?: string | undefined;
|
|
72
|
+
partner?: string | undefined;
|
|
73
|
+
srcDecimals: number;
|
|
74
|
+
destDecimals?: number | undefined;
|
|
75
|
+
userAddress?: string | undefined;
|
|
76
|
+
beneficiary?: string | undefined;
|
|
77
|
+
includeAgents?: string[] | undefined;
|
|
78
|
+
excludeAgents?: string[] | undefined;
|
|
79
|
+
} & {
|
|
80
|
+
destChainId?: number;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
54
83
|
export {};
|
|
55
84
|
//# sourceMappingURL=useDeltaPriceQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,IAAI,OAAO,EAC3B,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
|