【发布时间】:2022-09-23 11:10:41
【问题描述】:
我正在尝试编译WETH.sol found on Ethereum mainnet,它是使用非常旧的版本(0.4.x)编译的。我将编译器版本更改为 ^0.8.0 并收到以下错误消息。
TypeError: Explicit type conversion not allowed from \"int_const -1\" to \"uint256\".
--> contracts/WETH9.sol:78:64:
|
78 | if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {}
| ^^^^^^^^
Error HH600: Compilation failed
**The code is as follows.**
if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
require(allowance[src][msg.sender] >= wad);
allowance[src][msg.sender] -= wad;
}
我该如何纠正这个错误?