Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
33c4d65
Initial forge tests
drinkcoffee Jan 10, 2025
35ba4ac
Added initial test
drinkcoffee Jan 10, 2025
84bad32
Create initial performance tests
drinkcoffee Jan 13, 2025
5c9f3a9
Mint at 15K per block to max out the blocks
drinkcoffee Jan 13, 2025
80bce5d
Added more tests
drinkcoffee Jan 14, 2025
0f14037
Add more tests
drinkcoffee Jan 14, 2025
bf0837f
Revise import order
drinkcoffee Jan 15, 2025
f70f480
Initial compiling version of PsiV2
drinkcoffee Jan 16, 2025
011ccb4
Resolved issues with PsiV2
drinkcoffee Jan 17, 2025
47c0079
Fixed issue with determing existance of an NFT
drinkcoffee Jan 17, 2025
f72216a
Improve documentation. Prefill by 160K
drinkcoffee Jan 20, 2025
dedbc6b
Migrate ERC721 tests to forge
drinkcoffee Jan 29, 2025
5861530
Improve ERC 721 test coverage
drinkcoffee Jan 29, 2025
e48d49c
Added more tests
drinkcoffee Jan 31, 2025
a74fa1b
Add more tests and remove dead code
drinkcoffee Feb 3, 2025
f5c0f86
Added documentation for ERC721PsiV2
drinkcoffee Feb 4, 2025
3f56c1b
Added more tests
drinkcoffee Feb 5, 2025
540e221
Change solidity version
drinkcoffee Feb 6, 2025
c53427a
Merge branch 'main' into peter-solidity-version
drinkcoffee Feb 6, 2025
bea8ee7
Merge branch 'peter-solidity-version' into peter-erc721-perf
drinkcoffee Feb 6, 2025
ce033e3
Add more tests
drinkcoffee Feb 6, 2025
36c41e7
Added transferFrom tests
drinkcoffee Feb 6, 2025
59b6c1a
Added more tests
drinkcoffee Feb 7, 2025
6912c29
Rename files
drinkcoffee Feb 7, 2025
4045cac
Merge branch 'main' into peter-erc721-perf
drinkcoffee Feb 7, 2025
0f31fa1
Add documentation for ERC 721 contracts
drinkcoffee Feb 7, 2025
2be5039
Fix prettier issues
drinkcoffee Feb 9, 2025
c5f3ec5
Fix solidity version and remove dead code
drinkcoffee Feb 10, 2025
0cc0e1b
Add solhint support for PsiV2
drinkcoffee Feb 10, 2025
e7e359c
Fixed last Slither warning
drinkcoffee Feb 10, 2025
df57fa4
Remove temporary file
drinkcoffee Feb 10, 2025
a6f485c
Remove dead code
drinkcoffee Feb 10, 2025
78bf98b
Improve test coverage
drinkcoffee Feb 10, 2025
af2bca0
Resolve solhint issues
drinkcoffee Feb 10, 2025
45ea3cd
Merge from peter-erc721-perf
drinkcoffee Feb 25, 2025
b7684d7
Remove mention of invariant tests
drinkcoffee Feb 25, 2025
2606a37
Fixed copyright notices
drinkcoffee Feb 27, 2025
34965c8
Added Mermaid diagram source code
drinkcoffee Feb 28, 2025
3bcd1a1
Fixed up incorrect documentation
drinkcoffee Feb 28, 2025
e321e7a
Add audit report
drinkcoffee Mar 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .solhint.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/access/MintingAccessControl.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/allowlist/IOperatorAllowlist.sol
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion contracts/allowlist/IWalletProxy.sol
Original file line number Diff line number Diff line change
@@ -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 implementation stored inside the Proxy contract
/// Interface for Passport Wallet's proxy contract.
Expand Down
2 changes: 1 addition & 1 deletion contracts/allowlist/OperatorAllowlistEnforced.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/allowlist/OperatorAllowlistUpgradeable.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/bridge/x/v4/CoreV4.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion contracts/bridge/x/v4/RegistrationV4.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/AccessControlledDeployer.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/create/OwnableCreateDeploy.sol
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/create2/OwnableCreate2Deployer.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/create3/OwnableCreate3.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/create3/OwnableCreate3Address.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/deployer/create3/OwnableCreate3Deployer.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/errors/Errors.sol
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion contracts/errors/PaymentSplitterErrors.sol
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion contracts/games/gems/GemGame.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockDisguisedEOA.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockEIP1271Wallet.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockFactory.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockFunctions.sol
Original file line number Diff line number Diff line change
@@ -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);
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockMarketplace.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockOnReceive.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockWallet.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/MockWalletFactory.sol
Original file line number Diff line number Diff line change
@@ -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 =
Expand Down
2 changes: 1 addition & 1 deletion contracts/multicall/GuardedMulticaller.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/multicall/GuardedMulticaller2.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/payment-splitter/PaymentSplitter.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolder.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/test/allowlist/OperatorAllowlist.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc1155/abstract/ERC1155Permit.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc1155/abstract/IERC1155Permit.sol
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc1155/abstract/ImmutableERC1155Base.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc1155/preset/ImmutableERC1155.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc20/preset/Errors.sol
Original file line number Diff line number Diff line change
@@ -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();
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/abstract/ERC721Hybrid.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/abstract/ERC721HybridPermit.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/abstract/ERC721Permit.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/abstract/IERC4494.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/abstract/ImmutableERC721Base.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/erc721psi/ERC721Psi.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/erc721psi/ERC721PsiBurnable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/preset/ImmutableERC721.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
2 changes: 1 addition & 1 deletion contracts/token/erc721/preset/ImmutableERC721MintByID.sol
Original file line number Diff line number Diff line change
@@ -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";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pragma solidity 0.8.19;
pragma solidity >=0.8.19 <0.8.29;

import "forge-std/Test.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pragma solidity 0.8.19;
pragma solidity >=0.8.19 <0.8.29;

import "forge-std/Test.sol";

Expand Down
Loading