Jelajahi Sumber

Increase SignatureChecker minimum pragma to 0.8.24 (#5716)

Ernesto García 4 bulan lalu
induk
melakukan
37f873d50b
34 mengubah file dengan 37 tambahan dan 33 penghapusan
  1. 4 0
      CHANGELOG.md
  2. 1 1
      contracts/governance/Governor.sol
  3. 1 1
      contracts/governance/extensions/GovernorCountingFractional.sol
  4. 1 1
      contracts/governance/extensions/GovernorCountingOverridable.sol
  5. 1 1
      contracts/governance/extensions/GovernorCountingSimple.sol
  6. 1 1
      contracts/governance/extensions/GovernorPreventLateQuorum.sol
  7. 1 1
      contracts/governance/extensions/GovernorProposalGuardian.sol
  8. 1 1
      contracts/governance/extensions/GovernorSequentialProposalId.sol
  9. 1 1
      contracts/governance/extensions/GovernorSettings.sol
  10. 1 1
      contracts/governance/extensions/GovernorStorage.sol
  11. 1 1
      contracts/governance/extensions/GovernorSuperQuorum.sol
  12. 1 1
      contracts/governance/extensions/GovernorTimelockAccess.sol
  13. 1 1
      contracts/governance/extensions/GovernorTimelockCompound.sol
  14. 1 1
      contracts/governance/extensions/GovernorTimelockControl.sol
  15. 1 1
      contracts/governance/extensions/GovernorVotes.sol
  16. 1 1
      contracts/governance/extensions/GovernorVotesQuorumFraction.sol
  17. 1 1
      contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol
  18. 1 1
      contracts/mocks/account/modules/ERC7579Mock.sol
  19. 1 1
      contracts/mocks/docs/governance/MyGovernor.sol
  20. 1 1
      contracts/mocks/governance/GovernorCountingOverridableMock.sol
  21. 1 1
      contracts/mocks/governance/GovernorFractionalMock.sol
  22. 1 1
      contracts/mocks/governance/GovernorMock.sol
  23. 1 1
      contracts/mocks/governance/GovernorPreventLateQuorumMock.sol
  24. 1 1
      contracts/mocks/governance/GovernorProposalGuardianMock.sol
  25. 1 1
      contracts/mocks/governance/GovernorSequentialProposalIdMock.sol
  26. 1 1
      contracts/mocks/governance/GovernorStorageMock.sol
  27. 1 1
      contracts/mocks/governance/GovernorSuperQuorumMock.sol
  28. 1 1
      contracts/mocks/governance/GovernorTimelockAccessMock.sol
  29. 1 1
      contracts/mocks/governance/GovernorTimelockCompoundMock.sol
  30. 1 1
      contracts/mocks/governance/GovernorTimelockControlMock.sol
  31. 1 1
      contracts/mocks/governance/GovernorVoteMock.sol
  32. 1 1
      contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol
  33. 1 1
      contracts/mocks/governance/GovernorWithParamsMock.sol
  34. 1 1
      contracts/utils/cryptography/SignatureChecker.sol

+ 4 - 0
CHANGELOG.md

@@ -1,5 +1,9 @@
 # Changelog
 
+### Breaking changes
+
+- Update minimum pragma to 0.8.24 in `SignatureChecker`, `Governor` and Governor's extensions. ([#5716](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5716)).
+
 ## 5.3.0 (2025-04-09)
 
 ### Breaking Changes

+ 1 - 1
contracts/governance/Governor.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/Governor.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IERC721Receiver} from "../token/ERC721/IERC721Receiver.sol";
 import {IERC1155Receiver} from "../token/ERC1155/IERC1155Receiver.sol";

+ 1 - 1
contracts/governance/extensions/GovernorCountingFractional.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorCountingFractional.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 import {GovernorCountingSimple} from "./GovernorCountingSimple.sol";

+ 1 - 1
contracts/governance/extensions/GovernorCountingOverridable.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorCountingOverridable.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {SignatureChecker} from "../../utils/cryptography/SignatureChecker.sol";
 import {SafeCast} from "../../utils/math/SafeCast.sol";

+ 1 - 1
contracts/governance/extensions/GovernorCountingSimple.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorCountingSimple.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorPreventLateQuorum.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.2.0) (governance/extensions/GovernorPreventLateQuorum.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 import {Math} from "../../utils/math/Math.sol";

+ 1 - 1
contracts/governance/extensions/GovernorProposalGuardian.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorProposalGuardian.sol)
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorSequentialProposalId.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorSequentialProposalId.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorSettings.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorSettings.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorStorage.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorStorage.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorSuperQuorum.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorSuperQuorum.sol)
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 

+ 1 - 1
contracts/governance/extensions/GovernorTimelockAccess.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockAccess.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 import {AuthorityUtils} from "../../access/manager/AuthorityUtils.sol";

+ 1 - 1
contracts/governance/extensions/GovernorTimelockCompound.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockCompound.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 import {ICompoundTimelock} from "../../vendor/compound/ICompoundTimelock.sol";

+ 1 - 1
contracts/governance/extensions/GovernorTimelockControl.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockControl.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {IGovernor, Governor} from "../Governor.sol";
 import {TimelockController} from "../TimelockController.sol";

+ 1 - 1
contracts/governance/extensions/GovernorVotes.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorVotes.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 import {IVotes} from "../utils/IVotes.sol";

+ 1 - 1
contracts/governance/extensions/GovernorVotesQuorumFraction.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {GovernorVotes} from "./GovernorVotes.sol";
 import {Math} from "../../utils/math/Math.sol";

+ 1 - 1
contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol)
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";
 import {GovernorSuperQuorum} from "./GovernorSuperQuorum.sol";

+ 1 - 1
contracts/mocks/account/modules/ERC7579Mock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {MODULE_TYPE_HOOK, MODULE_TYPE_FALLBACK, MODULE_TYPE_VALIDATOR, IERC7579Hook, IERC7579Module, IERC7579Validator} from "../../../interfaces/draft-IERC7579.sol";
 import {SignatureChecker} from "../../../utils/cryptography/SignatureChecker.sol";

+ 1 - 1
contracts/mocks/docs/governance/MyGovernor.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../../governance/Governor.sol";
 import {GovernorCountingSimple} from "../../../governance/extensions/GovernorCountingSimple.sol";

+ 1 - 1
contracts/mocks/governance/GovernorCountingOverridableMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorFractionalMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorPreventLateQuorumMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorPreventLateQuorum} from "../../governance/extensions/GovernorPreventLateQuorum.sol";

+ 1 - 1
contracts/mocks/governance/GovernorProposalGuardianMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorSequentialProposalIdMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorStorageMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorTimelockControl} from "../../governance/extensions/GovernorTimelockControl.sol";

+ 1 - 1
contracts/mocks/governance/GovernorSuperQuorumMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorTimelockAccessMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorTimelockAccess} from "../../governance/extensions/GovernorTimelockAccess.sol";

+ 1 - 1
contracts/mocks/governance/GovernorTimelockCompoundMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorTimelockCompound} from "../../governance/extensions/GovernorTimelockCompound.sol";

+ 1 - 1
contracts/mocks/governance/GovernorTimelockControlMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorTimelockControl} from "../../governance/extensions/GovernorTimelockControl.sol";

+ 1 - 1
contracts/mocks/governance/GovernorVoteMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {GovernorCountingSimple} from "../../governance/extensions/GovernorCountingSimple.sol";
 import {GovernorVotes} from "../../governance/extensions/GovernorVotes.sol";

+ 1 - 1
contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol";

+ 1 - 1
contracts/mocks/governance/GovernorWithParamsMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {Governor} from "../../governance/Governor.sol";
 import {GovernorCountingSimple} from "../../governance/extensions/GovernorCountingSimple.sol";

+ 1 - 1
contracts/utils/cryptography/SignatureChecker.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/SignatureChecker.sol)
 
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.24;
 
 import {ECDSA} from "./ECDSA.sol";
 import {IERC1271} from "../../interfaces/IERC1271.sol";