rubic-sdk 4.30.0-alpha-design.17-fix-gas.4 → 4.30.0-alpha-design.17-fix-gas.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -184854,7 +184854,7 @@ class DebridgeCrossChainProvider extends cross_chain_provider_1.CrossChainProvid
184854
184854
  }
184855
184855
  };
184856
184856
  const gasData = options.gasCalculation === 'enabled'
184857
- ? await debridge_cross_chain_trade_1.DebridgeCrossChainTrade.getGasData(from, to, requestParams)
184857
+ ? await debridge_cross_chain_trade_1.DebridgeCrossChainTrade.getGasData(from, to, requestParams, options.receiverAddress)
184858
184858
  : null;
184859
184859
  return {
184860
184860
  trade: new debridge_cross_chain_trade_1.DebridgeCrossChainTrade({
@@ -184982,25 +184982,25 @@ const bridge_type_1 = __webpack_require__(/*! ../common/models/bridge-type */ ".
184982
184982
  const portal_address_1 = __webpack_require__(/*! ./constants/portal-address */ "./src/features/cross-chain/calculation-manager/providers/debridge-provider/constants/portal-address.ts");
184983
184983
  const debridge_cross_chain_provider_1 = __webpack_require__(/*! ./debridge-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.ts");
184984
184984
  const mete_router_abi_1 = __webpack_require__(/*! ../symbiosis-provider/constants/mete-router-abi */ "./src/features/cross-chain/calculation-manager/providers/symbiosis-provider/constants/mete-router-abi.ts");
184985
+ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-price */ "./src/features/cross-chain/calculation-manager/utils/convert-gas-price.ts");
184985
184986
  const decode_method_1 = __webpack_require__(/*! ../../utils/decode-method */ "./src/features/cross-chain/calculation-manager/utils/decode-method.ts");
184986
184987
  const on_chain_trade_type_1 = __webpack_require__(/*! ../../../../on-chain/calculation-manager/providers/common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
184987
184988
  const constants_1 = __webpack_require__(/*! ../../../../on-chain/calculation-manager/providers/dexes/common/oneinch-abstract/constants */ "./src/features/on-chain/calculation-manager/providers/dexes/common/oneinch-abstract/constants.ts");
184988
- const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-price */ "./src/features/cross-chain/calculation-manager/utils/convert-gas-price.ts");
184989
184989
  /**
184990
184990
  * Calculated DeBridge cross-chain trade.
184991
184991
  */
184992
184992
  class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
184993
184993
  /** @internal */
184994
- static async getGasData(from, to, transactionRequest) {
184994
+ static async getGasData(from, toToken, transactionRequest, receiverAddress) {
184995
184995
  const fromBlockchain = from.blockchain;
184996
184996
  const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
184997
184997
  if (!walletAddress) {
184998
184998
  return null;
184999
184999
  }
185000
185000
  try {
185001
- const { contractAddress, contractAbi, methodName, methodArguments, value } = await new DebridgeCrossChainTrade({
185001
+ const { data, value, to } = await new DebridgeCrossChainTrade({
185002
185002
  from,
185003
- to,
185003
+ to: toToken,
185004
185004
  transactionRequest,
185005
185005
  gasData: null,
185006
185006
  priceImpact: 0,
@@ -185010,12 +185010,13 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185010
185010
  transitAmount: new bignumber_js_1.default(NaN),
185011
185011
  cryptoFeeToken: from,
185012
185012
  onChainTrade: null
185013
- }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({}, true);
185013
+ }, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getTransactionRequest(receiverAddress);
185014
185014
  const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
185015
- const [gasLimit, gasDetails] = await Promise.all([
185016
- web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
185017
- (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain))
185018
- ]);
185015
+ const gasLimit = await web3Public.getEstimatedGasByData(walletAddress, to, {
185016
+ data,
185017
+ value
185018
+ });
185019
+ const gasDetails = (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain));
185019
185020
  if (!gasLimit?.isFinite()) {
185020
185021
  return null;
185021
185022
  }