From d6e6771c7ee432629251e487034c212e2238dc13 Mon Sep 17 00:00:00 2001 From: MikeDiam Date: Tue, 20 Jan 2026 14:14:17 +0300 Subject: [PATCH 1/3] [stake fix] fix buy token address Signed-off-by: MikeDiam --- src/views/SwapView/util/vault/actions/useStake/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/SwapView/util/vault/actions/useStake/index.ts b/src/views/SwapView/util/vault/actions/useStake/index.ts index a10d379..acf9389 100644 --- a/src/views/SwapView/util/vault/actions/useStake/index.ts +++ b/src/views/SwapView/util/vault/actions/useStake/index.ts @@ -22,9 +22,11 @@ const useStake = (values: Input) => { const { sdk, isTestnet, isEthereum } = useConfig() const { isBalancesFetching } = useStore(storeSelector) + + const depositTokenAddress = isEthereum ? null : sdk.config.addresses.tokens.depositToken const swapTokens = swapHooks.useTokens({ - initialBuyToken: sdk.config.addresses.tokens.mintToken, - initialSellToken: isEthereum ? null : sdk.config.addresses.tokens.depositToken, + initialBuyToken: depositTokenAddress, + initialSellToken: depositTokenAddress, }) const isSwapAvailable = Boolean( From 374bbbef29b5e17809acd5648e76c3641acce040 Mon Sep 17 00:00:00 2001 From: MikeDiam Date: Tue, 20 Jan 2026 14:22:56 +0300 Subject: [PATCH 2/3] [stake fix] fix buy token address Signed-off-by: MikeDiam --- .../SwapView/content/Stake/StakeInput/StakeInput.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/views/SwapView/content/Stake/StakeInput/StakeInput.tsx b/src/views/SwapView/content/Stake/StakeInput/StakeInput.tsx index bbdfb67..a637bf5 100644 --- a/src/views/SwapView/content/Stake/StakeInput/StakeInput.tsx +++ b/src/views/SwapView/content/Stake/StakeInput/StakeInput.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import React, { useCallback, useMemo } from 'react' import { useConfig } from 'config' import { swapCtx } from 'views/SwapView/util' @@ -6,13 +6,17 @@ import { TokenDropdown, TokenAmountInputView } from 'components' const StakeInput: React.FC = () => { - const { address } = useConfig() const { stake } = swapCtx.useData() + const { sdk, address } = useConfig() const onMaxButtonClick = useCallback(() => { stake.field.setValue(stake.maxStakeAmount) }, [ stake ]) + const filteredList = useMemo(() => ( + stake.swapTokens.list.filter(({ address }) => address !== sdk.config.addresses.tokens.mintToken) + ), [ sdk, stake.swapTokens.list ]) + return ( { tokenNode={( { From 7ad8c1fd9e989d9cc575a5f1b3ebec985887a8ff Mon Sep 17 00:00:00 2001 From: MikeDiam Date: Tue, 20 Jan 2026 15:59:06 +0300 Subject: [PATCH 3/3] [stake fix] fix buy token address Signed-off-by: MikeDiam --- src/hooks/swap/useTokens.ts | 13 ++++++++----- .../SwapView/util/vault/actions/useStake/index.ts | 1 + .../vault/actions/useStake/useStakeSubmit/index.ts | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/hooks/swap/useTokens.ts b/src/hooks/swap/useTokens.ts index 2575af0..4ebe561 100644 --- a/src/hooks/swap/useTokens.ts +++ b/src/hooks/swap/useTokens.ts @@ -15,10 +15,11 @@ type SetTokensInput = { type Input = { initialBuyToken?: InitialToken initialSellToken?: InitialToken + filterList?: boolean } const useTokens = (values?: Input) => { - const { initialBuyToken, initialSellToken } = values || {} + const { initialBuyToken, initialSellToken, filterList = true } = values || {} const { sdk } = useConfig() const { list, isTokensListFetching } = useTokensList() @@ -34,10 +35,12 @@ const useTokens = (values?: Input) => { }) const filteredList = useMemo(() => ( - list.filter(({ address }) => ( - ![ buyToken.data.address, sellToken.data.address ].includes(address) - )) - ), [ buyToken, sellToken, list ]) + filterList + ? list.filter(({ address }) => ( + ![ buyToken.data.address, sellToken.data.address ].includes(address) + )) + : list + ), [ buyToken, sellToken, list, filterList ]) const setTokens = useCallback((values: SetTokensInput) => { if (values.buyToken || values.buyToken === null) { diff --git a/src/views/SwapView/util/vault/actions/useStake/index.ts b/src/views/SwapView/util/vault/actions/useStake/index.ts index acf9389..e1d27b8 100644 --- a/src/views/SwapView/util/vault/actions/useStake/index.ts +++ b/src/views/SwapView/util/vault/actions/useStake/index.ts @@ -27,6 +27,7 @@ const useStake = (values: Input) => { const swapTokens = swapHooks.useTokens({ initialBuyToken: depositTokenAddress, initialSellToken: depositTokenAddress, + filterList: false, }) const isSwapAvailable = Boolean( diff --git a/src/views/SwapView/util/vault/actions/useStake/useStakeSubmit/index.ts b/src/views/SwapView/util/vault/actions/useStake/useStakeSubmit/index.ts index 32da4a0..68fcdbe 100644 --- a/src/views/SwapView/util/vault/actions/useStake/useStakeSubmit/index.ts +++ b/src/views/SwapView/util/vault/actions/useStake/useStakeSubmit/index.ts @@ -47,7 +47,7 @@ const useStakeSubmit = (values: Input) => { step: StakeStep.SwapApprove, recipient: addresses[chainId].cow.vaultRelayer, tokenAddress: swapTokens.sellToken.address, - skip: !swapTokens.sellToken.address || !vaultAddress, + skip: !swapTokens.sellToken.address || !vaultAddress || !swapTokens.sellToken.address, }) const stakeApprove = useStakeApprove({