From 1043f2917b1a9b0158b0e4f83c9582200939f13e Mon Sep 17 00:00:00 2001 From: Dan Kim Date: Fri, 20 Mar 2026 15:45:37 -0400 Subject: [PATCH 1/2] fix: hide Neutron from withdraw chain selector (#2099) Co-authored-by: Claude Opus 4.6 (1M context) --- src/constants/tokens.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/constants/tokens.ts b/src/constants/tokens.ts index 06fdd13f4c..2089358194 100644 --- a/src/constants/tokens.ts +++ b/src/constants/tokens.ts @@ -61,11 +61,6 @@ export const WITHDRAWABLE_ASSETS: TokenForTransfer[] = [ decimals: USDC_DECIMALS, }, { chainId: SOLANA_MAINNET_ID, denom: USDC_ADDRESSES[SOLANA_MAINNET_ID], decimals: USDC_DECIMALS }, - { - chainId: CosmosChainId.Neutron, - denom: USDC_ADDRESSES[CosmosChainId.Neutron], - decimals: USDC_DECIMALS, - }, { chainId: CosmosChainId.Osmosis, denom: USDC_ADDRESSES[CosmosChainId.Osmosis], From efb95550c7fa74bf7acd0deca391349ade5d219d Mon Sep 17 00:00:00 2001 From: Dan Kim Date: Mon, 23 Mar 2026 15:01:46 -0400 Subject: [PATCH 2/2] fix: Remove astroport from skip client (#2100) --- src/constants/skip.ts | 3 +++ src/hooks/swap/useSwapQuote.ts | 9 ++------- .../dialogs/TransferDialogs/DepositDialog2/queries.ts | 2 ++ .../dialogs/TransferDialogs/WithdrawDialog2/queries.ts | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/constants/skip.ts b/src/constants/skip.ts index 2b95a802cf..c01ecc68a5 100644 --- a/src/constants/skip.ts +++ b/src/constants/skip.ts @@ -25,6 +25,9 @@ export const SKIP_GO_FAST_TRANSFER_LIMIT = 100_000; // hardcoded on Skip's end export const SKIP_GO_BPS_FEE = 0.1; // hardcoded to 10bps on Skip's end +// neutron-astroport excluded due to degraded performance causing slow route simulations +export const SKIP_SWAP_VENUES = [{ chainId: 'osmosis-1', name: 'osmosis-poolmanager' }]; + export const SKIP_GO_DESTINATION_FEE = 0.01; // $0.01 since the only destination is Osmosis chain to fulfill the go fast route. /** diff --git a/src/hooks/swap/useSwapQuote.ts b/src/hooks/swap/useSwapQuote.ts index 721ddda6f0..8eb2a2571b 100644 --- a/src/hooks/swap/useSwapQuote.ts +++ b/src/hooks/swap/useSwapQuote.ts @@ -2,6 +2,7 @@ import { RouteRequest } from '@skip-go/client'; import { useQuery } from '@tanstack/react-query'; import { parseUnits } from 'viem'; +import { SKIP_SWAP_VENUES } from '@/constants/skip'; import { timeUnits } from '@/constants/time'; import { getSelectedDydxChainId } from '@/state/appSelectors'; @@ -10,12 +11,6 @@ import { useAppSelector } from '@/state/appTypes'; import { SkipClient, useSkipClient } from '../transfers/skipClient'; import { TokenConfigsResult, useTokenConfigs } from '../useTokenConfigs'; -const SWAP_VENUES = [ - { chainId: 'osmosis-1', name: 'osmosis-poolmanager' }, - { chainId: 'neutron-1', name: 'neutron-duality' }, - { chainId: 'neutron-1', name: 'neutron-astroport' }, -]; - // Swaps are from dydxchain DYDX <-> dydxchain USDC async function getSkipSwapRoute( skipClient: SkipClient, @@ -38,7 +33,7 @@ async function getSkipSwapRoute( sourceAssetChainId: chainId, destAssetDenom: outputTokenDenom, destAssetChainId: chainId, - swapVenues: SWAP_VENUES, + swapVenues: SKIP_SWAP_VENUES, smartSwapOptions: { splitRoutes: true, }, diff --git a/src/views/dialogs/TransferDialogs/DepositDialog2/queries.ts b/src/views/dialogs/TransferDialogs/DepositDialog2/queries.ts index e343fd8971..5fd12fb022 100644 --- a/src/views/dialogs/TransferDialogs/DepositDialog2/queries.ts +++ b/src/views/dialogs/TransferDialogs/DepositDialog2/queries.ts @@ -10,6 +10,7 @@ import { arbitrum, optimism } from 'viem/chains'; import { DYDX_DEPOSIT_CHAIN, EVM_DEPOSIT_CHAINS } from '@/constants/chains'; import { CosmosChainId } from '@/constants/graz'; +import { SKIP_SWAP_VENUES } from '@/constants/skip'; import { SOLANA_MAINNET_ID } from '@/constants/solana'; import { timeUnits } from '@/constants/time'; import { @@ -215,6 +216,7 @@ async function getSkipDepositRoutes( // TODO(deposit2.0): Manually calculate price impact by comparing USD values and warn user if difference > a certain % allowUnsafe: true, smartSwapOptions: { evmSwaps: true }, + swapVenues: SKIP_SWAP_VENUES, }; const [slow, fast] = await Promise.all([ diff --git a/src/views/dialogs/TransferDialogs/WithdrawDialog2/queries.ts b/src/views/dialogs/TransferDialogs/WithdrawDialog2/queries.ts index b6dfe89077..c73393fa7f 100644 --- a/src/views/dialogs/TransferDialogs/WithdrawDialog2/queries.ts +++ b/src/views/dialogs/TransferDialogs/WithdrawDialog2/queries.ts @@ -6,6 +6,7 @@ import { useQuery } from '@tanstack/react-query'; import { parseUnits } from 'viem'; import { DYDX_DEPOSIT_CHAIN } from '@/constants/chains'; +import { SKIP_SWAP_VENUES } from '@/constants/skip'; import { timeUnits } from '@/constants/time'; import { DYDX_CHAIN_USDC_DENOM, TokenForTransfer } from '@/constants/tokens'; @@ -36,6 +37,7 @@ async function getSkipWithdrawalRoutes( amountIn: parseUnits(amount, token.decimals).toString(), smartRelay: true, smartSwapOptions: { evmSwaps: true, splitRoutes: true }, + swapVenues: SKIP_SWAP_VENUES, allowUnsafe, };