From ea90cd62cd4000c59c7f705fb362d7096842a021 Mon Sep 17 00:00:00 2001 From: Daniel Von Fange Date: Fri, 24 Jun 2022 12:44:34 -0400 Subject: [PATCH] Update GovernorCompatibilityBravo.sol GovernorCompatibilityBravo.sol contains two `using` statements which are not used inside that contract. ```javascript using Counters for Counters.Counter; using Timers for Timers.BlockNumber; ``` [Since Solidity 0.7.0](https://docs.soliditylang.org/en/latest/070-breaking-changes.html#functions-and-events), `using` statements no longer affect downstream contracts in inheritance hierarchy. > `using A for B` only affects the contract it is mentioned in. Previously, the effect was inherited. Now, you have to repeat the `using` statement in all derived contracts that make use of the feature. Since these statements are not used inside this contract, and cannot affect anything upstream or downstream of them inheritance, they should be safe to remove. --- .../governance/compatibility/GovernorCompatibilityBravo.sol | 4 ---- 1 file changed, 4 deletions(-) diff --git a/contracts/governance/compatibility/GovernorCompatibilityBravo.sol b/contracts/governance/compatibility/GovernorCompatibilityBravo.sol index 510ff548d67..f54c62c6683 100644 --- a/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +++ b/contracts/governance/compatibility/GovernorCompatibilityBravo.sol @@ -3,7 +3,6 @@ pragma solidity ^0.8.0; -import "../../utils/Counters.sol"; import "../../utils/math/SafeCast.sol"; import "../extensions/IGovernorTimelock.sol"; import "../Governor.sol"; @@ -20,9 +19,6 @@ import "./IGovernorCompatibilityBravo.sol"; * _Available since v4.3._ */ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorCompatibilityBravo, Governor { - using Counters for Counters.Counter; - using Timers for Timers.BlockNumber; - enum VoteType { Against, For,