原题目要求 AssumeOwnershipChallenge 合约的 isComplete 变量设置成 true。
安装 Foundry
根据 Foundry 官方文档配置好运行环境。
运行测试
$ cd WTF-CTF
$ forge test -C src/Capture_the_Ether/Miscellaneous/Assume_ownership -vvv
以前合约的构造函数的函数名使用合约名,但是这个设计有问题,会导致比如这个 Challenge 一样,如果构造函数不小心拼写错误,则成了所有人都可以调用的公开函数:AssumeOwnershipChallenge
,AssumeOwmershipChallenge()
。所以后来使用 constructor 关键字来申明构造函数来避免这个问题。
所以我们这里直接调用 AssumeOwmershipChallenge
来获取 owner 权限,并再调用 authenticate()
将 isComplete
设置为 true。