Skip to content

0x0077/erc6551-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ERC-6551 Wallet Contracts

Vyper contracts used in ERC-6551 Wallet.

Overview

ERC-6551 Wallet is a smart contract wallet solution supporting social recovery, built on the Ethereum blockchain. Through ERC-6551 Wallet, developers can provide a smooth user experience in their products, free of private keys and gas, thereby rapidly attracting massive Web2 users.

ERC-6551 Wallet supports paying transaction fees with any token, and will cover all platforms including web, mobile, and browser plug-ins, supporting various invocation methods. Compatible with the latest ERC-4337 account abstraction and ERC-6551 , ERC-6551 Wallet is a leading smart contract wallet solution.

Testing and Development

Dependencies

  • python3 from version 3.8 to 3.11, python3-dev
  • eth-ape - tested with version 0.6.15
  • vyper - tested with version 0.3.7
  • ganache-cli - tested with version 7.9.0

ERC-6551 Wallet contracts are compiled using Vyper, however installation of the required Vyper versions is handled by Ape.

Setup

To get started, first create and initialize a Python virtual environment. Next, clone the repo and install the developer dependencies:

git clone https://github.com/zkevm-zkp/erc6551-wallet.git
cd erc6551-wallet
pip install -r requirements.txt

Organization and Workflow

  • Creating an account is based on the contract template in the contracts/factory directory.
  • Building transactions, proxy, and guardians are constructed based on the contract templates in the contracts/manager directory.

Running the Tests

The test suite contains common tests for all Ape wallet, as well as unique per-manager tests. To run the entire suite:

ape test

To run tests on a specific manager:

ape test tests/<MANAGER NAME>

You can optionally include the --coverage flag to view a coverage report upon completion of the tests.

Deployment

To deploy a new ape wallet:

  1. Edit the configuration settings within scripts/main.py.
  2. Test the deployment locally against a forked mainnet.
ape run deploy --network ethereum:mainnet-fork:hardhat

When the script completes it will open a console. You should call the various getter methods on the deployed contracts to ensure the pool has been configured correctly. 3. Deploy the wallet to the mainnet.

ape run deploy --network ethereum:mainnet:hardhat

License

(c) 0x77, 2025 - All rights reserved.

About

AA wallet contract code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published