本文档介绍了Meta Transactions,即从交易发起者抽象执行上下文的能力,遵循ERC-2771规范。主要介绍了ERC2771Context和ERC2771Forwarder两个合约,分别用于重写执行上下文的发送者和calldata,以及实现一个生产级别的转发器,用于转发由EOA离线签名的操作请求。文档还详细说明了每个合约的函数、事件、错误以及安全考虑。
本文介绍了OpenZeppelin Contracts社区版中用于密码学的多个实用工具,包括验证类型化数据签名(EIP712)、嵌套EIP712签名验证(ERC-7739)以及ERC-7913签名验证器,这些工具旨在简化智能合约中复杂签名的处理并提高账户安全性。
该文档介绍了 OpenZeppelin Contracts 库中与 ERC777 代币标准相关的接口和合约。它涵盖了核心合约(IERC777、ERC777)以及用于开发对代币转账做出反应的合约的接口(IERC777Sender、IERC777Recipient),并提供了对每个接口和合约中函数的详细描述,包括功能、参数、事件和使用要求。
这是一份贡献者盟约行为准则,旨在为社区成员、贡献者和领导者创建一个免受骚扰的环境。它定义了社区参与者的行为规范,包括积极行为(如友善、尊重)和不可接受行为(如性暗示、人身攻击)。该准则还规定了社区领导者的执行责任、适用范围、违规行为的报告途径以及相应的处罚措施。
本篇文章为《臭名昭著的错误月刊》第2期,探讨了Web3领域内最近的漏洞与安全事件,详细分析了针对叉沙攻击、zkLend黑客事件的教训以及多个未验证合约的漏洞。通过审计发现的问题,比如属性宏遗漏后续属性和UniswapHook的Hook状态覆盖等,强调了安全性在合约开发中的重要性。
本文档描述了 OpenZeppelin Monitor 代码库的项目结构和组织方式,包括源代码布局、配置文件和开发资源。内容涵盖了项目布局、源代码组织、配置和数据、示例和资源、指标和监控、测试和文档、开发工具以及 Docker 支持等多个方面,为开发者提供了全面的项目概览。
本文深入探讨了智能合约中访问控制的重要性,并介绍了OpenZeppelin Contracts提供的多种访问控制方案,包括Ownable、AccessControl、TimelockController和AccessManager。文章详细阐述了每种方案的原理、使用方法和适用场景,并讨论了如何在实际应用中选择合适的访问控制方案,以确保智能合约的安全性和灵活性,同时还强调了安全实践和潜在风险。
本文介绍了在使用 OpenZeppelin Upgrades 编写可升级合约时需要注意的关键事项,包括使用 initializer 代替 constructor,避免在字段声明中定义初始值,以及如何安全地修改合约存储结构。
本文档介绍了OpenZeppelin Contracts库中与合约自省相关的接口和合约,包括IERC165、ERC165、ERC165Checker、IERC1820Registry、IERC1820Implementer和ERC1820Implementer。这些工具允许合约声明并查询其他合约实现的接口,以防止错误并实现复杂的交互。
本文档介绍了OpenZeppelin社区合约中的密码学工具,包括多种签名验证方案和加密原语的实现。这些工具支持智能合约中的安全认证、多重签名操作和高级加密操作,例如ERC7739Utils、ERC7913Utils、ZKEmailUtils和WebAuthn等。