A user & developer friendly modular smart account implementation on ZKsync; simplifying user authentication, session management, and transaction processing.
Aiming to be compliant with the ERC-7579 standard.
Based on the ERC-7579 reference implementation by Rhinestone.
Caution
The factory and module interfaces are not yet stable! Any contracts interfacing
ModularSmartAccount
will likely need to be updated in the
final version. The code is currently under audit and the latest may contain
security vulnerabilities.
Requires the latest foundry
.
- Install workspace dependencies with
forge soldeer install
. - Build the project with
forge build
. - Run tests with
forge test
.
To run the integration tests:
0. Install dependencies with pnpm install
- Run the local development node with
pnpm anvil
. - In a separate terminal, run the bundler with
pnpm bundler
- Deploy all contracts and a test account with
pnpm deploy-test
- Run integration tests with
pnpm bundler-test