rubic-sdk 4.51.0 → 4.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -197196,7 +197196,7 @@ class LifiCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
197196
197196
  }
197197
197197
  const providerFee = bestRoute.steps[0].estimate.feeCosts?.find((el) => el?.included === false);
197198
197198
  const nativeToken = await tokens_1.PriceToken.createFromToken(tokens_1.nativeTokensList[from.blockchain]);
197199
- if (providerFee) {
197199
+ if (providerFee && providerFee.amount !== '0') {
197200
197200
  feeInfo.provider = {
197201
197201
  cryptoFee: {
197202
197202
  amount: web3_pure_1.Web3Pure.fromWei(new bignumber_js_1.default(providerFee.amount), providerFee.token.decimals),
@@ -200157,7 +200157,7 @@ class RangoCrossChainProvider extends cross_chain_provider_1.CrossChainProvider
200157
200157
  const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, feeInfo.rubicProxy?.platformFee?.percent);
200158
200158
  const bestRouteParams = await rango_parser_1.RangoCommonParser.getBestRouteQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
200159
200159
  const { route } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getBestRoute(bestRouteParams);
200160
- const { outputAmountMin, outputAmount, path } = route;
200160
+ const { outputAmountMin, outputAmount, path, fee } = route;
200161
200161
  const toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(outputAmountMin, toToken.decimals);
200162
200162
  const to = new tokens_1.PriceTokenAmount({
200163
200163
  ...toToken.asStruct,
@@ -200165,6 +200165,12 @@ class RangoCrossChainProvider extends cross_chain_provider_1.CrossChainProvider
200165
200165
  });
200166
200166
  const routePath = await this.getRoutePath(from, to, path);
200167
200167
  const swapQueryParams = await rango_parser_1.RangoCommonParser.getSwapQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
200168
+ const cryptoFee = await this.getCryptoFee(fee, fromBlockchain);
200169
+ if (cryptoFee?.amount.gt(0)) {
200170
+ feeInfo.provider = {
200171
+ cryptoFee
200172
+ };
200173
+ }
200168
200174
  const bridgeSubtype = routePath.find(el => el.type === 'cross-chain')?.provider;
200169
200175
  const tradeParams = await rango_cross_chain_params_parser_1.RangoCrossChainParser.getTradeConstructorParams({
200170
200176
  fromToken: from,
@@ -200219,6 +200225,29 @@ class RangoCrossChainProvider extends cross_chain_provider_1.CrossChainProvider
200219
200225
  async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
200220
200226
  return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
200221
200227
  }
200228
+ async getCryptoFee(fee, fromBlockchain) {
200229
+ const nativeToken = tokens_1.nativeTokensList[fromBlockchain];
200230
+ if (!fee) {
200231
+ return {
200232
+ amount: new bignumber_js_1.default(0),
200233
+ token: await tokens_1.PriceTokenAmount.createFromToken({
200234
+ ...nativeToken,
200235
+ weiAmount: new bignumber_js_1.default(0)
200236
+ })
200237
+ };
200238
+ }
200239
+ const feeAmount = fee
200240
+ .filter(fee => fee.expenseType === 'FROM_SOURCE_WALLET')
200241
+ .reduce((acc, fee) => acc.plus(fee.amount), new bignumber_js_1.default(0));
200242
+ const cryptoFeeToken = await tokens_1.PriceTokenAmount.createFromToken({
200243
+ ...nativeToken,
200244
+ weiAmount: new bignumber_js_1.default(feeAmount)
200245
+ });
200246
+ return {
200247
+ amount: web3_pure_1.Web3Pure.fromWei(feeAmount, nativeToken.decimals),
200248
+ token: cryptoFeeToken
200249
+ };
200250
+ }
200222
200251
  }
200223
200252
  exports.RangoCrossChainProvider = RangoCrossChainProvider;
200224
200253
  RangoCrossChainProvider.apiKey = rango_api_common_1.RANGO_API_KEY;