Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 9 additions & 9 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@
[submodule "lib/solidity-bytes-utils"]
path = lib/solidity-bytes-utils
url = https://github.com/GNSPS/solidity-bytes-utils
[submodule "lib/openzeppelin-contracts-4.9.3"]
path = lib/openzeppelin-contracts-4.9.3
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/openzeppelin-contracts-upgradeable-4.9.3"]
path = lib/openzeppelin-contracts-upgradeable-4.9.3
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
[submodule "lib/immutable-seaport-1.5.0+im1.3"]
path = lib/immutable-seaport-1.5.0+im1.3
url = https://github.com/immutable/seaport
[submodule "lib/immutable-seaport-core-1.5.0+im1"]
path = lib/immutable-seaport-core-1.5.0+im1
url = https://github.com/immutable/seaport-core
[submodule "lib/openzeppelin-contracts-5.0.2"]
path = lib/openzeppelin-contracts-5.0.2
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/axelar-gmp-sdk-solidity"]
path = lib/axelar-gmp-sdk-solidity
url = https://github.com/axelarnetwork/axelar-gmp-sdk-solidity

[submodule "lib/openzeppelin-contracts-5.6.1"]
path = lib/openzeppelin-contracts-5.6.1
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/openzeppelin-contracts-4.9.6"]
path = lib/openzeppelin-contracts-4.9.6
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/openzeppelin-contracts-upgradeable-4.9.6"]
path = lib/openzeppelin-contracts-upgradeable-4.9.6
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
10 changes: 5 additions & 5 deletions DEPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ The instructions below were used to install the dependencies.
```
forge install https://github.com/axelarnetwork/axelar-gmp-sdk-solidity --no-commit

forge install openzeppelin-contracts-4.9.3=OpenZeppelin/openzeppelin-contracts@4.9.3 --no-commit
forge install openzeppelin-contracts-upgradeable-4.9.3=OpenZeppelin/openzeppelin-contracts-upgradeable@4.9.3 --no-commit
forge install openzeppelin-contracts-5.0.2=OpenZeppelin/openzeppelin-contracts@5.0.2 --no-commit

forge install openzeppelin-contracts-4.9.6=OpenZeppelin/openzeppelin-contracts@v4.9.6
forge install openzeppelin-contracts-upgradeable-4.9.6=OpenZeppelin/openzeppelin-contracts-upgradeable@v4.9.6

forge install openzeppelin-contracts-5.6.1=OpenZeppelin/openzeppelin-contracts@v5.6.1

forge install immutable-seaport-1.5.0+im1.3=immutable/seaport@1.5.0+im1.3 --no-commit
forge install immutable-seaport-core-1.5.0+im1=immutable/seaport-core@1.5.0+im1 --no-commit

forge install immutable-seaport-1.6.0+im1=immutable/seaport@1.6.0+im1 --no-commit
forge install immutable-seaport-core-1.6.0+im1=immutable/seaport-core@1.6.0+im1 --no-commit
```
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ Installing this package pulls **runtime dependencies from npm** — the publishe

Solidity imports use paths such as `@imtbl/contracts/contracts/...` (see [package.json](./package.json) `exports`). Sources under `contracts/` depend on libraries that **you must supply** via your toolchain — for example:

- **`@openzeppelin/contracts`** — listed as a **peer dependency** (`^4.9.3 || ^5.0.0`); align with presets that mix v4 and v5 remappings used in this repo.
- **`@openzeppelin/contracts-upgradeable`** — for upgradeable presets (typically v4.9.x path `openzeppelin-contracts-upgradeable-4.9.3`).
- **`@openzeppelin/contracts`** — listed as a **peer dependency** (`^4.9.6 || ^5.6.1`); align with presets that mix v4 and v5 remappings used in this repo.
- **`@openzeppelin/contracts-upgradeable`** — for upgradeable presets (typically v4.9.x path `openzeppelin-contracts-upgradeable-4.9.6`).
- **`@axelar-network/axelar-gmp-sdk-solidity`** — for deploy / GMP-related contracts (e.g. `OwnableCreate3Deployer`).
- **Immutable Seaport forks** — Seaport-related files expect remappings compatible with Immutable’s Seaport branches (see [remappings.txt](./remappings.txt) and [`.gitmodules`](./.gitmodules) for the git URLs and aliases used in this repo: `seaport`, `seaport-core`, `seaport-types`, `seaport-16`, `seaport-core-16`, `seaport-types-16`).

Expand All @@ -48,7 +48,7 @@ Solidity imports use paths such as `@imtbl/contracts/contracts/...` (see [packag
Once `@imtbl/contracts` is installed, use the Solidity files from the package by importing them:

```solidity
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import "@imtbl/contracts/contracts/token/erc721/preset/ImmutableERC721.sol";

Expand Down
4 changes: 2 additions & 2 deletions contracts/access/IMintingAccessControl.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IAccessControlEnumerable} from "@openzeppelin/contracts/access/IAccessControlEnumerable.sol";
import {IAccessControlEnumerable} from "openzeppelin-contracts-4/access/IAccessControlEnumerable.sol";

interface IMintingAccessControl is IAccessControlEnumerable {
/**
Expand Down
4 changes: 2 additions & 2 deletions contracts/access/MintingAccessControl.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
import {AccessControlEnumerable} from "openzeppelin-contracts-4/access/AccessControlEnumerable.sol";

abstract contract MintingAccessControl is AccessControlEnumerable {
/// @notice Role to mint tokens
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 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

/**
* @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 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

// Interface to retrieve the implementation stored inside the Proxy contract
/// Interface for Passport Wallet's proxy contract.
Expand Down
4 changes: 2 additions & 2 deletions contracts/allowlist/OperatorAllowlistEnforced.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
// slither-disable-start calls-loop
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IOperatorAllowlist} from "./IOperatorAllowlist.sol";
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
import {IERC165} from "openzeppelin-contracts-5/utils/introspection/ERC165.sol";
import {OperatorAllowlistEnforcementErrors} from "./OperatorAllowlistEnforcementErrors.sol";

// Disable this code size warning as there is no plan to change this logic.
Expand Down
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 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

interface OperatorAllowlistEnforcementErrors {
/// @dev Error thrown when the operatorAllowlist address does not implement the IOperatorAllowlist interface
Expand Down
8 changes: 4 additions & 4 deletions contracts/allowlist/OperatorAllowlistUpgradeable.sol
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/proxy/utils/UUPSUpgradeable.sol";
import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4/proxy/utils/UUPSUpgradeable.sol";
import {
AccessControlEnumerableUpgradeable
} from "openzeppelin-contracts-upgradeable-4.9.3/access/AccessControlEnumerableUpgradeable.sol";
} from "openzeppelin-contracts-upgradeable-4/access/AccessControlEnumerableUpgradeable.sol";

// Introspection
import {ERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
import {ERC165} from "openzeppelin-contracts-4/utils/introspection/ERC165.sol";

// Interfaces
import {IOperatorAllowlist} from "./IOperatorAllowlist.sol";
Expand Down
8 changes: 4 additions & 4 deletions contracts/deployer/AccessControlledDeployer.sol
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IDeployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IDeployer.sol";
import {Pausable} from "@openzeppelin/contracts/security/Pausable.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
import {Pausable} from "openzeppelin-contracts-5/utils/Pausable.sol";
import {Ownable} from "openzeppelin-contracts-5/access/Ownable.sol";
import {AccessControlEnumerable} from "openzeppelin-contracts-5/access/extensions/AccessControlEnumerable.sol";

/**
* @title AccessControlledDeployer
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 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

/**
* @title OwnableCreateDeploy Contract
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 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

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 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {OwnableCreateDeploy} from "../create/OwnableCreateDeploy.sol";

Expand Down
7 changes: 3 additions & 4 deletions contracts/deployer/create3/OwnableCreate3Deployer.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Copyright Immutable Pty Ltd 2018 - 2023
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {Ownable} from "openzeppelin-contracts-5/access/Ownable.sol";
import {Deployer} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/deploy/Deployer.sol";

import {OwnableCreate3} from "./OwnableCreate3.sol";
Expand All @@ -24,8 +24,7 @@ import {OwnableCreate3} from "./OwnableCreate3.sol";
* The intermediary contract is an instance of the {OwnableCreateDeploy} contract and can only be called by this contract.
*/
contract OwnableCreate3Deployer is Ownable, OwnableCreate3, Deployer {
constructor(address owner) Ownable() {
transferOwnership(owner);
constructor(address owner) Ownable(owner) {
}

/**
Expand Down
20 changes: 6 additions & 14 deletions contracts/multicall/GuardedMulticaller2.sol
Original file line number Diff line number Diff line change
@@ -1,29 +1,21 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

// Signature Validation
import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";

// Access Control
import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";

// Reentrancy Guard
import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol";

// EIP-712 Typed Structs
import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";
import {SignatureChecker} from "openzeppelin-contracts-5/utils/cryptography/SignatureChecker.sol";
import {AccessControlEnumerable} from "openzeppelin-contracts-5/access/extensions/AccessControlEnumerable.sol";
import {ReentrancyGuard} from "openzeppelin-contracts-5/utils/ReentrancyGuard.sol";
import {EIP712} from "openzeppelin-contracts-5/utils/cryptography/EIP712.sol";

/**
*
* @title GuardedMulticaller2 contract
* @author Immutable
* @notice This contract is used to batch calls to other contracts.
* @dev This contract is not designed to be upgradeable. If an issue is found with this contract,
* a new version will be deployed. All approvals granted to this contract will be revoked before
* a new version is deployed. Approvals will be granted to the new contract.
*/
contract GuardedMulticaller2 is AccessControl, ReentrancyGuard, EIP712 {
contract GuardedMulticaller2 is AccessControlEnumerable, ReentrancyGuard, EIP712 {
/// @dev Struct for call data
struct Call {
address target;
Expand Down
10 changes: 5 additions & 5 deletions contracts/payment-splitter/PaymentSplitter.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {SafeERC20, IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
import {SafeERC20, IERC20} from "openzeppelin-contracts-5/token/ERC20/utils/SafeERC20.sol";
import {Address} from "openzeppelin-contracts-5/utils/Address.sol";
import {AccessControlEnumerable} from "openzeppelin-contracts-5/access/extensions/AccessControlEnumerable.sol";
import {IPaymentSplitterErrors} from "./PaymentSplitterErrors.sol";
import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import {ReentrancyGuard} from "openzeppelin-contracts-5/utils/ReentrancyGuard.sol";

/**
* @title PaymentSplitter
Expand Down
2 changes: 1 addition & 1 deletion contracts/payment-splitter/PaymentSplitterErrors.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright Immutable Pty Ltd 2018 - 2026
//SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

interface IPaymentSplitterErrors {
/// @dev caller tried to add payees with shares of unequal length
Expand Down
4 changes: 2 additions & 2 deletions contracts/staking/IStakeHolder.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {
IAccessControlEnumerableUpgradeable
} from "openzeppelin-contracts-upgradeable-4.9.3/access/IAccessControlEnumerableUpgradeable.sol";
} from "openzeppelin-contracts-upgradeable-4/access/IAccessControlEnumerableUpgradeable.sol";

/**
* @title IStakeHolder: Interface for staking system.
Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/IStakeHolderV2.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IStakeHolder} from "./IStakeHolder.sol";

Expand Down
4 changes: 2 additions & 2 deletions contracts/staking/IWIMX.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC20} from "openzeppelin-contracts-5/token/ERC20/IERC20.sol";

/*
* @notice Interface for the Wrapped IMX (wIMX) contract.
Expand Down
8 changes: 4 additions & 4 deletions contracts/staking/StakeHolderBase.sol
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4.9.3/proxy/utils/UUPSUpgradeable.sol";
import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable-4/proxy/utils/UUPSUpgradeable.sol";
import {
AccessControlEnumerableUpgradeable
} from "openzeppelin-contracts-upgradeable-4.9.3/access/AccessControlEnumerableUpgradeable.sol";
} from "openzeppelin-contracts-upgradeable-4/access/AccessControlEnumerableUpgradeable.sol";
import {
ReentrancyGuardUpgradeable
} from "openzeppelin-contracts-upgradeable-4.9.3/security/ReentrancyGuardUpgradeable.sol";
} from "openzeppelin-contracts-upgradeable-4/security/ReentrancyGuardUpgradeable.sol";
import {IStakeHolder} from "./IStakeHolder.sol";

/**
Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolderBaseV2.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {StakeHolderBase} from "./StakeHolderBase.sol";
import {IStakeHolderV2, IStakeHolder} from "./IStakeHolderV2.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolderNative.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IStakeHolder, StakeHolderBase} from "./StakeHolderBase.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolderNativeV2.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IStakeHolder, StakeHolderBase, StakeHolderBaseV2} from "./StakeHolderBaseV2.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolderWIMX.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IStakeHolder, StakeHolderBase, StakeHolderNative} from "./StakeHolderNative.sol";
import {IWIMX} from "./IWIMX.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/staking/StakeHolderWIMXV2.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IStakeHolder, StakeHolderBase, StakeHolderNativeV2} from "./StakeHolderNativeV2.sol";
import {IWIMX} from "./IWIMX.sol";
Expand Down
4 changes: 2 additions & 2 deletions contracts/staking/WIMX.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {IWIMX} from "./IWIMX.sol";
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
import {Address} from "openzeppelin-contracts-5/utils/Address.sol";

/**
* @notice WIMX is a wrapped IMX contract that allows users to wrap their native IMX.
Expand Down
8 changes: 4 additions & 4 deletions contracts/token/erc1155/abstract/ERC1155Permit.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright Immutable Pty Ltd 2018 - 2026
// SPDX-License-Identifier: Apache 2.0
pragma solidity >=0.8.19 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

import {ERC1155Burnable, ERC1155} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol";
import {EIP712, ECDSA} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";
import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";
import {ERC1155Burnable, ERC1155} from "openzeppelin-contracts-4/token/ERC1155/extensions/ERC1155Burnable.sol";
import {EIP712, ECDSA} from "openzeppelin-contracts-4/utils/cryptography/EIP712.sol";
import {IERC1271} from "openzeppelin-contracts-4/interfaces/IERC1271.sol";
import {BytesLib} from "solidity-bytes-utils/contracts/BytesLib.sol";
import {IERC1155Permit} from "./IERC1155Permit.sol";
import {IImmutableERC1155Errors} from "../interfaces/IImmutableERC1155Errors.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 <0.8.29;
pragma solidity >=0.8.19 <=0.8.27;

interface IERC1155Permit {
function permit(address owner, address spender, bool approved, uint256 deadline, bytes memory sig) external;
Expand Down
Loading