From 670a872677d1e861964071158d27318c7a72a35c Mon Sep 17 00:00:00 2001 From: ricorandom Date: Wed, 24 May 2023 16:07:34 +0100 Subject: [PATCH 1/2] added pause feature --- contracts/ERC721MOperatorFilterer.sol | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/contracts/ERC721MOperatorFilterer.sol b/contracts/ERC721MOperatorFilterer.sol index 32b328c0..271d0774 100644 --- a/contracts/ERC721MOperatorFilterer.sol +++ b/contracts/ERC721MOperatorFilterer.sol @@ -6,6 +6,8 @@ import "./ERC721M.sol"; import "./OperatorFilter/DefaultOperatorFilterer.sol"; contract ERC721MOperatorFilterer is ERC721M, DefaultOperatorFilterer { + bool public _tradable = false; + constructor( string memory collectionName, string memory collectionSymbol, @@ -50,4 +52,22 @@ contract ERC721MOperatorFilterer is ERC721M, DefaultOperatorFilterer { ) public payable override(ERC721A, IERC721A) onlyAllowedOperator(from) { super.safeTransferFrom(from, to, tokenId, data); } + + function setTradable(bool tradable) external onlyOwner + { + _tradable = tradable; + } + + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override(ERC721) { + if ( + _tradable != true + ) { + revert("Transfers are currently disabled"); + } + super._beforeTokenTransfer(from, to, tokenId); + } } From a7007a9cc4813b0de64a3b326e638f3ddead59e2 Mon Sep 17 00:00:00 2001 From: ricorandom Date: Wed, 24 May 2023 16:09:59 +0100 Subject: [PATCH 2/2] added ownable --- contracts/ERC721MOperatorFilterer.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/ERC721MOperatorFilterer.sol b/contracts/ERC721MOperatorFilterer.sol index 271d0774..79d09725 100644 --- a/contracts/ERC721MOperatorFilterer.sol +++ b/contracts/ERC721MOperatorFilterer.sol @@ -2,6 +2,8 @@ pragma solidity ^0.8.4; +import "@openzeppelin/contracts/access/Ownable.sol"; + import "./ERC721M.sol"; import "./OperatorFilter/DefaultOperatorFilterer.sol";