rubic-sdk
Version:
Simplify dApp creation
31 lines • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UniSwapV3UnichainProvider = void 0;
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
const uniswap_v3_abstract_provider_1 = require("../../common/uniswap-v3-abstract/uniswap-v3-abstract-provider");
const uniswap_v3_unichain_quoter_controller_1 = require("../../common/uniswap-v3-abstract/utils/quoter-controller/uniswap-v3-unichain-quoter-controller");
const contract_addresses_1 = require("./constants/contract-addresses");
const provider_configuration_1 = require("./constants/provider-configuration");
const router_configuration_1 = require("./constants/router-configuration");
const unichain_uni_v3_trade_1 = require("./unichain-uni-v3-trade");
class UniSwapV3UnichainProvider extends uniswap_v3_abstract_provider_1.UniswapV3AbstractProvider {
constructor() {
super(...arguments);
this.blockchain = blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN;
this.OnChainTradeClass = unichain_uni_v3_trade_1.UniswapV3UnichainTrade;
this.providerConfiguration = provider_configuration_1.UNI_SWAP_V3_UNICHAIN_PROVIDER_CONFIGURATION;
this.routerConfiguration = router_configuration_1.UNI_SWAP_V3_UNICHAIN_ROUTER_CONFIGURATION;
this.dexContractAddress = contract_addresses_1.UNICHAIN_UNISWAP_V3_SWAP_ROUTER_CONTRACT_ADDRESS;
this.quoterController = new uniswap_v3_unichain_quoter_controller_1.UnichainUniswapV3QuoterController(this.blockchain, this.routerConfiguration);
}
createTradeInstance(tradeStruct, route, providerAddress) {
const path = this.extractPath(route);
return new this.OnChainTradeClass({
...tradeStruct,
path,
route
}, providerAddress, this.dexContractAddress);
}
}
exports.UniSwapV3UnichainProvider = UniSwapV3UnichainProvider;
//# sourceMappingURL=unichain-uni-v3-provider.js.map