diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts index b37fb82bd..0b9196094 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts @@ -72,6 +72,7 @@ const supportedNetworks: Record = { [NetworkNames.Rootstock]: { tbName: 'rsk', cgPlatform: CoingeckoPlatform.Rootstock, + bsEndpoint: true, }, [NetworkNames.Arbitrum]: { tbName: 'arb', diff --git a/packages/swap/src/providers/zerox/index.ts b/packages/swap/src/providers/zerox/index.ts index bc2edfeac..7fcb63a31 100644 --- a/packages/swap/src/providers/zerox/index.ts +++ b/packages/swap/src/providers/zerox/index.ts @@ -70,7 +70,7 @@ const supportedNetworks: { }, }; -const BASE_URL = "https://partners.mewapi.io/zerox/"; +const BASE_URL = "https://partners.mewapi.io/zeroxv2"; class ZeroX extends ProviderClass { tokenList: TokenType[]; @@ -154,7 +154,7 @@ class ZeroX extends ProviderClass { sellToken: options.fromToken.address, buyToken: options.toToken.address, sellAmount: options.amount.toString(), - takerAddress: options.fromAddress, + taker: options.fromAddress, slippagePercentage: ( parseFloat(meta.slippage ? meta.slippage : DEFAULT_SLIPPAGE) / 100 ).toString(), @@ -165,9 +165,8 @@ class ZeroX extends ProviderClass { affiliateAddress: feeConfig ? feeConfig.referrer : "", }); return fetch( - `${BASE_URL}${ - supportedNetworks[this.network].chainId - }/swap/v1/quote?${params.toString()}`, + `${BASE_URL}/swap/allowance-holder/quote?chainId=${supportedNetworks[this.network].chainId + }&${params.toString()}`, ) .then((res) => res.json()) .then(async (response: ZeroXResponseType) => { @@ -191,9 +190,9 @@ class ZeroX extends ProviderClass { transactions.push({ from: options.fromAddress, gasLimit: GAS_LIMITS.swap, - to: response.to, - value: numberToHex(response.value), - data: response.data, + to: response.transaction.to, + value: numberToHex(response.transaction.value), + data: response.transaction.data, type: TransactionType.evm, }); if (accurateEstimate) { diff --git a/packages/swap/src/providers/zerox/types.ts b/packages/swap/src/providers/zerox/types.ts index 9bd5c7b5f..923418dbe 100644 --- a/packages/swap/src/providers/zerox/types.ts +++ b/packages/swap/src/providers/zerox/types.ts @@ -1,16 +1,22 @@ import { BN, EVMTransaction } from "../../types"; + +export interface ZeroXResponseTransactionType { + to: string; + data: string; + gas: string; + gasPrice: string; + value: string; +} + export interface ZeroXResponseType { code?: number; reason?: string; - buyTokenAddress: string; - sellTokenAddress: string; buyAmount: string; sellAmount: string; - to: string; - data: string; - value: string; + transaction: ZeroXResponseTransactionType; } + export interface ZeroXSwapResponse { transactions: EVMTransaction[]; toTokenAmount: BN;