@velora-dex/widget 0.2.5-dev.8 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/accordion.js +4 -4
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +2 -2
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts +5 -1
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js +63 -5
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js +76 -36
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +20 -18
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.d.ts +2 -0
- package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +4 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts +3 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js +23 -21
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js +14 -13
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +2 -2
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +4 -4
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +2 -2
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +64 -61
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +121 -70
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +17 -21
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +24 -28
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +90 -72
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +24 -28
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +46 -26
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
- package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/motionProps.js +121 -0
- package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/configurator/components/common/Input.d.ts +2 -1
- package/dist/configurator/components/common/Input.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +11 -9
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/OtcOrderButton.d.ts.map +1 -1
- package/dist/core/OtcOrderButton.js +11 -9
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +4 -4
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
- package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
- package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
- package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.d.ts +1 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +2 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +44 -51
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +19 -0
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -0
- package/dist/core/inputs/hooks/useMaxButtonProps.js +119 -0
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -0
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +28 -80
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +4 -2
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +4 -6
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +15 -7
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.d.ts +2 -3
- package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +1 -2
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +4 -4
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts.map +1 -1
- package/dist/core/limit/state/utils.js +4 -1
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +25 -10
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +20 -63
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.d.ts +2 -3
- package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +1 -2
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +21 -64
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.d.ts +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js +3 -3
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.d.ts +2 -0
- package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -0
- package/dist/core/screen/hooks/useRunOnMount.js +28 -0
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -0
- package/dist/core/screen/screenByType.d.ts +8 -1
- package/dist/core/screen/screenByType.d.ts.map +1 -1
- package/dist/core/screen/screenByType.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreen.d.ts +5 -0
- package/dist/core/screen/state/hooks/useScreen.d.ts.map +1 -0
- package/dist/core/screen/state/hooks/useScreen.js +25 -0
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -0
- package/dist/core/screen/state/hooks/useScreenValue.d.ts +8 -0
- package/dist/core/screen/state/hooks/useScreenValue.d.ts.map +1 -0
- package/dist/core/screen/state/hooks/useScreenValue.js +42 -0
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -0
- package/dist/core/screen/state/hooks/useSetScreen.d.ts +10 -0
- package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -0
- package/dist/core/screen/state/hooks/useSetScreen.js +81 -0
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -0
- package/dist/core/screen/state/screenAtom.d.ts +4 -17
- package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
- package/dist/core/screen/state/screenAtom.js +5 -104
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +37 -21
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +0 -5
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +26 -10
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +1 -3
- package/dist/hooks/useClickOutside.d.ts.map +1 -1
- package/dist/hooks/useClickOutside.js +23 -7
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/lib/constants/index.d.ts +1 -0
- package/dist/lib/constants/index.d.ts.map +1 -1
- package/dist/lib/constants/index.js +2 -1
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +45 -14
- package/dist/tokens/utils/sorting.d.ts.map +1 -1
- package/dist/tokens/utils/sorting.js +3 -0
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/package.json +3 -2
|
@@ -15,13 +15,16 @@ function timeUnitToSeconds(timeUnitObj) {
|
|
|
15
15
|
return 0;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
function timestampFromNow(timeUnitObj) {
|
|
19
|
+
return Math.floor(Date.now() / 1e3 + timeUnitToSeconds(timeUnitObj));
|
|
20
|
+
}
|
|
18
21
|
function getTimeUnitState(timeUnitObj) {
|
|
19
22
|
if (isTimeUnitState(timeUnitObj)) {
|
|
20
23
|
return timeUnitObj;
|
|
21
24
|
}
|
|
22
25
|
return {
|
|
23
26
|
...timeUnitObj,
|
|
24
|
-
timestamp: timeUnitObj.label === neverTimeUnit.label ? 0 :
|
|
27
|
+
timestamp: timeUnitObj.label === neverTimeUnit.label ? 0 : timestampFromNow(timeUnitObj)
|
|
25
28
|
};
|
|
26
29
|
}
|
|
27
30
|
function isTimeUnitState(timeUnitObj) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/core/limit/state/utils.ts"],"sourcesContent":["import Big from \"big.js\";\nimport type { TimeUnitObject, TimeUnitState } from \"./deadlineAtom\";\nimport type { PriceRates } from \"../types\";\nimport { neverTimeUnit, zeroRates } from \"./constants\";\n\nexport function timeUnitToSeconds(timeUnitObj: TimeUnitObject) {\n switch (timeUnitObj.label) {\n case \"minutes\":\n return timeUnitObj.value * 60;\n case \"hours\":\n return timeUnitObj.value * 60 * 60;\n case \"days\":\n return timeUnitObj.value * 60 * 60 * 24;\n case \"months\":\n return timeUnitObj.value * 60 * 60 * 24 * 30;\n default:\n return 0;\n }\n}\n\nexport function getTimeUnitState(\n timeUnitObj: TimeUnitObject | TimeUnitState
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/core/limit/state/utils.ts"],"sourcesContent":["import Big from \"big.js\";\nimport type { TimeUnitObject, TimeUnitState } from \"./deadlineAtom\";\nimport type { PriceRates } from \"../types\";\nimport { neverTimeUnit, zeroRates } from \"./constants\";\n\nexport function timeUnitToSeconds(timeUnitObj: TimeUnitObject) {\n switch (timeUnitObj.label) {\n case \"minutes\":\n return timeUnitObj.value * 60;\n case \"hours\":\n return timeUnitObj.value * 60 * 60;\n case \"days\":\n return timeUnitObj.value * 60 * 60 * 24;\n case \"months\":\n return timeUnitObj.value * 60 * 60 * 24 * 30;\n default:\n return 0;\n }\n}\n\nfunction timestampFromNow(timeUnitObj: TimeUnitObject) {\n return Math.floor(Date.now() / 1000 + timeUnitToSeconds(timeUnitObj));\n}\n\nexport function getTimeUnitState(\n timeUnitObj: TimeUnitObject | TimeUnitState,\n): TimeUnitState {\n if (isTimeUnitState(timeUnitObj)) {\n return timeUnitObj;\n }\n return {\n ...timeUnitObj,\n timestamp:\n timeUnitObj.label === neverTimeUnit.label\n ? 0\n : timestampFromNow(timeUnitObj),\n };\n}\n\nfunction isTimeUnitState(\n timeUnitObj: TimeUnitObject | TimeUnitState,\n): timeUnitObj is TimeUnitState {\n return \"timestamp\" in timeUnitObj && timeUnitObj.timestamp !== undefined;\n}\n\nconst units = [\n { label: \"months\", ms: 30 * 24 * 60 * 60 * 1000 },\n { label: \"days\", ms: 24 * 60 * 60 * 1000 },\n { label: \"hours\", ms: 60 * 60 * 1000 },\n { label: \"minutes\", ms: 60 * 1000 },\n] as const;\n\nexport function getClosestTimeUnit(timestampS: number) {\n if (timestampS <= 0) return neverTimeUnit;\n const timestampMs = timestampS * 1000;\n\n const now = Date.now();\n\n if (timestampMs <= now) return neverTimeUnit;\n\n const diffMs = timestampMs - now;\n\n for (const unit of units) {\n const value = Math.floor(diffMs / unit.ms);\n if (value > 0) {\n return {\n label: unit.label,\n value,\n };\n }\n }\n return neverTimeUnit;\n}\n\nexport function calculateReceiveAmount(\n payAmount: string,\n priceRates: PriceRates,\n isReversed: boolean,\n) {\n const pay = Big(payAmount || \"0\");\n\n if (isReversed) {\n // price = from/to → receive = pay / price\n const price = Big(priceRates.rateReversed || \"0\");\n if (price.eq(0)) return \"0\";\n return pay.div(price).toFixed();\n }\n\n const price = Big(priceRates.rate || \"0\");\n // normal: price = to/from → receive = pay * price\n return pay.mul(price).toFixed();\n}\n\nexport function calculatePayAmount(\n receiveAmount: string,\n priceRates: PriceRates,\n isReversed: boolean,\n) {\n const receive = Big(receiveAmount || \"0\");\n\n if (isReversed) {\n // price = from/to → pay = receive * price\n const price = Big(priceRates.rateReversed || \"0\");\n return receive.mul(price).toFixed();\n }\n\n // normal: pay = receive / price\n const price = Big(priceRates.rate || \"0\");\n if (price.eq(0)) return \"0\";\n return receive.div(price).toFixed();\n}\n\nexport function calculateRates(\n receiveAmount: string,\n payAmount: string,\n): PriceRates {\n const receive = Big(receiveAmount || \"0\");\n const pay = Big(payAmount || \"0\");\n\n if (pay.eq(0) || receive.eq(0)) return zeroRates;\n\n // normal: price = to/from → price = receive / pay\n const rate = receive.div(pay).toFixed();\n // reversed: price = from/to → price = pay / receive\n const rateReversed = pay.div(receive).toFixed();\n\n return { rate, rateReversed };\n}\n\nexport function getUpdatedRates(\n value: string,\n isReversed: boolean,\n): PriceRates {\n const bigPrice = Big(value || 0);\n if (!bigPrice.eq(0)) {\n const rate = bigPrice.toFixed();\n const rateReversed = Big(1).div(bigPrice).toFixed();\n\n return isReversed\n ? { rate: rateReversed, rateReversed: rate }\n : { rate, rateReversed };\n }\n return zeroRates;\n}\n"],"names":["timeUnitToSeconds","timeUnitObj","label","value","timestampFromNow","Math","floor","Date","now","getTimeUnitState","isTimeUnitState","timestamp","neverTimeUnit","undefined","units","ms","getClosestTimeUnit","timestampS","timestampMs","diffMs","unit","calculateReceiveAmount","payAmount","priceRates","isReversed","pay","Big","price","rateReversed","eq","div","toFixed","rate","mul","calculatePayAmount","receiveAmount","receive","calculateRates","zeroRates","getUpdatedRates","bigPrice"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitRate.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitRate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAqDlD,eAAO,MAAM,yBAAyB,GAAI,0CAIvC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B;;;;CAkDA,CAAC;AAGF,eAAO,MAAM,YAAY,GACvB,WAAW,OAAO,GAAG,KAAK,KACzB,
|
|
1
|
+
{"version":3,"file":"useLimitRate.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitRate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAqDlD,eAAO,MAAM,yBAAyB,GAAI,0CAIvC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B;;;;CAkDA,CAAC;AAGF,eAAO,MAAM,YAAY,GACvB,WAAW,OAAO,GAAG,KAAK,KACzB,kBA0GF,CAAC"}
|
|
@@ -240,24 +240,34 @@ const useLimitRate = (tradeMode) => {
|
|
|
240
240
|
enabled: isCrosschainLOrder,
|
|
241
241
|
tradeMode
|
|
242
242
|
});
|
|
243
|
-
const
|
|
243
|
+
const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;
|
|
244
244
|
return useMemo(() => {
|
|
245
245
|
if (!tokenTo) {
|
|
246
246
|
return {
|
|
247
|
-
isLoading
|
|
247
|
+
isLoading: isNonDeltaLoading
|
|
248
248
|
};
|
|
249
249
|
}
|
|
250
250
|
let rate = void 0;
|
|
251
251
|
let rateReversed = void 0;
|
|
252
|
-
if (isCrosschainLOrder
|
|
252
|
+
if (isCrosschainLOrder) {
|
|
253
|
+
if (!deltaCrosschainPrice) {
|
|
254
|
+
return {
|
|
255
|
+
isLoading: isDeltaCrosschainPriceLoading
|
|
256
|
+
};
|
|
257
|
+
}
|
|
253
258
|
const srcUnits = formatUnits(BigInt(deltaCrosschainPrice.srcAmount), tokenFrom.decimals);
|
|
254
259
|
const destUnits = formatUnits(
|
|
255
260
|
// amount on destChain accounting for decimals
|
|
256
261
|
BigInt(deltaCrosschainPrice.receivedDestAmount),
|
|
257
262
|
tokenTo.decimals
|
|
258
263
|
);
|
|
259
|
-
|
|
260
|
-
|
|
264
|
+
if (srcUnits === "0" || destUnits === "0") {
|
|
265
|
+
rate = "0";
|
|
266
|
+
rateReversed = "0";
|
|
267
|
+
} else {
|
|
268
|
+
rate = Big(destUnits).div(srcUnits).toFixed();
|
|
269
|
+
rateReversed = Big(srcUnits).div(destUnits).toFixed();
|
|
270
|
+
}
|
|
261
271
|
return {
|
|
262
272
|
rates: {
|
|
263
273
|
rate,
|
|
@@ -267,8 +277,13 @@ const useLimitRate = (tradeMode) => {
|
|
|
267
277
|
isLoading: isDeltaCrosschainPriceLoading
|
|
268
278
|
};
|
|
269
279
|
} else if (fiatPricesAvailable) {
|
|
270
|
-
|
|
271
|
-
|
|
280
|
+
if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {
|
|
281
|
+
rate = "0";
|
|
282
|
+
rateReversed = "0";
|
|
283
|
+
} else {
|
|
284
|
+
rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();
|
|
285
|
+
rateReversed = Big(tokenToPrice.price).div(tokenFromPrice.price).toFixed();
|
|
286
|
+
}
|
|
272
287
|
} else if (swapPrice) {
|
|
273
288
|
const srcUnits_0 = formatUnits(BigInt(swapPrice.srcAmount), tokenFrom.decimals);
|
|
274
289
|
const destUnits_0 = formatUnits(BigInt(swapPrice.destAmount), tokenTo.decimals);
|
|
@@ -277,7 +292,7 @@ const useLimitRate = (tradeMode) => {
|
|
|
277
292
|
}
|
|
278
293
|
if (!rate || !rateReversed) {
|
|
279
294
|
return {
|
|
280
|
-
isLoading
|
|
295
|
+
isLoading: isNonDeltaLoading
|
|
281
296
|
};
|
|
282
297
|
}
|
|
283
298
|
return {
|
|
@@ -285,9 +300,9 @@ const useLimitRate = (tradeMode) => {
|
|
|
285
300
|
rate,
|
|
286
301
|
rateReversed
|
|
287
302
|
},
|
|
288
|
-
isLoading
|
|
303
|
+
isLoading: isNonDeltaLoading
|
|
289
304
|
};
|
|
290
|
-
}, [fiatPricesAvailable,
|
|
305
|
+
}, [fiatPricesAvailable, isNonDeltaLoading, swapPrice, tokenFrom.decimals, tokenFromPrice?.price, tokenTo, tokenToPrice?.price, isCrosschainLOrder, deltaCrosschainPrice, isDeltaCrosschainPriceLoading]);
|
|
291
306
|
};
|
|
292
307
|
|
|
293
308
|
export { useDeltaSwapPriceForLimit, useLimitRate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta =\n isLimitOrder && isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({ enabled: isCrosschainLOrder, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder && deltaCrosschainPrice) {\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","isETH","address","srcToken","wrappedNativeCurrency","srcTokenForDelta","deltaPriceQuery","useDeltaPriceQuery","t8","error","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","useMemo","rate","rateReversed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","receivedDestAmount","Big","div","toFixed","rates","destAmount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta =\n isLimitOrder && isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({ enabled: isCrosschainLOrder, tradeMode });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","isETH","address","srcToken","wrappedNativeCurrency","srcTokenForDelta","deltaPriceQuery","useDeltaPriceQuery","t8","error","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","useMemo","rate","rateReversed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","receivedDestAmount","Big","div","toFixed","rates","destAmount"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA4K5E,eAAO,MAAM,oBAAoB,QAAO,eAAe,CAAC,SAAS,CAGhE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,eAyB9C,CAAC"}
|
|
@@ -11,9 +11,6 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
|
|
|
11
11
|
import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
|
|
12
12
|
import { useGenericTokenAllowance } from '../../hooks/tokens/allowance/useGenericTokenAllowance.js';
|
|
13
13
|
import { useIsInsufficientBalanceToFillLimitOrder } from '../../hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js';
|
|
14
|
-
import { useGasPrices } from '../../hooks/gas/useGasPrices.js';
|
|
15
|
-
import { isETH } from '../../tokens/utils/eth.js';
|
|
16
|
-
import Big from 'big.js';
|
|
17
14
|
import { WRAP_ETH_GAS_LIMIT_INACCURATE } from '../../lib/constants/index.js';
|
|
18
15
|
import { useUnsupportedLimitChain } from './useLimitNotSupported.js';
|
|
19
16
|
import { selectLimitTokenFromAtom } from './state/selectedTokenActionsAtom.js';
|
|
@@ -23,6 +20,7 @@ import { getInsufficientBalanceToFillOrderMessage } from '../../lib/utils/delta.
|
|
|
23
20
|
import { useDeltaOrderRequiredAllowance } from '../../hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js';
|
|
24
21
|
import { useEnabledSrcChainsWithDelta } from '../state/enabledChainsAtom.js';
|
|
25
22
|
import { switchChain } from '../../lib/web3/wagmi/switchChain.js';
|
|
23
|
+
import { useMaxButtonPropsBase } from '../inputs/hooks/useMaxButtonProps.js';
|
|
26
24
|
|
|
27
25
|
const useLimitTokenFromAmountProps = () => {
|
|
28
26
|
const $ = distExports.c(8);
|
|
@@ -165,80 +163,39 @@ const useTokenConditionalProps = (t0) => {
|
|
|
165
163
|
return t8;
|
|
166
164
|
};
|
|
167
165
|
const useMaxButtonProps = (t0) => {
|
|
168
|
-
const $ = distExports.c(
|
|
166
|
+
const $ = distExports.c(6);
|
|
169
167
|
const {
|
|
170
168
|
tokenFrom
|
|
171
169
|
} = t0;
|
|
172
170
|
const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);
|
|
173
171
|
const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);
|
|
174
172
|
let t1;
|
|
175
|
-
if ($[0]
|
|
176
|
-
t1 = {
|
|
177
|
-
|
|
173
|
+
if ($[0] !== setCurrentLimitInput || $[1] !== setPayInputAmount) {
|
|
174
|
+
t1 = (balanceUnit) => {
|
|
175
|
+
setCurrentLimitInput("from");
|
|
176
|
+
setPayInputAmount(balanceUnit);
|
|
178
177
|
};
|
|
179
|
-
$[0] =
|
|
178
|
+
$[0] = setCurrentLimitInput;
|
|
179
|
+
$[1] = setPayInputAmount;
|
|
180
|
+
$[2] = t1;
|
|
180
181
|
} else {
|
|
181
|
-
t1 = $[
|
|
182
|
+
t1 = $[2];
|
|
182
183
|
}
|
|
184
|
+
const onClick = t1;
|
|
183
185
|
let t2;
|
|
184
|
-
if ($[
|
|
186
|
+
if ($[3] !== onClick || $[4] !== tokenFrom) {
|
|
185
187
|
t2 = {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
$[1] = tokenFrom;
|
|
190
|
-
$[2] = t2;
|
|
191
|
-
} else {
|
|
192
|
-
t2 = $[2];
|
|
193
|
-
}
|
|
194
|
-
const {
|
|
195
|
-
balanceUnit
|
|
196
|
-
} = useTokenBalance(t2);
|
|
197
|
-
const {
|
|
198
|
-
data: gasPrices
|
|
199
|
-
} = useGasPrices();
|
|
200
|
-
const hasBalance = !!balanceUnit && balanceUnit !== "0";
|
|
201
|
-
const showMaxButton = hasBalance;
|
|
202
|
-
let t3;
|
|
203
|
-
if ($[3] !== balanceUnit || $[4] !== gasPrices?.legacyPrices || $[5] !== hasBalance || $[6] !== setCurrentLimitInput || $[7] !== setPayInputAmount || $[8] !== tokenFrom) {
|
|
204
|
-
t3 = () => {
|
|
205
|
-
setCurrentLimitInput("from");
|
|
206
|
-
if (hasBalance) {
|
|
207
|
-
if (!isETH(tokenFrom)) {
|
|
208
|
-
setPayInputAmount(balanceUnit);
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
|
|
212
|
-
if (gasPriceMultiplier) {
|
|
213
|
-
const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE).mul(gasPriceMultiplier).div(1e9);
|
|
214
|
-
const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
|
|
215
|
-
setPayInputAmount(balanceWithDeductedGas.toString());
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
$[3] = balanceUnit;
|
|
220
|
-
$[4] = gasPrices?.legacyPrices;
|
|
221
|
-
$[5] = hasBalance;
|
|
222
|
-
$[6] = setCurrentLimitInput;
|
|
223
|
-
$[7] = setPayInputAmount;
|
|
224
|
-
$[8] = tokenFrom;
|
|
225
|
-
$[9] = t3;
|
|
226
|
-
} else {
|
|
227
|
-
t3 = $[9];
|
|
228
|
-
}
|
|
229
|
-
let t4;
|
|
230
|
-
if ($[10] !== showMaxButton || $[11] !== t3) {
|
|
231
|
-
t4 = {
|
|
232
|
-
showMaxButton,
|
|
233
|
-
onMaxClick: t3
|
|
188
|
+
tokenFrom,
|
|
189
|
+
gasLimit: WRAP_ETH_GAS_LIMIT_INACCURATE,
|
|
190
|
+
onClick
|
|
234
191
|
};
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
$[
|
|
192
|
+
$[3] = onClick;
|
|
193
|
+
$[4] = tokenFrom;
|
|
194
|
+
$[5] = t2;
|
|
238
195
|
} else {
|
|
239
|
-
|
|
196
|
+
t2 = $[5];
|
|
240
197
|
}
|
|
241
|
-
return
|
|
198
|
+
return useMaxButtonPropsBase(t2);
|
|
242
199
|
};
|
|
243
200
|
const useTokenFromBalanceUnit = () => {
|
|
244
201
|
const $ = distExports.c(5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = WRAP_ETH_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","balanceUnit","onClick","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","useMaxButtonPropsBase","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","useTokenBalance","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenSwitcherProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLimitTokenSwitcherProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAQlF,eAAO,MAAM,0BAA0B,QAAO,kBAc7C,CAAC"}
|
|
@@ -4,46 +4,56 @@ import { useSetAtom } from '../store.js';
|
|
|
4
4
|
import { switchLimitTokensAtom } from './state/selectedTokenActionsAtom.js';
|
|
5
5
|
import { useLimitTokenTo } from './state/limitTokenAtoms.js';
|
|
6
6
|
import { useUnsupportedLimitChain } from './useLimitNotSupported.js';
|
|
7
|
+
import { useEnabledSrcChains } from '../state/enabledChainsAtom.js';
|
|
7
8
|
|
|
8
9
|
const useLimitTokenSwitcherProps = () => {
|
|
9
|
-
const $ = distExports.c(
|
|
10
|
+
const $ = distExports.c(11);
|
|
10
11
|
const tokenTo = useLimitTokenTo();
|
|
12
|
+
const enabledSrcChains = useEnabledSrcChains();
|
|
11
13
|
const switchTokens = useSetAtom(switchLimitTokensAtom);
|
|
12
14
|
const unsupportedLimitChain = useUnsupportedLimitChain();
|
|
13
|
-
|
|
15
|
+
let t0;
|
|
16
|
+
if ($[0] !== enabledSrcChains || $[1] !== tokenTo) {
|
|
17
|
+
t0 = !!tokenTo && enabledSrcChains.includes(tokenTo.network);
|
|
18
|
+
$[0] = enabledSrcChains;
|
|
19
|
+
$[1] = tokenTo;
|
|
20
|
+
$[2] = t0;
|
|
21
|
+
} else {
|
|
22
|
+
t0 = $[2];
|
|
23
|
+
}
|
|
14
24
|
let t1;
|
|
15
|
-
if ($[
|
|
25
|
+
if ($[3] !== unsupportedLimitChain) {
|
|
16
26
|
t1 = cn({
|
|
17
27
|
"pointer-events-none": unsupportedLimitChain
|
|
18
28
|
});
|
|
19
|
-
$[
|
|
20
|
-
$[
|
|
29
|
+
$[3] = unsupportedLimitChain;
|
|
30
|
+
$[4] = t1;
|
|
21
31
|
} else {
|
|
22
|
-
t1 = $[
|
|
32
|
+
t1 = $[4];
|
|
23
33
|
}
|
|
24
34
|
let t2;
|
|
25
|
-
if ($[
|
|
35
|
+
if ($[5] !== t1) {
|
|
26
36
|
t2 = {
|
|
27
37
|
root: t1
|
|
28
38
|
};
|
|
29
|
-
$[
|
|
30
|
-
$[
|
|
39
|
+
$[5] = t1;
|
|
40
|
+
$[6] = t2;
|
|
31
41
|
} else {
|
|
32
|
-
t2 = $[
|
|
42
|
+
t2 = $[6];
|
|
33
43
|
}
|
|
34
44
|
let t3;
|
|
35
|
-
if ($[
|
|
45
|
+
if ($[7] !== switchTokens || $[8] !== t0 || $[9] !== t2) {
|
|
36
46
|
t3 = {
|
|
37
47
|
enableSwitchTokens: t0,
|
|
38
48
|
onSwitchTokens: switchTokens,
|
|
39
49
|
classes: t2
|
|
40
50
|
};
|
|
41
|
-
$[
|
|
42
|
-
$[
|
|
43
|
-
$[
|
|
44
|
-
$[
|
|
51
|
+
$[7] = switchTokens;
|
|
52
|
+
$[8] = t0;
|
|
53
|
+
$[9] = t2;
|
|
54
|
+
$[10] = t3;
|
|
45
55
|
} else {
|
|
46
|
-
t3 = $[
|
|
56
|
+
t3 = $[10];
|
|
47
57
|
}
|
|
48
58
|
return t3;
|
|
49
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n enableSwitchTokens: !!tokenTo,\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"names":["useLimitTokenSwitcherProps","$","_c","tokenTo","useLimitTokenTo","switchTokens","useSetAtom","switchLimitTokensAtom","unsupportedLimitChain","useUnsupportedLimitChain","t0","t1","cn","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { useEnabledSrcChains } from \"../state/enabledChainsAtom\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const enabledSrcChains = useEnabledSrcChains();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n // check if tokenTo.network is even allowed in tokenFrom position\n enableSwitchTokens: !!tokenTo && enabledSrcChains.includes(tokenTo.network),\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"names":["useLimitTokenSwitcherProps","$","_c","tokenTo","useLimitTokenTo","enabledSrcChains","useEnabledSrcChains","switchTokens","useSetAtom","switchLimitTokensAtom","unsupportedLimitChain","useUnsupportedLimitChain","t0","includes","network","t1","cn","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"mappings":";;;;;;;;AAQO,MAAMA,6BAA6BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACxC,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAChC,EAAA,MAAAC,mBAAyBC,mBAAAA,EAAoB;AAC7C,EAAA,MAAAC,YAAAA,GAAqBC,WAAWC,qBAAqB,CAAA;AACrD,EAAA,MAAAC,wBAA8BC,wBAAAA,EAAyB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAI,oBAAAJ,CAAAA,QAAAE,OAAAA,EAAA;AAInCS,IAAAA,EAAAA,GAAA,CAAC,CAACT,OAAAA,IAAWE,gBAAAA,CAAgBQ,QAAAA,CAAUV,QAAOW,OAAQ,CAAA;AAACb,IAAAA,CAAAA,MAAAI,gBAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAS,qBAAAA,EAAA;AAGnEK,IAAAA,EAAAA,GAAAC,EAAAA,CAAG;AAAA,MAAA,qBAAA,EAAyBN;AAAAA,KAAuB,CAAA;AAACT,IAAAA,CAAAA,MAAAS,qBAAAA;AAAAT,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAhB,CAAAA,QAAAc,EAAAA,EAAA;AADnDE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,IAAAA,EACDH;AAAAA,KACR;AAACd,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAM,YAAAA,IAAAN,CAAAA,QAAAW,EAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAgB,EAAAA,EAAA;AANIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,kBAAAA,EAEeR,EAAAA;AAAAA,MAAuDS,cAAAA,EAC3Dd,YAAAA;AAAAA,MAAYe,OAAAA,EACnBL;AAAAA,KAGX;AAAChB,IAAAA,CAAAA,MAAAM,YAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPMkB,EAAAA;AAON;;;;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { TimeUnitState } from '../../limit/state/deadlineAtom';
|
|
2
|
-
|
|
3
|
-
export declare const timeUnitAtom: import('jotai').WritableAtom<TimeUnitState, [SetStateAction<{
|
|
2
|
+
export declare const timeUnitAtom: import('jotai').WritableAtom<TimeUnitState, [{
|
|
4
3
|
label: import('../../limit/state/deadlineAtom').TimeUnit;
|
|
5
4
|
value: number;
|
|
6
5
|
timestamp?: number | undefined;
|
|
7
|
-
}
|
|
6
|
+
}], void> & {
|
|
8
7
|
init: TimeUnitState;
|
|
9
8
|
};
|
|
10
9
|
export declare const deadlineAtom: import('jotai').Atom<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMrE,eAAO,MAAM,YAAY;;;;;;CAsBvB,CAAC;AAEH,eAAO,MAAM,YAAY,8BAA6C,CAAC;AAEvE,eAAO,MAAM,cAAc,cAE1B,CAAC"}
|
|
@@ -3,8 +3,7 @@ import { getTimeUnitState } from '../../limit/state/utils.js';
|
|
|
3
3
|
import { useAtomValue } from '../../store.js';
|
|
4
4
|
import { atom } from 'jotai';
|
|
5
5
|
|
|
6
|
-
const timeUnitAtom = atom(getTimeUnitState(defaultTimeUnit), (
|
|
7
|
-
const newState = typeof _newState === "function" ? _newState(get(timeUnitAtom)) : _newState;
|
|
6
|
+
const timeUnitAtom = atom(getTimeUnitState(defaultTimeUnit), (_, set, newState) => {
|
|
8
7
|
let stateToSet = getTimeUnitState(newState);
|
|
9
8
|
const minTimeUnitState = getTimeUnitState(minTimeUnit);
|
|
10
9
|
const isTimestampInvalid = (
|