From 13d9086d0b55229ca1b9d5f4c158b0ba75682b5c Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:38:05 -0400 Subject: [PATCH] Minimize Solidity pragma versions for interface compatibility (#5727) --- contracts/access/IAccessControl.sol | 2 +- .../access/extensions/IAccessControlDefaultAdminRules.sol | 2 +- contracts/access/extensions/IAccessControlEnumerable.sol | 2 +- contracts/access/manager/IAccessManaged.sol | 2 +- contracts/access/manager/IAccessManager.sol | 2 +- contracts/access/manager/IAuthority.sol | 2 +- contracts/account/extensions/AccountERC7579.sol | 2 +- contracts/account/extensions/AccountERC7579Hooked.sol | 2 +- contracts/governance/IGovernor.sol | 2 +- contracts/governance/utils/IVotes.sol | 2 +- contracts/interfaces/IERC1155.sol | 2 +- contracts/interfaces/IERC1155MetadataURI.sol | 2 +- contracts/interfaces/IERC1155Receiver.sol | 2 +- contracts/interfaces/IERC1271.sol | 4 ++-- contracts/interfaces/IERC1363.sol | 2 +- contracts/interfaces/IERC1363Receiver.sol | 2 +- contracts/interfaces/IERC1363Spender.sol | 2 +- contracts/interfaces/IERC165.sol | 2 +- contracts/interfaces/IERC1820Implementer.sol | 2 +- contracts/interfaces/IERC1820Registry.sol | 2 +- contracts/interfaces/IERC1967.sol | 2 +- contracts/interfaces/IERC20.sol | 2 +- contracts/interfaces/IERC20Metadata.sol | 2 +- contracts/interfaces/IERC2309.sol | 2 +- contracts/interfaces/IERC2612.sol | 2 +- contracts/interfaces/IERC2981.sol | 2 +- contracts/interfaces/IERC3156.sol | 2 +- contracts/interfaces/IERC3156FlashBorrower.sol | 2 +- contracts/interfaces/IERC3156FlashLender.sol | 2 +- contracts/interfaces/IERC4626.sol | 2 +- contracts/interfaces/IERC4906.sol | 2 +- contracts/interfaces/IERC5267.sol | 2 +- contracts/interfaces/IERC5313.sol | 2 +- contracts/interfaces/IERC5805.sol | 2 +- contracts/interfaces/IERC6372.sol | 2 +- contracts/interfaces/IERC721.sol | 2 +- contracts/interfaces/IERC721Enumerable.sol | 2 +- contracts/interfaces/IERC721Metadata.sol | 2 +- contracts/interfaces/IERC721Receiver.sol | 2 +- contracts/interfaces/IERC777.sol | 2 +- contracts/interfaces/IERC777Recipient.sol | 2 +- contracts/interfaces/IERC777Sender.sol | 2 +- contracts/interfaces/IERC7821.sol | 2 +- contracts/interfaces/IERC7913.sol | 2 +- contracts/interfaces/draft-IERC1822.sol | 2 +- contracts/interfaces/draft-IERC4337.sol | 2 +- contracts/interfaces/draft-IERC6093.sol | 2 +- contracts/interfaces/draft-IERC6909.sol | 2 +- contracts/interfaces/draft-IERC7579.sol | 2 +- contracts/interfaces/draft-IERC7674.sol | 2 +- contracts/proxy/ERC1967/ERC1967Utils.sol | 2 +- contracts/proxy/beacon/IBeacon.sol | 2 +- contracts/token/ERC1155/IERC1155.sol | 2 +- contracts/token/ERC1155/IERC1155Receiver.sol | 2 +- contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol | 2 +- contracts/token/ERC20/IERC20.sol | 2 +- contracts/token/ERC20/extensions/IERC20Metadata.sol | 2 +- contracts/token/ERC20/extensions/IERC20Permit.sol | 2 +- contracts/token/ERC721/IERC721.sol | 2 +- contracts/token/ERC721/IERC721Receiver.sol | 2 +- contracts/token/ERC721/extensions/IERC721Enumerable.sol | 2 +- contracts/token/ERC721/extensions/IERC721Metadata.sol | 2 +- contracts/utils/cryptography/signers/MultiSignerERC7913.sol | 2 +- contracts/utils/introspection/IERC165.sol | 2 +- contracts/vendor/compound/ICompoundTimelock.sol | 2 +- 65 files changed, 66 insertions(+), 66 deletions(-) diff --git a/contracts/access/IAccessControl.sol b/contracts/access/IAccessControl.sol index f6dc00d61..912afa1c2 100644 --- a/contracts/access/IAccessControl.sol +++ b/contracts/access/IAccessControl.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (access/IAccessControl.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; /** * @dev External interface of AccessControl declared to support ERC-165 detection. diff --git a/contracts/access/extensions/IAccessControlDefaultAdminRules.sol b/contracts/access/extensions/IAccessControlDefaultAdminRules.sol index 3740749c4..1c4c331af 100644 --- a/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +++ b/contracts/access/extensions/IAccessControlDefaultAdminRules.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (access/extensions/IAccessControlDefaultAdminRules.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; import {IAccessControl} from "../IAccessControl.sol"; diff --git a/contracts/access/extensions/IAccessControlEnumerable.sol b/contracts/access/extensions/IAccessControlEnumerable.sol index bb9bac86e..9b0b7c477 100644 --- a/contracts/access/extensions/IAccessControlEnumerable.sol +++ b/contracts/access/extensions/IAccessControlEnumerable.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (access/extensions/IAccessControlEnumerable.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; import {IAccessControl} from "../IAccessControl.sol"; diff --git a/contracts/access/manager/IAccessManaged.sol b/contracts/access/manager/IAccessManaged.sol index 95206bdec..975892bb4 100644 --- a/contracts/access/manager/IAccessManaged.sol +++ b/contracts/access/manager/IAccessManaged.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/manager/IAccessManaged.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; interface IAccessManaged { /** diff --git a/contracts/access/manager/IAccessManager.sol b/contracts/access/manager/IAccessManager.sol index 4b89ddb3c..2d73f37a4 100644 --- a/contracts/access/manager/IAccessManager.sol +++ b/contracts/access/manager/IAccessManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (access/manager/IAccessManager.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; interface IAccessManager { /** diff --git a/contracts/access/manager/IAuthority.sol b/contracts/access/manager/IAuthority.sol index e2d3898fd..e6f1e077c 100644 --- a/contracts/access/manager/IAuthority.sol +++ b/contracts/access/manager/IAuthority.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/manager/IAuthority.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Standard interface for permissioning originally defined in Dappsys. diff --git a/contracts/account/extensions/AccountERC7579.sol b/contracts/account/extensions/AccountERC7579.sol index e554bb96b..e24e56dce 100644 --- a/contracts/account/extensions/AccountERC7579.sol +++ b/contracts/account/extensions/AccountERC7579.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.27; +pragma solidity ^0.8.26; import {PackedUserOperation} from "../../interfaces/draft-IERC4337.sol"; import {IERC1271} from "../../interfaces/IERC1271.sol"; diff --git a/contracts/account/extensions/AccountERC7579Hooked.sol b/contracts/account/extensions/AccountERC7579Hooked.sol index 9666f3cda..f96a8d117 100644 --- a/contracts/account/extensions/AccountERC7579Hooked.sol +++ b/contracts/account/extensions/AccountERC7579Hooked.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.27; +pragma solidity ^0.8.26; import {IERC7579Hook, MODULE_TYPE_HOOK} from "../../interfaces/draft-IERC7579.sol"; import {ERC7579Utils, Mode} from "../../account/utils/draft-ERC7579Utils.sol"; diff --git a/contracts/governance/IGovernor.sol b/contracts/governance/IGovernor.sol index d51e7deb2..9fc2a7587 100644 --- a/contracts/governance/IGovernor.sol +++ b/contracts/governance/IGovernor.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (governance/IGovernor.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; import {IERC165} from "../interfaces/IERC165.sol"; import {IERC6372} from "../interfaces/IERC6372.sol"; diff --git a/contracts/governance/utils/IVotes.sol b/contracts/governance/utils/IVotes.sol index 7ba012e67..508e611a5 100644 --- a/contracts/governance/utils/IVotes.sol +++ b/contracts/governance/utils/IVotes.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/IVotes.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; /** * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. diff --git a/contracts/interfaces/IERC1155.sol b/contracts/interfaces/IERC1155.sol index bb502b1da..4bda2dc90 100644 --- a/contracts/interfaces/IERC1155.sol +++ b/contracts/interfaces/IERC1155.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC1155} from "../token/ERC1155/IERC1155.sol"; diff --git a/contracts/interfaces/IERC1155MetadataURI.sol b/contracts/interfaces/IERC1155MetadataURI.sol index dac0bab54..ccef66cd6 100644 --- a/contracts/interfaces/IERC1155MetadataURI.sol +++ b/contracts/interfaces/IERC1155MetadataURI.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155MetadataURI.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC1155MetadataURI} from "../token/ERC1155/extensions/IERC1155MetadataURI.sol"; diff --git a/contracts/interfaces/IERC1155Receiver.sol b/contracts/interfaces/IERC1155Receiver.sol index 6bb7c9684..fde303172 100644 --- a/contracts/interfaces/IERC1155Receiver.sol +++ b/contracts/interfaces/IERC1155Receiver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155Receiver.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC1155Receiver} from "../token/ERC1155/IERC1155Receiver.sol"; diff --git a/contracts/interfaces/IERC1271.sol b/contracts/interfaces/IERC1271.sol index 71e0b72b6..5b5f26681 100644 --- a/contracts/interfaces/IERC1271.sol +++ b/contracts/interfaces/IERC1271.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (interfaces/IERC1271.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the ERC-1271 standard signature validation method for @@ -13,5 +13,5 @@ interface IERC1271 { * @param hash Hash of the data to be signed * @param signature Signature byte array associated with `hash` */ - function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue); + function isValidSignature(bytes32 hash, bytes calldata signature) external view returns (bytes4 magicValue); } diff --git a/contracts/interfaces/IERC1363.sol b/contracts/interfaces/IERC1363.sol index 02de22859..ebfa76c3f 100644 --- a/contracts/interfaces/IERC1363.sol +++ b/contracts/interfaces/IERC1363.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20} from "./IERC20.sol"; import {IERC165} from "./IERC165.sol"; diff --git a/contracts/interfaces/IERC1363Receiver.sol b/contracts/interfaces/IERC1363Receiver.sol index 02c065861..28ae5c751 100644 --- a/contracts/interfaces/IERC1363Receiver.sol +++ b/contracts/interfaces/IERC1363Receiver.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363Receiver.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @title IERC1363Receiver diff --git a/contracts/interfaces/IERC1363Spender.sol b/contracts/interfaces/IERC1363Spender.sol index 13af938f0..7c1ce0c2d 100644 --- a/contracts/interfaces/IERC1363Spender.sol +++ b/contracts/interfaces/IERC1363Spender.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363Spender.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @title IERC1363Spender diff --git a/contracts/interfaces/IERC165.sol b/contracts/interfaces/IERC165.sol index 944dd0d59..302565544 100644 --- a/contracts/interfaces/IERC165.sol +++ b/contracts/interfaces/IERC165.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; import {IERC165} from "../utils/introspection/IERC165.sol"; diff --git a/contracts/interfaces/IERC1820Implementer.sol b/contracts/interfaces/IERC1820Implementer.sol index 95289c65c..7b6841b3a 100644 --- a/contracts/interfaces/IERC1820Implementer.sol +++ b/contracts/interfaces/IERC1820Implementer.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1820Implementer.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Interface for an ERC-1820 implementer, as defined in the diff --git a/contracts/interfaces/IERC1820Registry.sol b/contracts/interfaces/IERC1820Registry.sol index fa7046611..822be8b3b 100644 --- a/contracts/interfaces/IERC1820Registry.sol +++ b/contracts/interfaces/IERC1820Registry.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1820Registry.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the global ERC-1820 Registry, as defined in the diff --git a/contracts/interfaces/IERC1967.sol b/contracts/interfaces/IERC1967.sol index d285ec889..e7e54d5ae 100644 --- a/contracts/interfaces/IERC1967.sol +++ b/contracts/interfaces/IERC1967.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.11; /** * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC. diff --git a/contracts/interfaces/IERC20.sol b/contracts/interfaces/IERC20.sol index 21d5a4132..7248dfb49 100644 --- a/contracts/interfaces/IERC20.sol +++ b/contracts/interfaces/IERC20.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; import {IERC20} from "../token/ERC20/IERC20.sol"; diff --git a/contracts/interfaces/IERC20Metadata.sol b/contracts/interfaces/IERC20Metadata.sol index b7bc6916f..6a4d15a7e 100644 --- a/contracts/interfaces/IERC20Metadata.sol +++ b/contracts/interfaces/IERC20Metadata.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20Metadata.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20Metadata} from "../token/ERC20/extensions/IERC20Metadata.sol"; diff --git a/contracts/interfaces/IERC2309.sol b/contracts/interfaces/IERC2309.sol index aa00f3417..a282a79ef 100644 --- a/contracts/interfaces/IERC2309.sol +++ b/contracts/interfaces/IERC2309.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC2309.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.11; /** * @dev ERC-2309: ERC-721 Consecutive Transfer Extension. diff --git a/contracts/interfaces/IERC2612.sol b/contracts/interfaces/IERC2612.sol index c0427bbfd..03acefb3d 100644 --- a/contracts/interfaces/IERC2612.sol +++ b/contracts/interfaces/IERC2612.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC2612.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20Permit} from "../token/ERC20/extensions/IERC20Permit.sol"; diff --git a/contracts/interfaces/IERC2981.sol b/contracts/interfaces/IERC2981.sol index db5eb5cd4..8b04bdd49 100644 --- a/contracts/interfaces/IERC2981.sol +++ b/contracts/interfaces/IERC2981.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC2981.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "../utils/introspection/IERC165.sol"; diff --git a/contracts/interfaces/IERC3156.sol b/contracts/interfaces/IERC3156.sol index 0f48bf387..a72846c0c 100644 --- a/contracts/interfaces/IERC3156.sol +++ b/contracts/interfaces/IERC3156.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC3156.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; import {IERC3156FlashBorrower} from "./IERC3156FlashBorrower.sol"; import {IERC3156FlashLender} from "./IERC3156FlashLender.sol"; diff --git a/contracts/interfaces/IERC3156FlashBorrower.sol b/contracts/interfaces/IERC3156FlashBorrower.sol index daafb17ee..af1a8698c 100644 --- a/contracts/interfaces/IERC3156FlashBorrower.sol +++ b/contracts/interfaces/IERC3156FlashBorrower.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC3156FlashBorrower.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the ERC-3156 FlashBorrower, as defined in diff --git a/contracts/interfaces/IERC3156FlashLender.sol b/contracts/interfaces/IERC3156FlashLender.sol index 7b1b071d4..f0a004971 100644 --- a/contracts/interfaces/IERC3156FlashLender.sol +++ b/contracts/interfaces/IERC3156FlashLender.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC3156FlashLender.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; import {IERC3156FlashBorrower} from "./IERC3156FlashBorrower.sol"; diff --git a/contracts/interfaces/IERC4626.sol b/contracts/interfaces/IERC4626.sol index ce55f72e1..7d607ff51 100644 --- a/contracts/interfaces/IERC4626.sol +++ b/contracts/interfaces/IERC4626.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (interfaces/IERC4626.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20} from "../token/ERC20/IERC20.sol"; import {IERC20Metadata} from "../token/ERC20/extensions/IERC20Metadata.sol"; diff --git a/contracts/interfaces/IERC4906.sol b/contracts/interfaces/IERC4906.sol index 6ecd06134..63260505f 100644 --- a/contracts/interfaces/IERC4906.sol +++ b/contracts/interfaces/IERC4906.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC4906.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "./IERC165.sol"; import {IERC721} from "./IERC721.sol"; diff --git a/contracts/interfaces/IERC5267.sol b/contracts/interfaces/IERC5267.sol index 47a9fd588..cf819df72 100644 --- a/contracts/interfaces/IERC5267.sol +++ b/contracts/interfaces/IERC5267.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5267.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; interface IERC5267 { /** diff --git a/contracts/interfaces/IERC5313.sol b/contracts/interfaces/IERC5313.sol index 62f8d75c5..c0763b82d 100644 --- a/contracts/interfaces/IERC5313.sol +++ b/contracts/interfaces/IERC5313.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5313.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Interface for the Light Contract Ownership Standard. diff --git a/contracts/interfaces/IERC5805.sol b/contracts/interfaces/IERC5805.sol index a89e22df4..d73f8acc8 100644 --- a/contracts/interfaces/IERC5805.sol +++ b/contracts/interfaces/IERC5805.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5805.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; import {IVotes} from "../governance/utils/IVotes.sol"; import {IERC6372} from "./IERC6372.sol"; diff --git a/contracts/interfaces/IERC6372.sol b/contracts/interfaces/IERC6372.sol index 7d2ea4a55..56f8936b5 100644 --- a/contracts/interfaces/IERC6372.sol +++ b/contracts/interfaces/IERC6372.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC6372.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; interface IERC6372 { /** diff --git a/contracts/interfaces/IERC721.sol b/contracts/interfaces/IERC721.sol index 0ea735bb3..7d36f3e86 100644 --- a/contracts/interfaces/IERC721.sol +++ b/contracts/interfaces/IERC721.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC721} from "../token/ERC721/IERC721.sol"; diff --git a/contracts/interfaces/IERC721Enumerable.sol b/contracts/interfaces/IERC721Enumerable.sol index d83a05621..f0b836469 100644 --- a/contracts/interfaces/IERC721Enumerable.sol +++ b/contracts/interfaces/IERC721Enumerable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Enumerable.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC721Enumerable} from "../token/ERC721/extensions/IERC721Enumerable.sol"; diff --git a/contracts/interfaces/IERC721Metadata.sol b/contracts/interfaces/IERC721Metadata.sol index d79dd6869..7ebdea2ec 100644 --- a/contracts/interfaces/IERC721Metadata.sol +++ b/contracts/interfaces/IERC721Metadata.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Metadata.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC721Metadata} from "../token/ERC721/extensions/IERC721Metadata.sol"; diff --git a/contracts/interfaces/IERC721Receiver.sol b/contracts/interfaces/IERC721Receiver.sol index 6b2a5aa67..7094254a6 100644 --- a/contracts/interfaces/IERC721Receiver.sol +++ b/contracts/interfaces/IERC721Receiver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Receiver.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; import {IERC721Receiver} from "../token/ERC721/IERC721Receiver.sol"; diff --git a/contracts/interfaces/IERC777.sol b/contracts/interfaces/IERC777.sol index 1e672330a..b3f5184fb 100644 --- a/contracts/interfaces/IERC777.sol +++ b/contracts/interfaces/IERC777.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the ERC-777 Token standard as defined in the ERC. diff --git a/contracts/interfaces/IERC777Recipient.sol b/contracts/interfaces/IERC777Recipient.sol index c377de971..99ade77c1 100644 --- a/contracts/interfaces/IERC777Recipient.sol +++ b/contracts/interfaces/IERC777Recipient.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777Recipient.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the ERC-777 Tokens Recipient standard as defined in the ERC. diff --git a/contracts/interfaces/IERC777Sender.sol b/contracts/interfaces/IERC777Sender.sol index 0ec8c2784..0086b82c9 100644 --- a/contracts/interfaces/IERC777Sender.sol +++ b/contracts/interfaces/IERC777Sender.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777Sender.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @dev Interface of the ERC-777 Tokens Sender standard as defined in the ERC. diff --git a/contracts/interfaces/IERC7821.sol b/contracts/interfaces/IERC7821.sol index c79a04eef..db247f7f8 100644 --- a/contracts/interfaces/IERC7821.sol +++ b/contracts/interfaces/IERC7821.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; +pragma solidity >=0.5.0; /** * @dev Interface for minimal batch executor. diff --git a/contracts/interfaces/IERC7913.sol b/contracts/interfaces/IERC7913.sol index 58e334095..3bf0df808 100644 --- a/contracts/interfaces/IERC7913.sol +++ b/contracts/interfaces/IERC7913.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; +pragma solidity >=0.5.0; /** * @dev Signature verifier interface. diff --git a/contracts/interfaces/draft-IERC1822.sol b/contracts/interfaces/draft-IERC1822.sol index f846ea6bf..d21a30226 100644 --- a/contracts/interfaces/draft-IERC1822.sol +++ b/contracts/interfaces/draft-IERC1822.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC1822.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified diff --git a/contracts/interfaces/draft-IERC4337.sol b/contracts/interfaces/draft-IERC4337.sol index 62fbe4b64..7ea368fd0 100644 --- a/contracts/interfaces/draft-IERC4337.sol +++ b/contracts/interfaces/draft-IERC4337.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC4337.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; /** * @dev A https://github.com/ethereum/ercs/blob/master/ERCS/erc-4337.md#useroperation[user operation] is composed of the following elements: diff --git a/contracts/interfaces/draft-IERC6093.sol b/contracts/interfaces/draft-IERC6093.sol index 3227fd624..fffb444a5 100644 --- a/contracts/interfaces/draft-IERC6093.sol +++ b/contracts/interfaces/draft-IERC6093.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; /** * @dev Standard ERC-20 Errors diff --git a/contracts/interfaces/draft-IERC6909.sol b/contracts/interfaces/draft-IERC6909.sol index c6d550d65..d39e283b8 100644 --- a/contracts/interfaces/draft-IERC6909.sol +++ b/contracts/interfaces/draft-IERC6909.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC6909.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "../utils/introspection/IERC165.sol"; diff --git a/contracts/interfaces/draft-IERC7579.sol b/contracts/interfaces/draft-IERC7579.sol index dbe991542..d6f62e7ea 100644 --- a/contracts/interfaces/draft-IERC7579.sol +++ b/contracts/interfaces/draft-IERC7579.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC7579.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.8.4; import {PackedUserOperation} from "./draft-IERC4337.sol"; diff --git a/contracts/interfaces/draft-IERC7674.sol b/contracts/interfaces/draft-IERC7674.sol index be3c413ec..f8b6b71ad 100644 --- a/contracts/interfaces/draft-IERC7674.sol +++ b/contracts/interfaces/draft-IERC7674.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC7674.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20} from "./IERC20.sol"; diff --git a/contracts/proxy/ERC1967/ERC1967Utils.sol b/contracts/proxy/ERC1967/ERC1967Utils.sol index 73fe697f3..d7c4a9631 100644 --- a/contracts/proxy/ERC1967/ERC1967Utils.sol +++ b/contracts/proxy/ERC1967/ERC1967Utils.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Utils.sol) -pragma solidity ^0.8.22; +pragma solidity ^0.8.21; import {IBeacon} from "../beacon/IBeacon.sol"; import {IERC1967} from "../../interfaces/IERC1967.sol"; diff --git a/contracts/proxy/beacon/IBeacon.sol b/contracts/proxy/beacon/IBeacon.sol index 36a3c76e9..cfdaf73bd 100644 --- a/contracts/proxy/beacon/IBeacon.sol +++ b/contracts/proxy/beacon/IBeacon.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev This is the interface that {BeaconProxy} expects of its beacon. diff --git a/contracts/token/ERC1155/IERC1155.sol b/contracts/token/ERC1155/IERC1155.sol index ea1c0daba..70cdecd93 100644 --- a/contracts/token/ERC1155/IERC1155.sol +++ b/contracts/token/ERC1155/IERC1155.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.3.0) (token/ERC1155/IERC1155.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "../../utils/introspection/IERC165.sol"; diff --git a/contracts/token/ERC1155/IERC1155Receiver.sol b/contracts/token/ERC1155/IERC1155Receiver.sol index 7d9bc2397..22ac80aaf 100644 --- a/contracts/token/ERC1155/IERC1155Receiver.sol +++ b/contracts/token/ERC1155/IERC1155Receiver.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/IERC1155Receiver.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "../../utils/introspection/IERC165.sol"; diff --git a/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol b/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol index b413f4304..38fc6852a 100644 --- a/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +++ b/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/extensions/IERC1155MetadataURI.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC1155} from "../IERC1155.sol"; diff --git a/contracts/token/ERC20/IERC20.sol b/contracts/token/ERC20/IERC20.sol index 7d1019563..71a3dffb8 100644 --- a/contracts/token/ERC20/IERC20.sol +++ b/contracts/token/ERC20/IERC20.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Interface of the ERC-20 standard as defined in the ERC. diff --git a/contracts/token/ERC20/extensions/IERC20Metadata.sol b/contracts/token/ERC20/extensions/IERC20Metadata.sol index 3c067ef40..dd9c9beb4 100644 --- a/contracts/token/ERC20/extensions/IERC20Metadata.sol +++ b/contracts/token/ERC20/extensions/IERC20Metadata.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Metadata.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC20} from "../IERC20.sol"; diff --git a/contracts/token/ERC20/extensions/IERC20Permit.sol b/contracts/token/ERC20/extensions/IERC20Permit.sol index fc374368f..7da408c45 100644 --- a/contracts/token/ERC20/extensions/IERC20Permit.sol +++ b/contracts/token/ERC20/extensions/IERC20Permit.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Permit.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in diff --git a/contracts/token/ERC721/IERC721.sol b/contracts/token/ERC721/IERC721.sol index da3930147..61aaaab33 100644 --- a/contracts/token/ERC721/IERC721.sol +++ b/contracts/token/ERC721/IERC721.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC165} from "../../utils/introspection/IERC165.sol"; diff --git a/contracts/token/ERC721/IERC721Receiver.sol b/contracts/token/ERC721/IERC721Receiver.sol index d472eec33..42c3fd12a 100644 --- a/contracts/token/ERC721/IERC721Receiver.sol +++ b/contracts/token/ERC721/IERC721Receiver.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721Receiver.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.5.0; /** * @title ERC-721 token receiver interface diff --git a/contracts/token/ERC721/extensions/IERC721Enumerable.sol b/contracts/token/ERC721/extensions/IERC721Enumerable.sol index 7a09cc6a0..e839243f6 100644 --- a/contracts/token/ERC721/extensions/IERC721Enumerable.sol +++ b/contracts/token/ERC721/extensions/IERC721Enumerable.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Enumerable.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC721} from "../IERC721.sol"; diff --git a/contracts/token/ERC721/extensions/IERC721Metadata.sol b/contracts/token/ERC721/extensions/IERC721Metadata.sol index e9e00fab6..3c66d0fee 100644 --- a/contracts/token/ERC721/extensions/IERC721Metadata.sol +++ b/contracts/token/ERC721/extensions/IERC721Metadata.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Metadata.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.2; import {IERC721} from "../IERC721.sol"; diff --git a/contracts/utils/cryptography/signers/MultiSignerERC7913.sol b/contracts/utils/cryptography/signers/MultiSignerERC7913.sol index b83f5520f..8ee983d95 100644 --- a/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +++ b/contracts/utils/cryptography/signers/MultiSignerERC7913.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.27; +pragma solidity ^0.8.26; import {AbstractSigner} from "./AbstractSigner.sol"; import {SignatureChecker} from "../SignatureChecker.sol"; diff --git a/contracts/utils/introspection/IERC165.sol b/contracts/utils/introspection/IERC165.sol index 719ec3586..f42416651 100644 --- a/contracts/utils/introspection/IERC165.sol +++ b/contracts/utils/introspection/IERC165.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.4.16; /** * @dev Interface of the ERC-165 standard, as defined in the diff --git a/contracts/vendor/compound/ICompoundTimelock.sol b/contracts/vendor/compound/ICompoundTimelock.sol index 320eea1c6..3ecf251cf 100644 --- a/contracts/vendor/compound/ICompoundTimelock.sol +++ b/contracts/vendor/compound/ICompoundTimelock.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (vendor/compound/ICompoundTimelock.sol) -pragma solidity ^0.8.20; +pragma solidity >=0.6.9; /** * https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound timelock] interface