Browse Source

Transpile 2d97b6b4

github-actions 3 years ago
parent
commit
45a0351c6e
100 changed files with 657 additions and 240 deletions
  1. 3 2
      .github/workflows/docs.yml
  2. 6 4
      contracts/access/AccessControlEnumerableUpgradeable.sol
  3. 6 3
      contracts/access/AccessControlUpgradeable.sol
  4. 6 1
      contracts/access/OwnableUpgradeable.sol
  5. 6 1
      contracts/finance/PaymentSplitterUpgradeable.sol
  6. 6 1
      contracts/finance/VestingWalletUpgradeable.sol
  7. 6 3
      contracts/governance/GovernorUpgradeable.sol
  8. 6 1
      contracts/governance/IGovernorUpgradeable.sol
  9. 6 3
      contracts/governance/TimelockControllerUpgradeable.sol
  10. 6 6
      contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol
  11. 6 2
      contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol
  12. 6 4
      contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol
  13. 6 3
      contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol
  14. 6 4
      contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol
  15. 6 3
      contracts/governance/extensions/GovernorSettingsUpgradeable.sol
  16. 6 4
      contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol
  17. 6 4
      contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol
  18. 6 3
      contracts/governance/extensions/GovernorVotesCompUpgradeable.sol
  19. 6 3
      contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol
  20. 6 3
      contracts/governance/extensions/GovernorVotesUpgradeable.sol
  21. 6 2
      contracts/governance/extensions/IGovernorTimelockUpgradeable.sol
  22. 6 2
      contracts/governance/utils/VotesUpgradeable.sol
  23. 6 0
      contracts/metatx/ERC2771ContextUpgradeable.sol
  24. 6 1
      contracts/metatx/MinimalForwarderUpgradeable.sol
  25. 6 4
      contracts/mocks/AccessControlEnumerableMockUpgradeable.sol
  26. 6 3
      contracts/mocks/AccessControlMockUpgradeable.sol
  27. 6 1
      contracts/mocks/AddressImplUpgradeable.sol
  28. 6 0
      contracts/mocks/ArraysImplUpgradeable.sol
  29. 12 2
      contracts/mocks/BadBeaconUpgradeable.sol
  30. 6 1
      contracts/mocks/Base64MockUpgradeable.sol
  31. 6 1
      contracts/mocks/BitmapMockUpgradeable.sol
  32. 6 1
      contracts/mocks/CallReceiverMockUpgradeable.sol
  33. 6 1
      contracts/mocks/CheckpointsImplUpgradeable.sol
  34. 6 1
      contracts/mocks/ClashingImplementationUpgradeable.sol
  35. 6 1
      contracts/mocks/ClonesMockUpgradeable.sol
  36. 6 4
      contracts/mocks/ConditionalEscrowMockUpgradeable.sol
  37. 12 3
      contracts/mocks/ContextMockUpgradeable.sol
  38. 6 1
      contracts/mocks/CountersImplUpgradeable.sol
  39. 6 1
      contracts/mocks/Create2ImplUpgradeable.sol
  40. 18 4
      contracts/mocks/DummyImplementationUpgradeable.sol
  41. 6 1
      contracts/mocks/ECDSAMockUpgradeable.sol
  42. 6 1
      contracts/mocks/EIP712ExternalUpgradeable.sol
  43. 6 4
      contracts/mocks/ERC1155BurnableMockUpgradeable.sol
  44. 6 3
      contracts/mocks/ERC1155MockUpgradeable.sol
  45. 6 4
      contracts/mocks/ERC1155PausableMockUpgradeable.sol
  46. 6 1
      contracts/mocks/ERC1155ReceiverMockUpgradeable.sol
  47. 6 4
      contracts/mocks/ERC1155SupplyMockUpgradeable.sol
  48. 6 1
      contracts/mocks/ERC1271WalletMockUpgradeable.sol
  49. 12 0
      contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol
  50. 6 1
      contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol
  51. 6 1
      contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol
  52. 6 1
      contracts/mocks/ERC165CheckerMockUpgradeable.sol
  53. 6 2
      contracts/mocks/ERC165MockUpgradeable.sol
  54. 6 3
      contracts/mocks/ERC165StorageMockUpgradeable.sol
  55. 6 2
      contracts/mocks/ERC1820ImplementerMockUpgradeable.sol
  56. 6 2
      contracts/mocks/ERC20BurnableMockUpgradeable.sol
  57. 6 2
      contracts/mocks/ERC20CappedMockUpgradeable.sol
  58. 6 1
      contracts/mocks/ERC20DecimalsMockUpgradeable.sol
  59. 6 2
      contracts/mocks/ERC20FlashMintMockUpgradeable.sol
  60. 6 1
      contracts/mocks/ERC20MockUpgradeable.sol
  61. 6 2
      contracts/mocks/ERC20PausableMockUpgradeable.sol
  62. 6 1
      contracts/mocks/ERC20PermitMockUpgradeable.sol
  63. 6 2
      contracts/mocks/ERC20SnapshotMockUpgradeable.sol
  64. 6 4
      contracts/mocks/ERC20VotesCompMockUpgradeable.sol
  65. 6 3
      contracts/mocks/ERC20VotesMockUpgradeable.sol
  66. 6 2
      contracts/mocks/ERC20WrapperMockUpgradeable.sol
  67. 6 0
      contracts/mocks/ERC2771ContextMockUpgradeable.sol
  68. 6 0
      contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol
  69. 6 4
      contracts/mocks/ERC721BurnableMockUpgradeable.sol
  70. 6 4
      contracts/mocks/ERC721EnumerableMockUpgradeable.sol
  71. 6 3
      contracts/mocks/ERC721MockUpgradeable.sol
  72. 6 4
      contracts/mocks/ERC721PausableMockUpgradeable.sol
  73. 6 0
      contracts/mocks/ERC721ReceiverMockUpgradeable.sol
  74. 6 5
      contracts/mocks/ERC721RoyaltyMockUpgradeable.sol
  75. 6 4
      contracts/mocks/ERC721URIStorageMockUpgradeable.sol
  76. 6 5
      contracts/mocks/ERC721VotesMockUpgradeable.sol
  77. 6 1
      contracts/mocks/ERC777MockUpgradeable.sol
  78. 6 2
      contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol
  79. 6 1
      contracts/mocks/EnumerableMapMockUpgradeable.sol
  80. 18 3
      contracts/mocks/EnumerableSetMockUpgradeable.sol
  81. 6 1
      contracts/mocks/EtherReceiverMockUpgradeable.sol
  82. 6 5
      contracts/mocks/GovernorCompMockUpgradeable.sol
  83. 6 7
      contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol
  84. 6 6
      contracts/mocks/GovernorMockUpgradeable.sol
  85. 6 4
      contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol
  86. 6 6
      contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol
  87. 6 6
      contracts/mocks/GovernorTimelockControlMockUpgradeable.sol
  88. 6 5
      contracts/mocks/GovernorVoteMockUpgradeable.sol
  89. 6 1
      contracts/mocks/MathMockUpgradeable.sol
  90. 6 1
      contracts/mocks/MerkleProofWrapperUpgradeable.sol
  91. 6 1
      contracts/mocks/MulticallTestUpgradeable.sol
  92. 6 3
      contracts/mocks/MulticallTokenMockUpgradeable.sol
  93. 6 2
      contracts/mocks/OwnableMockUpgradeable.sol
  94. 6 1
      contracts/mocks/PausableMockUpgradeable.sol
  95. 6 1
      contracts/mocks/PullPaymentMockUpgradeable.sol
  96. 6 2
      contracts/mocks/ReentrancyAttackUpgradeable.sol
  97. 6 0
      contracts/mocks/ReentrancyMockUpgradeable.sol
  98. 6 1
      contracts/mocks/SafeCastMockUpgradeable.sol
  99. 24 7
      contracts/mocks/SafeERC20HelperUpgradeable.sol
  100. 6 1
      contracts/mocks/SafeMathMockUpgradeable.sol

+ 3 - 2
.github/workflows/docs.yml

@@ -1,10 +1,11 @@
 name: Build Docs
 
 on:
-  push: release-v*
+  push:
+    branches: [release-v*]
 
 jobs:
-  trigger:
+  build:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v2

+ 6 - 4
contracts/access/AccessControlEnumerableUpgradeable.sol

@@ -13,10 +13,6 @@ import "../proxy/utils/Initializable.sol";
  */
 abstract contract AccessControlEnumerableUpgradeable is Initializable, IAccessControlEnumerableUpgradeable, AccessControlUpgradeable {
     function __AccessControlEnumerable_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __AccessControl_init_unchained();
-        __AccessControlEnumerable_init_unchained();
     }
 
     function __AccessControlEnumerable_init_unchained() internal onlyInitializing {
@@ -71,5 +67,11 @@ abstract contract AccessControlEnumerableUpgradeable is Initializable, IAccessCo
         super._revokeRole(role, account);
         _roleMembers[role].remove(account);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 3
contracts/access/AccessControlUpgradeable.sol

@@ -49,9 +49,6 @@ import "../proxy/utils/Initializable.sol";
  */
 abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, IAccessControlUpgradeable, ERC165Upgradeable {
     function __AccessControl_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __AccessControl_init_unchained();
     }
 
     function __AccessControl_init_unchained() internal onlyInitializing {
@@ -229,5 +226,11 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable,
             emit RoleRevoked(role, account, _msgSender());
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/access/OwnableUpgradeable.sol

@@ -27,7 +27,6 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
      * @dev Initializes the contract setting the deployer as the initial owner.
      */
     function __Ownable_init() internal onlyInitializing {
-        __Context_init_unchained();
         __Ownable_init_unchained();
     }
 
@@ -79,5 +78,11 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
         _owner = newOwner;
         emit OwnershipTransferred(oldOwner, newOwner);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/finance/PaymentSplitterUpgradeable.sol

@@ -49,7 +49,6 @@ contract PaymentSplitterUpgradeable is Initializable, ContextUpgradeable {
      * duplicates in `payees`.
      */
     function __PaymentSplitter_init(address[] memory payees, uint256[] memory shares_) internal onlyInitializing {
-        __Context_init_unchained();
         __PaymentSplitter_init_unchained(payees, shares_);
     }
 
@@ -192,5 +191,11 @@ contract PaymentSplitterUpgradeable is Initializable, ContextUpgradeable {
         _totalShares = _totalShares + shares_;
         emit PayeeAdded(account, shares_);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[43] private __gap;
 }

+ 6 - 1
contracts/finance/VestingWalletUpgradeable.sol

@@ -36,7 +36,6 @@ contract VestingWalletUpgradeable is Initializable, ContextUpgradeable {
         uint64 startTimestamp,
         uint64 durationSeconds
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __VestingWallet_init_unchained(beneficiaryAddress, startTimestamp, durationSeconds);
     }
 
@@ -142,5 +141,11 @@ contract VestingWalletUpgradeable is Initializable, ContextUpgradeable {
             return (totalAllocation * (timestamp - start())) / duration();
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 3
contracts/governance/GovernorUpgradeable.sol

@@ -54,10 +54,7 @@ abstract contract GovernorUpgradeable is Initializable, ContextUpgradeable, ERC1
      * @dev Sets the value for {name} and {version}
      */
     function __Governor_init(string memory name_) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
         __Governor_init_unchained(name_);
     }
 
@@ -390,5 +387,11 @@ abstract contract GovernorUpgradeable is Initializable, ContextUpgradeable, ERC1
     function _executor() internal view virtual returns (address) {
         return address(this);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 1
contracts/governance/IGovernorUpgradeable.sol

@@ -13,7 +13,6 @@ import "../proxy/utils/Initializable.sol";
  */
 abstract contract IGovernorUpgradeable is Initializable, IERC165Upgradeable {
     function __IGovernor_init() internal onlyInitializing {
-        __IGovernor_init_unchained();
     }
 
     function __IGovernor_init_unchained() internal onlyInitializing {
@@ -222,5 +221,11 @@ abstract contract IGovernorUpgradeable is Initializable, IERC165Upgradeable {
         bytes32 r,
         bytes32 s
     ) public virtual returns (uint256 balance);
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/governance/TimelockControllerUpgradeable.sol

@@ -66,9 +66,6 @@ contract TimelockControllerUpgradeable is Initializable, AccessControlUpgradeabl
         address[] memory proposers,
         address[] memory executors
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __AccessControl_init_unchained();
         __TimelockController_init_unchained(minDelay, proposers, executors);
     }
 
@@ -362,5 +359,11 @@ contract TimelockControllerUpgradeable is Initializable, AccessControlUpgradeabl
         emit MinDelayChange(_minDelay, newDelay);
         _minDelay = newDelay;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 6
contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol

@@ -22,12 +22,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract GovernorCompatibilityBravoUpgradeable is Initializable, IGovernorTimelockUpgradeable, IGovernorCompatibilityBravoUpgradeable, GovernorUpgradeable {
     function __GovernorCompatibilityBravo_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
-        __IGovernorCompatibilityBravo_init_unchained();
-        __GovernorCompatibilityBravo_init_unchained();
     }
 
     function __GovernorCompatibilityBravo_init_unchained() internal onlyInitializing {
@@ -297,5 +291,11 @@ abstract contract GovernorCompatibilityBravoUpgradeable is Initializable, IGover
             revert("GovernorCompatibilityBravo: invalid vote type");
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 2
contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol

@@ -13,8 +13,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract IGovernorCompatibilityBravoUpgradeable is Initializable, IGovernorUpgradeable {
     function __IGovernorCompatibilityBravo_init() internal onlyInitializing {
-        __IGovernor_init_unchained();
-        __IGovernorCompatibilityBravo_init_unchained();
     }
 
     function __IGovernorCompatibilityBravo_init_unchained() internal onlyInitializing {
@@ -119,5 +117,11 @@ abstract contract IGovernorCompatibilityBravoUpgradeable is Initializable, IGove
      * @dev Part of the Governor Bravo's interface: _"Gets the receipt for a voter on a given proposal"_.
      */
     function getReceipt(uint256 proposalId, address voter) public view virtual returns (Receipt memory);
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol

@@ -13,10 +13,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract GovernorCountingSimpleUpgradeable is Initializable, GovernorUpgradeable {
     function __GovernorCountingSimple_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
-        __GovernorCountingSimple_init_unchained();
     }
 
     function __GovernorCountingSimple_init_unchained() internal onlyInitializing {
@@ -113,5 +109,11 @@ abstract contract GovernorCountingSimpleUpgradeable is Initializable, GovernorUp
             revert("GovernorVotingSimple: invalid value for enum VoteType");
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 3
contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol

@@ -37,9 +37,6 @@ abstract contract GovernorPreventLateQuorumUpgradeable is Initializable, Governo
      * at proposal creation.
      */
     function __GovernorPreventLateQuorum_init(uint64 initialVoteExtension) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
         __GovernorPreventLateQuorum_init_unchained(initialVoteExtension);
     }
 
@@ -112,5 +109,11 @@ abstract contract GovernorPreventLateQuorumUpgradeable is Initializable, Governo
         emit LateQuorumVoteExtensionSet(_voteExtension, newVoteExtension);
         _voteExtension = newVoteExtension;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 4
contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol

@@ -14,10 +14,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract GovernorProposalThresholdUpgradeable is Initializable, GovernorUpgradeable {
     function __GovernorProposalThreshold_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
-        __GovernorProposalThreshold_init_unchained();
     }
 
     function __GovernorProposalThreshold_init_unchained() internal onlyInitializing {
@@ -30,5 +26,11 @@ abstract contract GovernorProposalThresholdUpgradeable is Initializable, Governo
     ) public virtual override returns (uint256) {
         return super.propose(targets, values, calldatas, description);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/governance/extensions/GovernorSettingsUpgradeable.sol

@@ -28,9 +28,6 @@ abstract contract GovernorSettingsUpgradeable is Initializable, GovernorUpgradea
         uint256 initialVotingPeriod,
         uint256 initialProposalThreshold
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
         __GovernorSettings_init_unchained(initialVotingDelay, initialVotingPeriod, initialProposalThreshold);
     }
 
@@ -123,5 +120,11 @@ abstract contract GovernorSettingsUpgradeable is Initializable, GovernorUpgradea
         emit ProposalThresholdSet(_proposalThreshold, newProposalThreshold);
         _proposalThreshold = newProposalThreshold;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[47] private __gap;
 }

+ 6 - 4
contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol

@@ -95,10 +95,6 @@ abstract contract GovernorTimelockCompoundUpgradeable is Initializable, IGoverno
      * @dev Set the timelock.
      */
     function __GovernorTimelockCompound_init(ICompoundTimelockUpgradeable timelockAddress) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
         __GovernorTimelockCompound_init_unchained(timelockAddress);
     }
 
@@ -250,5 +246,11 @@ abstract contract GovernorTimelockCompoundUpgradeable is Initializable, IGoverno
         emit TimelockChange(address(_timelock), address(newTimelock));
         _timelock = newTimelock;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 4
contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol

@@ -36,10 +36,6 @@ abstract contract GovernorTimelockControlUpgradeable is Initializable, IGovernor
      * @dev Set the timelock.
      */
     function __GovernorTimelockControl_init(TimelockControllerUpgradeable timelockAddress) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
         __GovernorTimelockControl_init_unchained(timelockAddress);
     }
 
@@ -166,5 +162,11 @@ abstract contract GovernorTimelockControlUpgradeable is Initializable, IGovernor
         emit TimelockChange(address(_timelock), address(newTimelock));
         _timelock = newTimelock;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 3
contracts/governance/extensions/GovernorVotesCompUpgradeable.sol

@@ -16,9 +16,6 @@ abstract contract GovernorVotesCompUpgradeable is Initializable, GovernorUpgrade
     ERC20VotesCompUpgradeable public token;
 
     function __GovernorVotesComp_init(ERC20VotesCompUpgradeable token_) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
         __GovernorVotesComp_init_unchained(token_);
     }
 
@@ -32,5 +29,11 @@ abstract contract GovernorVotesCompUpgradeable is Initializable, GovernorUpgrade
     function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {
         return token.getPriorVotes(account, blockNumber);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol

@@ -18,9 +18,6 @@ abstract contract GovernorVotesQuorumFractionUpgradeable is Initializable, Gover
     event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);
 
     function __GovernorVotesQuorumFraction_init(uint256 quorumNumeratorValue) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
         __GovernorVotesQuorumFraction_init_unchained(quorumNumeratorValue);
     }
 
@@ -55,5 +52,11 @@ abstract contract GovernorVotesQuorumFractionUpgradeable is Initializable, Gover
 
         emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 3
contracts/governance/extensions/GovernorVotesUpgradeable.sol

@@ -16,9 +16,6 @@ abstract contract GovernorVotesUpgradeable is Initializable, GovernorUpgradeable
     IVotesUpgradeable public token;
 
     function __GovernorVotes_init(IVotesUpgradeable tokenAddress) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __IGovernor_init_unchained();
         __GovernorVotes_init_unchained(tokenAddress);
     }
 
@@ -32,5 +29,11 @@ abstract contract GovernorVotesUpgradeable is Initializable, GovernorUpgradeable
     function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {
         return token.getPastVotes(account, blockNumber);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/governance/extensions/IGovernorTimelockUpgradeable.sol

@@ -13,8 +13,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract IGovernorTimelockUpgradeable is Initializable, IGovernorUpgradeable {
     function __IGovernorTimelock_init() internal onlyInitializing {
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
     }
 
     function __IGovernorTimelock_init_unchained() internal onlyInitializing {
@@ -31,5 +29,11 @@ abstract contract IGovernorTimelockUpgradeable is Initializable, IGovernorUpgrad
         bytes[] memory calldatas,
         bytes32 descriptionHash
     ) public virtual returns (uint256 proposalId);
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/governance/utils/VotesUpgradeable.sol

@@ -31,8 +31,6 @@ import "../../proxy/utils/Initializable.sol";
  */
 abstract contract VotesUpgradeable is Initializable, IVotesUpgradeable, ContextUpgradeable, EIP712Upgradeable {
     function __Votes_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __Votes_init_unchained();
     }
 
     function __Votes_init_unchained() internal onlyInitializing {
@@ -216,5 +214,11 @@ abstract contract VotesUpgradeable is Initializable, IVotesUpgradeable, ContextU
      * @dev Must return the voting units held by an account.
      */
     function _getVotingUnits(address) internal virtual returns (uint256);
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[46] private __gap;
 }

+ 6 - 0
contracts/metatx/ERC2771ContextUpgradeable.sol

@@ -40,5 +40,11 @@ abstract contract ERC2771ContextUpgradeable is Initializable, ContextUpgradeable
             return super._msgData();
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/metatx/MinimalForwarderUpgradeable.sol

@@ -29,7 +29,6 @@ contract MinimalForwarderUpgradeable is Initializable, EIP712Upgradeable {
 
     function __MinimalForwarder_init() internal onlyInitializing {
         __EIP712_init_unchained("MinimalForwarder", "0.0.1");
-        __MinimalForwarder_init_unchained();
     }
 
     function __MinimalForwarder_init_unchained() internal onlyInitializing {}
@@ -70,5 +69,11 @@ contract MinimalForwarderUpgradeable is Initializable, EIP712Upgradeable {
 
         return (success, returndata);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 4
contracts/mocks/AccessControlEnumerableMockUpgradeable.sol

@@ -7,10 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract AccessControlEnumerableMockUpgradeable is Initializable, AccessControlEnumerableUpgradeable {
     function __AccessControlEnumerableMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __AccessControl_init_unchained();
-        __AccessControlEnumerable_init_unchained();
         __AccessControlEnumerableMock_init_unchained();
     }
 
@@ -23,5 +19,11 @@ contract AccessControlEnumerableMockUpgradeable is Initializable, AccessControlE
     }
 
     function senderProtected(bytes32 roleId) public onlyRole(roleId) {}
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/mocks/AccessControlMockUpgradeable.sol

@@ -7,9 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract AccessControlMockUpgradeable is Initializable, AccessControlUpgradeable {
     function __AccessControlMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __AccessControl_init_unchained();
         __AccessControlMock_init_unchained();
     }
 
@@ -22,5 +19,11 @@ contract AccessControlMockUpgradeable is Initializable, AccessControlUpgradeable
     }
 
     function senderProtected(bytes32 roleId) public onlyRole(roleId) {}
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/AddressImplUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract AddressImplUpgradeable is Initializable {
     function __AddressImpl_init() internal onlyInitializing {
-        __AddressImpl_init_unchained();
     }
 
     function __AddressImpl_init_unchained() internal onlyInitializing {
@@ -45,5 +44,11 @@ contract AddressImplUpgradeable is Initializable {
 
     // sendValue's tests require the contract to hold Ether
     receive() external payable {}
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 0
contracts/mocks/ArraysImplUpgradeable.sol

@@ -21,5 +21,11 @@ contract ArraysImplUpgradeable is Initializable {
     function findUpperBound(uint256 element) external view returns (uint256) {
         return _array.findUpperBound(element);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 12 - 2
contracts/mocks/BadBeaconUpgradeable.sol

@@ -4,17 +4,21 @@ pragma solidity ^0.8.0;
 import "../proxy/utils/Initializable.sol";
 
 contract BadBeaconNoImplUpgradeable is Initializable {    function __BadBeaconNoImpl_init() internal onlyInitializing {
-        __BadBeaconNoImpl_init_unchained();
     }
 
     function __BadBeaconNoImpl_init_unchained() internal onlyInitializing {
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }
 
 contract BadBeaconNotContractUpgradeable is Initializable {
     function __BadBeaconNotContract_init() internal onlyInitializing {
-        __BadBeaconNotContract_init_unchained();
     }
 
     function __BadBeaconNotContract_init_unchained() internal onlyInitializing {
@@ -22,5 +26,11 @@ contract BadBeaconNotContractUpgradeable is Initializable {
     function implementation() external pure returns (address) {
         return address(0x1);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/Base64MockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract Base64MockUpgradeable is Initializable {
     function __Base64Mock_init() internal onlyInitializing {
-        __Base64Mock_init_unchained();
     }
 
     function __Base64Mock_init_unchained() internal onlyInitializing {
@@ -15,5 +14,11 @@ contract Base64MockUpgradeable is Initializable {
     function encode(bytes memory value) external pure returns (string memory) {
         return Base64Upgradeable.encode(value);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/BitmapMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract BitMapMockUpgradeable is Initializable {
     function __BitMapMock_init() internal onlyInitializing {
-        __BitMapMock_init_unchained();
     }
 
     function __BitMapMock_init_unchained() internal onlyInitializing {
@@ -31,5 +30,11 @@ contract BitMapMockUpgradeable is Initializable {
     function unset(uint256 index) public {
         _bitmap.unset(index);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/CallReceiverMockUpgradeable.sol

@@ -5,7 +5,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract CallReceiverMockUpgradeable is Initializable {
     function __CallReceiverMock_init() internal onlyInitializing {
-        __CallReceiverMock_init_unchained();
     }
 
     function __CallReceiverMock_init_unchained() internal onlyInitializing {
@@ -61,5 +60,11 @@ contract CallReceiverMockUpgradeable is Initializable {
         sharedAnswer = "42";
         return "0x1234";
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 1
contracts/mocks/CheckpointsImplUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract CheckpointsImplUpgradeable is Initializable {
     function __CheckpointsImpl_init() internal onlyInitializing {
-        __CheckpointsImpl_init_unchained();
     }
 
     function __CheckpointsImpl_init_unchained() internal onlyInitializing {
@@ -27,5 +26,11 @@ contract CheckpointsImplUpgradeable is Initializable {
     function push(uint256 value) public returns (uint256, uint256) {
         return _totalCheckpoints.push(value);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/ClashingImplementationUpgradeable.sol

@@ -10,7 +10,6 @@ import "../proxy/utils/Initializable.sol";
  */
 contract ClashingImplementationUpgradeable is Initializable {
     function __ClashingImplementation_init() internal onlyInitializing {
-        __ClashingImplementation_init_unchained();
     }
 
     function __ClashingImplementation_init_unchained() internal onlyInitializing {
@@ -22,5 +21,11 @@ contract ClashingImplementationUpgradeable is Initializable {
     function delegatedFunction() external pure returns (bool) {
         return true;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ClonesMockUpgradeable.sol

@@ -8,7 +8,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ClonesMockUpgradeable is Initializable {
     function __ClonesMock_init() internal onlyInitializing {
-        __ClonesMock_init_unchained();
     }
 
     function __ClonesMock_init_unchained() internal onlyInitializing {
@@ -40,5 +39,11 @@ contract ClonesMockUpgradeable is Initializable {
         }
         emit NewInstance(instance);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ConditionalEscrowMockUpgradeable.sol

@@ -8,11 +8,7 @@ import "../proxy/utils/Initializable.sol";
 // mock class using ConditionalEscrow
 contract ConditionalEscrowMockUpgradeable is Initializable, ConditionalEscrowUpgradeable {
     function __ConditionalEscrowMock_init() internal onlyInitializing {
-        __Context_init_unchained();
         __Ownable_init_unchained();
-        __Escrow_init_unchained();
-        __ConditionalEscrow_init_unchained();
-        __ConditionalEscrowMock_init_unchained();
     }
 
     function __ConditionalEscrowMock_init_unchained() internal onlyInitializing {
@@ -26,5 +22,11 @@ contract ConditionalEscrowMockUpgradeable is Initializable, ConditionalEscrowUpg
     function withdrawalAllowed(address payee) public view override returns (bool) {
         return _allowed[payee];
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 12 - 3
contracts/mocks/ContextMockUpgradeable.sol

@@ -7,8 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ContextMockUpgradeable is Initializable, ContextUpgradeable {
     function __ContextMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ContextMock_init_unchained();
     }
 
     function __ContextMock_init_unchained() internal onlyInitializing {
@@ -24,12 +22,17 @@ contract ContextMockUpgradeable is Initializable, ContextUpgradeable {
     function msgData(uint256 integerValue, string memory stringValue) public {
         emit Data(_msgData(), integerValue, stringValue);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }
 
 contract ContextMockCallerUpgradeable is Initializable {
     function __ContextMockCaller_init() internal onlyInitializing {
-        __ContextMockCaller_init_unchained();
     }
 
     function __ContextMockCaller_init_unchained() internal onlyInitializing {
@@ -45,5 +48,11 @@ contract ContextMockCallerUpgradeable is Initializable {
     ) public {
         context.msgData(integerValue, stringValue);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/CountersImplUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract CountersImplUpgradeable is Initializable {
     function __CountersImpl_init() internal onlyInitializing {
-        __CountersImpl_init_unchained();
     }
 
     function __CountersImpl_init_unchained() internal onlyInitializing {
@@ -31,5 +30,11 @@ contract CountersImplUpgradeable is Initializable {
     function reset() public {
         _counter.reset();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/Create2ImplUpgradeable.sol

@@ -8,7 +8,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract Create2ImplUpgradeable is Initializable {
     function __Create2Impl_init() internal onlyInitializing {
-        __Create2Impl_init_unchained();
     }
 
     function __Create2Impl_init_unchained() internal onlyInitializing {
@@ -38,5 +37,11 @@ contract Create2ImplUpgradeable is Initializable {
     }
 
     receive() external payable {}
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 18 - 4
contracts/mocks/DummyImplementationUpgradeable.sol

@@ -5,18 +5,22 @@ import "../proxy/utils/Initializable.sol";
 
 abstract contract ImplUpgradeable is Initializable {
     function __Impl_init() internal onlyInitializing {
-        __Impl_init_unchained();
     }
 
     function __Impl_init_unchained() internal onlyInitializing {
     }
     function version() public pure virtual returns (string memory);
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }
 
 contract DummyImplementationUpgradeable is Initializable {
     function __DummyImplementation_init() internal onlyInitializing {
-        __DummyImplementation_init_unchained();
     }
 
     function __DummyImplementation_init_unchained() internal onlyInitializing {
@@ -62,13 +66,17 @@ contract DummyImplementationUpgradeable is Initializable {
     function reverts() public pure {
         require(false, "DummyImplementation reverted");
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[47] private __gap;
 }
 
 contract DummyImplementationV2Upgradeable is Initializable, DummyImplementationUpgradeable {
     function __DummyImplementationV2_init() internal onlyInitializing {
-        __DummyImplementation_init_unchained();
-        __DummyImplementationV2_init_unchained();
     }
 
     function __DummyImplementationV2_init_unchained() internal onlyInitializing {
@@ -80,5 +88,11 @@ contract DummyImplementationV2Upgradeable is Initializable, DummyImplementationU
     function version() public pure override returns (string memory) {
         return "V2";
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ECDSAMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ECDSAMockUpgradeable is Initializable {
     function __ECDSAMock_init() internal onlyInitializing {
-        __ECDSAMock_init_unchained();
     }
 
     function __ECDSAMock_init_unchained() internal onlyInitializing {
@@ -45,5 +44,11 @@ contract ECDSAMockUpgradeable is Initializable {
     function toEthSignedMessageHash(bytes memory s) public pure returns (bytes32) {
         return s.toEthSignedMessageHash();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/EIP712ExternalUpgradeable.sol

@@ -9,7 +9,6 @@ import "../proxy/utils/Initializable.sol";
 contract EIP712ExternalUpgradeable is Initializable, EIP712Upgradeable {
     function __EIP712External_init(string memory name, string memory version) internal onlyInitializing {
         __EIP712_init_unchained(name, version);
-        __EIP712External_init_unchained(name, version);
     }
 
     function __EIP712External_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -34,5 +33,11 @@ contract EIP712ExternalUpgradeable is Initializable, EIP712Upgradeable {
     function getChainId() external view returns (uint256) {
         return block.chainid;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC1155BurnableMockUpgradeable.sol

@@ -7,11 +7,7 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC1155BurnableMockUpgradeable is Initializable, ERC1155BurnableUpgradeable {
     function __ERC1155BurnableMock_init(string memory uri) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC1155_init_unchained(uri);
-        __ERC1155Burnable_init_unchained();
-        __ERC1155BurnableMock_init_unchained(uri);
     }
 
     function __ERC1155BurnableMock_init_unchained(string memory) internal onlyInitializing {}
@@ -24,5 +20,11 @@ contract ERC1155BurnableMockUpgradeable is Initializable, ERC1155BurnableUpgrade
     ) public {
         _mint(to, id, value, data);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/mocks/ERC1155MockUpgradeable.sol

@@ -11,10 +11,7 @@ import "../proxy/utils/Initializable.sol";
  */
 contract ERC1155MockUpgradeable is Initializable, ERC1155Upgradeable {
     function __ERC1155Mock_init(string memory uri) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC1155_init_unchained(uri);
-        __ERC1155Mock_init_unchained(uri);
     }
 
     function __ERC1155Mock_init_unchained(string memory) internal onlyInitializing {}
@@ -56,5 +53,11 @@ contract ERC1155MockUpgradeable is Initializable, ERC1155Upgradeable {
     ) public {
         _burnBatch(owner, ids, values);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC1155PausableMockUpgradeable.sol

@@ -8,13 +8,9 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC1155PausableMockUpgradeable is Initializable, ERC1155MockUpgradeable, ERC1155PausableUpgradeable {
     function __ERC1155PausableMock_init(string memory uri) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC1155_init_unchained(uri);
         __ERC1155Mock_init_unchained(uri);
         __Pausable_init_unchained();
-        __ERC1155Pausable_init_unchained();
-        __ERC1155PausableMock_init_unchained(uri);
     }
 
     function __ERC1155PausableMock_init_unchained(string memory) internal onlyInitializing {}
@@ -37,5 +33,11 @@ contract ERC1155PausableMockUpgradeable is Initializable, ERC1155MockUpgradeable
     ) internal virtual override(ERC1155Upgradeable, ERC1155PausableUpgradeable) {
         super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC1155ReceiverMockUpgradeable.sol

@@ -21,7 +21,6 @@ contract ERC1155ReceiverMockUpgradeable is Initializable, ERC165Upgradeable, IER
         bytes4 batRetval,
         bool batReverts
     ) internal onlyInitializing {
-        __ERC165_init_unchained();
         __ERC1155ReceiverMock_init_unchained(recRetval, recReverts, batRetval, batReverts);
     }
 
@@ -60,5 +59,11 @@ contract ERC1155ReceiverMockUpgradeable is Initializable, ERC165Upgradeable, IER
         emit BatchReceived(operator, from, ids, values, data, gasleft());
         return _batRetval;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC1155SupplyMockUpgradeable.sol

@@ -8,12 +8,8 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC1155SupplyMockUpgradeable is Initializable, ERC1155MockUpgradeable, ERC1155SupplyUpgradeable {
     function __ERC1155SupplyMock_init(string memory uri) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC1155_init_unchained(uri);
         __ERC1155Mock_init_unchained(uri);
-        __ERC1155Supply_init_unchained();
-        __ERC1155SupplyMock_init_unchained(uri);
     }
 
     function __ERC1155SupplyMock_init_unchained(string memory) internal onlyInitializing {}
@@ -28,5 +24,11 @@ contract ERC1155SupplyMockUpgradeable is Initializable, ERC1155MockUpgradeable,
     ) internal virtual override(ERC1155Upgradeable, ERC1155SupplyUpgradeable) {
         super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC1271WalletMockUpgradeable.sol

@@ -9,7 +9,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC1271WalletMockUpgradeable is Initializable, OwnableUpgradeable, IERC1271Upgradeable {
     function __ERC1271WalletMock_init(address originalOwner) internal onlyInitializing {
-        __Context_init_unchained();
         __Ownable_init_unchained();
         __ERC1271WalletMock_init_unchained(originalOwner);
     }
@@ -21,5 +20,11 @@ contract ERC1271WalletMockUpgradeable is Initializable, OwnableUpgradeable, IERC
     function isValidSignature(bytes32 hash, bytes memory signature) public view override returns (bytes4 magicValue) {
         return ECDSAUpgradeable.recover(hash, signature) == owner() ? this.isValidSignature.selector : bytes4(0);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 12 - 0
contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol

@@ -52,6 +52,12 @@ contract SupportsInterfaceWithLookupMockUpgradeable is Initializable, IERC165Upg
         require(interfaceId != 0xffffffff, "ERC165InterfacesSupported: invalid interface id");
         _supportedInterfaces[interfaceId] = true;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }
 
@@ -66,5 +72,11 @@ contract ERC165InterfacesSupportedUpgradeable is Initializable, SupportsInterfac
             _registerInterface(interfaceIds[i]);
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol

@@ -5,11 +5,16 @@ import "../../proxy/utils/Initializable.sol";
 
 contract ERC165MissingDataUpgradeable is Initializable {
     function __ERC165MissingData_init() internal onlyInitializing {
-        __ERC165MissingData_init_unchained();
     }
 
     function __ERC165MissingData_init_unchained() internal onlyInitializing {
     }
     function supportsInterface(bytes4 interfaceId) public view {} // missing return
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol

@@ -4,10 +4,15 @@ pragma solidity ^0.8.0;
 import "../../proxy/utils/Initializable.sol";
 
 contract ERC165NotSupportedUpgradeable is Initializable {    function __ERC165NotSupported_init() internal onlyInitializing {
-        __ERC165NotSupported_init_unchained();
     }
 
     function __ERC165NotSupported_init_unchained() internal onlyInitializing {
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC165CheckerMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC165CheckerMockUpgradeable is Initializable {
     function __ERC165CheckerMock_init() internal onlyInitializing {
-        __ERC165CheckerMock_init_unchained();
     }
 
     function __ERC165CheckerMock_init_unchained() internal onlyInitializing {
@@ -29,5 +28,11 @@ contract ERC165CheckerMockUpgradeable is Initializable {
     function getSupportedInterfaces(address account, bytes4[] memory interfaceIds) public view returns (bool[] memory) {
         return account.getSupportedInterfaces(interfaceIds);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC165MockUpgradeable.sol

@@ -6,11 +6,15 @@ import "../utils/introspection/ERC165Upgradeable.sol";
 import "../proxy/utils/Initializable.sol";
 
 contract ERC165MockUpgradeable is Initializable, ERC165Upgradeable {    function __ERC165Mock_init() internal onlyInitializing {
-        __ERC165_init_unchained();
-        __ERC165Mock_init_unchained();
     }
 
     function __ERC165Mock_init_unchained() internal onlyInitializing {
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/mocks/ERC165StorageMockUpgradeable.sol

@@ -7,9 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC165StorageMockUpgradeable is Initializable, ERC165StorageUpgradeable {
     function __ERC165StorageMock_init() internal onlyInitializing {
-        __ERC165_init_unchained();
-        __ERC165Storage_init_unchained();
-        __ERC165StorageMock_init_unchained();
     }
 
     function __ERC165StorageMock_init_unchained() internal onlyInitializing {
@@ -17,5 +14,11 @@ contract ERC165StorageMockUpgradeable is Initializable, ERC165StorageUpgradeable
     function registerInterface(bytes4 interfaceId) public {
         _registerInterface(interfaceId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC1820ImplementerMockUpgradeable.sol

@@ -7,8 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC1820ImplementerMockUpgradeable is Initializable, ERC1820ImplementerUpgradeable {
     function __ERC1820ImplementerMock_init() internal onlyInitializing {
-        __ERC1820Implementer_init_unchained();
-        __ERC1820ImplementerMock_init_unchained();
     }
 
     function __ERC1820ImplementerMock_init_unchained() internal onlyInitializing {
@@ -16,5 +14,11 @@ contract ERC1820ImplementerMockUpgradeable is Initializable, ERC1820ImplementerU
     function registerInterfaceForAddress(bytes32 interfaceHash, address account) public {
         _registerInterfaceForAddress(interfaceHash, account);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20BurnableMockUpgradeable.sol

@@ -12,9 +12,7 @@ contract ERC20BurnableMockUpgradeable is Initializable, ERC20BurnableUpgradeable
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
-        __ERC20Burnable_init_unchained();
         __ERC20BurnableMock_init_unchained(name, symbol, initialAccount, initialBalance);
     }
 
@@ -26,5 +24,11 @@ contract ERC20BurnableMockUpgradeable is Initializable, ERC20BurnableUpgradeable
     ) internal onlyInitializing {
         _mint(initialAccount, initialBalance);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20CappedMockUpgradeable.sol

@@ -11,10 +11,8 @@ contract ERC20CappedMockUpgradeable is Initializable, ERC20CappedUpgradeable {
         string memory symbol,
         uint256 cap
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __ERC20Capped_init_unchained(cap);
-        __ERC20CappedMock_init_unchained(name, symbol, cap);
     }
 
     function __ERC20CappedMock_init_unchained(
@@ -26,5 +24,11 @@ contract ERC20CappedMockUpgradeable is Initializable, ERC20CappedUpgradeable {
     function mint(address to, uint256 tokenId) public {
         _mint(to, tokenId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC20DecimalsMockUpgradeable.sol

@@ -13,7 +13,6 @@ contract ERC20DecimalsMockUpgradeable is Initializable, ERC20Upgradeable {
         string memory symbol_,
         uint8 decimals_
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name_, symbol_);
         __ERC20DecimalsMock_init_unchained(name_, symbol_, decimals_);
     }
@@ -29,5 +28,11 @@ contract ERC20DecimalsMockUpgradeable is Initializable, ERC20Upgradeable {
     function decimals() public view virtual override returns (uint8) {
         return _decimals;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20FlashMintMockUpgradeable.sol

@@ -12,9 +12,7 @@ contract ERC20FlashMintMockUpgradeable is Initializable, ERC20FlashMintUpgradeab
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
-        __ERC20FlashMint_init_unchained();
         __ERC20FlashMintMock_init_unchained(name, symbol, initialAccount, initialBalance);
     }
 
@@ -26,5 +24,11 @@ contract ERC20FlashMintMockUpgradeable is Initializable, ERC20FlashMintUpgradeab
     ) internal onlyInitializing {
         _mint(initialAccount, initialBalance);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC20MockUpgradeable.sol

@@ -13,7 +13,6 @@ contract ERC20MockUpgradeable is Initializable, ERC20Upgradeable {
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __ERC20Mock_init_unchained(name, symbol, initialAccount, initialBalance);
     }
@@ -50,5 +49,11 @@ contract ERC20MockUpgradeable is Initializable, ERC20Upgradeable {
     ) public {
         _approve(owner, spender, value);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20PausableMockUpgradeable.sol

@@ -13,10 +13,8 @@ contract ERC20PausableMockUpgradeable is Initializable, ERC20PausableUpgradeable
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __Pausable_init_unchained();
-        __ERC20Pausable_init_unchained();
         __ERC20PausableMock_init_unchained(name, symbol, initialAccount, initialBalance);
     }
 
@@ -44,5 +42,11 @@ contract ERC20PausableMockUpgradeable is Initializable, ERC20PausableUpgradeable
     function burn(address from, uint256 amount) public {
         _burn(from, amount);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC20PermitMockUpgradeable.sol

@@ -12,7 +12,6 @@ contract ERC20PermitMockUpgradeable is Initializable, ERC20PermitUpgradeable {
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __EIP712_init_unchained(name, "1");
         __ERC20Permit_init_unchained(name);
@@ -31,5 +30,11 @@ contract ERC20PermitMockUpgradeable is Initializable, ERC20PermitUpgradeable {
     function getChainId() external view returns (uint256) {
         return block.chainid;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20SnapshotMockUpgradeable.sol

@@ -12,9 +12,7 @@ contract ERC20SnapshotMockUpgradeable is Initializable, ERC20SnapshotUpgradeable
         address initialAccount,
         uint256 initialBalance
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
-        __ERC20Snapshot_init_unchained();
         __ERC20SnapshotMock_init_unchained(name, symbol, initialAccount, initialBalance);
     }
 
@@ -38,5 +36,11 @@ contract ERC20SnapshotMockUpgradeable is Initializable, ERC20SnapshotUpgradeable
     function burn(address account, uint256 amount) public {
         _burn(account, amount);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC20VotesCompMockUpgradeable.sol

@@ -7,13 +7,9 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC20VotesCompMockUpgradeable is Initializable, ERC20VotesCompUpgradeable {
     function __ERC20VotesCompMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __EIP712_init_unchained(name, "1");
         __ERC20Permit_init_unchained(name);
-        __ERC20Votes_init_unchained();
-        __ERC20VotesComp_init_unchained();
-        __ERC20VotesCompMock_init_unchained(name, symbol);
     }
 
     function __ERC20VotesCompMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -29,5 +25,11 @@ contract ERC20VotesCompMockUpgradeable is Initializable, ERC20VotesCompUpgradeab
     function getChainId() external view returns (uint256) {
         return block.chainid;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/mocks/ERC20VotesMockUpgradeable.sol

@@ -7,12 +7,9 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC20VotesMockUpgradeable is Initializable, ERC20VotesUpgradeable {
     function __ERC20VotesMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __EIP712_init_unchained(name, "1");
         __ERC20Permit_init_unchained(name);
-        __ERC20Votes_init_unchained();
-        __ERC20VotesMock_init_unchained(name, symbol);
     }
 
     function __ERC20VotesMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -28,5 +25,11 @@ contract ERC20VotesMockUpgradeable is Initializable, ERC20VotesUpgradeable {
     function getChainId() external view returns (uint256) {
         return block.chainid;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC20WrapperMockUpgradeable.sol

@@ -11,10 +11,8 @@ contract ERC20WrapperMockUpgradeable is Initializable, ERC20WrapperUpgradeable {
         string memory name,
         string memory symbol
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained(name, symbol);
         __ERC20Wrapper_init_unchained(_underlyingToken);
-        __ERC20WrapperMock_init_unchained(_underlyingToken, name, symbol);
     }
 
     function __ERC20WrapperMock_init_unchained(
@@ -26,5 +24,11 @@ contract ERC20WrapperMockUpgradeable is Initializable, ERC20WrapperUpgradeable {
     function recover(address account) public returns (uint256) {
         return _recover(account);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 0
contracts/mocks/ERC2771ContextMockUpgradeable.sol

@@ -20,5 +20,11 @@ contract ERC2771ContextMockUpgradeable is Initializable, ContextMockUpgradeable,
     function _msgData() internal view virtual override(ContextUpgradeable, ERC2771ContextUpgradeable) returns (bytes calldata) {
         return ERC2771ContextUpgradeable._msgData();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 0
contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol

@@ -55,5 +55,11 @@ contract ERC3156FlashBorrowerMockUpgradeable is Initializable, IERC3156FlashBorr
 
         return _enableReturn ? _RETURN_VALUE : bytes32(0);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC721BurnableMockUpgradeable.sol

@@ -7,11 +7,7 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC721BurnableMockUpgradeable is Initializable, ERC721BurnableUpgradeable {
     function __ERC721BurnableMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
-        __ERC721Burnable_init_unchained();
-        __ERC721BurnableMock_init_unchained(name, symbol);
     }
 
     function __ERC721BurnableMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -35,5 +31,11 @@ contract ERC721BurnableMockUpgradeable is Initializable, ERC721BurnableUpgradeab
     ) public {
         _safeMint(to, tokenId, _data);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC721EnumerableMockUpgradeable.sol

@@ -13,11 +13,7 @@ contract ERC721EnumerableMockUpgradeable is Initializable, ERC721EnumerableUpgra
     string private _baseTokenURI;
 
     function __ERC721EnumerableMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
-        __ERC721Enumerable_init_unchained();
-        __ERC721EnumerableMock_init_unchained(name, symbol);
     }
 
     function __ERC721EnumerableMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -57,5 +53,11 @@ contract ERC721EnumerableMockUpgradeable is Initializable, ERC721EnumerableUpgra
     function burn(uint256 tokenId) public {
         _burn(tokenId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 3
contracts/mocks/ERC721MockUpgradeable.sol

@@ -11,10 +11,7 @@ import "../proxy/utils/Initializable.sol";
  */
 contract ERC721MockUpgradeable is Initializable, ERC721Upgradeable {
     function __ERC721Mock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
-        __ERC721Mock_init_unchained(name, symbol);
     }
 
     function __ERC721Mock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -46,5 +43,11 @@ contract ERC721MockUpgradeable is Initializable, ERC721Upgradeable {
     function burn(uint256 tokenId) public {
         _burn(tokenId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC721PausableMockUpgradeable.sol

@@ -11,12 +11,8 @@ import "../proxy/utils/Initializable.sol";
  */
 contract ERC721PausableMockUpgradeable is Initializable, ERC721PausableUpgradeable {
     function __ERC721PausableMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
         __Pausable_init_unchained();
-        __ERC721Pausable_init_unchained();
-        __ERC721PausableMock_init_unchained(name, symbol);
     }
 
     function __ERC721PausableMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -52,5 +48,11 @@ contract ERC721PausableMockUpgradeable is Initializable, ERC721PausableUpgradeab
     function burn(uint256 tokenId) public {
         _burn(tokenId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 0
contracts/mocks/ERC721ReceiverMockUpgradeable.sol

@@ -44,5 +44,11 @@ contract ERC721ReceiverMockUpgradeable is Initializable, IERC721ReceiverUpgradea
         emit Received(operator, from, tokenId, data, gasleft());
         return _retval;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 5
contracts/mocks/ERC721RoyaltyMockUpgradeable.sol

@@ -7,12 +7,7 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC721RoyaltyMockUpgradeable is Initializable, ERC721RoyaltyUpgradeable {
     function __ERC721RoyaltyMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
-        __ERC2981_init_unchained();
         __ERC721_init_unchained(name, symbol);
-        __ERC721Royalty_init_unchained();
-        __ERC721RoyaltyMock_init_unchained(name, symbol);
     }
 
     function __ERC721RoyaltyMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -40,5 +35,11 @@ contract ERC721RoyaltyMockUpgradeable is Initializable, ERC721RoyaltyUpgradeable
     function deleteDefaultRoyalty() public {
         _deleteDefaultRoyalty();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/ERC721URIStorageMockUpgradeable.sol

@@ -13,11 +13,7 @@ contract ERC721URIStorageMockUpgradeable is Initializable, ERC721URIStorageUpgra
     string private _baseTokenURI;
 
     function __ERC721URIStorageMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
-        __ERC721URIStorage_init_unchained();
-        __ERC721URIStorageMock_init_unchained(name, symbol);
     }
 
     function __ERC721URIStorageMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -61,5 +57,11 @@ contract ERC721URIStorageMockUpgradeable is Initializable, ERC721URIStorageUpgra
     function burn(uint256 tokenId) public {
         _burn(tokenId);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 5
contracts/mocks/ERC721VotesMockUpgradeable.sol

@@ -7,13 +7,8 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC721VotesMockUpgradeable is Initializable, ERC721VotesUpgradeable {
     function __ERC721VotesMock_init(string memory name, string memory symbol) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __ERC721_init_unchained(name, symbol);
         __EIP712_init_unchained(name, "1");
-        __Votes_init_unchained();
-        __ERC721Votes_init_unchained();
-        __ERC721VotesMock_init_unchained(name, symbol);
     }
 
     function __ERC721VotesMock_init_unchained(string memory, string memory) internal onlyInitializing {}
@@ -33,5 +28,11 @@ contract ERC721VotesMockUpgradeable is Initializable, ERC721VotesUpgradeable {
     function getChainId() external view returns (uint256) {
         return block.chainid;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/ERC777MockUpgradeable.sol

@@ -16,7 +16,6 @@ contract ERC777MockUpgradeable is Initializable, ContextUpgradeable, ERC777Upgra
         string memory symbol,
         address[] memory defaultOperators
     ) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC777_init_unchained(name, symbol, defaultOperators);
         __ERC777Mock_init_unchained(initialHolder, initialBalance, name, symbol, defaultOperators);
     }
@@ -66,5 +65,11 @@ contract ERC777MockUpgradeable is Initializable, ContextUpgradeable, ERC777Upgra
     ) internal override {
         emit BeforeTokenTransfer();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol

@@ -12,8 +12,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC777SenderRecipientMockUpgradeable is Initializable, ContextUpgradeable, IERC777SenderUpgradeable, IERC777RecipientUpgradeable, ERC1820ImplementerUpgradeable {
     function __ERC777SenderRecipientMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC1820Implementer_init_unchained();
         __ERC777SenderRecipientMock_init_unchained();
     }
 
@@ -168,5 +166,11 @@ contract ERC777SenderRecipientMockUpgradeable is Initializable, ContextUpgradeab
     ) public {
         token.burn(amount, data);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/EnumerableMapMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract EnumerableMapMockUpgradeable is Initializable {
     function __EnumerableMapMock_init() internal onlyInitializing {
-        __EnumerableMapMock_init_unchained();
     }
 
     function __EnumerableMapMock_init_unchained() internal onlyInitializing {
@@ -51,5 +50,11 @@ contract EnumerableMapMockUpgradeable is Initializable {
     function getWithMessage(uint256 key, string calldata errorMessage) public view returns (address) {
         return _map.get(key, errorMessage);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[47] private __gap;
 }

+ 18 - 3
contracts/mocks/EnumerableSetMockUpgradeable.sol

@@ -8,7 +8,6 @@ import "../proxy/utils/Initializable.sol";
 // Bytes32Set
 contract EnumerableBytes32SetMockUpgradeable is Initializable {
     function __EnumerableBytes32SetMock_init() internal onlyInitializing {
-        __EnumerableBytes32SetMock_init_unchained();
     }
 
     function __EnumerableBytes32SetMock_init_unchained() internal onlyInitializing {
@@ -44,13 +43,18 @@ contract EnumerableBytes32SetMockUpgradeable is Initializable {
     function values() public view returns (bytes32[] memory) {
         return _set.values();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }
 
 // AddressSet
 contract EnumerableAddressSetMockUpgradeable is Initializable {
     function __EnumerableAddressSetMock_init() internal onlyInitializing {
-        __EnumerableAddressSetMock_init_unchained();
     }
 
     function __EnumerableAddressSetMock_init_unchained() internal onlyInitializing {
@@ -86,13 +90,18 @@ contract EnumerableAddressSetMockUpgradeable is Initializable {
     function values() public view returns (address[] memory) {
         return _set.values();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }
 
 // UintSet
 contract EnumerableUintSetMockUpgradeable is Initializable {
     function __EnumerableUintSetMock_init() internal onlyInitializing {
-        __EnumerableUintSetMock_init_unchained();
     }
 
     function __EnumerableUintSetMock_init_unchained() internal onlyInitializing {
@@ -128,5 +137,11 @@ contract EnumerableUintSetMockUpgradeable is Initializable {
     function values() public view returns (uint256[] memory) {
         return _set.values();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 1
contracts/mocks/EtherReceiverMockUpgradeable.sol

@@ -5,7 +5,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract EtherReceiverMockUpgradeable is Initializable {
     function __EtherReceiverMock_init() internal onlyInitializing {
-        __EtherReceiverMock_init_unchained();
     }
 
     function __EtherReceiverMock_init_unchained() internal onlyInitializing {
@@ -21,5 +20,11 @@ contract EtherReceiverMockUpgradeable is Initializable {
             revert();
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 5
contracts/mocks/GovernorCompMockUpgradeable.sol

@@ -8,14 +8,9 @@ import "../proxy/utils/Initializable.sol";
 
 contract GovernorCompMockUpgradeable is Initializable, GovernorVotesCompUpgradeable, GovernorCountingSimpleUpgradeable {
     function __GovernorCompMock_init(string memory name_, ERC20VotesCompUpgradeable token_) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
         __Governor_init_unchained(name_);
         __GovernorVotesComp_init_unchained(token_);
-        __GovernorCountingSimple_init_unchained();
-        __GovernorCompMock_init_unchained(name_, token_);
     }
 
     function __GovernorCompMock_init_unchained(string memory, ERC20VotesCompUpgradeable) internal onlyInitializing {}
@@ -50,5 +45,11 @@ contract GovernorCompMockUpgradeable is Initializable, GovernorVotesCompUpgradea
     {
         return super.getVotes(account, blockNumber);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 7
contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol

@@ -22,18 +22,11 @@ contract GovernorCompatibilityBravoMockUpgradeable is
         uint256 proposalThreshold_,
         ICompoundTimelockUpgradeable timelock_
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
-        __IGovernorCompatibilityBravo_init_unchained();
         __Governor_init_unchained(name_);
-        __GovernorCompatibilityBravo_init_unchained();
         __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, proposalThreshold_);
         __GovernorTimelockCompound_init_unchained(timelock_);
         __GovernorVotesComp_init_unchained(token_);
-        __GovernorCompatibilityBravoMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, proposalThreshold_, timelock_);
     }
 
     function __GovernorCompatibilityBravoMock_init_unchained(
@@ -155,5 +148,11 @@ contract GovernorCompatibilityBravoMockUpgradeable is
     function _executor() internal view virtual override(GovernorUpgradeable, GovernorTimelockCompoundUpgradeable) returns (address) {
         return super._executor();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 6
contracts/mocks/GovernorMockUpgradeable.sol

@@ -21,17 +21,11 @@ contract GovernorMockUpgradeable is
         uint256 votingPeriod_,
         uint256 quorumNumerator_
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
         __Governor_init_unchained(name_);
-        __GovernorProposalThreshold_init_unchained();
         __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
         __GovernorVotes_init_unchained(token_);
         __GovernorVotesQuorumFraction_init_unchained(quorumNumerator_);
-        __GovernorCountingSimple_init_unchained();
-        __GovernorMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, quorumNumerator_);
     }
 
     function __GovernorMock_init_unchained(
@@ -73,5 +67,11 @@ contract GovernorMockUpgradeable is
     ) public virtual override(GovernorUpgradeable, GovernorProposalThresholdUpgradeable) returns (uint256) {
         return super.propose(targets, values, calldatas, description);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 4
contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol

@@ -24,14 +24,10 @@ contract GovernorPreventLateQuorumMockUpgradeable is
         uint256 quorum_,
         uint64 voteExtension_
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
         __Governor_init_unchained(name_);
         __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
         __GovernorVotes_init_unchained(token_);
-        __GovernorCountingSimple_init_unchained();
         __GovernorPreventLateQuorum_init_unchained(voteExtension_);
         __GovernorPreventLateQuorumMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, quorum_, voteExtension_);
     }
@@ -73,5 +69,11 @@ contract GovernorPreventLateQuorumMockUpgradeable is
     ) internal virtual override(GovernorUpgradeable, GovernorPreventLateQuorumUpgradeable) returns (uint256) {
         return super._castVote(proposalId, account, support, reason);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 6
contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol

@@ -22,18 +22,12 @@ contract GovernorTimelockCompoundMockUpgradeable is
         ICompoundTimelockUpgradeable timelock_,
         uint256 quorumNumerator_
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
         __Governor_init_unchained(name_);
         __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
         __GovernorTimelockCompound_init_unchained(timelock_);
         __GovernorVotes_init_unchained(token_);
         __GovernorVotesQuorumFraction_init_unchained(quorumNumerator_);
-        __GovernorCountingSimple_init_unchained();
-        __GovernorTimelockCompoundMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, timelock_, quorumNumerator_);
     }
 
     function __GovernorTimelockCompoundMock_init_unchained(
@@ -122,5 +116,11 @@ contract GovernorTimelockCompoundMockUpgradeable is
     function _executor() internal view virtual override(GovernorUpgradeable, GovernorTimelockCompoundUpgradeable) returns (address) {
         return super._executor();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 6
contracts/mocks/GovernorTimelockControlMockUpgradeable.sol

@@ -22,18 +22,12 @@ contract GovernorTimelockControlMockUpgradeable is
         TimelockControllerUpgradeable timelock_,
         uint256 quorumNumerator_
     ) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
-        __IGovernorTimelock_init_unchained();
         __Governor_init_unchained(name_);
         __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
         __GovernorTimelockControl_init_unchained(timelock_);
         __GovernorVotes_init_unchained(token_);
         __GovernorVotesQuorumFraction_init_unchained(quorumNumerator_);
-        __GovernorCountingSimple_init_unchained();
-        __GovernorTimelockControlMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, timelock_, quorumNumerator_);
     }
 
     function __GovernorTimelockControlMock_init_unchained(
@@ -122,5 +116,11 @@ contract GovernorTimelockControlMockUpgradeable is
     function _executor() internal view virtual override(GovernorUpgradeable, GovernorTimelockControlUpgradeable) returns (address) {
         return super._executor();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 5
contracts/mocks/GovernorVoteMockUpgradeable.sol

@@ -8,14 +8,9 @@ import "../proxy/utils/Initializable.sol";
 
 contract GovernorVoteMocksUpgradeable is Initializable, GovernorVotesUpgradeable, GovernorCountingSimpleUpgradeable {
     function __GovernorVoteMocks_init(string memory name_, IVotesUpgradeable token_) internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC165_init_unchained();
         __EIP712_init_unchained(name_, version());
-        __IGovernor_init_unchained();
         __Governor_init_unchained(name_);
         __GovernorVotes_init_unchained(token_);
-        __GovernorCountingSimple_init_unchained();
-        __GovernorVoteMocks_init_unchained(name_, token_);
     }
 
     function __GovernorVoteMocks_init_unchained(string memory, IVotesUpgradeable) internal onlyInitializing {}
@@ -50,5 +45,11 @@ contract GovernorVoteMocksUpgradeable is Initializable, GovernorVotesUpgradeable
     {
         return super.getVotes(account, blockNumber);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/MathMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract MathMockUpgradeable is Initializable {
     function __MathMock_init() internal onlyInitializing {
-        __MathMock_init_unchained();
     }
 
     function __MathMock_init_unchained() internal onlyInitializing {
@@ -31,5 +30,11 @@ contract MathMockUpgradeable is Initializable {
     function abs(int256 n) public pure returns (uint256) {
         return MathUpgradeable.abs(n);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/MerkleProofWrapperUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract MerkleProofWrapperUpgradeable is Initializable {
     function __MerkleProofWrapper_init() internal onlyInitializing {
-        __MerkleProofWrapper_init_unchained();
     }
 
     function __MerkleProofWrapper_init_unchained() internal onlyInitializing {
@@ -23,5 +22,11 @@ contract MerkleProofWrapperUpgradeable is Initializable {
     function processProof(bytes32[] memory proof, bytes32 leaf) public pure returns (bytes32) {
         return MerkleProofUpgradeable.processProof(proof, leaf);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/MulticallTestUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract MulticallTestUpgradeable is Initializable {
     function __MulticallTest_init() internal onlyInitializing {
-        __MulticallTest_init_unchained();
     }
 
     function __MulticallTest_init_unchained() internal onlyInitializing {
@@ -27,5 +26,11 @@ contract MulticallTestUpgradeable is Initializable {
             require(abi.decode(results[i], (bool)));
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 3
contracts/mocks/MulticallTokenMockUpgradeable.sol

@@ -8,13 +8,16 @@ import "../proxy/utils/Initializable.sol";
 
 contract MulticallTokenMockUpgradeable is Initializable, ERC20MockUpgradeable, MulticallUpgradeable {
     function __MulticallTokenMock_init(uint256 initialBalance) internal onlyInitializing {
-        __Context_init_unchained();
         __ERC20_init_unchained("MulticallToken", "BCT");
         __ERC20Mock_init_unchained("MulticallToken", "BCT", msg.sender, initialBalance);
-        __Multicall_init_unchained();
-        __MulticallTokenMock_init_unchained(initialBalance);
     }
 
     function __MulticallTokenMock_init_unchained(uint256) internal onlyInitializing {}
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/OwnableMockUpgradeable.sol

@@ -6,12 +6,16 @@ import "../access/OwnableUpgradeable.sol";
 import "../proxy/utils/Initializable.sol";
 
 contract OwnableMockUpgradeable is Initializable, OwnableUpgradeable {    function __OwnableMock_init() internal onlyInitializing {
-        __Context_init_unchained();
         __Ownable_init_unchained();
-        __OwnableMock_init_unchained();
     }
 
     function __OwnableMock_init_unchained() internal onlyInitializing {
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 1
contracts/mocks/PausableMockUpgradeable.sol

@@ -10,7 +10,6 @@ contract PausableMockUpgradeable is Initializable, PausableUpgradeable {
     uint256 public count;
 
     function __PausableMock_init() internal onlyInitializing {
-        __Context_init_unchained();
         __Pausable_init_unchained();
         __PausableMock_init_unchained();
     }
@@ -35,5 +34,11 @@ contract PausableMockUpgradeable is Initializable, PausableUpgradeable {
     function unpause() external {
         _unpause();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }

+ 6 - 1
contracts/mocks/PullPaymentMockUpgradeable.sol

@@ -9,7 +9,6 @@ import "../proxy/utils/Initializable.sol";
 contract PullPaymentMockUpgradeable is Initializable, PullPaymentUpgradeable {
     function __PullPaymentMock_init() internal onlyInitializing {
         __PullPayment_init_unchained();
-        __PullPaymentMock_init_unchained();
     }
 
     function __PullPaymentMock_init_unchained() internal onlyInitializing {}
@@ -18,5 +17,11 @@ contract PullPaymentMockUpgradeable is Initializable, PullPaymentUpgradeable {
     function callTransfer(address dest, uint256 amount) public {
         _asyncTransfer(dest, amount);
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 2
contracts/mocks/ReentrancyAttackUpgradeable.sol

@@ -7,8 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ReentrancyAttackUpgradeable is Initializable, ContextUpgradeable {
     function __ReentrancyAttack_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ReentrancyAttack_init_unchained();
     }
 
     function __ReentrancyAttack_init_unchained() internal onlyInitializing {
@@ -17,5 +15,11 @@ contract ReentrancyAttackUpgradeable is Initializable, ContextUpgradeable {
         (bool success, ) = _msgSender().call(abi.encodeWithSelector(data));
         require(success, "ReentrancyAttack: failed call");
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 6 - 0
contracts/mocks/ReentrancyMockUpgradeable.sol

@@ -46,5 +46,11 @@ contract ReentrancyMockUpgradeable is Initializable, ReentrancyGuardUpgradeable
     function _count() private {
         counter += 1;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/SafeCastMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract SafeCastMockUpgradeable is Initializable {
     function __SafeCastMock_init() internal onlyInitializing {
-        __SafeCastMock_init_unchained();
     }
 
     function __SafeCastMock_init_unchained() internal onlyInitializing {
@@ -70,5 +69,11 @@ contract SafeCastMockUpgradeable is Initializable {
     function toInt8(int256 a) public pure returns (int8) {
         return a.toInt8();
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

+ 24 - 7
contracts/mocks/SafeERC20HelperUpgradeable.sol

@@ -9,8 +9,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract ERC20ReturnFalseMockUpgradeable is Initializable, ContextUpgradeable {
     function __ERC20ReturnFalseMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC20ReturnFalseMock_init_unchained();
     }
 
     function __ERC20ReturnFalseMock_init_unchained() internal onlyInitializing {
@@ -44,13 +42,17 @@ contract ERC20ReturnFalseMockUpgradeable is Initializable, ContextUpgradeable {
         require(_dummy == 0); // Dummy read from a state variable so that the function is view
         return 0;
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }
 
 contract ERC20ReturnTrueMockUpgradeable is Initializable, ContextUpgradeable {
     function __ERC20ReturnTrueMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC20ReturnTrueMock_init_unchained();
     }
 
     function __ERC20ReturnTrueMock_init_unchained() internal onlyInitializing {
@@ -87,13 +89,17 @@ contract ERC20ReturnTrueMockUpgradeable is Initializable, ContextUpgradeable {
     function allowance(address owner, address) public view returns (uint256) {
         return _allowances[owner];
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }
 
 contract ERC20NoReturnMockUpgradeable is Initializable, ContextUpgradeable {
     function __ERC20NoReturnMock_init() internal onlyInitializing {
-        __Context_init_unchained();
-        __ERC20NoReturnMock_init_unchained();
     }
 
     function __ERC20NoReturnMock_init_unchained() internal onlyInitializing {
@@ -127,6 +133,12 @@ contract ERC20NoReturnMockUpgradeable is Initializable, ContextUpgradeable {
     function allowance(address owner, address) public view returns (uint256) {
         return _allowances[owner];
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[48] private __gap;
 }
 
@@ -136,7 +148,6 @@ contract SafeERC20WrapperUpgradeable is Initializable, ContextUpgradeable {
     IERC20Upgradeable private _token;
 
     function __SafeERC20Wrapper_init(IERC20Upgradeable token) internal onlyInitializing {
-        __Context_init_unchained();
         __SafeERC20Wrapper_init_unchained(token);
     }
 
@@ -171,5 +182,11 @@ contract SafeERC20WrapperUpgradeable is Initializable, ContextUpgradeable {
     function allowance() public view returns (uint256) {
         return _token.allowance(address(0), address(0));
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[49] private __gap;
 }

+ 6 - 1
contracts/mocks/SafeMathMockUpgradeable.sol

@@ -7,7 +7,6 @@ import "../proxy/utils/Initializable.sol";
 
 contract SafeMathMockUpgradeable is Initializable {
     function __SafeMathMock_init() internal onlyInitializing {
-        __SafeMathMock_init_unchained();
     }
 
     function __SafeMathMock_init_unchained() internal onlyInitializing {
@@ -142,5 +141,11 @@ contract SafeMathMockUpgradeable is Initializable {
             mem := sub(mload(0x40), mem)
         }
     }
+
+    /**
+     * This empty reserved space is put in place to allow future versions to add new
+     * variables without shifting down storage in the inheritance chain.
+     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
+     */
     uint256[50] private __gap;
 }

Some files were not shown because too many files changed in this diff