NFT Staking platform with a Uniswap V3 Token Factory, automatic pool creation and liquidity locking
The platform allows NFT collection owners to create a memecoin token which can be earned by staking those NFTs. It automatically creates the token contracts along with a liquidity pool on Uniswap V3 and locks the liquidity.
The contract is deployed on Base and while the L2 costs are already cheap, the contract uses extra assembly optimisations.
As a fun element, whoever wants to deploy such token, has to go through a certain confession process in Noir and add the generated proof as an argument to the stake function. The proof can be generated in this repo: https://github.com/agacja/Noirconf
We also attempted to create a frontend with Coinbase Smart Wallet integration, but sadly were not able to fully finish it and focused more on contracts; https://basescan.org/address/0x594283B91cFC145509d320A6a8723b36E9a41155
We've developed a script that enables interaction with the Staking Love smart contract. This script allows for the creation of a "meme" token on Uniswap v3, associated with any NFT collection of your choice. As a result, individuals who stake their NFTs from this collection will have the ability to mint rewards in the form of your "meme" token. To leverage this functionality, please visit https://metal.build/preview/e781dcae-4ba6-442e-bdce-66097654d797
INSTRUCTIONS: Hit the deploy button, choose base network, configure - paste NFT token address, deploy on base button
THIS IS OUR MEME REWARDS COIN FOR TINYFROGS NFT COLLECTION ON BASE 0xf0d0dF7142f60F7F3847463A509fD8969E3e3A27
https://app.uniswap.org/swap?outputCurrency=0xB5154fC831a15bd285959766987A707D8A02E4BD&chain=base
In this case, for the demo proposes we have hardcoded the proof from Noirconf so anybody can call it there.
The contract has a decent part of it written in assembly for extra gas optimisation. Upon calling the stake function, it uses a Token Factory to deploy a new token, and then calls Uniswap V3 to create a one sided liquidity position. The liquidity NFT is then locked in the contract.
We've also used https://metal.build/ to deploy the contract.