-
Notifications
You must be signed in to change notification settings - Fork 83
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
Multi Owned ECDSA Validation Module #151
Conversation
_smartAccountOwners[owner][smartAccount] = false; | ||
_smartAccountOwners[newOwner][smartAccount] = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could be swapped if the first value is always true and the second is always false:
similarly to this
uint256 a = 1;
uint256 b = 2;
(a, b) = (b, a);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting :) is it cheaper?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if not, I would suggest not doing this as in this exact case it makes things less readable
(_smartAccountOwners[owner][smartAccount], _smartAccountOwners[newOwner][smartAccount]) = (_smartAccountOwners[newOwner][smartAccount], _smartAccountOwners[owner][smartAccount]);
looks bulky
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes it's cheaper but agree that it makes it very difficult to read 😅 let's discuss when we will focus on optimization
test/bundler-integration/module/MultiOwnedECDSA.Module.specs.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀🚀🚀
Summary
Allows having several owners, each one of them can independently sign a userOp.
Related Issue
Change Type
Checklist
Additional Information
For the sake of saving time, only the core functionality is tested and only via Bundler (to ensure the new storage structure complies with 4337 restrictions).
❓ Need to decide do we want to audit it and release it publicly.