rubic-sdk
Version:
Simplify dApp creation
37 lines • 1.73 kB
JavaScript
;
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