# Ethereum Protocol Fellowship - The Third Cohort (Update 8) This is the eighth update for Ethereum Protocol Fellowship - The Third Cohort. In the past two weeks, I have mainly worked on two frontiers: implementing verification of simulation of user operations and reading and learning about p2p networking of Ethereum in more in-details. - Description: https://github.com/eth-protocol-fellows/cohort-three/blob/master/projects/4337-bundler-rust.md - Architecture and specification: https://hackmd.io/@Vid201/aa-bundler-rust - GitHub repository: https://github.com/Vid201/aa-bundler/ ## Updates List of updates: 1. Add support for custom js tracer to ethers-rs: https://github.com/gakonst/ethers-rs/pull/2064 2. Update smart contracts for EIP-4337 account abstraction in the bundler repo: https://github.com/Vid201/aa-bundler/commit/d2e14bae417fa983a30ee7b48f879fe2823415fb 3. Implement RPC endpoint eth_sendUserOperation: https://github.com/Vid201/aa-bundler/pull/39 4. Review Will's PR that adds a check not to use unwrap in the code: https://github.com/Vid201/aa-bundler/pull/38 5. P2P protocols reading; relevant links: - https://github.com/JohnRising/4337-bundler-working-group/blob/p2p-specs/bundler-specs/p2p-interface.md - https://github.com/ethereum/devp2p - https://ethereum.org/en/developers/docs/networking-layer/ - https://www.youtube.com/watch?v=hnw59hmk6rk&list=LL&index=19 6. Started the implementation of the reputation of entities: - https://github.com/Vid201/aa-bundler/pull/43 - https://eips.ethereum.org/EIPS/eip-4337#reputation-scoring-and-throttlingbanning-for-global-entities There was a discussion in the bundler working group on how to implement p2p protocol for the mempool of user operations. One option was to add a new capability to devp2p (since user operations are propagated similarly to standard transactions), and the other was to run a separate p2p network based on libp2p. After the discussion in the meeting and async communication in the Telegram group, it was decided to go with devp2p due to better support for libp2p in different programming languages, libp2p slowly replacing devp2p, and having the ability (at least it's easier) to run bundlers without running Ethereum nodes alongside. Several conditions of sanity checks and verification of simulation of user operations depend on the reputation (on-chain or off-chain at node level) of different entities - senders, factories (for the deployment of smart contract accounts), paymasters, and signature aggregators. Thus, I prioritized the implementation reputation system before finishing sanity checks and simulation verification. ## Next steps In the following weeks, I will continue working on the implementation of the reputation of the entities. If the pull request to ethers-rs (custom js tracer) goes through in that time, I will also continue with the implementation of analyzing opcodes that are returned from the simulation of the user operations. Next week, there is also a 2nd meeting for the bundler working group.