Путешествие от "мой смарт-контракт непроницаем" до "единственная надежда — это сохранить эту кодовую базу" происходит с каждым разработчиком web3. Код компилируется, тесты проходят, все работает. И тут вам приходит в голову мысль. Что если кто-то вызовет withdraw() дважды в одной и той же транзакции?
953