{Solidity:log}
Solidity 0.8.14 版本发布公告
发布者:Solidity 团队 于 2022年5月18日
Solidity v0.8.14 修复了两个重要的错误。第一个错误与直接从 calldata 中对嵌套数组进行 ABI 编码有关。您可以在博客文章中找到更多信息。第二个错误在某些继承结构中触发,并可能导致内存指针被解释为 calldata 指针或反之亦然。我们也有一篇专门针对此错误的博客文章。除了这些之外,还有一些小的错误修复和改进。请注意:不幸的是,此版本的 npm 包装包已损坏。使用新的 soljson.js...
阅读更多继承期间的数据位置错误
发布者:Solidity 团队 于 2022年5月17日
2021年2月5日,Nicolas Venturo 报告了一个错误,该错误允许覆盖函数将参数的数据位置从内存更改为 calldata。此错误是在 Solidity 0.6.9 中引入的,同时引入了对所有变量(而不仅仅是外部函数的参数)使用 calldata 数据位置的功能。我们将此错误的严重性评为“极低”。哪些合约受影响?此错误的影响是内存指针被解释为 calldata 指针或反之亦然。只有当您更改...时才会发生这种情况。
阅读更多嵌套 calldata 数组 ABI 重新编码中的大小检查错误
发布者:Solidity 团队 于 2022年5月17日
2022年4月7日,Certora 开发团队的 John Toman 报告了 Solidity 代码生成器中的一个错误。Certora 的错误披露文章可以在这里找到。此错误已在 2022年5月17日发布的 Solidity 版本 0.8.14 中修复。此错误最初是在 Solidity 版本 0.5.8 中引入的。我们将此错误的严重性评为“极低”。哪些合约受影响?如果您将嵌套数组直接传递给另一个外部函数调用或对其使用 abi.encode,则可能会受到影响。如果 calldata 为...
阅读更多Solidity 峰会 2022 回顾
发布者:Franziska Heintel 于 2022年5月3日
我们不敢相信我们已经在阿姆斯特丹参加了第二届 Solidity 峰会两周了!Solidity 峰会 2022 是 Devconnect 的一部分,于 2022年4月20日星期三举行。活动参与人数约为 250 人,出席率很高。此外,大约 400 人通过观看 Livepeer 直播远程加入。这一天里,我们举办了 20 多场关于 Solidity 内部结构和深入探讨的演讲 Solidity 语言设计 Solidity 工具 安全性 编程模式……等等。当天的完整议程可以在这里找到。您可以...
阅读更多宣布 2022 年“隐蔽 Solidity 竞赛”获奖者
发布者:Franziska Heintel & USC 评委 于 2022年4月9日
现在是时候分享今年“隐蔽 Solidity 竞赛”的获奖者了!在我们深入了解获奖作品之前,让我们回顾一下 USC 最重要的特点:简而言之,USC 是关于在 Solidity 语言中寻找漏洞或“隐藏点”,并利用这些漏洞编写看似天真和简单的 Solidity 代码,其中包含恶意行为或后门。隐蔽 Solidity 竞赛旨在...提高对智能合约安全的认识。发现语言设计缺陷。对最近引入的语言特性和限制进行实战测试。突出显示...
阅读更多Solidity 0.8.13 版本发布公告
发布者:Solidity 团队 于 2022年3月16日
Solidity v0.8.13 修复了一个与 abi.encodeCall 相关的重大错误,扩展了 using for 指令,并为语言服务器实现了“转到定义”。此外,现在将通过新的 Yul IR 管道进行编译视为生产就绪。重要错误当 abi.encodeCall 在 Solidity 0.8.11 中引入时,十六进制文字 (0x1234) 和字符串文字 ("abcd") 未被正确处理。请阅读安全警报以了解更多信息。值得注意的新功能Yul IR 管道生产就绪我们几年来一直在研究 Yul 作为 Solidity 的中间语言。Yul 在...
阅读更多abi.encodeCall 文字错误
发布者:Solidity 团队 于 2022年3月16日
2022年3月10日,Solidity 团队发现 abi.encodeCall 实现中存在一个错误,该错误与固定长度字节文字一起使用时会出现。它是在 Solidity 0.8.11 中与 abi.encodeCall 一起引入的,并在 0.8.13 中修复。我们将此错误的严重性评为“极低”。哪些合约受影响?如果您使用 abi.encodeCall(f, (...)) 其中 f 获取 bytesNN 参数,并且您提供的该参数值是十六进制文字 (0x1234 或 hex"abcd") 或字符串文字 ("abcd"),则可能会受到影响。如果您只...
阅读更多Solidity 峰会 2022 赴阿姆斯特丹
发布者:Franziska Heintel 于 2022年2月22日
Solidity 峰会终于回归了!在 2020 年举办了第一届虚拟 Solidity 峰会之后,我们很高兴地宣布 2022 年将举办线下活动!Solidity 峰会 2022 是 Devconnect 的一部分,将于 2022年4月20日星期三在阿姆斯特丹举行。什么是 Solidity 峰会?Solidity 峰会是一个合作活动,重点关注 Solidity 的未来。它是高级 Solidity 用户和其他 Solidity 生态系统利益相关者(例如对语言设计感兴趣的开发人员、工具构建者、审计人员和...)的聚会场所。
阅读更多Solidity 0.8.12 版本发布公告
发布者:Solidity 团队 于 2022年2月16日
Solidity v0.8.12 改进了 JavaScript/Wasm 二进制文件并修复了几个错误。值得注意的新功能Emscripten 构建/solc-js我们能够将 JavaScript/WebAssembly 二进制文件的大小从 27 MB 减少到略高于 8 MB。最初二进制文件如此之大的原因是我们包含了 SMT 求解器 Z3。通过使用 LZ4 压缩二进制文件并在加载时解压缩它来实现大小缩减,这对于用户来说应该是完全透明的。我们最初担心...
阅读更多隐蔽 Solidity 竞赛 2022
发布者:Franziska Heintel 于 2022年2月9日
漫长的等待结束了:“隐蔽 Solidity 竞赛”带着 2022 年版本回归了!在 2020 年成功复兴之后,我们认为是时候让伟大的 Solidity 思想家们再次聚在一起,争夺下一个重大的隐蔽黑客攻击了!如果您是新手,让我们快速回顾一下“隐蔽 Solidity 竞赛”(USC)是什么:简而言之,USC 是关于在 Solidity 中寻找漏洞或“隐藏点”...
阅读更多