Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERC-4377 support #38

Closed
6 tasks done
tuler opened this issue Jul 8, 2024 · 0 comments
Closed
6 tasks done

ERC-4377 support #38

tuler opened this issue Jul 8, 2024 · 0 comments

Comments

@tuler
Copy link
Member

tuler commented Jul 8, 2024

📚 Context

Account Abstraction (ERC-4377) is an important feature of EVM networks, providing several usability improvements.

Cartesi applications are already compatible with Account Abstraction. There is no change necessary to a Cartesi application to support ERC-4377. Advance requests arrive normally to a Cartesi backend.

But on the other hand the frontend of an application needs to implement support to ERC-4377.
When using a testnet there are several service providers that offer the necessary infrastructure to implement ERC-4377 (Alchemy, ZeroDev, Biconomy, Stackup, etc)

But on a local development environment, using the Cartesi CLI we need to provide that support.

✔️ Solution

The required infrastructure for ERC-4377 includes the following:

  • several smart contracts deployed to the local anvil instance. This includes core contracts and popular smart wallets factories.
  • a bundler server
  • a paymaster server

Pimlico provides documentation about how to run a ERC-4377 infrastructure locally. It consists of deploying a set of smart contracts, and running a local instance of alto and a mock paymaster.

If the developer wants to use a passkey signer he will also need a passkey server. One implementation is provided by ZeroDev.

Alto is one popular implementation of a bundler. It's written in typescript, and already has a docker image part of its release process.

📈 Subtasks

  • deploy ERC-4377 support contract to the devnet
  • add the bundler to the SDK
  • add the paymaster to the SDK
  • add the bundler to the cartesi run
  • add the paymaster to the cartesi run

🎯 Definition of Done

  • use the CLI bundler and paymaster with Cartesi applications frontends.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant