SignatureChecker库是一个用于链上签名验证的helper库。该库提供的验签函数既支持EOA账户地址的签名验证也支持IERC1271标准合约地址的签名验证。
Checkpoints库定义了History、Trace224和Trace160结构体。这些结构体中包含了在各个不同的区块高度或自定义key上记录的数值并可以查询出对应区块高度或key上的记录值。Checkpoints库提供了标准的添加记录、查询记录的库方法。
本文介绍了Instance Registry Pattern,该模式使用中心化的智能合约来管理其他已部署合约的地址。通过在注册表中注册合约,可以动态查找依赖项,更新合约地址,并实现更清晰的架构和更安全的访问。
Defender允许你轻松地跨链部署和升级智能合约,同时保持最佳的安全实践。本教程展示了如何使用一个Relayer来部署一个名为Box的合约,并通过一个Safewallet(多签钱包)使用UUPS代理模式进行升级。
SafeMath库是对solidity中uint256的加、减、乘、除和取模运算的一层封装。由于solidity 0.8之前的uint256运算是不做溢出检查,许多基于0.8版本之前的项目都会使用该库。0.8版本之后solidity编译器内置了整形数溢出检查,所以SafeMath库也不再被广泛使用。
OpenZeppelin 对 Mantle Network 的 Mantle token 合约和桥合约进行了安全审计,发现了一些低风险问题和需要注意的点,包括误导性的注释、桥合约可以被重新初始化、以及一些代码上的优化空间。审计建议 Mantle 团队关注治理行为和资产转移,以确保系统的安全。
本文介绍了Solidity中的继承概念,包括如何使用is关键字实现合约继承。文章详细讲解了virtual和override关键字在函数重写中的作用,以及internal关键字在控制函数可见性方面的应用。最后,通过OpenZeppelin的Ownable合约示例,展示了继承在实际开发中的应用,例如权限控制。
is
virtual
override
internal
本文是关于OpenZeppelin升级插件的常见问题解答,涵盖了Solidity编译器版本变更、常见错误、合约升级安全、禁用检查、使用delegatecall和selfdestruct、实现兼容性、代理管理员、实现合约、代理、immutable变量、外部库、升级函数、自定义类型以及在存储变量中使用内部函数等问题。
本文介绍了OpenZeppelin,一个为以太坊和其他区块链平台提供安全、可重用智能合约库的公司和开源平台。文章概述了OpenZeppelin提供的关键产品和服务,并展示了如何通过npm安装OpenZeppelin,以及如何使用OpenZeppelin的ERC20代币合约。
本文档介绍了 OpenZeppelin Hardhat Upgrades 插件提供的 API,用于在Hardhat环境中使用OpenZeppelin Contracts进行智能合约的代理部署和升级。
本文档介绍了 OpenZeppelin Foundry Upgrades API,涵盖了 Foundry artifact 和 Annotation 格式的合约名称规范,以及 deployUUPSProxy、deployTransparentProxy、upgradeProxy、deployBeacon 和 proposeUpgrade 等函数的详细用法和参数选项,旨在帮助开发者使用 Foundry 脚本或测试来部署和管理可升级的合约,以及与 OpenZeppelin Defender 集成。
SignedMath库提供了solidity中尚未内置的标准有符号数的数学运算方法。
SignedSafeMath库就是直接对solidity内置的int256类型的加减乘除运算的函数封装。
本文介绍了如何使用 Foundry 库来部署和管理可升级合约,包括安装 OpenZeppelin Contracts v5 或 v4 的步骤、使用 NPM 或 Soldeer 进行替代安装的方法、Foundry 的要求、运行前的配置(如安装 Node.js、配置 foundry.toml)以及在 Windows 环境下的设置等。
本文档介绍了OpenZeppelin Upgrades Core库和CLI工具,用于检测智能合约的升级安全性及存储布局兼容性。重点介绍了CLI的validate命令,以及High-Level API和Low-Level API的使用方法,包括环境配置、参数说明和返回结果,方便开发者在开发流程中尽早发现和解决潜在的升级问题。