Feature/erc4337 implementation#135
Open
Aboudjem wants to merge 7 commits intoonchain-id:feature/BT-950-onchainid-ERC-4337from
Open
Feature/erc4337 implementation#135Aboudjem wants to merge 7 commits intoonchain-id:feature/BT-950-onchainid-ERC-4337from
Aboudjem wants to merge 7 commits intoonchain-id:feature/BT-950-onchainid-ERC-4337from
Conversation
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.
ERC-4337 Account Abstraction Implementation
This PR adds ERC-4337 (Account Abstraction) support to onchain-id Identity contracts with comprehensive testing infrastructure using Foundry.
Changes Made
🔧 Foundry Setup
foundry.toml) with optimized compiler settings.gitignoreto exclude Foundry artifacts (out/, cache/)🧪 Test Infrastructure
UserOpBuilder Library: Helper contract for constructing and signing ERC-4337 UserOperations
Target Mock Contract: Test contract for validating execution flows
Comprehensive Test Suites:
IdentityAA.t.sol: 11 tests covering validation, nonce management, EntryPoint interaction, and signature verificationIdentityAA_Batch.t.sol: 9 tests for batch execution functionality📝 Documentation
IMPLEMENTATION_GUIDE.mdwith detailed technical overview🔄 Contract Updates
hardhat.config.tsandpackage.jsonto support dual testing frameworkTechnical Notes
Hardhat v3: Not included in this PR due to significant breaking changes. Recommend handling the Hardhat v3 upgrade in a separate branch to avoid complicating the ERC-4337 implementation review.
Testing Framework: Currently using Foundry for ERC-4337 tests. Foundry provides better tooling for testing Account Abstraction patterns (UserOperation simulation, EntryPoint integration, gas reporting).
Next Steps