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

fix: add missing isUserOpValidation to ValidationDataView in spec #187

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/interfaces/IModularAccountView.sol
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ struct ValidationDataView {
bool isGlobal;
// Whether or not this validation function is a signature validator.
bool isSignatureValidation;
// Whether or not this validation is a user operation validator.
// Whether or not this validation function is a user operation validation function.
bool isUserOpValidation;
// The pre validation hooks for this validation function.
ModuleEntity[] preValidationHooks;
Expand Down
4 changes: 3 additions & 1 deletion standard/ERCs/erc-6900.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,8 @@ struct ValidationDataView {
bool isGlobal;
// Whether or not this validation function is a signature validator.
bool isSignatureValidation;
// Whether or not this validation function is a user operation validation function.
bool isUserOpValidation;
// The pre validation hooks for this validation function.
ModuleEntity[] preValidationHooks;
// Execution hooks to run with this validation function.
Expand Down Expand Up @@ -551,7 +553,7 @@ User op validation and runtime validation functions have a configurable range of

If the selector being checked is `execute` or `executeBatch`, the modular account MUST perform additional checking. If the target of `execute` is the modular account's own address, or if the target of any `Call` within `executeBatch` is the account, validation MUST either revert or check that validation applies to the selector(s) being called.

Installed validation functions have two flag variables indicating what they may be used for. If a validation function is attempted to be used for user op validation and the flag `isUserOpValidation` is set to false, validation MUST revert. If the validation function is attempted to be used for signature validation and the flag `isSignatureValidation` is set to false, validation MUST revert.
Installed validation functions have two additional flag variables indicating what they may be used for. If a validation function is attempted to be used for user op validation and the flag `isUserOpValidation` is set to false, validation MUST revert. If the validation function is attempted to be used for signature validation and the flag `isSignatureValidation` is set to false, validation MUST revert.

#### Direct Call Validation

Expand Down
Loading