An ERC721 token contract for managing club seat ownership. This contract allows minting tokens using ERC1155 vouchers and ensures that the club's seating capacity is adhered to. Tokens represent ownership of a specific seat in the club.
Methods
DEFAULT_ADMIN_ROLE
function DEFAULT_ADMIN_ROLE() external view returns (bytes32)
Returns
Name
Type
Description
_0
bytes32
undefined
MINTER_ROLE
function MINTER_ROLE() external view returns (bytes32)
Returns
Name
Type
Description
_0
bytes32
undefined
approve
function approve(address to, uint256 tokenId) external nonpayable
See {IERC721-approve}.
Parameters
Name
Type
Description
to
address
undefined
tokenId
uint256
undefined
balanceOf
function balanceOf(address owner) external view returns (uint256)
See {IERC721-balanceOf}.
Parameters
Name
Type
Description
owner
address
undefined
Returns
Name
Type
Description
_0
uint256
undefined
baseURI
function baseURI() external view returns (string)
Returns the base URI set via {_setBaseURI}.
Returns
Name
Type
Description
_0
string
undefined
contractURI
function contractURI() external view returns (string)
returns contract-level-metadata, See https://docs.opensea.io/docs/contract-level-metadata
Returns
Name
Type
Description
_0
string
undefined
getApproved
function getApproved(uint256 tokenId) external view returns (address)
See {IERC721-getApproved}.
Parameters
Name
Type
Description
tokenId
uint256
undefined
Returns
Name
Type
Description
_0
address
undefined
getRoleAdmin
function getRoleAdmin(bytes32 role) external view returns (bytes32)
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
grantRole
function grantRole(bytes32 role, address account) external nonpayable
Grants role to account. If account had not been already granted role, emits a {RoleGranted} event. Requirements: - the caller must have role's admin role. May emit a {RoleGranted} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
hasRole
function hasRole(bytes32 role, address account) external view returns (bool)
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
isApprovedForAll
function isApprovedForAll(address owner, address operator) external view returns (bool)
See {IERC721-isApprovedForAll}.
Parameters
Name
Type
Description
owner
address
undefined
operator
address
undefined
Returns
Name
Type
Description
_0
bool
undefined
maxCapacity
function maxCapacity() external view returns (uint256)
Returns
Name
Type
Description
_0
uint256
undefined
name
function name() external view returns (string)
See {IERC721Metadata-name}.
Returns
Name
Type
Description
_0
string
undefined
ownerOf
function ownerOf(uint256 tokenId) external view returns (address)
See {IERC721-ownerOf}.
Parameters
Name
Type
Description
tokenId
uint256
undefined
Returns
Name
Type
Description
_0
address
undefined
renounceRole
function renounceRole(bytes32 role, address account) external nonpayable
Revokes role from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked role, emits a {RoleRevoked} event. Requirements: - the caller must be account. May emit a {RoleRevoked} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
revokeRole
function revokeRole(bytes32 role, address account) external nonpayable
Revokes role from account. If account had been granted role, emits a {RoleRevoked} event. Requirements: - the caller must have role's admin role. May emit a {RoleRevoked} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
safeMint
function safeMint(address to, uint256 tokenId) external nonpayable
Only accessible by accounts with the MINTER_ROLE.
Safely mints a new token to the specified address.Requires the total supply to be below the max capacity, and the tokenId to be within the allowed range (grater or equal to zero and less than max capacity).
Parameters
Name
Type
Description
to
address
The address to mint the token to.
tokenId
uint256
The ID of the token to be minted.
safeTransferFrom
function safeTransferFrom(address from, address to, uint256 tokenId) external nonpayable
See {IERC721-safeTransferFrom}.
Parameters
Name
Type
Description
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
safeTransferFrom
function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) external nonpayable
See {IERC721-safeTransferFrom}.
Parameters
Name
Type
Description
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
data
bytes
undefined
seatVoucher
function seatVoucher() external view returns (contract IERC1155Supply)
Returns
Name
Type
Description
_0
contract IERC1155Supply
undefined
setApprovalForAll
function setApprovalForAll(address operator, bool approved) external nonpayable
See {IERC721-setApprovalForAll}.
Parameters
Name
Type
Description
operator
address
undefined
approved
bool
undefined
setBaseURI
function setBaseURI(string baseURI_) external nonpayable
Only accessible by accounts with the DEFAULT_ADMIN_ROLE.
Sets the base URI for token metadata.
Parameters
Name
Type
Description
baseURI_
string
The new base URI.
setContractURI
function setContractURI(string contractURI_) external nonpayable
Only accessible by accounts with the DEFAULT_ADMIN_ROLE.
Sets the contract URI for metadata.
Parameters
Name
Type
Description
contractURI_
string
The new contract URI.
setTokenURI
function setTokenURI(uint256 tokenId, string tokenURI_) external nonpayable
Only accessible by accounts with the DEFAULT_ADMIN_ROLE.
Sets the token URI for a given token.
Parameters
Name
Type
Description
tokenId
uint256
The ID of the token.
tokenURI_
string
The new token URI.
supportsInterface
function supportsInterface(bytes4 interfaceId) external view returns (bool)
Overrides supportsInterface to include ERC721 and AccessControl interfaces.
Parameters
Name
Type
Description
interfaceId
bytes4
undefined
Returns
Name
Type
Description
_0
bool
undefined
symbol
function symbol() external view returns (string)
See {IERC721Metadata-symbol}.
Returns
Name
Type
Description
_0
string
undefined
tokenURI
function tokenURI(uint256 tokenId) external view returns (string)
See {IERC721Metadata-tokenURI}.
Parameters
Name
Type
Description
tokenId
uint256
undefined
Returns
Name
Type
Description
_0
string
undefined
totalSupply
function totalSupply() external view returns (uint256)
Returns
Name
Type
Description
_0
uint256
undefined
transferFrom
function transferFrom(address from, address to, uint256 tokenId) external nonpayable
See {IERC721-transferFrom}.
Parameters
Name
Type
Description
from
address
undefined
to
address
undefined
tokenId
uint256
undefined
voucherID
function voucherID() external view returns (uint32)
Emitted when newAdminRole is set as role's admin role, replacing previousAdminRoleDEFAULT_ADMIN_ROLE is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._
Emitted when account is granted role. sender is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.
Emitted when account is revoked role. sender is the account that originated the contract call: - if using revokeRole, it is the admin role bearer - if using renounceRole, it is the role bearer (i.e. account)
Parameters
Name
Type
Description
role indexed
bytes32
undefined
account indexed
address
undefined
sender indexed
address
undefined
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Emitted when tokenId token is transferred from from to to.