From 3221b61a6a4486b71fec9663cf0c6798b8cc68fe Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Tue, 2 Mar 2021 16:14:25 -0300 Subject: [PATCH 1/2] Optimize constructor of ERC777 --- contracts/token/ERC777/ERC777.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/token/ERC777/ERC777.sol b/contracts/token/ERC777/ERC777.sol index 22021b1386b..5ef348ce46c 100644 --- a/contracts/token/ERC777/ERC777.sol +++ b/contracts/token/ERC777/ERC777.sol @@ -65,8 +65,8 @@ contract ERC777 is Context, IERC777, IERC20 { _symbol = symbol_; _defaultOperatorsArray = defaultOperators_; - for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) { - _defaultOperators[_defaultOperatorsArray[i]] = true; + for (uint256 i = 0; i < defaultOperators_.length; i++) { + _defaultOperators[defaultOperators_[i]] = true; } // register interfaces From fbd7bd79a71d6048fc067050e0e12d206df0ca9d Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Tue, 2 Mar 2021 16:22:20 -0300 Subject: [PATCH 2/2] add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3cfbba5bfc..c716c328df6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * Overall reorganisation of the contract folder to improve clarity and discoverability. ([#2503](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2503)) * `ERC20Capped`: optimize gas usage of by enforcing te check directly in `_mint`. ([#2524](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2524)) * Rename `UpgradeableProxy` to `ERC1967Proxy`. ([#2547](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2547)) + * `ERC777`: Optimize the gas costs of the constructor. ([#2551](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2551)) ### How to upgrade from 3.x