Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR completes the MVP implementation for a modular smart account system with session-based authentication. The main purpose is to finalize core functionality including ERC7739 signature verification, factory deployment patterns, and comprehensive session validation.
- Migrate the
AllowedSessionsValidatorwith session registry management and access control - Add ERC7739-compliant signature verification for improved security and replay protection
- Implement MSA factory pattern with beacon proxy deployment for upgradeable accounts
Reviewed Changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/mocks/*.sol | Mock contracts for testing targets, ERC20 tokens, ERC1271 validation, and delegate calls |
| test/Utils.t.sol | Utility tests for execution encoding/decoding and mode handling |
| test/Sessions.t.sol | Refactored session tests using new MSATest base class with improved test structure |
| test/MSATest.sol | Base test class providing common MSA setup and user operation utilities |
| test/Basic.t.sol | Comprehensive basic functionality tests including transfers, executions, and signature validation |
| src/utils/MSAProxy.sol | Removed legacy proxy implementation |
| src/modules/contrib/AllowedSessionsValidator.sol | New validator with session registry management and access control |
| src/modules/WebAuthnValidator.sol | Updated with proper ERC1271 support and improved validation logic |
| src/modules/SessionKeyValidator.sol | Enhanced with better error handling and nonce validation |
| src/modules/EOAKeyValidator.sol | Improved with proper event emission and error handling |
| src/libraries/SessionLib.sol | Enhanced session validation logic with better time range handling |
| src/libraries/Initializable.sol | Removed custom initializable implementation |
| src/interfaces/IMSA.sol | Updated interface for multi-validator initialization |
| src/core/ModuleManager.sol | Improved error handling and validation logic |
| src/core/ERC1271Handler.sol | New ERC7739-compliant signature handler |
| src/core/AccountBase.sol | Simplified with hardcoded EntryPoint address |
| src/ModularSmartAccount.sol | Major refactor integrating ERC1271Handler and OpenZeppelin Initializable |
| src/MSAFactory.sol | New factory for deploying beacon proxy accounts |
| script/Deploy.s.sol | Deployment script for the complete system |
| foundry.toml | Reduced optimizer runs for faster compilation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
cpb8010
previously approved these changes
Aug 17, 2025
Contributor
cpb8010
left a comment
There was a problem hiding this comment.
Open questions, but otherwise looks good
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
cpb8010
approved these changes
Aug 25, 2025
Contributor
cpb8010
left a comment
There was a problem hiding this comment.
Looks like lots of stuff works!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AllowedSessionsValidator.sol