Management tool for lens. Makes it possible to post to an account without holding the NFT in that wallet
We built Lens Manager to be a tool to create a more seamless Lens experience. Currently, Lens requires a user to hold a profile NFT in their wallet to do basic activities on Lens, like follow, comment, and post. This creates a user experience problem since companies or joint accounts have to trust that the social media manager won't sell/transfer the profile NFT. Additionally, users that hold their profile NFT in a secure wallet have a difficult time using the protocol as they would a normal social media, and those that hold it in a hot wallet or mobile wallet face security risks.
We created a manager smart contract that a user can deposit a Lens profile into, then can delegate permissions and roles to other wallets. For example, a large company could have their profile stored in a multi-sig and give posting rights to the addresses associated with their PR team. Additionally, an individual could deposit their NFT into a Lens Manager smart contract that only allows their hardware wallet to withdraw, but gives their mobile wallet permission to post. This facilitates a much better user experience by both increasing security and ease of access.
Ultimately, Lens Manager could be the project that brings Lens mainstream. With future development, which would include gasless transactions and signature-free interactions, the experience on Lens would be very similar to previous-gen social media. A user would never have to worry about their profile being hacked or stolen and could interact with it from any device they want.
We used OpenZeppelin's Access Control to create and manage the roles in the smart contract. The frontend was built with Flutter, and WalletConnect V1.0.2's Flutter Library was used to interact with wallets. Lens Protocol's documentation and APIs were heavily referenced and we interact with the LensHub Proxy contract as well as the Lens Protocol Profiles for a large part of the project. The smart contracts are hosted on Polygon. Gnosis Safe was used for the multi-sig wallet support.