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

feat: add eip7702 support #227

Merged
merged 7 commits into from
Dec 18, 2024
Merged

Conversation

highskore
Copy link

@highskore highskore commented Dec 10, 2024

PR-Codex overview

This PR introduces new contracts and updates existing ones to enhance the Nexus framework for modular smart accounts, focusing on proxy deployment and initialization improvements, as well as validators and hooks management.

Detailed summary

  • Added MockTarget contract for testing purposes.
  • Introduced NexusProxy for ERC1967 upgrade pattern.
  • Created Initializable library to manage initialization flags.
  • Updated K1ValidatorFactory and NexusAccountFactory to use ProxyLib for proxy deployment.
  • Improved error handling in user operation validations.
  • Enhanced test cases for EIP-7702 compatibility and execution scenarios.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Copy link

openzeppelin-code bot commented Dec 10, 2024

feat: add eip7702 support

Generated at commit: d0cc50e56bd85459f99af60218a1a0e79bdd6f27

🚨 Report Summary

Severity Level Results
Contracts Critical
High
Medium
Low
Note
Total
1
1
0
6
27
35

For more details view the full report in OpenZeppelin Code Inspector

Copy link
Collaborator

@filmakarov filmakarov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks you for putting this together!
Mostly questions and small suggestions.

) external {
)
external
payable
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the use case for it to be payable?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's required when calling createAccount with msg.value using the new factory/proxy pattern (tests revert if it's not payable)

@highskore highskore requested a review from filmakarov December 13, 2024 12:39
Copy link
Collaborator

@filmakarov filmakarov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@filmakarov filmakarov merged commit 036e348 into bcnmy:dev Dec 18, 2024
@filmakarov filmakarov mentioned this pull request Feb 6, 2025
2 tasks
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

Successfully merging this pull request may close these issues.

2 participants