Project structure

The project is a standard Rust workspace with multiple crates - each responsible for specific functionalities. Each crate can also be imported into any other project, bootstrapping building account abstraction projects in Rust.

At the moment, the following crates are available:

  • primitives - types, constants, and other basic primitives

  • contracts - interface for entry point smart contract and debug tracing utilities

  • uopool - implementation of user operation mempool, validation logic (canonical and alt mempools), reputation

  • bundler - implementation of the bundling functionalities (bundle builder)

  • rpc - implementation of JSON-RPC interfaces, HTTP and WS

  • grpc - crate that implements logic for running components (uopool and bundler) as gRPC services

Last updated