project screenshot 1
project screenshot 2
project screenshot 3

LenSsion

EIP/ERC Fiesta => 6551 x 4337 x 1271 x 712 all partying on Lens! NFTs can now have their own life, write their own history separate from their owner and share it to everyone on Lens with minimal friction.

LenSsion

Created At

ETHGlobal Lisbon

Winner of

trophy

🏊 Polygon — Build on Polygon

trophy

🏊 Scroll — Deploy a Smart Contract

Project Description

Originally thought to be an implementation of a Session Key on Lens using Account Abstraction, this became much more after seeing the potential of ERC-6551.

This project combines several EIPs and ERCs that have synergies together in order to improve the UX on chain while also giving another utility to NFTs. Smart Contract Accounts dedicated to NFTs are already created with ERC-6551, they can also be compliant with ERC-4337 to improve their overall impact.

Additionally, EIP-712 being a big improvement in giving users more information about what they are signing, it was fitting right into the project.

Ultimately, AA would enables many uses like session keys to allow signless transactions for users, delegating posting/commenting/mirroring permissions on Lens to another wallet (e.g going on vacation without main wallet, celebrities using social media managers, etc).

How it's Made

This project uses the contracts from tokenbound.org as a base for the implementation of the Token Account. It facilitated the onboarding of the ERC-6551 where I was able to relatively quickly create Smart Accounts associated to my NFTs.

Although it is current not fully compatible with ERC-4337, it allowed me to understand the building blocks of Account Abstraction quicker and in a deeper fashion.

Building AA on Polygon, my choice of bundler went to Stackup thanks to their standalone Node/bundler service and userop.js SDK that would ease the submission of UserOps. However proved wrong after encountering what I think is a bug that I submitted in their discord. Moreover the Token Account implementation I used not being fully compliant with ERC-4337 made me lose time at different stages of Account Abstraction integration. I also tried to run a Stackup bundler locally to bypass the rules and validate the UserOp in order to progress but I was not successful.

Eventually, any NFT woud be able to hold a Lens handle, have their own persona and differentiate themselves while the EOA holding those NFTs doesn't necessarly have a handle.

background image mobile

Join the mailing list

Get the latest news and updates