ERC 721 Preset Minter Pauser Auto Id Upgradeable
{ERC721} token, including: - ability for holders to burn (destroy) their tokens - a minter role that allows for token minting (creation) - a pauser role that allows to stop all token transfers - token ID and URI autogeneration This contract uses {AccessControl} to lock permissioned functions using the different roles - head to its documentation for details. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role, which will let it grant both minter and pauser roles to other accounts.
Methods
DEFAULT_ADMIN_ROLE
Returns
Name | Type | Description |
---|---|---|
_0 | bytes32 | undefined |
MINTER_ROLE
Returns
Name | Type | Description |
---|---|---|
_0 | bytes32 | undefined |
PAUSER_ROLE
Returns
Name | Type | Description |
---|---|---|
_0 | bytes32 | undefined |
approve
See {IERC721-approve}.
Parameters
Name | Type | Description |
---|---|---|
to | address | undefined |
tokenId | uint256 | undefined |
balanceOf
See {IERC721-balanceOf}.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
burn
Burns tokenId
. See {ERC721-_burn}. Requirements: - The caller must own tokenId
or be an approved operator.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
getApproved
See {IERC721-getApproved}.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
getRoleAdmin
Returns the admin role that controls role
. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bytes32 | undefined |
getRoleMember
Returns one of the accounts that have role
. index
must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
index | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
getRoleMemberCount
Returns the number of accounts that have role
. Can be used together with {getRoleMember} to enumerate all bearers of a role.
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
grantRole
Overload {grantRole} to track enumerable memberships
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
hasRole
Returns true
if account
has been granted role
.
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
initialize
Parameters
Name | Type | Description |
---|---|---|
name | string | undefined |
symbol | string | undefined |
baseTokenURI | string | undefined |
isApprovedForAll
See {IERC721-isApprovedForAll}.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
operator | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
mint
Creates a new token for to
. Its token ID will be automatically assigned (and available on the emitted {IERC721-Transfer} event), and the token URI autogenerated based on the base URI passed at construction. See {ERC721-_mint}. Requirements: - the caller must have the MINTER_ROLE
.
Parameters
Name | Type | Description |
---|---|---|
to | address | undefined |
name
See {IERC721Metadata-name}.
Returns
Name | Type | Description |
---|---|---|
_0 | string | undefined |
ownerOf
See {IERC721-ownerOf}.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
pause
Pauses all token transfers. See {ERC721Pausable} and {Pausable-_pause}. Requirements: - the caller must have the PAUSER_ROLE
.
paused
Returns true if the contract is paused, and false otherwise.
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
renounceRole
Overload {renounceRole} to track enumerable memberships
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
revokeRole
Overload {revokeRole} to track enumerable memberships
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
safeTransferFrom
See {IERC721-safeTransferFrom}.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
safeTransferFrom
See {IERC721-safeTransferFrom}.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
_data | bytes | undefined |
setApprovalForAll
See {IERC721-setApprovalForAll}.
Parameters
Name | Type | Description |
---|---|---|
operator | address | undefined |
approved | bool | undefined |
supportsInterface
See {IERC165-supportsInterface}.
Parameters
Name | Type | Description |
---|---|---|
interfaceId | bytes4 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
symbol
See {IERC721Metadata-symbol}.
Returns
Name | Type | Description |
---|---|---|
_0 | string | undefined |
tokenByIndex
See {IERC721Enumerable-tokenByIndex}.
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
tokenOfOwnerByIndex
See {IERC721Enumerable-tokenOfOwnerByIndex}.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
index | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
tokenURI
See {IERC721Metadata-tokenURI}.
Parameters
Name | Type | Description |
---|---|---|
tokenId | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | string | undefined |
totalSupply
See {IERC721Enumerable-totalSupply}.
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
transferFrom
See {IERC721-transferFrom}.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
unpause
Unpauses all token transfers. See {ERC721Pausable} and {Pausable-_unpause}. Requirements: - the caller must have the PAUSER_ROLE
.
Events
Approval
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
approved | address | undefined |
tokenId | uint256 | undefined |
ApprovalForAll
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
operator | address | undefined |
approved | bool | undefined |
Paused
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
RoleAdminChanged
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
previousAdminRole | bytes32 | undefined |
newAdminRole | bytes32 | undefined |
RoleGranted
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
sender | address | undefined |
RoleRevoked
Parameters
Name | Type | Description |
---|---|---|
role | bytes32 | undefined |
account | address | undefined |
sender | address | undefined |
Transfer
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
tokenId | uint256 | undefined |
Unpaused
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
Last updated