From 93d990c6530ba1038854490caf7b80c24391229e Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Tue, 2 Mar 2021 17:29:05 -0300 Subject: [PATCH] Optimize constructor of ERC777 (#2551) (cherry picked from commit 62af16b9f258983b6451b415f28bc3d39c3af22c) --- CHANGELOG.md | 1 + contracts/token/ERC777/ERC777.sol | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3903fb65c..73bed1280 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 diff --git a/contracts/token/ERC777/ERC777.sol b/contracts/token/ERC777/ERC777.sol index 22021b138..5ef348ce4 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