Mint Permissions
Implementations
ERC721
abstract contract ERC721CreatorMintPermissions is ERC165, AdminControl, IERC721CreatorMintPermissions {
address internal immutable _creator;
constructor(address creator_) {
require(ERC165Checker.supportsInterface(creator_, type(IERC721CreatorCore).interfaceId), "Must implement IERC721CreatorCore");
_creator = creator_;
}
/**
* @dev See {IERC165-supportsInterface}.
*/
function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165, AdminControl) returns (bool) {
return interfaceId == type(IERC721CreatorMintPermissions).interfaceId
|| super.supportsInterface(interfaceId);
}
/**
* @dev See {IERC721CreatorMintPermissions-approve}.
*/
function approveMint(address, address, uint256) public virtual override {
require(msg.sender == _creator, "Can only be called by token creator");
}
}ERC155
Adding a Mint Permissions Contract
Last updated