rubic-sdk 4.30.0-alpha-design.17-fix-gas.0 → 4.30.0-alpha-design.17-fix-gas.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. package/dist/rubic-sdk.min.js +67 -61
  2. package/dist/rubic-sdk.min.js.map +1 -1
  3. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js +12 -11
  4. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js.map +1 -1
  5. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-trade.d.ts +1 -1
  6. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-trade.js +7 -7
  7. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-trade.js.map +1 -1
  8. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js +1 -1
  9. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js.map +1 -1
  10. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.d.ts +2 -2
  11. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js +9 -9
  12. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js.map +1 -1
  13. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js +1 -1
  14. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js.map +1 -1
  15. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.d.ts +2 -2
  16. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js +13 -13
  17. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js.map +1 -1
  18. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -1
  19. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
  20. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.d.ts +2 -2
  21. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js +13 -10
  22. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js.map +1 -1
  23. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +1 -1
  24. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
  25. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.d.ts +2 -2
  26. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js +9 -7
  27. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js.map +1 -1
  28. package/package.json +1 -1
@@ -184839,9 +184839,6 @@ class DebridgeCrossChainProvider extends cross_chain_provider_1.CrossChainProvid
184839
184839
  ...toToken.asStruct,
184840
184840
  tokenAmount: web3_pure_1.Web3Pure.fromWei(estimation.dstChainTokenOut.amount, estimation.dstChainTokenOut.decimals)
184841
184841
  });
184842
- const gasData = options.gasCalculation === 'enabled'
184843
- ? await debridge_cross_chain_trade_1.DebridgeCrossChainTrade.getGasData(from, to, requestParams)
184844
- : null;
184845
184842
  const transitToken = estimation.srcChainTokenOut || estimation.srcChainTokenIn;
184846
184843
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
184847
184844
  const cryptoFeeAmount = await DebridgeCrossChainProvider.getCryptoFeeAmount(web3Public, fromBlockchain);
@@ -184850,6 +184847,17 @@ class DebridgeCrossChainProvider extends cross_chain_provider_1.CrossChainProvid
184850
184847
  ...nativeToken,
184851
184848
  weiAmount: new bignumber_js_1.default(cryptoFeeAmount)
184852
184849
  });
184850
+ const feeInfo = {
184851
+ provider: {
184852
+ cryptoFee: {
184853
+ amount: web3_pure_1.Web3Pure.fromWei(new bignumber_js_1.default(cryptoFeeAmount)),
184854
+ token: cryptoFeeToken
184855
+ }
184856
+ }
184857
+ };
184858
+ const gasData = options.gasCalculation === 'enabled'
184859
+ ? await debridge_cross_chain_trade_1.DebridgeCrossChainTrade.getGasData(from, to, requestParams)
184860
+ : null;
184853
184861
  return {
184854
184862
  trade: new debridge_cross_chain_trade_1.DebridgeCrossChainTrade({
184855
184863
  from,
@@ -184859,14 +184867,7 @@ class DebridgeCrossChainProvider extends cross_chain_provider_1.CrossChainProvid
184859
184867
  priceImpact: from.calculatePriceImpactPercent(to),
184860
184868
  allowanceTarget: tx.allowanceTarget,
184861
184869
  slippage: 0,
184862
- feeInfo: {
184863
- provider: {
184864
- cryptoFee: {
184865
- amount: web3_pure_1.Web3Pure.fromWei(new bignumber_js_1.default(cryptoFeeAmount)),
184866
- token: cryptoFeeToken
184867
- }
184868
- }
184869
- },
184870
+ feeInfo,
184870
184871
  transitAmount: web3_pure_1.Web3Pure.fromWei(transitToken.amount, transitToken.decimals),
184871
184872
  cryptoFeeToken,
184872
184873
  onChainTrade: null
@@ -185011,7 +185012,7 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185011
185012
  transitAmount: new bignumber_js_1.default(NaN),
185012
185013
  cryptoFeeToken: from,
185013
185014
  onChainTrade: null
185014
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
185015
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
185015
185016
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
185016
185017
  const [gasLimit, gasDetails] = await Promise.all([
185017
185018
  web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
@@ -185027,8 +185028,6 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185027
185028
  };
185028
185029
  }
185029
185030
  catch (_err) {
185030
- console.log('Provider: DLN');
185031
- console.log('Provider Error: ', _err);
185032
185031
  return null;
185033
185032
  }
185034
185033
  }
@@ -185097,8 +185096,8 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185097
185096
  throw (0, errors_2.parseError)(err);
185098
185097
  }
185099
185098
  }
185100
- async getContractParams(options) {
185101
- const { data, value: providerValue } = await this.getTransactionRequest(options?.receiverAddress);
185099
+ async getContractParams(options, skipAmountChangeCheck = false) {
185100
+ const { data, value: providerValue } = await this.getTransactionRequest(options?.receiverAddress, null, skipAmountChangeCheck);
185102
185101
  const bridgeData = this.getBridgeData(options);
185103
185102
  const swapData = this.onChainTrade && (await this.getSwapData(options));
185104
185103
  const providerData = this.getProviderData(data);
@@ -185121,7 +185120,7 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185121
185120
  const usdCryptoFee = this.cryptoFeeToken.price.multipliedBy(this.cryptoFeeToken.tokenAmount);
185122
185121
  return fromUsd.plus(usdCryptoFee.isNaN() ? 0 : usdCryptoFee).dividedBy(this.to.tokenAmount);
185123
185122
  }
185124
- async getTransactionRequest(receiverAddress, transactionConfig) {
185123
+ async getTransactionRequest(receiverAddress, transactionConfig, skipAmountChangeCheck = false) {
185125
185124
  if (transactionConfig) {
185126
185125
  return {
185127
185126
  data: transactionConfig.data,
@@ -185141,7 +185140,9 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185141
185140
  referralCode: '4350'
185142
185141
  };
185143
185142
  const { tx, estimation } = await injector_1.Injector.httpClient.get(`${debridge_cross_chain_provider_1.DebridgeCrossChainProvider.apiEndpoint}/order/create-tx`, { params });
185144
- evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(tx, estimation.dstChainTokenOut.amount, this.to.stringWeiAmount);
185143
+ if (!skipAmountChangeCheck) {
185144
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(tx, estimation.dstChainTokenOut.amount, this.to.stringWeiAmount);
185145
+ }
185145
185146
  return tx;
185146
185147
  }
185147
185148
  getTradeInfo() {
@@ -185405,7 +185406,7 @@ class LifiCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
185405
185406
  });
185406
185407
  const priceImpact = from.calculatePriceImpactPercent(to);
185407
185408
  const gasData = options.gasCalculation === 'enabled'
185408
- ? await lifi_cross_chain_trade_1.LifiCrossChainTrade.getGasData(from, to, bestRoute)
185409
+ ? await lifi_cross_chain_trade_1.LifiCrossChainTrade.getGasData(from, to, bestRoute, feeInfo)
185409
185410
  : null;
185410
185411
  const { onChainType, bridgeType } = this.parseTradeTypes(bestRoute.steps);
185411
185412
  const trade = new lifi_cross_chain_trade_1.LifiCrossChainTrade({
@@ -185562,7 +185563,7 @@ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-pric
185562
185563
  */
185563
185564
  class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185564
185565
  /** @internal */
185565
- static async getGasData(from, to, route) {
185566
+ static async getGasData(from, to, route, feeInfo) {
185566
185567
  const fromBlockchain = from.blockchain;
185567
185568
  const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
185568
185569
  if (!walletAddress) {
@@ -185575,7 +185576,7 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185575
185576
  route,
185576
185577
  gasData: null,
185577
185578
  toTokenAmountMin: new bignumber_js_1.default(0),
185578
- feeInfo: {},
185579
+ feeInfo,
185579
185580
  priceImpact: from.calculatePriceImpactPercent(to) || 0,
185580
185581
  onChainSubtype: {
185581
185582
  from: undefined,
@@ -185583,7 +185584,7 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185583
185584
  },
185584
185585
  bridgeType: bridge_type_1.BRIDGE_TYPE.LIFI,
185585
185586
  slippage: 0
185586
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
185587
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
185587
185588
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
185588
185589
  const [gasLimit, gasDetails] = await Promise.all([
185589
185590
  web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
@@ -185599,8 +185600,6 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185599
185600
  };
185600
185601
  }
185601
185602
  catch (_err) {
185602
- console.log('Provider: LiFi');
185603
- console.log('Provider Error: ', _err);
185604
185603
  return null;
185605
185604
  }
185606
185605
  }
@@ -185670,8 +185669,8 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185670
185669
  throw err;
185671
185670
  }
185672
185671
  }
185673
- async getContractParams(options) {
185674
- const { data, value: providerValue, to: providerRouter } = await this.fetchSwapData(options?.receiverAddress);
185672
+ async getContractParams(options, skipAmountChangeCheck = false) {
185673
+ const { data, value: providerValue, to: providerRouter } = await this.fetchSwapData(options?.receiverAddress, skipAmountChangeCheck);
185675
185674
  const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
185676
185675
  walletAddress: this.walletAddress,
185677
185676
  fromTokenAmount: this.from,
@@ -185698,7 +185697,7 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185698
185697
  value
185699
185698
  };
185700
185699
  }
185701
- async fetchSwapData(receiverAddress) {
185700
+ async fetchSwapData(receiverAddress, skipAmountChangeCheck = false) {
185702
185701
  const firstStep = this.route.steps[0];
185703
185702
  const step = {
185704
185703
  ...firstStep,
@@ -185722,7 +185721,9 @@ class LifiCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
185722
185721
  const swapResponse = await this.httpClient.post('https://li.quest/v1/advanced/stepTransaction', {
185723
185722
  ...step
185724
185723
  });
185725
- evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(swapResponse.transactionRequest, swapResponse.estimate.toAmount, this.to.stringWeiAmount);
185724
+ if (!skipAmountChangeCheck) {
185725
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(swapResponse.transactionRequest, swapResponse.estimate.toAmount, this.to.stringWeiAmount);
185726
+ }
185726
185727
  return swapResponse.transactionRequest;
185727
185728
  }
185728
185729
  getTradeAmountRatio(fromUsd) {
@@ -186531,7 +186532,7 @@ class SquidrouterCrossChainProvider extends cross_chain_provider_1.CrossChainPro
186531
186532
  tokenAmount: web3_pure_1.Web3Pure.fromWei(estimate.toAmount, toToken.decimals)
186532
186533
  });
186533
186534
  const gasData = options.gasCalculation === 'enabled'
186534
- ? await squidrouter_cross_chain_trade_1.SquidrouterCrossChainTrade.getGasData(from, to, requestParams)
186535
+ ? await squidrouter_cross_chain_trade_1.SquidrouterCrossChainTrade.getGasData(from, to, requestParams, feeInfo)
186535
186536
  : null;
186536
186537
  const feeAmount = estimate.feeCosts
186537
186538
  .filter(fee => (0, blockchain_1.compareAddresses)(this.nativeAddress, fee.token.address))
@@ -186668,7 +186669,7 @@ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-pric
186668
186669
  */
186669
186670
  class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
186670
186671
  /** @internal */
186671
- static async getGasData(from, to, transactionRequest) {
186672
+ static async getGasData(from, to, transactionRequest, feeInfo) {
186672
186673
  const fromBlockchain = from.blockchain;
186673
186674
  const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
186674
186675
  if (!walletAddress) {
@@ -186682,13 +186683,13 @@ class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTr
186682
186683
  priceImpact: 0,
186683
186684
  allowanceTarget: '',
186684
186685
  slippage: 0,
186685
- feeInfo: {},
186686
+ feeInfo,
186686
186687
  transitUSDAmount: new bignumber_js_1.default(NaN),
186687
186688
  cryptoFeeToken: from,
186688
186689
  onChainTrade: null,
186689
186690
  onChainSubtype: { from: undefined, to: undefined },
186690
186691
  transactionRequest
186691
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
186692
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
186692
186693
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
186693
186694
  const [gasLimit, gasDetails] = await Promise.all([
186694
186695
  web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
@@ -186704,8 +186705,6 @@ class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTr
186704
186705
  };
186705
186706
  }
186706
186707
  catch (_err) {
186707
- console.log('Provider: Squid');
186708
- console.log('Provider Error: ', _err);
186709
186708
  return null;
186710
186709
  }
186711
186710
  }
@@ -186773,8 +186772,8 @@ class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTr
186773
186772
  throw (0, errors_2.parseError)(err);
186774
186773
  }
186775
186774
  }
186776
- async getContractParams(options) {
186777
- const { data, value: providerValue, to } = await this.getTransactionRequest(options?.receiverAddress || this.walletAddress);
186775
+ async getContractParams(options, skipAmountChangeCheck = false) {
186776
+ const { data, value: providerValue, to } = await this.getTransactionRequest(options?.receiverAddress || this.walletAddress, null, skipAmountChangeCheck);
186778
186777
  const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
186779
186778
  walletAddress: this.walletAddress,
186780
186779
  fromTokenAmount: this.from,
@@ -186814,7 +186813,7 @@ class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTr
186814
186813
  routePath: this.routePath
186815
186814
  };
186816
186815
  }
186817
- async getTransactionRequest(receiverAddress, transactionConfig) {
186816
+ async getTransactionRequest(receiverAddress, transactionConfig, skipAmountChangeCheck = false) {
186818
186817
  if (transactionConfig) {
186819
186818
  return {
186820
186819
  data: transactionConfig.data,
@@ -186832,11 +186831,13 @@ class SquidrouterCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTr
186832
186831
  'x-integrator-id': 'rubic-api'
186833
186832
  }
186834
186833
  });
186835
- evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange({
186836
- data: transactionRequest.data,
186837
- value: transactionRequest.value,
186838
- to: transactionRequest.targetAddress
186839
- }, routeEstimate.toAmount, this.to.stringWeiAmount);
186834
+ if (!skipAmountChangeCheck) {
186835
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange({
186836
+ data: transactionRequest.data,
186837
+ value: transactionRequest.value,
186838
+ to: transactionRequest.targetAddress
186839
+ }, routeEstimate.toAmount, this.to.stringWeiAmount);
186840
+ }
186840
186841
  return {
186841
186842
  data: transactionRequest.data,
186842
186843
  value: transactionRequest.value,
@@ -188559,7 +188560,7 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
188559
188560
  tokenAmount: new bignumber_js_1.default(web3_pure_1.Web3Pure.fromWei(tokenAmountOut.amount, tokenAmountOut.decimals))
188560
188561
  });
188561
188562
  const gasData = options.gasCalculation === 'enabled'
188562
- ? await symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade.getGasData(from, to, swapParams)
188563
+ ? await symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade.getGasData(from, to, swapParams, feeInfo, approveTo)
188563
188564
  : null;
188564
188565
  return {
188565
188566
  trade: new symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade({
@@ -188712,7 +188713,7 @@ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-pric
188712
188713
  */
188713
188714
  class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
188714
188715
  /** @internal */
188715
- static async getGasData(from, to, swapParams) {
188716
+ static async getGasData(from, to, swapParams, feeInfo, providerGateway) {
188716
188717
  const fromBlockchain = from.blockchain;
188717
188718
  const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
188718
188719
  if (!walletAddress) {
@@ -188725,12 +188726,15 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
188725
188726
  gasData: null,
188726
188727
  priceImpact: 0,
188727
188728
  slippage: 0,
188728
- feeInfo: {},
188729
+ feeInfo,
188729
188730
  transitAmount: new bignumber_js_1.default(NaN),
188730
188731
  tradeType: { in: undefined, out: undefined },
188731
- contractAddresses: { providerRouter: '', providerGateway: '' },
188732
+ contractAddresses: {
188733
+ providerRouter: '',
188734
+ providerGateway: providerGateway
188735
+ },
188732
188736
  swapParams
188733
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
188737
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
188734
188738
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
188735
188739
  const [gasLimit, gasDetails] = await Promise.all([
188736
188740
  web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
@@ -188746,8 +188750,6 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
188746
188750
  };
188747
188751
  }
188748
188752
  catch (_err) {
188749
- console.log('Provider: Symbiosis');
188750
- console.log('Provider Error: ', _err);
188751
188753
  return null;
188752
188754
  }
188753
188755
  }
@@ -188785,8 +188787,8 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
188785
188787
  this.onChainSubtype = SymbiosisCrossChainTrade.getSubtype(crossChainTrade.tradeType, crossChainTrade.to.blockchain);
188786
188788
  this.contractAddresses = crossChainTrade.contractAddresses;
188787
188789
  }
188788
- async getContractParams(options) {
188789
- const { data, value: providerValue, to } = await this.getTransactionRequest(this.walletAddress, options?.receiverAddress);
188790
+ async getContractParams(options, skipAmountChangeCheck = false) {
188791
+ const { data, value: providerValue, to } = await this.getTransactionRequest(this.walletAddress, options?.receiverAddress, null, skipAmountChangeCheck);
188790
188792
  let receiverAddress = options.receiverAddress;
188791
188793
  let toAddress = '';
188792
188794
  if (this.to.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.TRON) {
@@ -188882,7 +188884,7 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
188882
188884
  : mapping?.[tradeType?.out || 'default']
188883
188885
  };
188884
188886
  }
188885
- async getTransactionRequest(walletAddress, receiverAddress, transactionConfig) {
188887
+ async getTransactionRequest(walletAddress, receiverAddress, transactionConfig, skipAmountChangeCheck = false) {
188886
188888
  if (transactionConfig) {
188887
188889
  return {
188888
188890
  data: transactionConfig.data,
@@ -188901,7 +188903,9 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
188901
188903
  value: tradeData.tx.value?.toString() || '0',
188902
188904
  to: tradeData.tx.to
188903
188905
  };
188904
- evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(config, tradeData.tokenAmountOut.amount, this.to.stringWeiAmount);
188906
+ if (!skipAmountChangeCheck) {
188907
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(config, tradeData.tokenAmountOut.amount, this.to.stringWeiAmount);
188908
+ }
188905
188909
  return config;
188906
188910
  }
188907
188911
  }
@@ -189590,7 +189594,7 @@ class XyCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
189590
189594
  tokenAmount: web3_pure_1.Web3Pure.fromWei(toTokenAmount, toToken.decimals)
189591
189595
  });
189592
189596
  const gasData = options.gasCalculation === 'enabled'
189593
- ? await xy_cross_chain_trade_1.XyCrossChainTrade.getGasData(fromToken, to, requestParams)
189597
+ ? await xy_cross_chain_trade_1.XyCrossChainTrade.getGasData(fromToken, to, requestParams, feeInfo)
189594
189598
  : null;
189595
189599
  return {
189596
189600
  trade: new xy_cross_chain_trade_1.XyCrossChainTrade({
@@ -189715,7 +189719,7 @@ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-pric
189715
189719
  */
189716
189720
  class XyCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
189717
189721
  /** @internal */
189718
- static async getGasData(from, to, transactionRequest) {
189722
+ static async getGasData(from, to, transactionRequest, feeInfo) {
189719
189723
  const fromBlockchain = from.blockchain;
189720
189724
  const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
189721
189725
  if (!walletAddress) {
@@ -189729,9 +189733,9 @@ class XyCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
189729
189733
  gasData: null,
189730
189734
  priceImpact: 0,
189731
189735
  slippage: 0,
189732
- feeInfo: {},
189736
+ feeInfo,
189733
189737
  onChainTrade: null
189734
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
189738
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
189735
189739
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
189736
189740
  const [gasLimit, gasDetails] = await Promise.all([
189737
189741
  web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
@@ -189808,9 +189812,9 @@ class XyCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
189808
189812
  throw err;
189809
189813
  }
189810
189814
  }
189811
- async getContractParams(options) {
189815
+ async getContractParams(options, skipAmountChangeCheck = false) {
189812
189816
  const receiverAddress = options?.receiverAddress || this.walletAddress;
189813
- const { data, value: providerValue, to: providerRouter } = await this.getTransactionRequest(receiverAddress);
189817
+ const { data, value: providerValue, to: providerRouter } = await this.getTransactionRequest(receiverAddress, skipAmountChangeCheck);
189814
189818
  const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
189815
189819
  walletAddress: receiverAddress,
189816
189820
  fromTokenAmount: this.from,
@@ -189837,13 +189841,15 @@ class XyCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
189837
189841
  getTradeAmountRatio(fromUsd) {
189838
189842
  return fromUsd.dividedBy(this.to.tokenAmount);
189839
189843
  }
189840
- async getTransactionRequest(receiverAddress) {
189844
+ async getTransactionRequest(receiverAddress, skipAmountChangeCheck = false) {
189841
189845
  const params = {
189842
189846
  ...this.transactionRequest,
189843
189847
  ...(receiverAddress && { receiveAddress: receiverAddress })
189844
189848
  };
189845
189849
  const { tx, toTokenAmount } = await injector_1.Injector.httpClient.get(`${xy_cross_chain_provider_1.XyCrossChainProvider.apiEndpoint}/swap`, { params: { ...params } });
189846
- await evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(tx, toTokenAmount, this.to.stringWeiAmount);
189850
+ if (!skipAmountChangeCheck) {
189851
+ await evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(tx, toTokenAmount, this.to.stringWeiAmount);
189852
+ }
189847
189853
  return tx;
189848
189854
  }
189849
189855
  getTradeInfo() {