Luna is an On-Chain Non-custodial Wallet that even your grandma can use it
Unlike traditional wallets with a defined owner, Luna operates on the principle that ownership is established by possessing a valid zero-knowledge proof (zk-proof) generated through passkeys and email verification. This wallet introduces a new paradigm in digital asset management, ensuring privacy, security, and optimal performance.
The project consists of 4 parts/folders -
Circuits: 4 circuits which include Poseidon hash, blake2s hash(Not used, higher constraints than Poseidon), passkey proving circuit, and recovery proving circuits.
Clients: Written in Javascript, Using Next.js, TailwindCSS. A minimalistic frontend to safely access your wallet which generates client-side ZK-proofs.
Contracts: Deployed and verified on Scroll Sepolia Network. The verified contracts can be found on GitHub ReadMe. Consists of Passkey Verifier, Recovery Verifier, Wallet, Wallet Factory, and ERC-2771 Forwarder Contracts.
Server: Written in Javascript, using Express.js. A custom backend for end-to-end encrypted chats.