rubic-sdk
Version:
Simplify dApp creation
26 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FraxSwapV2Trade = void 0;
const injector_1 = require("../../../../../../../core/injector/injector");
const on_chain_trade_type_1 = require("../../../common/models/on-chain-trade-type");
const uniswap_v2_abstract_trade_1 = require("../../common/uniswap-v2-abstract/uniswap-v2-abstract-trade");
const constants_1 = require("./constants");
const frax_swap_v2_abi_1 = require("./frax-swap-v2-abi");
class FraxSwapV2Trade extends uniswap_v2_abstract_trade_1.UniswapV2AbstractTrade {
constructor() {
super(...arguments);
this.dexContractAddress = constants_1.FRAXSWAP_V2_CONTRACT_ADDRESS;
}
static get type() {
return on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.FRAX_SWAP_V2;
}
static callForRoutes(blockchain, exact, routesMethodArguments) {
const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain);
const methodName = exact === 'input' ? 'getAmountsOutWithTwamm' : 'getAmountsInWithTwamm';
return web3Public.multicallContractMethod(this.getDexContractAddress(blockchain), this.contractAbi, methodName, routesMethodArguments);
}
}
exports.FraxSwapV2Trade = FraxSwapV2Trade;
/** @internal */
FraxSwapV2Trade.contractAbi = frax_swap_v2_abi_1.FRAXSWAP_V2_ABI;
//# sourceMappingURL=frax-swap-v2-trade.js.map