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

Sign up to get free protection for your applications and to get access to all the features.
@@ -185204,10 +185204,8 @@ class DebridgeCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
185204
185204
  }
185205
185205
  decodeCallData(data) {
185206
185206
  if (typeof data === 'string') {
185207
- const abi = mete_router_abi_1.meteRouterAbi.find(method => method.name === 'metaRoute');
185208
- const decodeData = decode_method_1.MethodDecoder.decodeMethod(abi, data);
185209
- const xxx = decodeData.params[0].value;
185210
- return xxx.otherSideCalldata;
185207
+ const decodeData = decode_method_1.MethodDecoder.decodeMethod(mete_router_abi_1.meteRouterAbi.find(method => method.name === 'metaRoute'), data).params[0].value;
185208
+ return decodeData.otherSideCalldata;
185211
185209
  }
185212
185210
  throw new errors_1.RubicSdkError('Wrong call data');
185213
185211
  }
@@ -186528,8 +186526,8 @@ class SquidrouterCrossChainProvider extends cross_chain_provider_1.CrossChainPro
186528
186526
  }
186529
186527
  });
186530
186528
  const squidGasData = {
186531
- gasLimit: new bignumber_js_1.default(transactionRequest.gasLimit).plus(200000),
186532
- gasPrice: new bignumber_js_1.default(transactionRequest.gasPrice),
186529
+ gasLimit: new bignumber_js_1.default(transactionRequest.gasLimit).plus(120000),
186530
+ gasPrice: web3_pure_1.Web3Pure.fromWei(transactionRequest.gasPrice),
186533
186531
  maxFeePerGas: new bignumber_js_1.default(transactionRequest.maxFeePerGas),
186534
186532
  maxPriorityFeePerGas: new bignumber_js_1.default(transactionRequest.maxPriorityFeePerGas)
186535
186533
  };
@@ -186540,10 +186538,6 @@ class SquidrouterCrossChainProvider extends cross_chain_provider_1.CrossChainPro
186540
186538
  const gasData = options.gasCalculation === 'enabled'
186541
186539
  ? await squidrouter_cross_chain_trade_1.SquidrouterCrossChainTrade.getGasData(from, to, requestParams, feeInfo)
186542
186540
  : null;
186543
- if (gasData && squidGasData) {
186544
- console.log('Our GasData: ', Object.values(gasData).map(item => item.toFixed()));
186545
- console.log('Squid GasData GasData: ', Object.values(squidGasData).map(item => item.toFixed()));
186546
- }
186547
186541
  const feeAmount = estimate.feeCosts
186548
186542
  .filter(fee => (0, blockchain_1.compareAddresses)(this.nativeAddress, fee.token.address))
186549
186543
  .reduce((acc, fee) => acc.plus(fee.amount), new bignumber_js_1.default(0));
@@ -198751,6 +198745,7 @@ const evm_web3_pure_1 = __webpack_require__(/*! ../../../../../../../core/blockc
198751
198745
  const token_native_address_proxy_1 = __webpack_require__(/*! ../../../../../../common/utils/token-native-address-proxy */ "./src/features/common/utils/token-native-address-proxy.ts");
198752
198746
  const rubic_proxy_contract_address_1 = __webpack_require__(/*! ../../../../../../cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address */ "./src/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.ts");
198753
198747
  const on_chain_trade_type_1 = __webpack_require__(/*! ../../../common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
198748
+ const get_gas_fee_info_1 = __webpack_require__(/*! ../../../common/utils/get-gas-fee-info */ "./src/features/on-chain/calculation-manager/providers/common/utils/get-gas-fee-info.ts");
198754
198749
  const evm_provider_default_options_1 = __webpack_require__(/*! ../on-chain-provider/evm-on-chain-provider/constants/evm-provider-default-options */ "./src/features/on-chain/calculation-manager/providers/dexes/common/on-chain-provider/evm-on-chain-provider/constants/evm-provider-default-options.ts");
198755
198750
  const evm_on_chain_provider_1 = __webpack_require__(/*! ../on-chain-provider/evm-on-chain-provider/evm-on-chain-provider */ "./src/features/on-chain/calculation-manager/providers/dexes/common/on-chain-provider/evm-on-chain-provider/evm-on-chain-provider.ts");
198756
198751
  const sync_swap_abstract_trade_1 = __webpack_require__(/*! ./sync-swap-abstract-trade */ "./src/features/on-chain/calculation-manager/providers/dexes/common/sync-swap-abstract/sync-swap-abstract-trade.ts");
@@ -198803,7 +198798,15 @@ class SyncSwapAbstractProvider extends evm_on_chain_provider_1.EvmOnChainProvide
198803
198798
  path: [from, ...transitTokens, toToken],
198804
198799
  bestPathWithAmounts: bestRoute
198805
198800
  };
198806
- return new sync_swap_abstract_trade_1.SyncSwapAbstractTrade(tradeStruct, fullOptions.providerAddress, this.dexContractAddress);
198801
+ try {
198802
+ const gasPriceInfo = await this.getGasPriceInfo();
198803
+ const gasLimit = await sync_swap_abstract_trade_1.SyncSwapAbstractTrade.getGasLimit(tradeStruct, this.dexContractAddress);
198804
+ const gasFeeInfo = (0, get_gas_fee_info_1.getGasFeeInfo)(gasLimit, gasPriceInfo);
198805
+ return new sync_swap_abstract_trade_1.SyncSwapAbstractTrade({ ...tradeStruct, gasFeeInfo }, fullOptions.providerAddress, this.dexContractAddress);
198806
+ }
198807
+ catch {
198808
+ return new sync_swap_abstract_trade_1.SyncSwapAbstractTrade(tradeStruct, fullOptions.providerAddress, this.dexContractAddress);
198809
+ }
198807
198810
  }
198808
198811
  async getAvailablePools(from, toToken) {
198809
198812
  return sync_swap_factory_1.SyncSwapFactory.fetchRoutePools(from.address, toToken.address, this.walletAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, this.vault, this.factories.map(address => address.toLowerCase()), this.routeTokens.map(address => address.toLowerCase()), this.masterAddress, this.routerHelperContract, this.blockchain);
@@ -198835,7 +198838,6 @@ const evm_on_chain_trade_1 = __webpack_require__(/*! ../../../common/on-chain-tr
198835
198838
  const constants_1 = __webpack_require__(/*! ../oneinch-abstract/constants */ "./src/features/on-chain/calculation-manager/providers/dexes/common/oneinch-abstract/constants.ts");
198836
198839
  const sync_swap_abi_1 = __webpack_require__(/*! ./sync-swap-abi */ "./src/features/on-chain/calculation-manager/providers/dexes/common/sync-swap-abstract/sync-swap-abi.ts");
198837
198840
  class SyncSwapAbstractTrade extends evm_on_chain_trade_1.EvmOnChainTrade {
198838
- // @TODO need to start using this method.
198839
198841
  /** @internal */
198840
198842
  static async getGasLimit(tradeStruct, dexContractAddress) {
198841
198843
  const fromBlockchain = tradeStruct.from.blockchain;