Skip to content

Commit 95e48c2

Browse files
committed
Merge remote-tracking branch 'origin/feat/slippage-tune' into tmp/20250117
2 parents 435e242 + b86284b commit 95e48c2

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

src/ui/views/Bridge/Component/BridgeSlippage.tsx

+11-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const SlippageItem = styled.div`
5353

5454
const BRIDGE_SLIPPAGE = ['0.5', '1'];
5555

56-
const SWAP_SLIPPAGE = ['0.1', '0.5'];
56+
export const SWAP_SLIPPAGE = ['0.5', '3'];
5757

5858
const BRIDGE_MAX_SLIPPAGE = 10;
5959

@@ -215,6 +215,16 @@ export const BridgeSlippage = memo((props: BridgeSlippageProps) => {
215215
[onChange, setAutoSlippage, setIsCustomSlippage]
216216
);
217217

218+
useEffect(() => {
219+
if (
220+
!autoSlippage &&
221+
!isCustomSlippage &&
222+
SLIPPAGE.findIndex((item) => item === value) === -1
223+
) {
224+
setIsCustomSlippage(true);
225+
}
226+
}, [SLIPPAGE, autoSlippage, isCustomSlippage, setIsCustomSlippage, value]);
227+
218228
useEffect(() => {
219229
if (tips) {
220230
setSlippageOpen(true);

src/ui/views/Swap/Component/Main.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import { Header } from './Header';
4949
import { obj2query } from '@/ui/utils/url';
5050
const isTab = getUiType().isTab;
5151
const getContainer = isTab ? '.js-rabby-popup-container' : undefined;
52+
import { SWAP_SLIPPAGE } from '../../Bridge/Component/BridgeSlippage';
5253

5354
const getDisabledTips: SelectChainItemProps['disabledTips'] = (ctx) => {
5455
const chainItem = findChainByServerID(ctx.chain.serverId);
@@ -418,7 +419,7 @@ export const Main = () => {
418419
!!payToken &&
419420
!!receiveToken &&
420421
activeProvider &&
421-
Number(slippage) > 1
422+
Number(slippage) >= Number(SWAP_SLIPPAGE[1])
422423
) {
423424
setShowMoreOpen(true);
424425
}

src/ui/views/Swap/hooks/slippage.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,7 @@ export const useSwapSlippage = () => {
6868
...slippageStore,
6969
};
7070
};
71+
72+
export const getSwapAutoSlippageValue = (isStableCoin: boolean) => {
73+
return isStableCoin ? '0.1' : '1';
74+
};

src/ui/views/Swap/hooks/token.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { useAsyncInitializeChainList } from '@/ui/hooks/useChain';
2121
import { SWAP_SUPPORT_CHAINS } from '@/constant';
2222
import { findChain, findChainByEnum } from '@/utils/chain';
2323
import { GasLevelType } from '../Component/ReserveGasPopup';
24-
import { useSwapSlippage } from './slippage';
24+
import { getSwapAutoSlippageValue, useSwapSlippage } from './slippage';
2525
import { useLowCreditState } from '../Component/LowCreditModal';
2626

2727
const useTokenInfo = ({
@@ -402,7 +402,7 @@ export const useTokenPair = (userAddress: string) => {
402402
setFeeRate('0');
403403
}
404404
if (slippageObj.autoSlippage) {
405-
slippageObj.setSlippage(isStableCoin ? '0.1' : '0.5');
405+
slippageObj.setSlippage(getSwapAutoSlippageValue(isStableCoin));
406406
}
407407
}, [slippageObj.autoSlippage, isWrapToken, isStableCoin]);
408408

0 commit comments

Comments
 (0)