project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Cache Coherence

Extention of Account Abstract Smart Wallet Using CCIP And World Coin To Recover Lost Keys

Cache Coherence

Created At

ETHGlobal Sydney

Winner of

Worldcoin - Best World ID Usage 2nd Prize

Base - Best use of 4337 Account Abstraction 1st place

ETHGlobal - 🏆 ETHGlobal Sydney Finalist

Project Description

An extension to EIP-4337 account abstract smart contract wallet that can be deployed on any EVM chain, namely Base.

The wallet setup includes setting a WorldCoin ID. The WorldCoin ID provides a secondary authentication which can be used as a recovery method in case keys are lost.

However, there is a limited number of chains which support WorldCoin sign-in authentication methods. Thus, CCIP is used to bridge between the account wallet and WorldCoin verifier. CCIP is bidirection and allows sending proofs from the account to WorldCoin. After verification a success or failure response is sent back to the account via CCIP.

How it's Made

This project is a Solidity EVM + React App front end that focuses on factory deployment and account recovery functionality.

Currently deploy contracts are an Abstract Account wallet deployed on Base Sepolia. This uses CCIP to bridge to and from Ethereum Sepolia.

The smart contract side starts with a factory. The factory setup is used to create new wallet accounts. Each account is initialized with a ECDSA address that is used to validate bundles and a World Coin ID which can be used for account recovery.

The account wallet is EIP 4337 compliant allowing for all RPC methods. This project is an extension which can easily be adopted by cloud providers to incorporate into their offerings.

Recovery is a public function which allows calling by any user when they've lost ownership of their wallet. The caller must provider a World Coin proof associated with the ID and supply sufficient native tokens for the CCIP bridge.

Upon sending a message through the CCIP bridge a smart contract developed by Cache Coherence is called. This contract connects with World Coin Verifier and forwards the proof.

However, currently the World Coin Verifier is reverting for proofs on the ETH Sepolia chain. This may be due to the World Coin ID being used not being pushed on-chain before verification can occur. To facilitate, a temporary hack is applied to assume World Coin ID verification has succeeded.

A call is made back through the CCIP bridge upon a successful verification. This will reach the account wallet and update the owner ECDSA address to reflect the new signed and authenticated address.

A front end using React is implemented to facilitate the account creation via the factory and recovery of an account. The front end uses an IDKit QR widget which allows a user to generate a proof using their world ID.

Upon generating a proof the front-end will submit a transaction to begin the recovery process. Only a single transaction is required as the rest of the process is automated thanks to CCIP automatic process of messages. After the two bridge transactions occur the ECDSA address is updated.

background image mobile

Join the mailing list

Get the latest news and updates