Modifier

Solidity

Définition

Fonction réutilisable qui modifie le comportement d'autres fonctions. Utilisé principalement pour les vérifications d'accès (onlyOwner) ou les conditions (whenNotPaused). Le symbole _; marque l'endroit où le code de la fonction modifiée s'exécute. Peut accepter des paramètres. Empilable : plusieurs modifiers sur une même fonction.

Version anglaise

Reusable function that modifies behavior of other functions. Mainly used for access checks (onlyOwner) or conditions (whenNotPaused). The _; symbol marks where the modified function code executes. Can accept parameters. Stackable: multiple modifiers on same function.

Exemple de Code

contract Ownable {
  address public owner;

  constructor() {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner, "Not owner");
    _; // Le code de la fonction s'exécute ici
  }

  modifier validAddress(address addr) {
    require(addr != address(0), "Invalid address");
    _;
  }

  function changeOwner(address newOwner)
    public
    onlyOwner
    validAddress(newOwner)
  {
    owner = newOwner;
  }
}

Termes Liés

Pratique ce concept sur Solingo

Maîtrise Modifier avec des exercices interactifs et un IDE intégré.

Commencer gratuitement