@velora-dex/widget 0.8.2 → 0.8.3-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.
- package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +79 -73
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +46 -52
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +3 -4
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
- package/dist/core/inputs/hooks/utils.js +7 -5
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +2 -3
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +54 -110
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +16 -11
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
- package/dist/core/swapDetails/maxToPay.js +18 -17
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/priceChange.d.ts +2 -2
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +2 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +2 -2
- package/dist/events/types/twap.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +16 -33
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.js +1 -1
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/types.d.ts +2 -3
- package/dist/hooks/swap/prices/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +10 -17
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +217 -229
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +19 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +65 -35
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/queryClient.js +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/utils/price.d.ts +5 -2
- package/dist/lib/utils/price.d.ts.map +1 -1
- package/dist/lib/utils/price.js +8 -5
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +2 -2
- package/dist/lib/utils/twap.d.ts.map +1 -1
- package/dist/lib/utils/twap.js +2 -2
- package/dist/lib/utils/twap.js.map +1 -1
- package/package.json +2 -2
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapAmountsWithSlippage.js","names":["useSlippage","useSwapSide","formatUnits","parseUnits","applySlippage","DeltaOrMarketPrice","Token","SwapSideUnion","MarkOptional","isDeltaPrice","SwapAmounts","
|
|
1
|
+
{"version":3,"file":"useSwapAmountsWithSlippage.js","names":["useSlippage","useSwapSide","formatUnits","parseUnits","applySlippage","DeltaOrMarketPrice","Token","SwapSideUnion","MarkOptional","isDeltaPrice","SwapAmounts","srcAmount","destAmount","UseSwapAmountsWithSlippageInput","submittedSwapWei","SwapSideAmounts","usedPriceWei","formDataUnit","fromToken","Pick","toToken","price","swapSide","useSwapAmountsWithSlippage","t0","$","_c","resolvedSlippage","swapSideFromInput","t1","inputToken","address","toLowerCase","outputToken","shouldNotApplySlippage","shouldApplySlippage","amounts","BigInt","decimals","amountsAfterSlippage","weiFromAmount","weiToAmount","amountsAfterSlippage_0","toString","t2"],"sources":["../../../../../src/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.ts"],"sourcesContent":["import { useSlippage } from \"@/hooks/useSlippage\";\nimport { useSwapSide } from \"../../SwapModeSwitcher/state/swapSideAtom\";\nimport { formatUnits, parseUnits } from \"viem\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { MarkOptional } from \"ts-essentials\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype SwapAmounts = { srcAmount: string; destAmount: string };\ntype UseSwapAmountsWithSlippageInput = {\n submittedSwapWei?: SwapSideAmounts; // submitted Swap Order or Tx (highest priority)\n usedPriceWei?: SwapSideAmounts; // used price by the flow (medium priority)\n formDataUnit: MarkOptional<SwapSideAmounts, \"swapSide\">; // initial data before we have prices or have submitted Swap Order or Tx (lowest priority)\n fromToken: Pick<Token, \"decimals\">;\n toToken: Pick<Token, \"decimals\">;\n price?: DeltaOrMarketPrice;\n};\n\nexport type SwapSideAmounts = SwapAmounts & {\n swapSide: SwapSideUnion;\n};\n\n/**\n * Takes in the submitted/used/form amounts and applies slippage where necessary.\n * Used for display purposes in Trade Overview\n */\nexport function useSwapAmountsWithSlippage({\n submittedSwapWei,\n usedPriceWei,\n formDataUnit,\n fromToken,\n toToken,\n price,\n}: UseSwapAmountsWithSlippageInput): SwapSideAmounts {\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSideFromInput = useSwapSide();\n\n const swapSide =\n submittedSwapWei?.swapSide ||\n usedPriceWei?.swapSide ||\n formDataUnit.swapSide ||\n swapSideFromInput;\n\n // for the usual swaps we apply slippage, either on srcAmount for BUY or destAmount for SELL,\n // but if it's a crosschain swap and the input and output tokens are the same address,\n // we shouldn't apply slippage because there is no Delta swap happening, only bridge.\n const shouldNotApplySlippage =\n price &&\n isDeltaPrice(price) &&\n price.inputToken.address.toLowerCase() ===\n price.outputToken.address.toLowerCase();\n\n const shouldApplySlippage = !shouldNotApplySlippage;\n\n const amounts: SwapAmounts = {\n srcAmount: formDataUnit.srcAmount,\n destAmount: formDataUnit.destAmount,\n };\n\n if (submittedSwapWei) {\n amounts.srcAmount = formatUnits(\n BigInt(submittedSwapWei.srcAmount),\n fromToken.decimals\n );\n amounts.destAmount = formatUnits(\n BigInt(submittedSwapWei.destAmount),\n toToken.decimals\n );\n } else if (usedPriceWei) {\n const amountsAfterSlippage = shouldApplySlippage\n ? applySlippage(usedPriceWei, resolvedSlippage, swapSide)\n : usedPriceWei;\n amounts.srcAmount = formatUnits(\n BigInt(amountsAfterSlippage.srcAmount),\n fromToken.decimals\n );\n amounts.destAmount = formatUnits(\n BigInt(amountsAfterSlippage.destAmount),\n toToken.decimals\n );\n } else if (shouldApplySlippage) {\n const weiFromAmount = parseUnits(\n formDataUnit.srcAmount,\n fromToken.decimals\n );\n const weiToAmount = parseUnits(formDataUnit.destAmount, toToken.decimals);\n // applySlippage on unit amount directly would lose precision and drop decimals\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: weiFromAmount.toString(),\n destAmount: weiToAmount.toString(),\n },\n resolvedSlippage,\n swapSide\n );\n amounts.srcAmount = formatUnits(\n BigInt(amountsAfterSlippage.srcAmount),\n fromToken.decimals\n );\n amounts.destAmount = formatUnits(\n BigInt(amountsAfterSlippage.destAmount),\n toToken.decimals\n );\n }\n\n return {\n ...amounts,\n swapSide,\n };\n}\n"],"mappings":";;;;;;;AA4BA,SAAOuB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAoC,EAAAZ,qBAAAE,iBAAAC,iBAAAC,cAAAE,YAAAC,aAAAG,GAQzC,EAAAG,wBAA6B3B,EAAY,OAAO,EAChD4B,IAA0B3B,GAAa,EAEvCqB,IACER,GAAgBQ,YAChBN,GAAYM,YACZL,EAAYK,YAFZM,GAGkBC;CAAA,AAAAJ,EAAA,OAAAJ,IASuBQ,IAAAJ,EAAA,MAHzCI,IAAAR,KACAZ,EAAaY,EAE4B,IADzCA,EAAKS,WAAWC,QAAQC,aAAc,KACpCX,EAAKY,YAAYF,QAAQC,aAAc,EAAAP,EAAA,KAAAJ,GAAAI,EAAA,KAAAI;CAE3C,IAAAM,IAA4B,CAACD,GAAuBE;CAAA,IAAAX,EAAA,OAAAR,EAAAL,cAAAa,EAAA,OAAAR,EAAAN,aAAAc,EAAA,OAAAP,KAAAO,EAAA,OAAAE,KAAAF,EAAA,OAAAU,KAAAV,EAAA,OAAAX,KAAAW,EAAA,OAAAH,KAAAG,EAAA,OAAAL,KAAAK,EAAA,QAAAT,GAAA;EAOpD,IALAoB,IAA6B;GAAAzB,WAChBM,EAAYN;GAAUC,YACrBK,EAAYL;GACzB,EAEGE,GAKFsB,AAJAA,EAAOzB,YAAaT,EAClBmC,OAAOvB,EAAgBH,UAAW,EAClCO,EAASoB,SAFM,EAIjBF,EAAOxB,aAAcV,EACnBmC,OAAOvB,EAAgBF,WAAY,EACnCQ,EAAOkB,SAFS;OAIb,IAAItB,GAAY;GACrB,IAAAuB,IAA6BJ,IACzB/B,EAAcY,GAAcW,GAAkBL,EAClC,GAFaN;GAO7BoB,AAJAA,EAAOzB,YAAaT,EAClBmC,OAAOE,EAAoB5B,UAAW,EACtCO,EAASoB,SAFM,EAIjBF,EAAOxB,aAAcV,EACnBmC,OAAOE,EAAoB3B,WAAY,EACvCQ,EAAOkB,SAFS;SAIb,IAAIH,GAAmB;GAC5B,IAAAK,IAAsBrC,EACpBc,EAAYN,WACZO,EAASoB,SACV,EACDG,IAAoBtC,EAAWc,EAAYL,YAAaQ,EAAOkB,SAAU,EAEzEI,IAA6BtC,EAC3B;IAAAO,WACa6B,EAAaG,UAAW;IAAA/B,YACvB6B,EAAWE,UAAU;IAClC,EACDhB,GACAL,EACD;GAKDc,AAJAA,EAAOzB,YAAaT,EAClBmC,OAAOE,EAAoB5B,UAAW,EACtCO,EAASoB,SAFM,EAIjBF,EAAOxB,aAAcV,EACnBmC,OAAOE,EAAoB3B,WAAY,EACvCQ,EAAOkB,SAFS;;EAInBb,AAAAA,EAAA,KAAAR,EAAAL,YAAAa,EAAA,KAAAR,EAAAN,WAAAc,EAAA,KAAAP,GAAAO,EAAA,KAAAE,GAAAF,EAAA,KAAAU,GAAAV,EAAA,KAAAX,GAAAW,EAAA,KAAAH,GAAAG,EAAA,KAAAL,GAAAK,EAAA,MAAAT,GAAAS,EAAA,MAAAW;QAAAA,IAAAX,EAAA;CAAA,IAAAmB;CAKA,OALAnB,EAAA,QAAAW,KAAAX,EAAA,QAAAH,KAEMsB,IAAA;EAAA,GACFR;EAAOd;EAEX,EAAAG,EAAA,MAAAW,GAAAX,EAAA,MAAAH,GAAAG,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KAHMmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderButton.d.ts","sourceRoot":"","sources":["../../src/core/LimitOrderButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LimitOrderButton.d.ts","sourceRoot":"","sources":["../../src/core/LimitOrderButton.tsx"],"names":[],"mappings":"AAkDA,wBAAgB,gBAAgB,4CAiD/B"}
|
|
@@ -1,71 +1,65 @@
|
|
|
1
1
|
import { useAtomValue as e } from "./store.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { useAccount as f } from "wagmi";
|
|
2
|
+
import { limitPayInputAmountWeiAtom as t, limitReceiveInputAmountWeiAtom as n } from "./limit/state/limitInputAmountAtom.js";
|
|
3
|
+
import { useDeltaSwapPriceForLimit as r } from "./limit/useLimitRate.js";
|
|
4
|
+
import { useLimitTokenFromInputProps as i } from "./limit/useLimitTokenFromInputProps.js";
|
|
5
|
+
import { useLimitTokenToInputProps as a } from "./limit/useLimitTokenToInputProps.js";
|
|
6
|
+
import { useLimitButtonExtraProps as o } from "./button/hooks/useWidgetButtonExtraProps.js";
|
|
7
|
+
import { LimitTradeFlowScreenButton as s } from "./TradeFlowScreenButton.js";
|
|
8
|
+
import { ConnectWalletDrawerButton as c } from "./ConnectWalletDrawerButton.js";
|
|
9
|
+
import { c as l } from "react-compiler-runtime";
|
|
10
|
+
import { jsx as u } from "react/jsx-runtime";
|
|
11
|
+
import { useAccount as d } from "wagmi";
|
|
13
12
|
//#region src/core/LimitOrderButton.tsx
|
|
14
|
-
function
|
|
15
|
-
let t =
|
|
13
|
+
function f(e) {
|
|
14
|
+
let t = l(14), n, r, i, a, o;
|
|
16
15
|
t[0] === e ? (n = t[1], r = t[2], i = t[3], a = t[4], o = t[5]) : ({orderProps: o, drawerContainer: r, limitPrice: a, labelOverride: i, ...n} = e, t[0] = e, t[1] = n, t[2] = r, t[3] = i, t[4] = a, t[5] = o);
|
|
17
|
-
let { isConnected:
|
|
18
|
-
if (!
|
|
16
|
+
let { isConnected: f } = d();
|
|
17
|
+
if (!f) {
|
|
19
18
|
let e;
|
|
20
|
-
return t[6] !== n || t[7] !== r ? (e = /* @__PURE__ */
|
|
19
|
+
return t[6] !== n || t[7] !== r ? (e = /* @__PURE__ */ u(c, {
|
|
21
20
|
drawerContainer: r,
|
|
22
21
|
...n
|
|
23
22
|
}), t[6] = n, t[7] = r, t[8] = e) : e = t[8], e;
|
|
24
23
|
}
|
|
25
24
|
let p;
|
|
26
|
-
return t[9] !== n || t[10] !== i || t[11] !== a || t[12] !== o ? (p = /* @__PURE__ */
|
|
25
|
+
return t[9] !== n || t[10] !== i || t[11] !== a || t[12] !== o ? (p = /* @__PURE__ */ u(s, {
|
|
27
26
|
orderProps: o,
|
|
28
27
|
limitPrice: a,
|
|
29
28
|
labelOverride: i,
|
|
30
29
|
...n
|
|
31
30
|
}), t[9] = n, t[10] = i, t[11] = a, t[12] = o, t[13] = p) : p = t[13], p;
|
|
32
31
|
}
|
|
33
|
-
function
|
|
34
|
-
let
|
|
35
|
-
|
|
36
|
-
fromToken:
|
|
37
|
-
toToken:
|
|
38
|
-
fromAmount:
|
|
39
|
-
toAmount:
|
|
40
|
-
} : void 0,
|
|
41
|
-
let
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
let S;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
limitPrice: x,
|
|
63
|
-
disabled: C.disabled,
|
|
64
|
-
labelOverride: C.labelOverride,
|
|
65
|
-
className: C.className
|
|
66
|
-
}), c[17] = C.className, c[18] = C.disabled, c[19] = C.labelOverride, c[20] = x, c[21] = _, c[22] = w) : w = c[22], w;
|
|
32
|
+
function p() {
|
|
33
|
+
let s = l(20), c = i(), d = a(), p = e(t), m = e(n), h;
|
|
34
|
+
s[0] !== c.amount || s[1] !== c.token || s[2] !== d.amount || s[3] !== d.token ? (h = c.token && d.token ? {
|
|
35
|
+
fromToken: c.token,
|
|
36
|
+
toToken: d.token,
|
|
37
|
+
fromAmount: c.amount,
|
|
38
|
+
toAmount: d.amount
|
|
39
|
+
} : void 0, s[0] = c.amount, s[1] = c.token, s[2] = d.amount, s[3] = d.token, s[4] = h) : h = s[4];
|
|
40
|
+
let g = h, { price: _ } = r(), v;
|
|
41
|
+
s[5] !== _ || s[6] !== p || s[7] !== m || s[8] !== c.token || s[9] !== d.token ? (v = c.token && d.token && m && Number(p) > 0 && Number(m) > 0 && _ ? {
|
|
42
|
+
srcTokenAddress: c.token.address,
|
|
43
|
+
destTokenAddress: d.token.address,
|
|
44
|
+
srcAmount: p,
|
|
45
|
+
destAmount: m,
|
|
46
|
+
route: _.route
|
|
47
|
+
} : void 0, s[5] = _, s[6] = p, s[7] = m, s[8] = c.token, s[9] = d.token, s[10] = v) : v = s[10];
|
|
48
|
+
let y = v, b;
|
|
49
|
+
s[11] !== c.token || s[12] !== d.token ? (b = {
|
|
50
|
+
tokenFrom: c.token,
|
|
51
|
+
tokenTo: d.token
|
|
52
|
+
}, s[11] = c.token, s[12] = d.token, s[13] = b) : b = s[13];
|
|
53
|
+
let x = o(b), S;
|
|
54
|
+
return s[14] !== x.className || s[15] !== x.disabled || s[16] !== x.labelOverride || s[17] !== y || s[18] !== g ? (S = /* @__PURE__ */ u(f, {
|
|
55
|
+
orderProps: g,
|
|
56
|
+
limitPrice: y,
|
|
57
|
+
disabled: x.disabled,
|
|
58
|
+
labelOverride: x.labelOverride,
|
|
59
|
+
className: x.className
|
|
60
|
+
}), s[14] = x.className, s[15] = x.disabled, s[16] = x.labelOverride, s[17] = y, s[18] = g, s[19] = S) : S = s[19], S;
|
|
67
61
|
}
|
|
68
62
|
//#endregion
|
|
69
|
-
export {
|
|
63
|
+
export { p as LimitOrderButton };
|
|
70
64
|
|
|
71
65
|
//# sourceMappingURL=LimitOrderButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderButton.js","names":["Button","MinTradeOverviewProps","useAccount","ConnectWalletDrawerButton","LimitTradeFlowScreenButton","UserDefinedLimitPrice","useLimitTokenToInputProps","useLimitTokenFromInputProps","useLimitButtonExtraProps","useAtomValue","limitPayInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","useDeltaSwapPriceForLimit","
|
|
1
|
+
{"version":3,"file":"LimitOrderButton.js","names":["Button","MinTradeOverviewProps","useAccount","ConnectWalletDrawerButton","LimitTradeFlowScreenButton","UserDefinedLimitPrice","useLimitTokenToInputProps","useLimitTokenFromInputProps","useLimitButtonExtraProps","useAtomValue","limitPayInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","useDeltaSwapPriceForLimit","ButtonWithDrawerProps","React","ComponentProps","orderProps","drawerContainer","HTMLDivElement","limitPrice","labelOverride","LimitOrderDrawerButton","t0","$","_c","buttonProps","isConnected","t1","LimitOrderButton","tokenFromInputProps","tokenToInputProps","payAmountWei","receiveAmountWei","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","price","deltaPrice","Number","srcTokenAddress","address","destTokenAddress","srcAmount","destAmount","route","t2","tokenFrom","tokenTo","extraProps","t3","className","disabled"],"sources":["../../src/core/LimitOrderButton.tsx"],"sourcesContent":["import type { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { useAccount } from \"wagmi\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { LimitTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useLimitButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"./limit/state/limitInputAmountAtom\";\nimport { useDeltaSwapPriceForLimit } from \"./limit/useLimitRate\";\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n limitPrice?: UserDefinedLimitPrice;\n labelOverride?: string;\n};\n\nfunction LimitOrderDrawerButton({\n orderProps,\n drawerContainer,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n return (\n <LimitTradeFlowScreenButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n\nexport function LimitOrderButton() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n const tokenToInputProps = useLimitTokenToInputProps();\n\n const payAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(limitReceiveInputAmountWeiAtom);\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const { price: deltaPrice } = useDeltaSwapPriceForLimit();\n\n const limitPrice: UserDefinedLimitPrice | undefined =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n receiveAmountWei &&\n Number(payAmountWei) > 0 &&\n Number(receiveAmountWei) > 0 &&\n deltaPrice\n ? {\n srcTokenAddress: tokenFromInputProps.token.address,\n destTokenAddress: tokenToInputProps.token.address,\n srcAmount: payAmountWei,\n destAmount: receiveAmountWei,\n route: deltaPrice.route,\n }\n : undefined;\n\n const extraProps = useLimitButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <LimitOrderDrawerButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Button } from '../components/ui/button';
|
|
2
2
|
import { MinTradeOverviewProps } from '../components/widget/TradeOverview/TradeOverview';
|
|
3
|
-
import {
|
|
3
|
+
import { DeltaPriceV2, OptimalRate } from '@velora-dex/sdk';
|
|
4
4
|
import { UserDefinedLimitPrice } from '../hooks/swap/tradeFlow/useLimitOrderFlow';
|
|
5
5
|
import { UserDefinedOtcPrice } from '../hooks/otc/tradeFlow/useOtcOrderFlow';
|
|
6
|
-
import { DeltaOrBridgePrice } from '../hooks/swap/prices/types';
|
|
7
6
|
type BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {
|
|
8
7
|
orderProps?: MinTradeOverviewProps;
|
|
9
8
|
labelOverride?: string;
|
|
@@ -12,7 +11,7 @@ type SwapTradeFlowButtonProps = BaseTradeFlowButtonProps & ({
|
|
|
12
11
|
price?: OptimalRate;
|
|
13
12
|
priceMode: "market";
|
|
14
13
|
} | {
|
|
15
|
-
price?:
|
|
14
|
+
price?: DeltaPriceV2;
|
|
16
15
|
priceMode: "delta";
|
|
17
16
|
});
|
|
18
17
|
export declare function SwapTradeFlowScreenButton({ orderProps, price, priceMode, labelOverride, ...buttonProps }: SwapTradeFlowButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -25,7 +24,7 @@ type OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {
|
|
|
25
24
|
};
|
|
26
25
|
export declare function OtcTradeFlowScreenButton({ orderProps, otcPrice, labelOverride, ...buttonProps }: OtcOrderTradeFlowButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
27
26
|
type TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {
|
|
28
|
-
twapPrice?:
|
|
27
|
+
twapPrice?: DeltaPriceV2;
|
|
29
28
|
};
|
|
30
29
|
export declare function TwapTradeFlowScreenButton({ orderProps, twapPrice, labelOverride, ...buttonProps }: TwapTradeFlowButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
31
30
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeFlowScreenButton.d.ts","sourceRoot":"","sources":["../../src/core/TradeFlowScreenButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAE7F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TradeFlowScreenButton.d.ts","sourceRoot":"","sources":["../../src/core/TradeFlowScreenButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,KAAK,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACpE,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,wBAAwB,GAAG,wBAAwB,GACtD,CACI;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,GAC5C;IAAE,KAAK,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAC/C,CAAC;AACJ,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,GAAG,WAAW,EACf,EAAE,wBAAwB,2CAgE1B;AAED,KAAK,8BAA8B,GAAG,wBAAwB,GAAG;IAC/D,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EACzC,UAAU,EACV,UAAU,EACV,aAAa,EACb,GAAG,WAAW,EACf,EAAE,8BAA8B,2CA2ChC;AAED,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,GAAG,WAAW,EACf,EAAE,4BAA4B,2CA2C9B;AAED,KAAK,wBAAwB,GAAG,wBAAwB,GAAG;IACzD,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,SAAS,EACT,aAAa,EACb,GAAG,WAAW,EACf,EAAE,wBAAwB,2CA2C1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","BridgePrice","DeltaPrice","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","DeltaOrBridgePrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","disabled","onClick","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaPrice | BridgePrice; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !price;\n\n const onClick =\n orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !limitPrice;\n\n const onClick =\n orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !otcPrice;\n\n const onClick =\n orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaOrBridgePrice;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","DeltaPriceV2","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","disabled","onClick","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { DeltaPriceV2, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaPriceV2; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !price;\n\n const onClick =\n orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !limitPrice;\n\n const onClick =\n orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !otcPrice;\n\n const onClick =\n orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaPriceV2;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAwE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAsD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAwE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAsD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA8D7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA+C7D"}
|
|
@@ -86,10 +86,7 @@ function C(e) {
|
|
|
86
86
|
tradeMode: "limit"
|
|
87
87
|
}, n[0] = r, n[1] = i, n[2] = a) : a = n[2];
|
|
88
88
|
let { wrongNetwork: o, isTokenFromInsufficientBalance: s, tokensAreSame: l, isConnected: u } = b(a), f = d(), { unsupportedTokens: h } = m(), _ = r && i && r.network !== i.network, y = _, x;
|
|
89
|
-
n[3] === Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
90
|
-
tradeMode: "limit",
|
|
91
|
-
enabled: !1
|
|
92
|
-
}, n[3] = x) : x = n[3];
|
|
89
|
+
n[3] === Symbol.for("react.memo_cache_sentinel") ? (x = { enabled: !1 }, n[3] = x) : x = n[3];
|
|
93
90
|
let { error: S } = p(x), C = y ? S : void 0, w = t(), T = c().data?.isContract;
|
|
94
91
|
if (!u) {
|
|
95
92
|
let e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
|