With Uniswap V2, liquidity providers' positions were represented with ERC-20 tokens which were powerful tools for DeFi money blocks. With Uniswap V3, liquidity providers no longer have access to the powerful capabilities offered by ERC-20 (i.e., using LP tokens as collateral for lending, streaming LP tokens, staking LP tokens for yield, ...). We provided an easy to use interface for LPs that automatically places liquidity in a pool (using an algo based on historical price volatility), and gives them a fungible token that accrues value with time.
This project was build using Foundry and Uniswap V3's smart contracts. We took advantage of Foundry's fuzzy tests to cover as many cases as possible. We also leveraged the forge's mainnet forking capabilities to work with a local fork that already contained Uniswap's protocol smart contracts with all the necessary liquidity for testing. The whole contract is in solidity, and meant to be deployed on mainnet as a standalone, easy to use, interface for uniswap v3 liquidity providers.