Good Meme Only
NFT Staking platform with a Uniswap V3 Token Factory, automatic pool creation and liquidity locking
Screenshots



Problem Statement
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/NoirconfWe 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/0x594283B91cFC145509d320A6a8723b36E9a41155We'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-66097654d797INSTRUCTIONS: Hit the deploy button, choose base network, configure - paste NFT token address, deploy on base buttonTHIS IS OUR MEME REWARDS COIN FOR TINYFROGS NFT COLLECTION ON BASE 0xf0d0dF7142f60F7F3847463A509fD8969E3e3A27https://app.uniswap.org/swap?outputCurrency=0xB5154fC831a15bd285959766987A707D8A02E4BD&chain=baseIn this case, for the demo proposes we have hardcoded the proof from Noirconf so anybody can call it there.
Solution
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.
Hackathon
ETHGlobal London
2024
Contributors
- agacja
2 contributions