@velora-dex/widget 0.2.5-dev.9 → 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 +19 -17
- 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.d.ts.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.d.ts.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 +42 -11
- 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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ConsolidatedGasPrices } from '../../../hooks/gas/types';
|
|
2
|
+
import { Token } from '../../../tokens/state/types';
|
|
3
|
+
type ConstructMaxButtonPropsInput = {
|
|
4
|
+
tokenFrom: Token;
|
|
5
|
+
balanceUnit?: string;
|
|
6
|
+
gasPrices?: ConsolidatedGasPrices;
|
|
7
|
+
gasLimit: number;
|
|
8
|
+
onClick: (balanceUnit: string) => void;
|
|
9
|
+
isAccountSmartContract: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const useMaxButtonPropsBase: ({ tokenFrom, onClick, gasLimit, }: Pick<ConstructMaxButtonPropsInput, "tokenFrom" | "onClick" | "gasLimit">) => {
|
|
12
|
+
showMaxButton: boolean;
|
|
13
|
+
onMaxClick?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
showMaxButton: boolean;
|
|
16
|
+
onMaxClick: () => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=useMaxButtonProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMaxButtonProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA6BlD,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC;AA0DF,eAAO,MAAM,qBAAqB,GAAI,mCAInC,IAAI,CACL,4BAA4B,EAC5B,WAAW,GAAG,SAAS,GAAG,UAAU,CACrC;;;;;;CAkBA,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
|
+
import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
|
|
3
|
+
import { useIsAccountContract } from '../../../hooks/getCode/useIsAccountContract.js';
|
|
4
|
+
import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
|
|
5
|
+
import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
|
|
6
|
+
import { isETH } from '../../../tokens/utils/eth.js';
|
|
7
|
+
import Big from 'big.js';
|
|
8
|
+
|
|
9
|
+
function deductGasFeeFromETH({
|
|
10
|
+
ethAmountUnit,
|
|
11
|
+
gasPriceMultiplierGwei,
|
|
12
|
+
gasLimit
|
|
13
|
+
}) {
|
|
14
|
+
if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;
|
|
15
|
+
const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);
|
|
16
|
+
const ethAmountUnitBig = Big(ethAmountUnit);
|
|
17
|
+
if (ethAmountUnitBig.lte(gasFeeETH)) return "0";
|
|
18
|
+
const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
|
|
19
|
+
return withDeductedGas.toString();
|
|
20
|
+
}
|
|
21
|
+
function constructMaxButtonProps({
|
|
22
|
+
tokenFrom,
|
|
23
|
+
balanceUnit,
|
|
24
|
+
gasPrices,
|
|
25
|
+
gasLimit,
|
|
26
|
+
onClick,
|
|
27
|
+
isAccountSmartContract
|
|
28
|
+
}) {
|
|
29
|
+
const hasBalance = !!balanceUnit && balanceUnit !== "0";
|
|
30
|
+
if (!hasBalance) return {
|
|
31
|
+
showMaxButton: false
|
|
32
|
+
};
|
|
33
|
+
if (!isETH(tokenFrom) || isAccountSmartContract) return {
|
|
34
|
+
showMaxButton: hasBalance,
|
|
35
|
+
onMaxClick: () => {
|
|
36
|
+
onClick(balanceUnit);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;
|
|
40
|
+
if (!gasPriceMultiplierGwei) return {
|
|
41
|
+
showMaxButton: false
|
|
42
|
+
};
|
|
43
|
+
const maxAvailableBalance = deductGasFeeFromETH({
|
|
44
|
+
ethAmountUnit: balanceUnit,
|
|
45
|
+
gasPriceMultiplierGwei,
|
|
46
|
+
gasLimit
|
|
47
|
+
});
|
|
48
|
+
if (maxAvailableBalance === "0") return {
|
|
49
|
+
showMaxButton: false
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
showMaxButton: true,
|
|
53
|
+
onMaxClick: () => {
|
|
54
|
+
onClick(maxAvailableBalance);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const useMaxButtonPropsBase = (t0) => {
|
|
59
|
+
const $ = distExports.c(10);
|
|
60
|
+
const {
|
|
61
|
+
tokenFrom,
|
|
62
|
+
onClick,
|
|
63
|
+
gasLimit
|
|
64
|
+
} = t0;
|
|
65
|
+
let t1;
|
|
66
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
67
|
+
t1 = {
|
|
68
|
+
refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
|
|
69
|
+
};
|
|
70
|
+
$[0] = t1;
|
|
71
|
+
} else {
|
|
72
|
+
t1 = $[0];
|
|
73
|
+
}
|
|
74
|
+
let t2;
|
|
75
|
+
if ($[1] !== tokenFrom) {
|
|
76
|
+
t2 = {
|
|
77
|
+
token: tokenFrom,
|
|
78
|
+
queryOptions: t1
|
|
79
|
+
};
|
|
80
|
+
$[1] = tokenFrom;
|
|
81
|
+
$[2] = t2;
|
|
82
|
+
} else {
|
|
83
|
+
t2 = $[2];
|
|
84
|
+
}
|
|
85
|
+
const {
|
|
86
|
+
balanceUnit
|
|
87
|
+
} = useTokenBalance(t2);
|
|
88
|
+
const {
|
|
89
|
+
data: gasPrices
|
|
90
|
+
} = useGasPrices();
|
|
91
|
+
const {
|
|
92
|
+
data: smartContractCheck
|
|
93
|
+
} = useIsAccountContract();
|
|
94
|
+
const t3 = smartContractCheck?.isContract ?? false;
|
|
95
|
+
let t4;
|
|
96
|
+
if ($[3] !== balanceUnit || $[4] !== gasLimit || $[5] !== gasPrices || $[6] !== onClick || $[7] !== t3 || $[8] !== tokenFrom) {
|
|
97
|
+
t4 = constructMaxButtonProps({
|
|
98
|
+
tokenFrom,
|
|
99
|
+
balanceUnit,
|
|
100
|
+
gasPrices,
|
|
101
|
+
gasLimit,
|
|
102
|
+
onClick,
|
|
103
|
+
isAccountSmartContract: t3
|
|
104
|
+
});
|
|
105
|
+
$[3] = balanceUnit;
|
|
106
|
+
$[4] = gasLimit;
|
|
107
|
+
$[5] = gasPrices;
|
|
108
|
+
$[6] = onClick;
|
|
109
|
+
$[7] = t3;
|
|
110
|
+
$[8] = tokenFrom;
|
|
111
|
+
$[9] = t4;
|
|
112
|
+
} else {
|
|
113
|
+
t4 = $[9];
|
|
114
|
+
}
|
|
115
|
+
return t4;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export { useMaxButtonPropsBase };
|
|
119
|
+
//# sourceMappingURL=useMaxButtonProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toString();\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput) {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n onMaxClick: () => {\n onClick(balanceUnit);\n },\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n onMaxClick: () => {\n onClick(maxAvailableBalance);\n },\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\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 { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"names":["deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","Big","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toString","constructMaxButtonProps","tokenFrom","balanceUnit","gasPrices","onClick","isAccountSmartContract","hasBalance","showMaxButton","isETH","onMaxClick","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t2","token","queryOptions","useTokenBalance","data","useGasPrices","smartContractCheck","useIsAccountContract","t3","isContract","t4"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAQjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAiBpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAiJF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
|
|
@@ -11,9 +11,6 @@ import { parseUnits, formatUnits } from 'viem';
|
|
|
11
11
|
import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
|
|
12
12
|
import { currentSwapInputAtom } from '../../state/currentSwapInputAtom.js';
|
|
13
13
|
import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
|
|
14
|
-
import { isETH } from '../../../tokens/utils/eth.js';
|
|
15
|
-
import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
|
|
16
|
-
import Big from 'big.js';
|
|
17
14
|
import { toDecimalTrimmed } from '../../../lib/utils/toDecimal.js';
|
|
18
15
|
import { useLogger } from '../../logger.js';
|
|
19
16
|
import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
|
|
@@ -22,6 +19,8 @@ import { useDeltaOrderRequiredAllowance } from '../../../hooks/swap/prices/delta
|
|
|
22
19
|
import { useEnabledSrcChains } from '../../state/enabledChainsAtom.js';
|
|
23
20
|
import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
|
|
24
21
|
import { isDeltaPrice } from '../../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
|
|
22
|
+
import { WRAP_ETH_GAS_LIMIT_INACCURATE, AUGUSTUS_GAS_LIMIT_INACCURATE } from '../../../lib/constants/index.js';
|
|
23
|
+
import { useMaxButtonPropsBase } from './useMaxButtonProps.js';
|
|
25
24
|
|
|
26
25
|
const useTokenFromAmountProps = (t0) => {
|
|
27
26
|
const $ = distExports.c(13);
|
|
@@ -197,93 +196,42 @@ const useTokenConditionalProps = (t0) => {
|
|
|
197
196
|
return t7;
|
|
198
197
|
};
|
|
199
198
|
const useMaxButtonProps = (t0) => {
|
|
200
|
-
const $ = distExports.c(
|
|
199
|
+
const $ = distExports.c(7);
|
|
201
200
|
const {
|
|
202
|
-
|
|
203
|
-
|
|
201
|
+
tokenFrom,
|
|
202
|
+
activeSwapMode
|
|
204
203
|
} = t0;
|
|
205
204
|
const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);
|
|
206
205
|
const setPayInputAmount = useSetAtom(payInputAmountAtom);
|
|
206
|
+
const gasLimit = activeSwapMode === "delta" ? WRAP_ETH_GAS_LIMIT_INACCURATE : AUGUSTUS_GAS_LIMIT_INACCURATE;
|
|
207
207
|
let t1;
|
|
208
|
-
if ($[0]
|
|
209
|
-
t1 = {
|
|
210
|
-
|
|
208
|
+
if ($[0] !== setCurrentSwapInput || $[1] !== setPayInputAmount) {
|
|
209
|
+
t1 = (balanceUnit) => {
|
|
210
|
+
setCurrentSwapInput("from");
|
|
211
|
+
setPayInputAmount(balanceUnit);
|
|
211
212
|
};
|
|
212
|
-
$[0] =
|
|
213
|
+
$[0] = setCurrentSwapInput;
|
|
214
|
+
$[1] = setPayInputAmount;
|
|
215
|
+
$[2] = t1;
|
|
213
216
|
} else {
|
|
214
|
-
t1 = $[
|
|
217
|
+
t1 = $[2];
|
|
215
218
|
}
|
|
219
|
+
const onClick = t1;
|
|
216
220
|
let t2;
|
|
217
|
-
if ($[
|
|
221
|
+
if ($[3] !== gasLimit || $[4] !== onClick || $[5] !== tokenFrom) {
|
|
218
222
|
t2 = {
|
|
219
|
-
|
|
220
|
-
|
|
223
|
+
tokenFrom,
|
|
224
|
+
gasLimit,
|
|
225
|
+
onClick
|
|
221
226
|
};
|
|
222
|
-
$[
|
|
223
|
-
$[
|
|
224
|
-
} else {
|
|
225
|
-
t2 = $[2];
|
|
226
|
-
}
|
|
227
|
-
const {
|
|
228
|
-
balanceUnit
|
|
229
|
-
} = useTokenBalance(t2);
|
|
230
|
-
const {
|
|
231
|
-
data: gasPrices
|
|
232
|
-
} = useGasPrices();
|
|
233
|
-
const hasBalance = !!balanceUnit && balanceUnit !== "0";
|
|
234
|
-
let t3;
|
|
235
|
-
if ($[3] !== hasBalance || $[4] !== price || $[5] !== tokenFrom) {
|
|
236
|
-
t3 = hasBalance && (!isETH(tokenFrom) || !!price);
|
|
237
|
-
$[3] = hasBalance;
|
|
238
|
-
$[4] = price;
|
|
227
|
+
$[3] = gasLimit;
|
|
228
|
+
$[4] = onClick;
|
|
239
229
|
$[5] = tokenFrom;
|
|
240
|
-
$[6] =
|
|
241
|
-
} else {
|
|
242
|
-
t3 = $[6];
|
|
243
|
-
}
|
|
244
|
-
const showMaxButton = t3;
|
|
245
|
-
let t4;
|
|
246
|
-
if ($[7] !== balanceUnit || $[8] !== gasPrices?.legacyPrices || $[9] !== hasBalance || $[10] !== price?.gasCost || $[11] !== setCurrentSwapInput || $[12] !== setPayInputAmount || $[13] !== tokenFrom) {
|
|
247
|
-
t4 = () => {
|
|
248
|
-
setCurrentSwapInput("from");
|
|
249
|
-
if (hasBalance) {
|
|
250
|
-
if (!isETH(tokenFrom)) {
|
|
251
|
-
setPayInputAmount(balanceUnit);
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
const gasCost = price?.gasCost;
|
|
255
|
-
const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
|
|
256
|
-
if (gasCost && gasPriceMultiplier) {
|
|
257
|
-
const gasFeeETH = Big(gasCost).plus(2e5).mul(gasPriceMultiplier).div(1e9);
|
|
258
|
-
const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
|
|
259
|
-
setPayInputAmount(balanceWithDeductedGas.toString());
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
$[7] = balanceUnit;
|
|
264
|
-
$[8] = gasPrices?.legacyPrices;
|
|
265
|
-
$[9] = hasBalance;
|
|
266
|
-
$[10] = price?.gasCost;
|
|
267
|
-
$[11] = setCurrentSwapInput;
|
|
268
|
-
$[12] = setPayInputAmount;
|
|
269
|
-
$[13] = tokenFrom;
|
|
270
|
-
$[14] = t4;
|
|
230
|
+
$[6] = t2;
|
|
271
231
|
} else {
|
|
272
|
-
|
|
232
|
+
t2 = $[6];
|
|
273
233
|
}
|
|
274
|
-
|
|
275
|
-
if ($[15] !== showMaxButton || $[16] !== t4) {
|
|
276
|
-
t5 = {
|
|
277
|
-
showMaxButton,
|
|
278
|
-
onMaxClick: t4
|
|
279
|
-
};
|
|
280
|
-
$[15] = showMaxButton;
|
|
281
|
-
$[16] = t4;
|
|
282
|
-
$[17] = t5;
|
|
283
|
-
} else {
|
|
284
|
-
t5 = $[17];
|
|
285
|
-
}
|
|
286
|
-
return t5;
|
|
234
|
+
return useMaxButtonPropsBase(t2);
|
|
287
235
|
};
|
|
288
236
|
const useExtraProps = (t0) => {
|
|
289
237
|
const $ = distExports.c(14);
|
|
@@ -433,12 +381,12 @@ const useTokenFromInputProps = (t0) => {
|
|
|
433
381
|
}
|
|
434
382
|
const extraProps = useExtraProps(t5);
|
|
435
383
|
let t6;
|
|
436
|
-
if ($[16] !==
|
|
384
|
+
if ($[16] !== activeSwapMode || $[17] !== tokenFrom) {
|
|
437
385
|
t6 = {
|
|
438
|
-
|
|
439
|
-
|
|
386
|
+
tokenFrom,
|
|
387
|
+
activeSwapMode
|
|
440
388
|
};
|
|
441
|
-
$[16] =
|
|
389
|
+
$[16] = activeSwapMode;
|
|
442
390
|
$[17] = tokenFrom;
|
|
443
391
|
$[18] = t6;
|
|
444
392
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\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,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n price,\n tokenFrom,\n}: {\n price?: DeltaOrMarketPrice;\n tokenFrom: Token;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\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 && (!isETH(tokenFrom) || !!price);\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentSwapInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n const gasCost = price?.gasCost; // gasLimit\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n\n if (gasCost && gasPriceMultiplier) {\n const gasFeeETH = Big(gasCost)\n // have to add extra 200k because instant multiplier is not accurate enough\n .plus(200000)\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 useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.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 isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ price, tokenFrom });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","data","gasPrices","useGasPrices","hasBalance","isETH","showMaxButton","legacyPrices","gasCost","gasPriceMultiplier","instant","gasFeeETH","Big","plus","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","activeSwapMode","override","tokenFromAmounts","parseUnits","decimals","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n AUGUSTUS_GAS_LIMIT_INACCURATE,\n WRAP_ETH_GAS_LIMIT_INACCURATE,\n} from \"@/lib/constants\";\nimport { useMaxButtonPropsBase } from \"./useMaxButtonProps\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\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,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n tokenFrom,\n activeSwapMode,\n}: {\n tokenFrom: Token;\n activeSwapMode: SwapMode;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const gasLimit =\n activeSwapMode === \"delta\"\n ? WRAP_ETH_GAS_LIMIT_INACCURATE\n : AUGUSTUS_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentSwapInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.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 isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ tokenFrom, activeSwapMode });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","activeSwapMode","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","AUGUSTUS_GAS_LIMIT_INACCURATE","onClick","useMaxButtonPropsBase","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","override","tokenFromAmounts","parseUnits","decimals","toString","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { payInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountAtom } fro
|
|
|
6
6
|
import { limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom';
|
|
7
7
|
import { PrimitiveAtom } from 'jotai';
|
|
8
8
|
import { setLimitPayAmountAtomFromProps, setLimitReceiveAmountAtomFromProps } from '../../limit/state/limitInputActionsAtom';
|
|
9
|
-
import { SwapSideUnion } from '@velora-dex/sdk';
|
|
10
9
|
import { isCrossChainAtom as isSwapCrossChainAtom } from '../../state/isCrosschainAtom';
|
|
11
10
|
import * as limitDeadline from "@/core/limit/state/deadlineAtom";
|
|
12
11
|
export declare function syncTokensAfterChainSwitch(chainId: SupportedChainId): void;
|
|
@@ -30,7 +29,10 @@ export declare const tradeModeToSetTokenAtoms: Record<TradeMode, {
|
|
|
30
29
|
tokenFromAtom: typeof selectSwapTokenFromAtom;
|
|
31
30
|
tokenToAtom: typeof selectSwapTokenToAtom;
|
|
32
31
|
}>;
|
|
33
|
-
export declare const sideToInputType:
|
|
32
|
+
export declare const sideToInputType: {
|
|
33
|
+
readonly SELL: "from";
|
|
34
|
+
readonly BUY: "to";
|
|
35
|
+
};
|
|
34
36
|
export declare const useWidgetTokens: (tradeMode: TradeMode) => {
|
|
35
37
|
tokenFrom: import('../../../tokens/state/types').Token;
|
|
36
38
|
tokenTo: import('../../../tokens/state/types').Token | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAUjD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAkBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG6B,CAAC;AAE1D,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { syncOtcTokensAfterChainSwitch, otcTokenToAtom, otcTokenFromAtom } from
|
|
|
7
7
|
import { payInputAmountAtom, receiveInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountWeiAtom } from './inputAmountAtom.js';
|
|
8
8
|
import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom.js';
|
|
9
9
|
import { otcPayInputAmountAtom, otcReceiveInputAmountAtom, otcPayInputAmountWeiAtom, otcReceiveInputAmountWeiAtom } from '../../otc/state/otcInputAmountAtom.js';
|
|
10
|
-
import 'jotai';
|
|
10
|
+
import { atom } from 'jotai';
|
|
11
11
|
import { useAtomValue } from '../../store.js';
|
|
12
12
|
import { selectLimitTokenToAtom, selectLimitTokenFromAtom } from '../../limit/state/selectedTokenActionsAtom.js';
|
|
13
13
|
import { selectOtcTokenToAtom, selectOtcTokenFromAtom } from '../../otc/state/selectedTokenActionsAtom.js';
|
|
@@ -79,11 +79,9 @@ const tradeModeToTokenAtoms = {
|
|
|
79
79
|
otc: {
|
|
80
80
|
tokenFromAtom: otcTokenFromAtom,
|
|
81
81
|
tokenToAtom: otcTokenToAtom,
|
|
82
|
-
//
|
|
83
|
-
isCrossChainAtom:
|
|
84
|
-
|
|
85
|
-
toString: () => "false"
|
|
86
|
-
}
|
|
82
|
+
// unused const atom to appease TS
|
|
83
|
+
isCrossChainAtom: atom(() => false)
|
|
84
|
+
// always false
|
|
87
85
|
}
|
|
88
86
|
};
|
|
89
87
|
const tradeModeToSetTokenAtoms = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n //
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { atom, type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // unused const atom to appease TS\n isCrossChainAtom: atom(() => false), // always false\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType = {\n SELL: \"from\",\n BUY: \"to\",\n} as const satisfies Record<SwapSideUnion, \"from\" | \"to\">;\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","atom","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;
|
|
1
|
+
{"version":3,"file":"inputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;CAAY,CAAC;AAE5C,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,qBAAqB,8BAKhC,CAAC;AAEH,eAAO,MAAM,yBAAyB,0CAOpC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { atom } from 'jotai';
|
|
|
2
2
|
import { swapTokenFromAtom, swapTokenToAtom } from './selectedTokenAtom.js';
|
|
3
3
|
import { parseUnits } from 'viem';
|
|
4
4
|
|
|
5
|
-
const payInputAmountAtom = atom("
|
|
5
|
+
const payInputAmountAtom = atom("1");
|
|
6
6
|
const receiveInputAmountAtom = atom("0");
|
|
7
7
|
const payInputAmountWeiAtom = atom((get) => {
|
|
8
8
|
const tokenFrom = get(swapTokenFromAtom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputAmountAtom.js","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { parseUnits } from \"viem\";\n\nexport const payInputAmountAtom = atom(\"
|
|
1
|
+
{"version":3,"file":"inputAmountAtom.js","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { parseUnits } from \"viem\";\n\nexport const payInputAmountAtom = atom(\"1\");\n\nexport const receiveInputAmountAtom = atom(\"0\");\n\nexport const payInputAmountWeiAtom = atom((get) => {\n // amountWei derived from payInputAmountAtom\n const tokenFrom = get(swapTokenFromAtom);\n const payInputAmount = get(payInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const receiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from receiveInputAmountAtom\n const tokenTo = get(swapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(receiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["payInputAmountAtom","atom","receiveInputAmountAtom","payInputAmountWeiAtom","get","tokenFrom","swapTokenFromAtom","payInputAmount","parseUnits","decimals","toString","receiveInputAmountWeiAtom","tokenTo","swapTokenToAtom","receiveInputAmount"],"mappings":";;;;AAIO,MAAMA,kBAAAA,GAAqBC,KAAK,GAAG;AAEnC,MAAMC,sBAAAA,GAAyBD,KAAK,GAAG;AAEvC,MAAME,qBAAAA,GAAwBF,KAAMG,CAAAA,GAAAA,KAAQ;AAEjD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,cAAAA,GAAiBH,IAAIJ,kBAAkB,CAAA;AAC7C,EAAA,OAAOQ,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,yBAAAA,GAA4BV,KAAMG,CAAAA,GAAAA,KAAQ;AAErD,EAAA,MAAMQ,OAAAA,GAAUR,IAAIS,eAAe,CAAA;AACnC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBV,IAAIF,sBAAsB,CAAA;AACrD,IAAA,OAAOM,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CA0HjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SAoEvE,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom
|
|
|
10
10
|
import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
|
|
11
11
|
import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
|
|
12
12
|
import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
|
|
13
|
-
import { isCrosschainPossible } from '../../across/
|
|
13
|
+
import { isCrosschainPossible } from '../../across/isCrosschainPossible.js';
|
|
14
14
|
|
|
15
15
|
const switchSwapTokensAtom = atom(null, (get, set) => {
|
|
16
16
|
const tokenFrom = get(swapTokenFromAtom);
|
|
@@ -170,8 +170,23 @@ const selectSwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
|
|
|
170
170
|
needResetTokenFrom = true;
|
|
171
171
|
}
|
|
172
172
|
const enabledSrcChains = get(enabledSrcChainsAtom);
|
|
173
|
-
if (needResetTokenFrom
|
|
174
|
-
|
|
173
|
+
if (needResetTokenFrom) {
|
|
174
|
+
let firstPossibleSrcChain = tokenTo.network;
|
|
175
|
+
if (!enabledSrcChains.includes(tokenTo.network)) {
|
|
176
|
+
for (const srcChain of enabledSrcChains) {
|
|
177
|
+
const crosschainPossible2 = isCrosschainPossible({
|
|
178
|
+
get,
|
|
179
|
+
chainIdFrom: srcChain,
|
|
180
|
+
chainIdTo: tokenTo.network,
|
|
181
|
+
mode: "swap"
|
|
182
|
+
});
|
|
183
|
+
if (crosschainPossible2) {
|
|
184
|
+
firstPossibleSrcChain = srcChain;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "swap");
|
|
175
190
|
const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
|
|
176
191
|
set(swapTokenFromAtom, newTokenFrom);
|
|
177
192
|
tokenFrom = newTokenFrom;
|