From d2e8540aadd791106d325d95f39d4a8aaacacfa2 Mon Sep 17 00:00:00 2001 From: Jay Paik Date: Mon, 30 Sep 2024 17:50:51 -0400 Subject: [PATCH] fix: add missing isUserOpValidation to ValidationDataView in spec --- src/interfaces/IModularAccountView.sol | 2 +- standard/ERCs/erc-6900.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/interfaces/IModularAccountView.sol b/src/interfaces/IModularAccountView.sol index 02046295..4370cab3 100644 --- a/src/interfaces/IModularAccountView.sol +++ b/src/interfaces/IModularAccountView.sol @@ -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; diff --git a/standard/ERCs/erc-6900.md b/standard/ERCs/erc-6900.md index 8625453a..015a954f 100644 --- a/standard/ERCs/erc-6900.md +++ b/standard/ERCs/erc-6900.md @@ -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. @@ -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