Selaa lähdekoodia

Add missing docstrings (#5311)

Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Ernesto García 10 kuukautta sitten
vanhempi
sitoutus
ed98138a78

+ 4 - 1
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);

+ 27 - 0
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);