Inspiration

As we all know, the wallet experience is such a crucial factor in the mass adoption of web3 dapps and services by internet users. For new users to interact with the blockchain, they must: create a wallet, store their private keys, purchase & transfer funds, pay gas fees, and sign every single action that they take on a dApp. With such an intimidating user experience for newcomers, something must change. CryptoPhoenix Wallet SDK is here to bring just that change!

What it does

CryptoPhoenix Wallet SDK is a rollup to thirdweb's smart wallet contracts by offering features like:

  • Cross-chain payments using Chainlink's CCIP
  • Social Account Recovery

How we built it

The wallet SDK is a rollup to thirdweb's smart wallet (ERC-4337) contracts. We've added the following contracts to extend it's functionality:

  1. AccountGuardian.sol: Used to assign guardians for smart wallet accounts.
  2. Guardian.sol: Powers the guardian interactions, like attending to account lock & recovery requests.
  3. AccountLock.sol: Adds features like creating and evaluating account lock requests and locking the account assets, if consensus is achieved.
  4. AccountRecovery.sol: Offers the ability to back up account's private key shards, create and evaluate account recovery requests and help with account recovery overall.
  5. CrossChainTokenTransfer.sol: Provides creation of Chainlink's CCIP transfer request, signature verification, and finally implementation according to the ERC-4337 standards.

Challenges we ran into

  • Understanding and working with ERC-4337 account abstraction standard was pretty new due to off-chain and on-chain interaction using EntryPoint (UserOps).
  • Designing the whole social account recovery smart contract design had to be thought of to a great extent due to the interoperability needed to build the social account recovery system.

Accomplishments that we're proud of

Being a small force in pushing the adoption of web3 forward!

What we learned

  1. Chainlink's newly launched CCIP service
  2. ERC-4337 account abstraction standard
  3. Designing social account recovery system architecture

What's next for CryptoPhoenix Wallet SDK

  1. Improving the test coverage of our contracts
  2. Security audits
  3. SDK in various client-side languages & frameworks

Built With

  • ccip
  • chainlink
  • foundry
  • solidity
  • thirdweb
  • thirdweb-contracts
Share this project:

Updates