v4.7.0
版本发布时间: 2022-06-30 18:06:21
OpenZeppelin/openzeppelin-contracts最新发布版本:v5.1.0-rc.0(2024-10-03 22:56:46)
-
TimelockController
: Migrate_call
to_execute
and allow inheritance and overriding similar toGovernor
. (#3317) -
CrossChainEnabledPolygonChild
: replace therequire
statement with the custom errorNotCrossChainCall
. (#3380) -
ERC20FlashMint
: Add customizable flash fee receiver. (#3327) -
ERC4626
: add an extension ofERC20
that implements the ERC4626 Tokenized Vault Standard. (#3171) -
SafeERC20
: addsafePermit
as mitigation against phantom permit functions. (#3280) -
Math
: add amulDiv
function that can round the result either up or down. (#3171) -
Math
: Add asqrt
function to compute square roots of integers, rounding either up or down. (#3242) -
Strings
: add a new overloaded functiontoHexString
that converts anaddress
with fixed length of 20 bytes to its not checksummed ASCIIstring
hexadecimal representation. (#3403) -
EnumerableMap
: add newUintToUintMap
map type. (#3338) -
EnumerableMap
: add newBytes32ToUintMap
map type. (#3416) -
SafeCast
: add support for many more types, using procedural code generation. (#3245) -
MerkleProof
: addmultiProofVerify
to prove multiple values are part of a Merkle tree. (#3276) -
MerkleProof
: add calldata versions of the functions to avoid copying input arrays to memory and save gas. (#3200) -
ERC721
,ERC1155
: simplified revert reasons. (#3254, (#3438)) -
ERC721
: removed redundant require statement. (#3434) -
PaymentSplitter
: addreleasable
getters. (#3350) -
Initializable
: refactored implementation of modifiers for easier understanding. (#3450) -
Proxies
: remove runtime check of ERC1967 storage slots. (#3455)
Breaking changes
-
Initializable
: functions decorated with the modifierreinitializer(1)
may no longer invoke each other.