Assert

Securite

Definition

Fonction utilisée pour vérifier des conditions qui ne devraient jamais être fausses (invariants internes). Contrairement à `require`, `assert` consomme tout le gas restant en cas d'échec et indique un bug dans le code. À utiliser pour détecter les états impossibles, comme les erreurs de débordement avant Solidity 0.8.0.

English version

Function used to check conditions that should never be false (internal invariants). Unlike `require`, `assert` consumes all remaining gas on failure, indicating a code bug.

Exemple de Code

function divide(uint a, uint b) public pure returns (uint) {
    assert(b != 0); // Ne devrait jamais arriver avec une bonne validation
    return a / b;
}

function updateBalance(uint amount) internal {
    uint oldBalance = balance;
    balance += amount;
    assert(balance >= oldBalance); // Détecte les overflows (pré-0.8.0)
}

Termes Lies

Pratique ce concept sur Solingo

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

Commencer gratuitement