Assert
SecuriteDefinition
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)
}Pages Liees
Pratique ce concept sur Solingo
Maîtrise Assert avec des exercices interactifs et un IDE intégré.
Commencer gratuitement