瀏覽代碼

Update pragma to 0.8.20 (#4489)

Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: ernestognw <ernestognw@gmail.com>
Hadrien Croubois 2 年之前
父節點
當前提交
00cbf5a236
共有 100 個文件被更改,包括 102 次插入102 次删除
  1. 1 1
      .changeset/short-eels-enjoy.md
  2. 1 1
      .github/workflows/formal-verification.yml
  3. 1 1
      README.md
  4. 1 1
      certora/harnesses/AccessControlDefaultAdminRulesHarness.sol
  5. 1 1
      certora/harnesses/AccessControlHarness.sol
  6. 1 1
      certora/harnesses/DoubleEndedQueueHarness.sol
  7. 1 1
      certora/harnesses/ERC20FlashMintHarness.sol
  8. 1 1
      certora/harnesses/ERC20PermitHarness.sol
  9. 1 1
      certora/harnesses/ERC20WrapperHarness.sol
  10. 1 1
      certora/harnesses/ERC3156FlashBorrowerHarness.sol
  11. 1 1
      certora/harnesses/ERC721Harness.sol
  12. 1 1
      certora/harnesses/ERC721ReceiverHarness.sol
  13. 1 1
      certora/harnesses/EnumerableMapHarness.sol
  14. 1 1
      certora/harnesses/EnumerableSetHarness.sol
  15. 1 1
      certora/harnesses/InitializableHarness.sol
  16. 1 1
      certora/harnesses/Ownable2StepHarness.sol
  17. 1 1
      certora/harnesses/OwnableHarness.sol
  18. 1 1
      certora/harnesses/PausableHarness.sol
  19. 1 1
      certora/harnesses/TimelockControllerHarness.sol
  20. 1 1
      contracts/access/AccessControl.sol
  21. 1 1
      contracts/access/IAccessControl.sol
  22. 1 1
      contracts/access/Ownable.sol
  23. 1 1
      contracts/access/Ownable2Step.sol
  24. 1 1
      contracts/access/extensions/AccessControlDefaultAdminRules.sol
  25. 1 1
      contracts/access/extensions/AccessControlEnumerable.sol
  26. 1 1
      contracts/access/extensions/IAccessControlDefaultAdminRules.sol
  27. 1 1
      contracts/access/extensions/IAccessControlEnumerable.sol
  28. 1 1
      contracts/finance/VestingWallet.sol
  29. 1 1
      contracts/governance/Governor.sol
  30. 1 1
      contracts/governance/IGovernor.sol
  31. 1 1
      contracts/governance/TimelockController.sol
  32. 1 1
      contracts/governance/compatibility/GovernorCompatibilityBravo.sol
  33. 1 1
      contracts/governance/compatibility/IGovernorCompatibilityBravo.sol
  34. 1 1
      contracts/governance/extensions/GovernorCountingSimple.sol
  35. 1 1
      contracts/governance/extensions/GovernorPreventLateQuorum.sol
  36. 1 1
      contracts/governance/extensions/GovernorSettings.sol
  37. 1 1
      contracts/governance/extensions/GovernorTimelockCompound.sol
  38. 1 1
      contracts/governance/extensions/GovernorTimelockControl.sol
  39. 1 1
      contracts/governance/extensions/GovernorVotes.sol
  40. 1 1
      contracts/governance/extensions/GovernorVotesQuorumFraction.sol
  41. 1 1
      contracts/governance/extensions/IGovernorTimelock.sol
  42. 1 1
      contracts/governance/utils/IVotes.sol
  43. 1 1
      contracts/governance/utils/Votes.sol
  44. 1 1
      contracts/interfaces/IERC1155.sol
  45. 1 1
      contracts/interfaces/IERC1155MetadataURI.sol
  46. 1 1
      contracts/interfaces/IERC1155Receiver.sol
  47. 1 1
      contracts/interfaces/IERC1271.sol
  48. 1 1
      contracts/interfaces/IERC1363.sol
  49. 1 1
      contracts/interfaces/IERC1363Receiver.sol
  50. 1 1
      contracts/interfaces/IERC1363Spender.sol
  51. 1 1
      contracts/interfaces/IERC165.sol
  52. 1 1
      contracts/interfaces/IERC1820Implementer.sol
  53. 1 1
      contracts/interfaces/IERC1820Registry.sol
  54. 1 1
      contracts/interfaces/IERC1967.sol
  55. 1 1
      contracts/interfaces/IERC20.sol
  56. 1 1
      contracts/interfaces/IERC20Metadata.sol
  57. 1 1
      contracts/interfaces/IERC2309.sol
  58. 1 1
      contracts/interfaces/IERC2612.sol
  59. 1 1
      contracts/interfaces/IERC2981.sol
  60. 1 1
      contracts/interfaces/IERC3156.sol
  61. 1 1
      contracts/interfaces/IERC3156FlashBorrower.sol
  62. 1 1
      contracts/interfaces/IERC3156FlashLender.sol
  63. 1 1
      contracts/interfaces/IERC4626.sol
  64. 1 1
      contracts/interfaces/IERC4906.sol
  65. 1 1
      contracts/interfaces/IERC5267.sol
  66. 1 1
      contracts/interfaces/IERC5313.sol
  67. 1 1
      contracts/interfaces/IERC5805.sol
  68. 1 1
      contracts/interfaces/IERC6372.sol
  69. 1 1
      contracts/interfaces/IERC721.sol
  70. 1 1
      contracts/interfaces/IERC721Enumerable.sol
  71. 1 1
      contracts/interfaces/IERC721Metadata.sol
  72. 1 1
      contracts/interfaces/IERC721Receiver.sol
  73. 1 1
      contracts/interfaces/IERC777.sol
  74. 1 1
      contracts/interfaces/IERC777Recipient.sol
  75. 1 1
      contracts/interfaces/IERC777Sender.sol
  76. 1 1
      contracts/interfaces/draft-IERC1822.sol
  77. 1 1
      contracts/interfaces/draft-IERC6093.sol
  78. 1 1
      contracts/metatx/ERC2771Context.sol
  79. 3 3
      contracts/metatx/ERC2771Forwarder.sol
  80. 1 1
      contracts/mocks/AddressFnPointersMock.sol
  81. 1 1
      contracts/mocks/ArraysMock.sol
  82. 1 1
      contracts/mocks/CallReceiverMock.sol
  83. 1 1
      contracts/mocks/ContextMock.sol
  84. 1 1
      contracts/mocks/DummyImplementation.sol
  85. 1 1
      contracts/mocks/EIP712Verifier.sol
  86. 1 1
      contracts/mocks/ERC1271WalletMock.sol
  87. 1 1
      contracts/mocks/ERC165/ERC165InterfacesSupported.sol
  88. 1 1
      contracts/mocks/ERC165/ERC165MaliciousData.sol
  89. 1 1
      contracts/mocks/ERC165/ERC165MissingData.sol
  90. 1 1
      contracts/mocks/ERC165/ERC165NotSupported.sol
  91. 1 1
      contracts/mocks/ERC165/ERC165ReturnBomb.sol
  92. 1 1
      contracts/mocks/ERC2771ContextMock.sol
  93. 1 1
      contracts/mocks/ERC3156FlashBorrowerMock.sol
  94. 1 1
      contracts/mocks/EtherReceiverMock.sol
  95. 1 1
      contracts/mocks/InitializableMock.sol
  96. 1 1
      contracts/mocks/MulticallTest.sol
  97. 1 1
      contracts/mocks/MultipleInheritanceInitializableMocks.sol
  98. 1 1
      contracts/mocks/PausableMock.sol
  99. 1 1
      contracts/mocks/ReentrancyAttack.sol
  100. 1 1
      contracts/mocks/ReentrancyMock.sol

+ 1 - 1
.changeset/short-eels-enjoy.md

@@ -2,4 +2,4 @@
 'openzeppelin-solidity': major
 ---
 
-Bump minimum compiler version required to 0.8.19
+Bump minimum compiler version required to 0.8.20

+ 1 - 1
.github/workflows/formal-verification.yml

@@ -12,7 +12,7 @@ on:
 env:
   PIP_VERSION: '3.10'
   JAVA_VERSION: '11'
-  SOLC_VERSION: '0.8.19'
+  SOLC_VERSION: '0.8.20'
 
 concurrency: ${{ github.workflow }}-${{ github.ref }}
 

+ 1 - 1
README.md

@@ -48,7 +48,7 @@ Add `@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/` in `remappi
 Once installed, you can use the contracts in the library by importing them:
 
 ```solidity
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
 

+ 1 - 1
certora/harnesses/AccessControlDefaultAdminRulesHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/access/AccessControlDefaultAdminRules.sol";
 

+ 1 - 1
certora/harnesses/AccessControlHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/access/AccessControl.sol";
 

+ 1 - 1
certora/harnesses/DoubleEndedQueueHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/utils/structs/DoubleEndedQueue.sol";
 

+ 1 - 1
certora/harnesses/ERC20FlashMintHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/token/ERC20/ERC20.sol";
 import "../patched/token/ERC20/extensions/ERC20Permit.sol";

+ 1 - 1
certora/harnesses/ERC20PermitHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/token/ERC20/extensions/ERC20Permit.sol";
 

+ 1 - 1
certora/harnesses/ERC20WrapperHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/token/ERC20/extensions/ERC20Wrapper.sol";
 

+ 1 - 1
certora/harnesses/ERC3156FlashBorrowerHarness.sol

@@ -2,7 +2,7 @@
 
 import "../patched/interfaces/IERC3156FlashBorrower.sol";
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract ERC3156FlashBorrowerHarness is IERC3156FlashBorrower {
     bytes32 somethingToReturn;

+ 1 - 1
certora/harnesses/ERC721Harness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/token/ERC721/ERC721.sol";
 

+ 1 - 1
certora/harnesses/ERC721ReceiverHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/interfaces/IERC721Receiver.sol";
 

+ 1 - 1
certora/harnesses/EnumerableMapHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/utils/structs/EnumerableMap.sol";
 

+ 1 - 1
certora/harnesses/EnumerableSetHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/utils/structs/EnumerableSet.sol";
 

+ 1 - 1
certora/harnesses/InitializableHarness.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/proxy/utils/Initializable.sol";
 

+ 1 - 1
certora/harnesses/Ownable2StepHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/access/Ownable2Step.sol";
 

+ 1 - 1
certora/harnesses/OwnableHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/access/Ownable.sol";
 

+ 1 - 1
certora/harnesses/PausableHarness.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/security/Pausable.sol";
 

+ 1 - 1
certora/harnesses/TimelockControllerHarness.sol

@@ -1,4 +1,4 @@
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import "../patched/governance/TimelockController.sol";
 

+ 1 - 1
contracts/access/AccessControl.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControl.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IAccessControl} from "./IAccessControl.sol";
 import {Context} from "../utils/Context.sol";

+ 1 - 1
contracts/access/IAccessControl.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev External interface of AccessControl declared to support ERC165 detection.

+ 1 - 1
contracts/access/Ownable.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Context} from "../utils/Context.sol";
 

+ 1 - 1
contracts/access/Ownable2Step.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Ownable} from "./Ownable.sol";
 

+ 1 - 1
contracts/access/extensions/AccessControlDefaultAdminRules.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControlDefaultAdminRules.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IAccessControlDefaultAdminRules} from "./IAccessControlDefaultAdminRules.sol";
 import {AccessControl, IAccessControl} from "../AccessControl.sol";

+ 1 - 1
contracts/access/extensions/AccessControlEnumerable.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControlEnumerable.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IAccessControlEnumerable} from "./IAccessControlEnumerable.sol";
 import {AccessControl} from "../AccessControl.sol";

+ 1 - 1
contracts/access/extensions/IAccessControlDefaultAdminRules.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (access/IAccessControlDefaultAdminRules.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IAccessControl} from "../IAccessControl.sol";
 

+ 1 - 1
contracts/access/extensions/IAccessControlEnumerable.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IAccessControl} from "../IAccessControl.sol";
 

+ 1 - 1
contracts/finance/VestingWallet.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (finance/VestingWallet.sol)
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20} from "../token/ERC20/IERC20.sol";
 import {SafeERC20} from "../token/ERC20/utils/SafeERC20.sol";

+ 1 - 1
contracts/governance/Governor.sol

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

+ 1 - 1
contracts/governance/IGovernor.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/IGovernor.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "../interfaces/IERC165.sol";
 import {IERC6372} from "../interfaces/IERC6372.sol";

+ 1 - 1
contracts/governance/TimelockController.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/TimelockController.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {AccessControl} from "../access/AccessControl.sol";
 import {ERC721Holder} from "../token/ERC721/utils/ERC721Holder.sol";

+ 1 - 1
contracts/governance/compatibility/GovernorCompatibilityBravo.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/compatibility/GovernorCompatibilityBravo.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {SafeCast} from "../../utils/math/SafeCast.sol";
 import {IGovernorTimelock} from "../extensions/IGovernorTimelock.sol";

+ 1 - 1
contracts/governance/compatibility/IGovernorCompatibilityBravo.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/compatibility/IGovernorCompatibilityBravo.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IGovernor} from "../IGovernor.sol";
 

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

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

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

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

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

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

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

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/extensions/GovernorTimelockCompound.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IGovernorTimelock} from "./IGovernorTimelock.sol";
 import {IGovernor, Governor} from "../Governor.sol";

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

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

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

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/extensions/GovernorVotes.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 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 v4.9.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {GovernorVotes} from "./GovernorVotes.sol";
 import {SafeCast} from "../../utils/math/SafeCast.sol";

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

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (governance/extensions/IGovernorTimelock.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IGovernor} from "../IGovernor.sol";
 

+ 1 - 1
contracts/governance/utils/IVotes.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/utils/IVotes.sol)
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.

+ 1 - 1
contracts/governance/utils/Votes.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (governance/utils/Votes.sol)
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC5805} from "../../interfaces/IERC5805.sol";
 import {Context} from "../../utils/Context.sol";

+ 1 - 1
contracts/interfaces/IERC1155.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC1155} from "../token/ERC1155/IERC1155.sol";

+ 1 - 1
contracts/interfaces/IERC1155MetadataURI.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155MetadataURI.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC1155MetadataURI} from "../token/ERC1155/extensions/IERC1155MetadataURI.sol";

+ 1 - 1
contracts/interfaces/IERC1155Receiver.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155Receiver.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC1155Receiver} from "../token/ERC1155/IERC1155Receiver.sol";

+ 1 - 1
contracts/interfaces/IERC1271.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC1271.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the ERC1271 standard signature validation method for

+ 1 - 1
contracts/interfaces/IERC1363.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC1363.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20} from "./IERC20.sol";
 import {IERC165} from "./IERC165.sol";

+ 1 - 1
contracts/interfaces/IERC1363Receiver.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC1363Receiver.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface for any contract that wants to support {IERC1363-transferAndCall}

+ 1 - 1
contracts/interfaces/IERC1363Spender.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC1363Spender.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface for any contract that wants to support {IERC1363-approveAndCall}

+ 1 - 1
contracts/interfaces/IERC165.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC165.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "../utils/introspection/IERC165.sol";

+ 1 - 1
contracts/interfaces/IERC1820Implementer.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC1820Implementer.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface for an ERC1820 implementer, as defined in the

+ 1 - 1
contracts/interfaces/IERC1820Registry.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.8.0) (utils/introspection/IERC1820Registry.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the global ERC1820 Registry, as defined in the

+ 1 - 1
contracts/interfaces/IERC1967.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC1967.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.

+ 1 - 1
contracts/interfaces/IERC20.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC20.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20} from "../token/ERC20/IERC20.sol";

+ 1 - 1
contracts/interfaces/IERC20Metadata.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC20Metadata.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20Metadata} from "../token/ERC20/extensions/IERC20Metadata.sol";

+ 1 - 1
contracts/interfaces/IERC2309.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.8.0) (interfaces/IERC2309.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev ERC-2309: ERC-721 Consecutive Transfer Extension.

+ 1 - 1
contracts/interfaces/IERC2612.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC2612.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20Permit} from "../token/ERC20/extensions/IERC20Permit.sol";
 

+ 1 - 1
contracts/interfaces/IERC2981.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC2981.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "../utils/introspection/IERC165.sol";
 

+ 1 - 1
contracts/interfaces/IERC3156.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC3156FlashBorrower} from "./IERC3156FlashBorrower.sol";
 import {IERC3156FlashLender} from "./IERC3156FlashLender.sol";

+ 1 - 1
contracts/interfaces/IERC3156FlashBorrower.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC3156FlashBorrower.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the ERC3156 FlashBorrower, as defined in

+ 1 - 1
contracts/interfaces/IERC3156FlashLender.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156FlashLender.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC3156FlashBorrower} from "./IERC3156FlashBorrower.sol";
 

+ 1 - 1
contracts/interfaces/IERC4626.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC4626.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20} from "../token/ERC20/IERC20.sol";
 import {IERC20Metadata} from "../token/ERC20/extensions/IERC20Metadata.sol";

+ 1 - 1
contracts/interfaces/IERC4906.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC4906.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "./IERC165.sol";
 import {IERC721} from "./IERC721.sol";

+ 1 - 1
contracts/interfaces/IERC5267.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5267.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 interface IERC5267 {
     /**

+ 1 - 1
contracts/interfaces/IERC5313.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5313.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface for the Light Contract Ownership Standard.

+ 1 - 1
contracts/interfaces/IERC5805.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5805.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IVotes} from "../governance/utils/IVotes.sol";
 import {IERC6372} from "./IERC6372.sol";

+ 1 - 1
contracts/interfaces/IERC6372.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC6372.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 interface IERC6372 {
     /**

+ 1 - 1
contracts/interfaces/IERC721.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC721.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC721} from "../token/ERC721/IERC721.sol";

+ 1 - 1
contracts/interfaces/IERC721Enumerable.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Enumerable.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC721Enumerable} from "../token/ERC721/extensions/IERC721Enumerable.sol";

+ 1 - 1
contracts/interfaces/IERC721Metadata.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Metadata.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC721Metadata} from "../token/ERC721/extensions/IERC721Metadata.sol";

+ 1 - 1
contracts/interfaces/IERC721Receiver.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Receiver.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC721Receiver} from "../token/ERC721/IERC721Receiver.sol";

+ 1 - 1
contracts/interfaces/IERC777.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the ERC777Token standard as defined in the EIP.

+ 1 - 1
contracts/interfaces/IERC777Recipient.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.

+ 1 - 1
contracts/interfaces/IERC777Sender.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Interface of the ERC777TokensSender standard as defined in the EIP.

+ 1 - 1
contracts/interfaces/draft-IERC1822.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified

+ 1 - 1
contracts/interfaces/draft-IERC6093.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 /**
  * @dev Standard ERC20 Errors

+ 1 - 1
contracts/metatx/ERC2771Context.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.7.0) (metatx/ERC2771Context.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Context} from "../utils/Context.sol";
 

+ 3 - 3
contracts/metatx/ERC2771Forwarder.sol

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts (last updated v4.9.0) (metatx/ERC2771Forwarder.sol)
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ECDSA} from "../utils/cryptography/ECDSA.sol";
 import {EIP712} from "../utils/cryptography/EIP712.sol";
@@ -305,8 +305,8 @@ contract ERC2771Forwarder is EIP712, Nonces {
         // the forwarding does not revert.
         if (gasLeft < request.gas / 63) {
             // We explicitly trigger invalid opcode to consume all gas and bubble-up the effects, since
-            // neither revert or assert consume all gas since Solidity 0.8.0
-            // https://docs.soliditylang.org/en/v0.8.0/control-structures.html#panic-via-assert-and-error-via-require
+            // neither revert or assert consume all gas since Solidity 0.8.20
+            // https://docs.soliditylang.org/en/v0.8.20/control-structures.html#panic-via-assert-and-error-via-require
             /// @solidity memory-safe-assembly
             assembly {
                 invalid()

+ 1 - 1
contracts/mocks/AddressFnPointersMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.0;
+pragma solidity ^0.8.20;
 
 import {Address} from "../utils/Address.sol";
 

+ 1 - 1
contracts/mocks/ArraysMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Arrays} from "../utils/Arrays.sol";
 

+ 1 - 1
contracts/mocks/CallReceiverMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract CallReceiverMock {
     event MockFunctionCalled();

+ 1 - 1
contracts/mocks/ContextMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Context} from "../utils/Context.sol";
 

+ 1 - 1
contracts/mocks/DummyImplementation.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ERC1967Utils} from "../proxy/ERC1967/ERC1967Utils.sol";
 import {StorageSlot} from "../utils/StorageSlot.sol";

+ 1 - 1
contracts/mocks/EIP712Verifier.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ECDSA} from "../utils/cryptography/ECDSA.sol";
 import {EIP712} from "../utils/cryptography/EIP712.sol";

+ 1 - 1
contracts/mocks/ERC1271WalletMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Ownable} from "../access/Ownable.sol";
 import {IERC1271} from "../interfaces/IERC1271.sol";

+ 1 - 1
contracts/mocks/ERC165/ERC165InterfacesSupported.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "../../utils/introspection/IERC165.sol";
 

+ 1 - 1
contracts/mocks/ERC165/ERC165MaliciousData.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract ERC165MaliciousData {
     function supportsInterface(bytes4) public pure returns (bool) {

+ 1 - 1
contracts/mocks/ERC165/ERC165MissingData.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract ERC165MissingData {
     function supportsInterface(bytes4 interfaceId) public view {} // missing return

+ 1 - 1
contracts/mocks/ERC165/ERC165NotSupported.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract ERC165NotSupported {}

+ 1 - 1
contracts/mocks/ERC165/ERC165ReturnBomb.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC165} from "../../utils/introspection/IERC165.sol";
 

+ 1 - 1
contracts/mocks/ERC2771ContextMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ContextMock} from "./ContextMock.sol";
 import {Context} from "../utils/Context.sol";

+ 1 - 1
contracts/mocks/ERC3156FlashBorrowerMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {IERC20} from "../token/ERC20/IERC20.sol";
 import {IERC3156FlashBorrower} from "../interfaces/IERC3156.sol";

+ 1 - 1
contracts/mocks/EtherReceiverMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 contract EtherReceiverMock {
     bool private _acceptEther;

+ 1 - 1
contracts/mocks/InitializableMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Initializable} from "../proxy/utils/Initializable.sol";
 

+ 1 - 1
contracts/mocks/MulticallTest.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ERC20MulticallMock} from "./token/ERC20MulticallMock.sol";
 

+ 1 - 1
contracts/mocks/MultipleInheritanceInitializableMocks.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Initializable} from "../proxy/utils/Initializable.sol";
 

+ 1 - 1
contracts/mocks/PausableMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Pausable} from "../security/Pausable.sol";
 

+ 1 - 1
contracts/mocks/ReentrancyAttack.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {Context} from "../utils/Context.sol";
 

+ 1 - 1
contracts/mocks/ReentrancyMock.sol

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: MIT
 
-pragma solidity ^0.8.19;
+pragma solidity ^0.8.20;
 
 import {ReentrancyGuard} from "../security/ReentrancyGuard.sol";
 import {ReentrancyAttack} from "./ReentrancyAttack.sol";

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