UNPKG

rubic-sdk

Version:
37 lines 1.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AggregatorEvmOnChainTrade = void 0; const bignumber_js_1 = __importDefault(require("bignumber.js")); const token_utils_1 = require("../../../../../../common/utils/token-utils"); const evm_on_chain_trade_1 = require("../on-chain-trade/evm-on-chain-trade/evm-on-chain-trade"); class AggregatorEvmOnChainTrade extends evm_on_chain_trade_1.EvmOnChainTrade { async getTxConfigAndCheckAmount(options) { if (this.lastTransactionConfig && options.useCacheData) { return this.lastTransactionConfig; } const { tx, toAmount } = await this.getTransactionConfigAndAmount(options); const gasLimit = tx.gas && parseInt(tx.gas, 16).toString(); const gasPrice = tx.gasPrice && parseInt(tx.gasPrice, 16).toString(); const config = { data: tx.data, to: tx.to, value: tx.value, gas: gasLimit, gasPrice }; const newToTokenAmountMin = token_utils_1.TokenUtils.getMinWeiAmountString(new bignumber_js_1.default(toAmount), this.slippageTolerance); this.lastTransactionConfig = config; setTimeout(() => { this.lastTransactionConfig = null; }, 15000); if (!options.skipAmountCheck) { this.checkAmountChange(newToTokenAmountMin, this.toTokenAmountMin.stringWeiAmount); } return config; } } exports.AggregatorEvmOnChainTrade = AggregatorEvmOnChainTrade; //# sourceMappingURL=aggregator-evm-on-chain-trade-abstract.js.map