From 7156ef02104c4f3fee7a3320eb7de68a13326577 Mon Sep 17 00:00:00 2001 From: Thrilok kumar Date: Mon, 31 Oct 2022 06:08:16 +0530 Subject: [PATCH] Added createAndInitializePool function --- .../mainnet/connectors/uniswap/v3/main.sol | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/contracts/mainnet/connectors/uniswap/v3/main.sol b/contracts/mainnet/connectors/uniswap/v3/main.sol index 3580ab6b..fd2b9c16 100644 --- a/contracts/mainnet/connectors/uniswap/v3/main.sol +++ b/contracts/mainnet/connectors/uniswap/v3/main.sol @@ -12,6 +12,43 @@ import {Helpers} from "./helpers.sol"; import {Events} from "./events.sol"; abstract contract UniswapResolver is Helpers, Events { + + /** + * @dev Create and Initialize pool + * @notice Create and Initialize new pool if required + * @param tokenA tokenA addreess + * @param tokenB tokenB addreess + * @param fee fee percentage + * @param initialTick Initial tick for the pool + */ + function createAndInitializePool ( + address tokenA, + address tokenB, + uint24 fee, + int24 initialTick + ) + external + payable + returns (string memory _eventName, bytes memory _eventParam) + { + + address pool = _createAndInitializePoolIfNecessary( + tokenA, + tokenB, + fee, + initialTick + ); + + _eventName = "LogcreateAndInitializePool(address,address,address,uint24,int24)"; + _eventParam = abi.encode( + tokenA, + tokenB, + pool, + fee, + initialTick + ); + } + /** * @dev Mint New Position * @notice Mint New NFT LP Position