我正在尝试从本网站执行重入攻击;除了函数attack()之外,所有函数都可以工作。编译器0.8.10通过执行attack()发送1以太The transaction has been reverted to the initial不幸的是,我没有找到开发人员;我检查了attack()和withdraw()中的每一行(顺便说一句),但是我不知道问题在哪里.
// SPDX-License-Identi
如果我有一个更改契约状态的函数,并且在相同的函数中向下,则会有一个require语句。如果有什么东西不能通过require语句,那么契约状态会发生什么?就像:如果函数改变变量x,那么下一行的要求就失败了,那么x是否会保持不变,因为它发生在失败之前?还是会因为整个txn失败而恢复呢?= 5,"_y was 5");}
在这个简单的例子中,我知道我应该把require语句放在最上面,但是我用它来比喻我正在编写的更复杂的合同。我只需要知道:如果txn失败了,是否仍然存在任何