Niveau - 10 Re-entrancy Flashcards

1
Q

Comment éviter une attaque de réentré quand tu veux permettre à un utilisateur de retirer les fonds qu’il a transférés au contrat.

A

En actualisant son solde AVANT de lui transférer les fonds et en vérifiant qu’il en ait assez :

require(balances[msg.sender] >= amount);
balances[msg.sender] -= amount;
(bool success,) = payable(msg.sender).call{value:amount}("");

il faut en plus vérifier que success est égal à true, mais pour simplifier je l’ai pas mis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly