openzeppelin-solidity
Advanced tools
Changelog
3.4.0 (2021-02-02)
BeaconProxy
: added new kind of proxy that allows simultaneous atomic upgrades. (#2411)EIP712
: added helpers to verify EIP712 typed data signatures on chain. (#2418)ERC20Permit
: added an implementation of the ERC20 permit extension for gasless token approvals. (#2237)ERC20PresetFixedSupply
and ERC777PresetFixedSupply
. (#2399)Address
: added functionDelegateCall
, similar to the existing functionCall
. (#2333)Clones
: added a library for deploying EIP 1167 minimal proxies. (#2449)Context
: moved from contracts/GSN
to contracts/utils
. (#2453)PaymentSplitter
: replace usage of .transfer()
with Address.sendValue
for improved compatibility with smart wallets. (#2455)UpgradeableProxy
: bubble revert reasons from initialization calls. (#2454)SafeMath
: fix a memory allocation issue by adding new SafeMath.tryOp(uint,uint)→(bool,uint)
functions. SafeMath.op(uint,uint,string)→uint
are now deprecated. (#2462)EnumerableMap
: fix a memory allocation issue by adding new EnumerableMap.tryGet(uint)→(bool,address)
functions. EnumerableMap.get(uint)→string
is now deprecated. (#2462)ERC165Checker
: added batch getSupportedInterfaces
. (#2469)RefundEscrow
: beneficiaryWithdraw
will forward all available gas to the beneficiary. (#2480)ERC777
: fix potential reentrancy issues for custom extensions to ERC777
. (#2483)If you're using our implementation of ERC777 from version 3.3.0 or earlier, and you define a custom _beforeTokenTransfer
function that writes to a storage variable, you may be vulnerable to a reentrancy attack. If you're affected and would like assistance please write to security@openzeppelin.com. Read more in the pull request.
Changelog
3.3.0 (2020-11-26)
solc-0.7
tag to compile without warnings.Address
: added functionStaticCall
, similar to the existing functionCall
. (#2333)TimelockController
: added a contract to augment access control schemes with a delay. (#2354)EnumerableSet
: added Bytes32Set
, for sets of bytes32
. (#2395)