{ 跳至内容 }

Solidity 0.5.10 版本发布公告

发布于 2019年6月25日,由 Solidity 团队

发布

除了对 Yul 优化器、Solidity 到 Yul 代码生成、eWasm 后端和 SMT 检查器进行进一步的幕后工作外,此版本还包含两个与存储数组相关的重要的错误修复。

详情请参阅我们之前的博客文章.

它还包含一个实验模式,允许从解析器错误中恢复(由@rocky 实现,由 ConsenSys 资助),希望这可能对 IDE 开发人员有所帮助。

重要错误修复

  • ABIEncoderV2:修复存储数组中占用多个存储槽的数据类型的 abi 编码错误。
  • 代码生成器:在同时赋值给存储和转换类型时,正确地将负数数组元素的高位清零。

编译器特性

  • 命令行界面:通过error-recovery 命令行开关进行实验性解析器错误恢复。
  • 优化器:添加规则以将 SUB(~0, X) 简化为 NOT(X)
  • Yul 优化器:使优化器适用于所有 Yul 方言,包括 eWasm。

错误修复

  • 类型检查器:将函数类型成员 gasvalue 的状态可变性设置为 pure(而它们的返回类型继承自函数类型的状态可变性)。
  • Yul/内联汇编解析器:不允许在函数调用参数中使用尾随逗号。

构建系统

  • 尝试使用库存 Z3 cmake 文件查找 Z3,并且仅回退到手动发现。
  • CMake:对 boost 使用导入的目标。
  • Emscripten 构建:升级到 boost 1.70。
  • 为低于 5.0 版本的 gcc 生成 cmake 错误。

非常感谢所有帮助使此版本成为可能的贡献者!

从此处下载 Solidity 的新版本 此处

上一篇

下一篇

参与进来

GitHub

推特

Mastodon

矩阵

了解更多

博客文档使用案例贡献关于论坛

2024Solidity 团队

安全策略

行为准则