diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 672d1e5351..43e14cb526 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "16.57.4", + "changes": [ + { + "note": "Remove SnowSwap on mainnet", + "pr": 468 + } + ] + }, { "version": "16.57.3", "changes": [ diff --git a/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts b/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts index c2e3fc1397..e6ba927427 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts @@ -46,7 +46,6 @@ import { SHIBASWAP_ROUTER_BY_CHAIN_ID, SMOOTHY_BSC_INFOS, SMOOTHY_MAINNET_INFOS, - SNOWSWAP_MAINNET_INFOS, SPIRITSWAP_ROUTER_BY_CHAIN_ID, SPOOKYSWAP_ROUTER_BY_CHAIN_ID, SUSHISWAP_ROUTER_BY_CHAIN_ID, @@ -238,19 +237,6 @@ export function getSwerveInfosForPair(chainId: ChainId, takerToken: string, make ); } -export function getSnowSwapInfosForPair(chainId: ChainId, takerToken: string, makerToken: string): CurveInfo[] { - if (chainId !== ChainId.Mainnet) { - return []; - } - return Object.values(SNOWSWAP_MAINNET_INFOS).filter(c => - [makerToken, takerToken].every( - t => - (c.tokens.includes(t) && c.metaTokens === undefined) || - (c.tokens.includes(t) && [makerToken, takerToken].filter(v => c.metaTokens?.includes(v)).length > 0), - ), - ); -} - export function getNerveInfosForPair(chainId: ChainId, takerToken: string, makerToken: string): CurveInfo[] { if (chainId !== ChainId.BSC) { return []; @@ -494,7 +480,6 @@ export function getCurveLikeInfosForPair( | ERC20BridgeSource.Curve | ERC20BridgeSource.CurveV2 | ERC20BridgeSource.Swerve - | ERC20BridgeSource.SnowSwap | ERC20BridgeSource.Nerve | ERC20BridgeSource.Synapse | ERC20BridgeSource.Belt @@ -518,9 +503,6 @@ export function getCurveLikeInfosForPair( case ERC20BridgeSource.Swerve: pools = getSwerveInfosForPair(chainId, takerToken, makerToken); break; - case ERC20BridgeSource.SnowSwap: - pools = getSnowSwapInfosForPair(chainId, takerToken, makerToken); - break; case ERC20BridgeSource.Nerve: pools = getNerveInfosForPair(chainId, takerToken, makerToken); break; diff --git a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts index eb9a0dced9..34d3c047bd 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts @@ -88,7 +88,6 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.MStable, ERC20BridgeSource.Mooniswap, ERC20BridgeSource.Swerve, - ERC20BridgeSource.SnowSwap, ERC20BridgeSource.SushiSwap, ERC20BridgeSource.Shell, ERC20BridgeSource.MultiHop, @@ -235,7 +234,6 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.Mooniswap, ERC20BridgeSource.Shell, ERC20BridgeSource.Swerve, - ERC20BridgeSource.SnowSwap, ERC20BridgeSource.SushiSwap, ERC20BridgeSource.MultiHop, ERC20BridgeSource.Dodo, @@ -745,17 +743,6 @@ export const SWERVE_POOLS = { y: '0x329239599afb305da0a2ec69c58f8a6697f9f88d', }; -export const SNOWSWAP_POOLS = { - yUSD: '0xbf7ccd6c446acfcc5df023043f2167b62e81899b', - yVault: '0x4571753311e37ddb44faa8fb78a6df9a6e3c6c0b', - // POOL Disabled as it uses WETH over ETH - // There is a conflict with Curve and SnowSwap - // where Curve uses ETH and SnowSwap uses WETH - // To re-enable this we need to flag an WETH - // unwrap or not - // eth: '0x16bea2e63adade5984298d53a4d4d9c09e278192', -}; - export const SMOOTHY_POOLS = { syUSD: '0xe5859f4efc09027a9b718781dcb2c6910cac6e91', }; @@ -1522,30 +1509,6 @@ export const SWERVE_MAINNET_INFOS: { [name: string]: CurveInfo } = { }), }; -export const SNOWSWAP_MAINNET_INFOS: { [name: string]: CurveInfo } = { - [SNOWSWAP_POOLS.yUSD]: createCurveExchangePool({ - tokens: [MAINNET_TOKENS.yUSD, MAINNET_TOKENS.ybCRV], - pool: SNOWSWAP_POOLS.yUSD, - gasSchedule: 990e3, - }), - [SNOWSWAP_POOLS.yUSD]: createCurveExchangeUnderlyingPool({ - tokens: [MAINNET_TOKENS.yCRV, MAINNET_TOKENS.bCRV], - pool: SNOWSWAP_POOLS.yUSD, - gasSchedule: 990e3, - }), - [SNOWSWAP_POOLS.yVault]: createCurveExchangePool({ - tokens: [MAINNET_TOKENS.yDAI, MAINNET_TOKENS.yUSDC, MAINNET_TOKENS.yUSDT, MAINNET_TOKENS.yTUSD], - pool: SNOWSWAP_POOLS.yVault, - gasSchedule: 1490e3, - }), - // Unsupported due to collision with WETH and ETH with execution using MixinCurve - // [SNOWSWAP_POOLS.eth]: createCurveExchangePool({ - // tokens: [MAINNET_TOKENS.WETH, MAINNET_TOKENS.vETH, MAINNET_TOKENS.ankrETH, MAINNET_TOKENS.crETH], - // pool: SNOWSWAP_POOLS.eth, - // gasSchedule: 990e3, - // }), -}; - export const BELT_BSC_INFOS: { [name: string]: CurveInfo } = { [BELT_POOLS.vPool]: createCurveExchangeUnderlyingPool({ tokens: [BSC_TOKENS.DAI, BSC_TOKENS.USDC, BSC_TOKENS.USDT, BSC_TOKENS.BUSD], @@ -2435,7 +2398,6 @@ export const DEFAULT_GAS_SCHEDULE: Required = { [ERC20BridgeSource.Curve]: fillData => (fillData as CurveFillData).pool.gasSchedule, [ERC20BridgeSource.CurveV2]: fillData => (fillData as CurveFillData).pool.gasSchedule, [ERC20BridgeSource.Swerve]: fillData => (fillData as CurveFillData).pool.gasSchedule, - [ERC20BridgeSource.SnowSwap]: fillData => (fillData as CurveFillData).pool.gasSchedule, [ERC20BridgeSource.Nerve]: fillData => (fillData as CurveFillData).pool.gasSchedule, [ERC20BridgeSource.Synapse]: fillData => (fillData as CurveFillData).pool.gasSchedule, [ERC20BridgeSource.Belt]: fillData => (fillData as CurveFillData).pool.gasSchedule, diff --git a/packages/asset-swapper/src/utils/market_operation_utils/orders.ts b/packages/asset-swapper/src/utils/market_operation_utils/orders.ts index 87f3324bed..475e6c4c77 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/orders.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/orders.ts @@ -115,8 +115,6 @@ export function getErc20BridgeSourceToBridgeSource(source: ERC20BridgeSource): s return encodeBridgeSourceId(BridgeProtocol.Oasis, 'Eth2Dai'); case ERC20BridgeSource.Shell: return encodeBridgeSourceId(BridgeProtocol.Shell, 'Shell'); - case ERC20BridgeSource.SnowSwap: - return encodeBridgeSourceId(BridgeProtocol.Curve, 'SnowSwap'); case ERC20BridgeSource.SushiSwap: return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'SushiSwap'); case ERC20BridgeSource.Swerve: @@ -233,7 +231,6 @@ export function createBridgeDataForBridgeOrder(order: OptimizedMarketBridgeOrder case ERC20BridgeSource.Curve: case ERC20BridgeSource.CurveV2: case ERC20BridgeSource.Swerve: - case ERC20BridgeSource.SnowSwap: case ERC20BridgeSource.Nerve: case ERC20BridgeSource.Synapse: case ERC20BridgeSource.Belt: @@ -491,7 +488,6 @@ export const BRIDGE_ENCODERS: { [ERC20BridgeSource.Curve]: curveEncoder, [ERC20BridgeSource.CurveV2]: curveEncoder, [ERC20BridgeSource.Swerve]: curveEncoder, - [ERC20BridgeSource.SnowSwap]: curveEncoder, [ERC20BridgeSource.Nerve]: curveEncoder, [ERC20BridgeSource.Synapse]: curveEncoder, [ERC20BridgeSource.Belt]: curveEncoder, diff --git a/packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts b/packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts index d069d838d9..f4a5ba9c92 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts @@ -1426,7 +1426,6 @@ export class SamplerOperations { case ERC20BridgeSource.Curve: case ERC20BridgeSource.CurveV2: case ERC20BridgeSource.Swerve: - case ERC20BridgeSource.SnowSwap: case ERC20BridgeSource.Nerve: case ERC20BridgeSource.Synapse: case ERC20BridgeSource.Belt: @@ -1753,7 +1752,6 @@ export class SamplerOperations { case ERC20BridgeSource.Curve: case ERC20BridgeSource.CurveV2: case ERC20BridgeSource.Swerve: - case ERC20BridgeSource.SnowSwap: case ERC20BridgeSource.Nerve: case ERC20BridgeSource.Synapse: case ERC20BridgeSource.Belt: diff --git a/packages/asset-swapper/src/utils/market_operation_utils/types.ts b/packages/asset-swapper/src/utils/market_operation_utils/types.ts index 11d7b2ca38..6657f9377c 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/types.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/types.ts @@ -52,7 +52,6 @@ export enum ERC20BridgeSource { MultiHop = 'MultiHop', Shell = 'Shell', Swerve = 'Swerve', - SnowSwap = 'SnowSwap', SushiSwap = 'SushiSwap', Dodo = 'DODO', DodoV2 = 'DODO_V2', diff --git a/packages/asset-swapper/test/market_operation_utils_test.ts b/packages/asset-swapper/test/market_operation_utils_test.ts index 8ebccea11a..2f26b90310 100644 --- a/packages/asset-swapper/test/market_operation_utils_test.ts +++ b/packages/asset-swapper/test/market_operation_utils_test.ts @@ -360,17 +360,6 @@ describe('MarketOperationUtils tests', () => { fromTokenIdx: 0, toTokenIdx: 1, }, - [ERC20BridgeSource.SnowSwap]: { - pool: { - poolAddress: randomAddress(), - tokens: [TAKER_TOKEN, MAKER_TOKEN], - exchangeFunctionSelector: hexUtils.random(4), - sellQuoteFunctionSelector: hexUtils.random(4), - buyQuoteFunctionSelector: hexUtils.random(4), - }, - fromTokenIdx: 0, - toTokenIdx: 1, - }, [ERC20BridgeSource.Smoothy]: { pool: { poolAddress: randomAddress(),