Skip to content

Commit 562b963

Browse files
Krishang NadgaudaKrishang Nadgauda
authored andcommitted
Remove prev SignatureMint implementation and mock SignatureDrop
1 parent 92deebd commit 562b963

13 files changed

+177
-3332
lines changed

contracts/drop/SignatureDrop.sol

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ pragma solidity ^0.8.11;
55

66
import "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol";
77

8+
import "@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol";
89
import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
910
import "@openzeppelin/contracts-upgradeable/utils/MulticallUpgradeable.sol";
1011
import "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol";
@@ -23,7 +24,7 @@ import "../feature/interface/IThirdwebRoyalty.sol";
2324
import "../feature/interface/IThirdwebOwnable.sol";
2425
import "../feature/DelayedReveal.sol";
2526
import "../feature/LazyMint.sol";
26-
import "../feature/SignatureMintUpgradeable.sol";
27+
import "../feature/SignatureMintERC721Upgradeable.sol";
2728

2829
import "../openzeppelin-presets/metatx/ERC2771ContextUpgradeable.sol";
2930
import "@openzeppelin/contracts-upgradeable/interfaces/IERC2981Upgradeable.sol";
@@ -42,9 +43,10 @@ contract SignatureDropEnumerable is
4243
ReentrancyGuardUpgradeable,
4344
ERC2771ContextUpgradeable,
4445
MulticallUpgradeable,
46+
AccessControlEnumerableUpgradeable,
4547
DelayedReveal,
4648
LazyMint,
47-
SignatureMintUpgradeable,
49+
SignatureMintERC721Upgradeable,
4850
ERC721EnumerableUpgradeable
4951
{
5052
using StringsUpgradeable for uint256;
@@ -58,6 +60,8 @@ contract SignatureDropEnumerable is
5860

5961
/// @dev Only transfers to or from TRANSFER_ROLE holders are valid, when transfers are restricted.
6062
bytes32 private constant TRANSFER_ROLE = keccak256("TRANSFER_ROLE");
63+
/// @dev Only MINTER_ROLE holders can sign off on `MintRequest`s and lazy mint tokens.
64+
bytes32 private constant MINTER_ROLE = keccak256("MINTER_ROLE");
6165

6266
/// @dev Max bps in the thirdweb system.
6367
uint256 private constant MAX_BPS = 10_000;
@@ -152,7 +156,7 @@ contract SignatureDropEnumerable is
152156
__ReentrancyGuard_init();
153157
__ERC2771Context_init(_trustedForwarders);
154158
__ERC721_init(_name, _symbol);
155-
__SignatureMint_init("TokenDrop", "1", _defaultAdmin);
159+
__SignatureMintERC721_init();
156160

157161
// Initialize this contract's state.
158162
royaltyRecipient = _royaltyRecipient;
@@ -278,7 +282,7 @@ contract SignatureDropEnumerable is
278282
require(nextTokenIdToClaim + _req.quantity <= nextTokenIdToMint, "not enough minted tokens.");
279283

280284
// Verify and process payload.
281-
processRequest(_req, _signature);
285+
_processRequest(_req, _signature);
282286

283287
// Get receiver of tokens.
284288
address receiver = _req.to == address(0) ? msg.sender : _req.to;
@@ -398,6 +402,11 @@ contract SignatureDropEnumerable is
398402
);
399403
}
400404

405+
/// @dev Returns whether a given address is authorized to sign mint requests.
406+
function _isAuthorizedSigner(address _signer) internal view override returns (bool) {
407+
return hasRole(MINTER_ROLE, _signer);
408+
}
409+
401410
/*///////////////////////////////////////////////////////////////
402411
Getter functions
403412
//////////////////////////////////////////////////////////////*/

contracts/feature/SignatureMint.sol

Lines changed: 0 additions & 60 deletions
This file was deleted.

contracts/feature/SignatureMintUpgradeable.sol

Lines changed: 0 additions & 95 deletions
This file was deleted.

contracts/feature/interface/ISignatureMint.sol

Lines changed: 0 additions & 72 deletions
This file was deleted.

0 commit comments

Comments
 (0)