rubic-sdk
Version:
Simplify dApp creation
68 lines • 3.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BrontoFinanceTrade = void 0;
const on_chain_trade_type_1 = require("../../../common/models/on-chain-trade-type");
const bronto_finance_quoter_controller_1 = require("../../common/uniswap-v3-abstract/bronto-finance-quoter-controller");
const swap_router_contract_abi_1 = require("../../common/uniswap-v3-abstract/constants/swap-router-contract-abi");
const uniswap_v3_abstract_trade_1 = require("../../common/uniswap-v3-abstract/uniswap-v3-abstract-trade");
const provider_config_1 = require("./constants/provider-config");
class BrontoFinanceTrade extends uniswap_v3_abstract_trade_1.UniswapV3AbstractTrade {
constructor() {
super(...arguments);
this.dexContractAddress = provider_config_1.MEGAETH_TESTNET_ROUTER_CONTRACT_ADDRESS;
this.contractAbi = swap_router_contract_abi_1.UNISWAP_V3_SWAP_ROUTER_CONTRACT_ABI;
}
get type() {
return on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.BRONTO_FINANCE;
}
/**
* Returns swap `exactInput` method's name and arguments to use in Swap contract.
*/
getSwapRouterExactInputMethodData(walletAddress) {
const amountParams = this.getAmountParams();
// if (this.route.poolsPath.length === 1) {
// const methodName = this.exact === 'input' ? 'exactInputSingle' : 'exactOutputSingle';
// const pool = this.route.poolsPath[0];
// if (!pool) {
// throw new RubicSdkError('Initial pool has to be defined');
// }
// const toTokenAddress = compareAddresses(
// pool.token0.address,
// this.route.initialTokenAddress
// )
// ? pool.token1.address
// : pool.token0.address;
// if (!this.route?.poolsPath?.[0]) {
// throw new RubicSdkError('PoolsPath[0] has to be defined');
// }
// return {
// methodName,
// methodArguments: [
// [
// this.route.initialTokenAddress,
// toTokenAddress,
// this.route.poolsPath[0].fee,
// walletAddress,
// this.deadlineMinutesTimestamp,
// ...amountParams,
// 0
// ]
// ]
// };
// }
const methodName = this.exact === 'input' ? 'exactInput' : 'exactOutput';
return {
methodName,
methodArguments: [
[
bronto_finance_quoter_controller_1.BrontoFinanceQuoterController.getEncodedPoolsPath(this.route.poolsPath, this.route.initialTokenAddress),
walletAddress,
this.deadlineMinutesTimestamp,
...amountParams
]
]
};
}
}
exports.BrontoFinanceTrade = BrontoFinanceTrade;
//# sourceMappingURL=bronto-finance-trade.js.map