From 540e221fca269d5ce89017677b460c656c049122 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 6 Feb 2025 13:30:07 +1000 Subject: [PATCH] Change solidity version --- .solhint.json | 2 +- README.md | 2 +- contracts/access/MintingAccessControl.sol | 2 +- contracts/allowlist/IOperatorAllowlist.sol | 2 +- contracts/allowlist/IWalletProxy.sol | 2 +- contracts/allowlist/OperatorAllowlistEnforced.sol | 2 +- contracts/allowlist/OperatorAllowlistUpgradeable.sol | 2 +- contracts/bridge/x/v4/CoreV4.sol | 2 +- contracts/bridge/x/v4/RegistrationV4.sol | 2 +- contracts/deployer/AccessControlledDeployer.sol | 2 +- contracts/deployer/create/OwnableCreateDeploy.sol | 2 +- contracts/deployer/create2/OwnableCreate2Deployer.sol | 2 +- contracts/deployer/create3/OwnableCreate3.sol | 2 +- contracts/deployer/create3/OwnableCreate3Address.sol | 2 +- contracts/deployer/create3/OwnableCreate3Deployer.sol | 2 +- contracts/errors/Errors.sol | 2 +- contracts/errors/PaymentSplitterErrors.sol | 2 +- contracts/games/gems/GemGame.sol | 2 +- contracts/mocks/MockDisguisedEOA.sol | 2 +- contracts/mocks/MockEIP1271Wallet.sol | 2 +- contracts/mocks/MockFactory.sol | 2 +- contracts/mocks/MockFunctions.sol | 2 +- contracts/mocks/MockMarketplace.sol | 2 +- contracts/mocks/MockOnReceive.sol | 2 +- contracts/mocks/MockWallet.sol | 2 +- contracts/mocks/MockWalletFactory.sol | 2 +- contracts/multicall/GuardedMulticaller.sol | 2 +- contracts/multicall/GuardedMulticaller2.sol | 2 +- contracts/payment-splitter/PaymentSplitter.sol | 2 +- contracts/staking/StakeHolder.sol | 2 +- contracts/test/allowlist/OperatorAllowlist.sol | 2 +- contracts/token/erc1155/abstract/ERC1155Permit.sol | 2 +- contracts/token/erc1155/abstract/IERC1155Permit.sol | 2 +- contracts/token/erc1155/abstract/ImmutableERC1155Base.sol | 2 +- contracts/token/erc1155/preset/ImmutableERC1155.sol | 2 +- contracts/token/erc20/preset/Errors.sol | 2 +- .../token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.sol | 2 +- .../token/erc20/preset/ImmutableERC20MinterBurnerPermit.sol | 2 +- contracts/token/erc721/abstract/ERC721Hybrid.sol | 2 +- contracts/token/erc721/abstract/ERC721HybridPermit.sol | 2 +- contracts/token/erc721/abstract/ERC721Permit.sol | 2 +- contracts/token/erc721/abstract/IERC4494.sol | 2 +- contracts/token/erc721/abstract/ImmutableERC721Base.sol | 2 +- contracts/token/erc721/abstract/ImmutableERC721HybridBase.sol | 2 +- contracts/token/erc721/erc721psi/ERC721Psi.sol | 2 +- contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol | 2 +- contracts/token/erc721/preset/ImmutableERC721.sol | 2 +- contracts/token/erc721/preset/ImmutableERC721MintByID.sol | 2 +- .../AllowlistImmutableERC721MintByIDTransferApprovals.t.sol | 2 +- test/allowlist/AllowlistImmutableERC721TransferApprovals.t.sol | 2 +- test/allowlist/MockOAL.sol | 2 +- test/allowlist/OperatorAllowlistUpgradeable.t.sol | 2 +- test/bridge/x/v4/MockCoreV4.sol | 2 +- test/deployer/AccessControlledDeployer.t.sol | 2 +- test/deployer/create2/Create2Utils.sol | 2 +- test/deployer/create2/OwnableCreate2Deployer.t.sol | 2 +- test/deployer/create3/Create3Utils.sol | 2 +- test/deployer/create3/OwnableCreate3Deployer.t.sol | 2 +- test/games/gems/GemGame.t.sol | 2 +- test/multicall/GuardedMulticaller2.t.sol | 2 +- test/multicall/SigUtils.t.sol | 2 +- test/payment-splitter/PaymentSplitter.t.sol | 2 +- test/staking/StakeHolderAttackWallet.sol | 2 +- test/staking/StakeHolderBase.t.sol | 2 +- test/staking/StakeHolderConfig.t.sol | 2 +- test/staking/StakeHolderInit.t.sol | 2 +- test/staking/StakeHolderOperational.t.sol | 2 +- test/token/erc1155/ImmutableERC1155.t.sol | 2 +- test/token/erc1155/ImmutableERC1155Costs.t.sol | 2 +- test/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.t.sol | 2 +- test/token/erc20/preset/ImmutableERC20MinterBurnerPermit.t.sol | 2 +- test/utils/DeployAllowlistProxy.sol | 2 +- test/utils/DeployMockMarketPlace.sol | 2 +- test/utils/DeploySCW.sol | 2 +- test/utils/Sign.sol | 2 +- 75 files changed, 75 insertions(+), 75 deletions(-) diff --git a/.solhint.json b/.solhint.json index 84828ef4..28a0cbb4 100644 --- a/.solhint.json +++ b/.solhint.json @@ -40,7 +40,7 @@ "avoid-throw": "error", "avoid-tx-origin": "error", "check-send-result": "error", - "compiler-version": ["error", "0.8.19"], + "compiler-version": ["error", ">=0.8.19 <0.8.29"], "func-visibility": ["error", {"ignoreConstructors": true}], "multiple-sends": "warn", "no-complex-fallback": "warn", diff --git a/README.md b/README.md index 60e7b70d..650e6646 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ $ yarn add @imtbl/contracts Once the `contracts` package is installed, use the contracts from the library by importing them: ```solidity -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "@imtbl/contracts/contracts/token/erc721/preset/ImmutableERC721.sol"; diff --git a/contracts/access/MintingAccessControl.sol b/contracts/access/MintingAccessControl.sol index 569c95e9..dffbd45a 100644 --- a/contracts/access/MintingAccessControl.sol +++ b/contracts/access/MintingAccessControl.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol"; diff --git a/contracts/allowlist/IOperatorAllowlist.sol b/contracts/allowlist/IOperatorAllowlist.sol index 20fab7d3..a12b182b 100644 --- a/contracts/allowlist/IOperatorAllowlist.sol +++ b/contracts/allowlist/IOperatorAllowlist.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; /** * @notice Required interface of an OperatorAllowlist compliant contract diff --git a/contracts/allowlist/IWalletProxy.sol b/contracts/allowlist/IWalletProxy.sol index c4c1b20e..962b412d 100644 --- a/contracts/allowlist/IWalletProxy.sol +++ b/contracts/allowlist/IWalletProxy.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Interface to retrieve the implemention stored inside the Proxy contract /// Interface for Passport Wallet's proxy contract. diff --git a/contracts/allowlist/OperatorAllowlistEnforced.sol b/contracts/allowlist/OperatorAllowlistEnforced.sol index 90824b60..f5b9875e 100644 --- a/contracts/allowlist/OperatorAllowlistEnforced.sol +++ b/contracts/allowlist/OperatorAllowlistEnforced.sol @@ -1,7 +1,7 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 // slither-disable-start calls-loop -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Allowlist Registry import {IOperatorAllowlist} from "./IOperatorAllowlist.sol"; diff --git a/contracts/allowlist/OperatorAllowlistUpgradeable.sol b/contracts/allowlist/OperatorAllowlistUpgradeable.sol index af397f25..5ad863e4 100644 --- a/contracts/allowlist/OperatorAllowlistUpgradeable.sol +++ b/contracts/allowlist/OperatorAllowlistUpgradeable.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/proxy/utils/UUPSUpgradeable.sol"; import {AccessControlEnumerableUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/access/AccessControlEnumerableUpgradeable.sol"; diff --git a/contracts/bridge/x/v4/CoreV4.sol b/contracts/bridge/x/v4/CoreV4.sol index bc643384..638de5c1 100644 --- a/contracts/bridge/x/v4/CoreV4.sol +++ b/contracts/bridge/x/v4/CoreV4.sol @@ -7,7 +7,7 @@ // // This file was generated using the abi-to-sol tool. // the StarkEx contract ABI that was provided by StarkWare via slack. -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // solhint-disable func-name-mixedcase interface CoreV4 { diff --git a/contracts/bridge/x/v4/RegistrationV4.sol b/contracts/bridge/x/v4/RegistrationV4.sol index 050168ce..8cb40f0f 100644 --- a/contracts/bridge/x/v4/RegistrationV4.sol +++ b/contracts/bridge/x/v4/RegistrationV4.sol @@ -1,6 +1,6 @@ // Copyright (c) Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {CoreV4} from "./CoreV4.sol"; diff --git a/contracts/deployer/AccessControlledDeployer.sol b/contracts/deployer/AccessControlledDeployer.sol index 98a25c4e..eede9e55 100644 --- a/contracts/deployer/AccessControlledDeployer.sol +++ b/contracts/deployer/AccessControlledDeployer.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IDeployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeployer.sol"; import {Pausable} from "@openzeppelin/contracts/security/Pausable.sol"; diff --git a/contracts/deployer/create/OwnableCreateDeploy.sol b/contracts/deployer/create/OwnableCreateDeploy.sol index 5fad1a78..25ef28a8 100644 --- a/contracts/deployer/create/OwnableCreateDeploy.sol +++ b/contracts/deployer/create/OwnableCreateDeploy.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; /** * @title OwnableCreateDeploy Contract diff --git a/contracts/deployer/create2/OwnableCreate2Deployer.sol b/contracts/deployer/create2/OwnableCreate2Deployer.sol index f546cd6f..0f63cbe7 100644 --- a/contracts/deployer/create2/OwnableCreate2Deployer.sol +++ b/contracts/deployer/create2/OwnableCreate2Deployer.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {Deployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/deploy/Deployer.sol"; diff --git a/contracts/deployer/create3/OwnableCreate3.sol b/contracts/deployer/create3/OwnableCreate3.sol index 9d184d59..977ecce2 100644 --- a/contracts/deployer/create3/OwnableCreate3.sol +++ b/contracts/deployer/create3/OwnableCreate3.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IDeploy} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeploy.sol"; import {ContractAddress} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/libs/ContractAddress.sol"; diff --git a/contracts/deployer/create3/OwnableCreate3Address.sol b/contracts/deployer/create3/OwnableCreate3Address.sol index 34b8896b..2b88bcbb 100644 --- a/contracts/deployer/create3/OwnableCreate3Address.sol +++ b/contracts/deployer/create3/OwnableCreate3Address.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {OwnableCreateDeploy} from "../create/OwnableCreateDeploy.sol"; diff --git a/contracts/deployer/create3/OwnableCreate3Deployer.sol b/contracts/deployer/create3/OwnableCreate3Deployer.sol index 278e4bd5..9775a444 100644 --- a/contracts/deployer/create3/OwnableCreate3Deployer.sol +++ b/contracts/deployer/create3/OwnableCreate3Deployer.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {Deployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/deploy/Deployer.sol"; diff --git a/contracts/errors/Errors.sol b/contracts/errors/Errors.sol index 05de5293..72f512f5 100644 --- a/contracts/errors/Errors.sol +++ b/contracts/errors/Errors.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; interface IImmutableERC721Errors { /// @dev Caller tried to mint an already burned token diff --git a/contracts/errors/PaymentSplitterErrors.sol b/contracts/errors/PaymentSplitterErrors.sol index 0239ac47..164d7b02 100644 --- a/contracts/errors/PaymentSplitterErrors.sol +++ b/contracts/errors/PaymentSplitterErrors.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 //SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; interface IPaymentSplitterErrors { /// @dev caller tried to add payees with shares of unequal length diff --git a/contracts/games/gems/GemGame.sol b/contracts/games/gems/GemGame.sol index 34759404..b2cc9d72 100644 --- a/contracts/games/gems/GemGame.sol +++ b/contracts/games/gems/GemGame.sol @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache 2 // solhint-disable not-rely-on-time -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; import {Pausable} from "@openzeppelin/contracts/security/Pausable.sol"; diff --git a/contracts/mocks/MockDisguisedEOA.sol b/contracts/mocks/MockDisguisedEOA.sol index eeff046b..8c2820cd 100644 --- a/contracts/mocks/MockDisguisedEOA.sol +++ b/contracts/mocks/MockDisguisedEOA.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/mocks/MockEIP1271Wallet.sol b/contracts/mocks/MockEIP1271Wallet.sol index 65824c99..c99de6c8 100644 --- a/contracts/mocks/MockEIP1271Wallet.sol +++ b/contracts/mocks/MockEIP1271Wallet.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol"; diff --git a/contracts/mocks/MockFactory.sol b/contracts/mocks/MockFactory.sol index 8acfdb43..8a97f2b9 100644 --- a/contracts/mocks/MockFactory.sol +++ b/contracts/mocks/MockFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {Create2} from "@openzeppelin/contracts/utils/Create2.sol"; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/mocks/MockFunctions.sol b/contracts/mocks/MockFunctions.sol index c0e2b6ad..aa1a5da1 100644 --- a/contracts/mocks/MockFunctions.sol +++ b/contracts/mocks/MockFunctions.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: Unlicense // This file is part of the test code for GuardedMulticaller -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; contract MockFunctions { error RevertWithData(uint256 value); diff --git a/contracts/mocks/MockMarketplace.sol b/contracts/mocks/MockMarketplace.sol index 545a89c8..0f4d2617 100644 --- a/contracts/mocks/MockMarketplace.sol +++ b/contracts/mocks/MockMarketplace.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import {IERC2981} from "@openzeppelin/contracts/interfaces/IERC2981.sol"; diff --git a/contracts/mocks/MockOnReceive.sol b/contracts/mocks/MockOnReceive.sol index b8c9064a..d563d8ca 100644 --- a/contracts/mocks/MockOnReceive.sol +++ b/contracts/mocks/MockOnReceive.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/mocks/MockWallet.sol b/contracts/mocks/MockWallet.sol index d266f3fd..c418f28d 100644 --- a/contracts/mocks/MockWallet.sol +++ b/contracts/mocks/MockWallet.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; diff --git a/contracts/mocks/MockWalletFactory.sol b/contracts/mocks/MockWalletFactory.sol index b5524ce7..fd3be5bf 100644 --- a/contracts/mocks/MockWalletFactory.sol +++ b/contracts/mocks/MockWalletFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; contract MockWalletFactory { bytes private constant WALLET_CREATION_CODE = diff --git a/contracts/multicall/GuardedMulticaller.sol b/contracts/multicall/GuardedMulticaller.sol index bcf0ecf4..95948894 100644 --- a/contracts/multicall/GuardedMulticaller.sol +++ b/contracts/multicall/GuardedMulticaller.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Signature Validation import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol"; diff --git a/contracts/multicall/GuardedMulticaller2.sol b/contracts/multicall/GuardedMulticaller2.sol index 51d5e336..1637abc9 100644 --- a/contracts/multicall/GuardedMulticaller2.sol +++ b/contracts/multicall/GuardedMulticaller2.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Signature Validation import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol"; diff --git a/contracts/payment-splitter/PaymentSplitter.sol b/contracts/payment-splitter/PaymentSplitter.sol index adc9ae50..f07c8800 100644 --- a/contracts/payment-splitter/PaymentSplitter.sol +++ b/contracts/payment-splitter/PaymentSplitter.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {SafeERC20, IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; diff --git a/contracts/staking/StakeHolder.sol b/contracts/staking/StakeHolder.sol index 475e57c2..ce369966 100644 --- a/contracts/staking/StakeHolder.sol +++ b/contracts/staking/StakeHolder.sol @@ -1,6 +1,6 @@ // Copyright (c) Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/proxy/utils/UUPSUpgradeable.sol"; import {AccessControlEnumerableUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/access/AccessControlEnumerableUpgradeable.sol"; diff --git a/contracts/test/allowlist/OperatorAllowlist.sol b/contracts/test/allowlist/OperatorAllowlist.sol index 40fae9af..706b40d6 100644 --- a/contracts/test/allowlist/OperatorAllowlist.sol +++ b/contracts/test/allowlist/OperatorAllowlist.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Access Control import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; diff --git a/contracts/token/erc1155/abstract/ERC1155Permit.sol b/contracts/token/erc1155/abstract/ERC1155Permit.sol index 1dc60e78..6c55e733 100644 --- a/contracts/token/erc1155/abstract/ERC1155Permit.sol +++ b/contracts/token/erc1155/abstract/ERC1155Permit.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ERC1155Burnable, ERC1155} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol"; import {EIP712, ECDSA} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; diff --git a/contracts/token/erc1155/abstract/IERC1155Permit.sol b/contracts/token/erc1155/abstract/IERC1155Permit.sol index 8dfe34f5..f37ca5e1 100644 --- a/contracts/token/erc1155/abstract/IERC1155Permit.sol +++ b/contracts/token/erc1155/abstract/IERC1155Permit.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol) -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; interface IERC1155Permit { function permit(address owner, address spender, bool approved, uint256 deadline, bytes memory sig) external; diff --git a/contracts/token/erc1155/abstract/ImmutableERC1155Base.sol b/contracts/token/erc1155/abstract/ImmutableERC1155Base.sol index c298e3f7..971a4c4a 100644 --- a/contracts/token/erc1155/abstract/ImmutableERC1155Base.sol +++ b/contracts/token/erc1155/abstract/ImmutableERC1155Base.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ERC1155Permit, ERC1155} from "../../../token/erc1155/abstract/ERC1155Permit.sol"; diff --git a/contracts/token/erc1155/preset/ImmutableERC1155.sol b/contracts/token/erc1155/preset/ImmutableERC1155.sol index 8bc3a993..5ab8a257 100644 --- a/contracts/token/erc1155/preset/ImmutableERC1155.sol +++ b/contracts/token/erc1155/preset/ImmutableERC1155.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ImmutableERC1155Base} from "../abstract/ImmutableERC1155Base.sol"; diff --git a/contracts/token/erc20/preset/Errors.sol b/contracts/token/erc20/preset/Errors.sol index 198f3f81..3b54caf8 100644 --- a/contracts/token/erc20/preset/Errors.sol +++ b/contracts/token/erc20/preset/Errors.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; interface IImmutableERC20Errors { error RenounceOwnershipNotAllowed(); diff --git a/contracts/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.sol b/contracts/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.sol index 8595c0a4..3ba3ddb8 100644 --- a/contracts/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.sol +++ b/contracts/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.sol @@ -1,6 +1,6 @@ // Copyright (c) Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; diff --git a/contracts/token/erc20/preset/ImmutableERC20MinterBurnerPermit.sol b/contracts/token/erc20/preset/ImmutableERC20MinterBurnerPermit.sol index 16bff296..692908b5 100644 --- a/contracts/token/erc20/preset/ImmutableERC20MinterBurnerPermit.sol +++ b/contracts/token/erc20/preset/ImmutableERC20MinterBurnerPermit.sol @@ -1,6 +1,6 @@ // Copyright (c) Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ERC20Permit, ERC20} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; diff --git a/contracts/token/erc721/abstract/ERC721Hybrid.sol b/contracts/token/erc721/abstract/ERC721Hybrid.sol index 041bd4e8..dd184b57 100644 --- a/contracts/token/erc721/abstract/ERC721Hybrid.sol +++ b/contracts/token/erc721/abstract/ERC721Hybrid.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import {BitMaps} from "@openzeppelin/contracts/utils/structs/BitMaps.sol"; diff --git a/contracts/token/erc721/abstract/ERC721HybridPermit.sol b/contracts/token/erc721/abstract/ERC721HybridPermit.sol index bfa52b43..0dfecadd 100644 --- a/contracts/token/erc721/abstract/ERC721HybridPermit.sol +++ b/contracts/token/erc721/abstract/ERC721HybridPermit.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; diff --git a/contracts/token/erc721/abstract/ERC721Permit.sol b/contracts/token/erc721/abstract/ERC721Permit.sol index a70e42d9..a70dc823 100644 --- a/contracts/token/erc721/abstract/ERC721Permit.sol +++ b/contracts/token/erc721/abstract/ERC721Permit.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; diff --git a/contracts/token/erc721/abstract/IERC4494.sol b/contracts/token/erc721/abstract/IERC4494.sol index 89754fef..cbe8751f 100644 --- a/contracts/token/erc721/abstract/IERC4494.sol +++ b/contracts/token/erc721/abstract/IERC4494.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {IERC165} from "@openzeppelin/contracts/interfaces/IERC165.sol"; diff --git a/contracts/token/erc721/abstract/ImmutableERC721Base.sol b/contracts/token/erc721/abstract/ImmutableERC721Base.sol index d93a61a4..7885156d 100644 --- a/contracts/token/erc721/abstract/ImmutableERC721Base.sol +++ b/contracts/token/erc721/abstract/ImmutableERC721Base.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; // Token import {ERC721Permit, ERC721, ERC721Burnable} from "./ERC721Permit.sol"; diff --git a/contracts/token/erc721/abstract/ImmutableERC721HybridBase.sol b/contracts/token/erc721/abstract/ImmutableERC721HybridBase.sol index 154277e1..3d2ddc23 100644 --- a/contracts/token/erc721/abstract/ImmutableERC721HybridBase.sol +++ b/contracts/token/erc721/abstract/ImmutableERC721HybridBase.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {AccessControlEnumerable, MintingAccessControl} from "../../../access/MintingAccessControl.sol"; import {ERC2981} from "@openzeppelin/contracts/token/common/ERC2981.sol"; diff --git a/contracts/token/erc721/erc721psi/ERC721Psi.sol b/contracts/token/erc721/erc721psi/ERC721Psi.sol index 098ff2c0..a3bff80e 100644 --- a/contracts/token/erc721/erc721psi/ERC721Psi.sol +++ b/contracts/token/erc721/erc721psi/ERC721Psi.sol @@ -11,7 +11,7 @@ * - npm: https://www.npmjs.com/package/erc721psi */ // solhint-disable -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; diff --git a/contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol b/contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol index c1c0800e..fa46873c 100644 --- a/contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol +++ b/contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol @@ -7,7 +7,7 @@ * | |____| | \ \| |____ / / / /_ | | | | * |______|_| \_\\_____|/_/ |____||_| |_| */ -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {BitMaps} from "solidity-bits/contracts/BitMaps.sol"; import {ERC721Psi} from "./ERC721Psi.sol"; diff --git a/contracts/token/erc721/preset/ImmutableERC721.sol b/contracts/token/erc721/preset/ImmutableERC721.sol index d37378e6..f8107c6a 100644 --- a/contracts/token/erc721/preset/ImmutableERC721.sol +++ b/contracts/token/erc721/preset/ImmutableERC721.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ImmutableERC721HybridBase} from "../abstract/ImmutableERC721HybridBase.sol"; diff --git a/contracts/token/erc721/preset/ImmutableERC721MintByID.sol b/contracts/token/erc721/preset/ImmutableERC721MintByID.sol index d2c95066..29040872 100644 --- a/contracts/token/erc721/preset/ImmutableERC721MintByID.sol +++ b/contracts/token/erc721/preset/ImmutableERC721MintByID.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {ImmutableERC721Base} from "../abstract/ImmutableERC721Base.sol"; diff --git a/test/allowlist/AllowlistImmutableERC721MintByIDTransferApprovals.t.sol b/test/allowlist/AllowlistImmutableERC721MintByIDTransferApprovals.t.sol index 8006ee1c..6598440f 100644 --- a/test/allowlist/AllowlistImmutableERC721MintByIDTransferApprovals.t.sol +++ b/test/allowlist/AllowlistImmutableERC721MintByIDTransferApprovals.t.sol @@ -1,4 +1,4 @@ -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; diff --git a/test/allowlist/AllowlistImmutableERC721TransferApprovals.t.sol b/test/allowlist/AllowlistImmutableERC721TransferApprovals.t.sol index 930b8d97..f21d76a0 100644 --- a/test/allowlist/AllowlistImmutableERC721TransferApprovals.t.sol +++ b/test/allowlist/AllowlistImmutableERC721TransferApprovals.t.sol @@ -1,4 +1,4 @@ -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; diff --git a/test/allowlist/MockOAL.sol b/test/allowlist/MockOAL.sol index 0e7b20fc..d32feed8 100644 --- a/test/allowlist/MockOAL.sol +++ b/test/allowlist/MockOAL.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {OperatorAllowlistUpgradeable} from "../../contracts/allowlist/OperatorAllowlistUpgradeable.sol"; diff --git a/test/allowlist/OperatorAllowlistUpgradeable.t.sol b/test/allowlist/OperatorAllowlistUpgradeable.t.sol index 06a618fe..8da8f4b7 100644 --- a/test/allowlist/OperatorAllowlistUpgradeable.t.sol +++ b/test/allowlist/OperatorAllowlistUpgradeable.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; diff --git a/test/bridge/x/v4/MockCoreV4.sol b/test/bridge/x/v4/MockCoreV4.sol index babb30a1..70d430f7 100644 --- a/test/bridge/x/v4/MockCoreV4.sol +++ b/test/bridge/x/v4/MockCoreV4.sol @@ -1,6 +1,6 @@ // Copyright (c) Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {CoreV4} from "../../../../contracts/bridge/x/v4/CoreV4.sol"; import {Asset} from "../../../../contracts/token/erc721/x/Asset.sol"; diff --git a/test/deployer/AccessControlledDeployer.t.sol b/test/deployer/AccessControlledDeployer.t.sol index f78489fe..ba77913a 100644 --- a/test/deployer/AccessControlledDeployer.t.sol +++ b/test/deployer/AccessControlledDeployer.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; diff --git a/test/deployer/create2/Create2Utils.sol b/test/deployer/create2/Create2Utils.sol index d3f335ef..75e86d34 100644 --- a/test/deployer/create2/Create2Utils.sol +++ b/test/deployer/create2/Create2Utils.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; diff --git a/test/deployer/create2/OwnableCreate2Deployer.t.sol b/test/deployer/create2/OwnableCreate2Deployer.t.sol index 2acc7984..c54e8ac7 100644 --- a/test/deployer/create2/OwnableCreate2Deployer.t.sol +++ b/test/deployer/create2/OwnableCreate2Deployer.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {IDeploy} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeploy.sol"; diff --git a/test/deployer/create3/Create3Utils.sol b/test/deployer/create3/Create3Utils.sol index cd27a524..f8faaf17 100644 --- a/test/deployer/create3/Create3Utils.sol +++ b/test/deployer/create3/Create3Utils.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {IDeployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeployer.sol"; diff --git a/test/deployer/create3/OwnableCreate3Deployer.t.sol b/test/deployer/create3/OwnableCreate3Deployer.t.sol index 45352ea6..85fdf768 100644 --- a/test/deployer/create3/OwnableCreate3Deployer.t.sol +++ b/test/deployer/create3/OwnableCreate3Deployer.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {IDeploy} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeploy.sol"; diff --git a/test/games/gems/GemGame.t.sol b/test/games/gems/GemGame.t.sol index 2b8952c7..ef67e737 100644 --- a/test/games/gems/GemGame.t.sol +++ b/test/games/gems/GemGame.t.sol @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache 2.0 // solhint-disable not-rely-on-time -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {GemGame, Unauthorized, ContractPaused} from "../../../contracts/games/gems/GemGame.sol"; diff --git a/test/multicall/GuardedMulticaller2.t.sol b/test/multicall/GuardedMulticaller2.t.sol index 7e73a6f9..7f36672c 100644 --- a/test/multicall/GuardedMulticaller2.t.sol +++ b/test/multicall/GuardedMulticaller2.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {GuardedMulticaller2} from "../../contracts/multicall/GuardedMulticaller2.sol"; diff --git a/test/multicall/SigUtils.t.sol b/test/multicall/SigUtils.t.sol index 9e7fd2a3..34cdcf32 100644 --- a/test/multicall/SigUtils.t.sol +++ b/test/multicall/SigUtils.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {GuardedMulticaller2} from "../../contracts/multicall/GuardedMulticaller2.sol"; diff --git a/test/payment-splitter/PaymentSplitter.t.sol b/test/payment-splitter/PaymentSplitter.t.sol index 7557aa81..63ffeb18 100644 --- a/test/payment-splitter/PaymentSplitter.t.sol +++ b/test/payment-splitter/PaymentSplitter.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {PaymentSplitter} from "../../contracts/payment-splitter/PaymentSplitter.sol"; diff --git a/test/staking/StakeHolderAttackWallet.sol b/test/staking/StakeHolderAttackWallet.sol index 342f6bf4..33538771 100644 --- a/test/staking/StakeHolderAttackWallet.sol +++ b/test/staking/StakeHolderAttackWallet.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {StakeHolder} from "../../contracts/staking/StakeHolder.sol"; diff --git a/test/staking/StakeHolderBase.t.sol b/test/staking/StakeHolderBase.t.sol index c359b3e9..2b7fbf03 100644 --- a/test/staking/StakeHolderBase.t.sol +++ b/test/staking/StakeHolderBase.t.sol @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache 2.0 // solhint-disable not-rely-on-time -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // solhint-disable-next-line no-global-import import "forge-std/Test.sol"; diff --git a/test/staking/StakeHolderConfig.t.sol b/test/staking/StakeHolderConfig.t.sol index ba634917..5401dcd4 100644 --- a/test/staking/StakeHolderConfig.t.sol +++ b/test/staking/StakeHolderConfig.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // solhint-disable-next-line no-global-import import "forge-std/Test.sol"; diff --git a/test/staking/StakeHolderInit.t.sol b/test/staking/StakeHolderInit.t.sol index 24b5bda0..fffcc015 100644 --- a/test/staking/StakeHolderInit.t.sol +++ b/test/staking/StakeHolderInit.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // solhint-disable-next-line no-global-import import "forge-std/Test.sol"; diff --git a/test/staking/StakeHolderOperational.t.sol b/test/staking/StakeHolderOperational.t.sol index 8652a93b..0afff983 100644 --- a/test/staking/StakeHolderOperational.t.sol +++ b/test/staking/StakeHolderOperational.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; // solhint-disable-next-line no-global-import import "forge-std/Test.sol"; diff --git a/test/token/erc1155/ImmutableERC1155.t.sol b/test/token/erc1155/ImmutableERC1155.t.sol index 5a0410eb..f40d6d39 100644 --- a/test/token/erc1155/ImmutableERC1155.t.sol +++ b/test/token/erc1155/ImmutableERC1155.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {ImmutableERC1155} from "../../../contracts/token/erc1155/preset/ImmutableERC1155.sol"; diff --git a/test/token/erc1155/ImmutableERC1155Costs.t.sol b/test/token/erc1155/ImmutableERC1155Costs.t.sol index 5b77adbb..9d057d92 100644 --- a/test/token/erc1155/ImmutableERC1155Costs.t.sol +++ b/test/token/erc1155/ImmutableERC1155Costs.t.sol @@ -1,6 +1,6 @@ // Copyright Immutable Pty Ltd 2018 - 2024 // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {ImmutableERC1155} from "../../../contracts/token/erc1155/preset/ImmutableERC1155.sol"; diff --git a/test/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.t.sol b/test/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.t.sol index db1065ff..87e8c718 100644 --- a/test/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.t.sol +++ b/test/token/erc20/preset/ImmutableERC20FixedSupplyNoBurn.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; diff --git a/test/token/erc20/preset/ImmutableERC20MinterBurnerPermit.t.sol b/test/token/erc20/preset/ImmutableERC20MinterBurnerPermit.t.sol index b601a189..39bdcd0c 100644 --- a/test/token/erc20/preset/ImmutableERC20MinterBurnerPermit.t.sol +++ b/test/token/erc20/preset/ImmutableERC20MinterBurnerPermit.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; diff --git a/test/utils/DeployAllowlistProxy.sol b/test/utils/DeployAllowlistProxy.sol index f75359ea..c3f1d723 100644 --- a/test/utils/DeployAllowlistProxy.sol +++ b/test/utils/DeployAllowlistProxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {OperatorAllowlistUpgradeable} from "../../contracts/allowlist/OperatorAllowlistUpgradeable.sol"; diff --git a/test/utils/DeployMockMarketPlace.sol b/test/utils/DeployMockMarketPlace.sol index bdf3e118..1c7895d4 100644 --- a/test/utils/DeployMockMarketPlace.sol +++ b/test/utils/DeployMockMarketPlace.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache 2.0 -pragma solidity ^0.8.19; +pragma solidity >=0.8.19 <0.8.29; import {MockMarketplace} from "../../contracts/mocks/MockMarketplace.sol"; diff --git a/test/utils/DeploySCW.sol b/test/utils/DeploySCW.sol index 7229c190..e9ce75b5 100644 --- a/test/utils/DeploySCW.sol +++ b/test/utils/DeploySCW.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol"; import {MockWallet} from "../../contracts/mocks/MockWallet.sol"; diff --git a/test/utils/Sign.sol b/test/utils/Sign.sol index 8c4a88a7..27eef81c 100644 --- a/test/utils/Sign.sol +++ b/test/utils/Sign.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity >=0.8.19 <0.8.29; import "forge-std/Test.sol";