Solidity 0.5.13 提供了 Istanbul-EVM 兼容性(默认仍然设置为 Petersburg),是第一个生成以太坊 Webassembly (EWasm) 二进制输出的版本(尽管尚未完全正常工作),通过在解析失败时列出潜在的重载来改进开发人员体验,并且可以输出合约的存储变量布局。与所有其他版本一样,SMT 检查器的覆盖范围也得到了进一步提高。
语言特性
- 允许使用以下方法获取链接库的地址address(LibraryName).
编译器特性
- 代码生成器:如果使用 Istanbul EVM,则使用 SELFBALANCE 操作码来获取 address(this).balance。
- EWasm:通过 ewasm 生成实验性的 EWasm 二进制输出,并在标准 JSON 文档中进行说明。
- SMTChecker:在 CHC 引擎中添加 break/continue 支持。
- SMTChecker:支持对多维数组和映射进行赋值。
- SMTChecker:支持继承和函数重写。
- 标准 JSON 接口:在请求工件 storageLayout 时输出合约的存储布局。
- 类型检查器:在重载解析失败时列出可能的候选者。
错误修复
- 代码生成器:修复了错误断言,该断言会错误地触发数组大小超过无符号整数的情况。
- SMTChecker:修复了在访问固定字节索引时发生的内部错误。
- SMTChecker:修复了在使用函数指针作为参数时发生的内部错误。
- SMTChecker:修复了在将字符串文字隐式转换为固定字节时发生的内部错误。
- 类型检查器:禁止将同一类的构造函数用作修饰符。
- 类型检查器:在内联汇编中将魔术变量视为未知标识符。
衷心感谢所有为此次发布做出贡献的人!
下载 Solidity 的新版本这里.