- 函数“.call()”,“.delegatecall()”,“staticcall()”,“keccak256()”,“sha256()”和“ripemd160()”在新版本中只接受一个btyes参数,并且bytes参数不补位。因此对 .call()(及其同系列函数)的调用现在要改为 .call(“”)。对 .call(signature, a, b, c)的调用现在要改为 .call(abi.encodeWithSignature(signature, a, b, c)),这只对值类型的数据有效。对 keccak256(a, b, c)的调用现在要改为keccak256(abi.encodePacked(a, b, c))。还有个改动虽不算大,但还是建议程序员遵循新规则:对 x.call(bytes4(keccak256(“f(uint256)”), a, b))的调用改为 x.call(abi.encodeWithSignature(“f(uint256)”, a, b))。