Require

Solidity

Definition

Fonction de validation des conditions d'entrée. Si la condition est fausse, la transaction revert et le gas non-utilisé est remboursé. Utilisée pour vérifier les inputs, permissions, états. Peut inclure un message d'erreur. Préférer `require` à `assert` pour les validations utilisateur.

English version

Function for validating input conditions. If condition is false, transaction reverts and unused gas is refunded. Used to verify inputs, permissions, states. Can include error message.

Exemple de Code

function transfer(address to, uint amount) public {
    require(to != address(0), "Transfer to zero address");
    require(balances[msg.sender] >= amount, "Insufficient balance");
    require(amount > 0, "Amount must be positive");

    balances[msg.sender] -= amount;
    balances[to] += amount;
}

// Custom errors (0.8.4+) : plus gas-efficient
error InsufficientBalance(uint requested, uint available);

function withdraw(uint amount) public {
    if (balances[msg.sender] < amount)
        revert InsufficientBalance(amount, balances[msg.sender]);
}

Pratique ce concept sur Solingo

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

Commencer gratuitement