From ed98138a7820e7608becfb2c457533af6ba91c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ernesto=20Garc=C3=ADa?= Date: Mon, 25 Nov 2024 11:15:23 -0600 Subject: [PATCH] Add missing docstrings (#5311) Co-authored-by: cairo Co-authored-by: Hadrien Croubois --- .../GovernorCountingOverridable.sol | 5 +++- contracts/interfaces/draft-IERC7579.sol | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/contracts/governance/extensions/GovernorCountingOverridable.sol b/contracts/governance/extensions/GovernorCountingOverridable.sol index 2ab669fa0..c3930c131 100644 --- a/contracts/governance/extensions/GovernorCountingOverridable.sol +++ b/contracts/governance/extensions/GovernorCountingOverridable.sol @@ -35,7 +35,10 @@ abstract contract GovernorCountingOverridable is GovernorVotes { mapping(address voter => VoteReceipt) voteReceipt; } - event VoteReduced(address indexed voter, uint256 proposalId, uint8 support, uint256 weight); + /// @dev The vote was reduced by `weight` after an override over the `delegate` by the original token holder + event VoteReduced(address indexed delegate, uint256 proposalId, uint8 support, uint256 weight); + + /// @dev A delegated vote on `proposalId` was overridden by `weight` event OverrideVoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason); error GovernorAlreadyOverridenVote(address account); diff --git a/contracts/interfaces/draft-IERC7579.sol b/contracts/interfaces/draft-IERC7579.sol index 47f1627f6..ae30e9767 100644 --- a/contracts/interfaces/draft-IERC7579.sol +++ b/contracts/interfaces/draft-IERC7579.sol @@ -10,6 +10,7 @@ uint256 constant MODULE_TYPE_EXECUTOR = 2; uint256 constant MODULE_TYPE_FALLBACK = 3; uint256 constant MODULE_TYPE_HOOK = 4; +/// @dev Minimal configuration interface for ERC-7579 modules interface IERC7579Module { /** * @dev This function is called by the smart account during installation of the module @@ -36,6 +37,11 @@ interface IERC7579Module { function isModuleType(uint256 moduleTypeId) external view returns (bool); } +/** + * @dev ERC-7579 Validation module (type 1). + * + * A module that implements logic to validate user operations and signatures. + */ interface IERC7579Validator is IERC7579Module { /** * @dev Validates a UserOperation @@ -63,6 +69,12 @@ interface IERC7579Validator is IERC7579Module { ) external view returns (bytes4); } +/** + * @dev ERC-7579 Hooks module (type 4). + * + * A module that implements logic to execute before and after the account executes a user operation, + * either individually or batched. + */ interface IERC7579Hook is IERC7579Module { /** * @dev Called by the smart account before execution @@ -93,6 +105,11 @@ struct Execution { bytes callData; } +/** + * @dev ERC-7579 Execution. + * + * Accounts should implement this interface so that the Entrypoint and ERC-7579 modules can execute operations. + */ interface IERC7579Execution { /** * @dev Executes a transaction on behalf of the account. @@ -119,6 +136,11 @@ interface IERC7579Execution { ) external returns (bytes[] memory returnData); } +/** + * @dev ERC-7579 Account Config. + * + * Accounts should implement this interface to exposes information that identifies the account, supported modules and capabilities. + */ interface IERC7579AccountConfig { /** * @dev Returns the account id of the smart account @@ -148,6 +170,11 @@ interface IERC7579AccountConfig { function supportsModule(uint256 moduleTypeId) external view returns (bool); } +/** + * @dev ERC-7579 Module Config. + * + * Accounts should implement this interface to allows installing and uninstalling modules. + */ interface IERC7579ModuleConfig { event ModuleInstalled(uint256 moduleTypeId, address module); event ModuleUninstalled(uint256 moduleTypeId, address module);