About
Stats
Public Functions
41
Event Types
6
Code Size
72,606 bytes
Events (6) keyboard_arrow_up
Functions
supportsInterface keyboard_arrow_up
balanceOf keyboard_arrow_up
Source Code
function balanceOf(address owner) public view override returns (uint256) {
require(owner != address(0), "ERC721: balance query for the zero address");
return _holderTokens[owner].length();
}
ownerOf keyboard_arrow_up
name keyboard_arrow_up
symbol keyboard_arrow_up
tokenURI keyboard_arrow_up
Requirements help
null
Source Code
function tokenURI(uint256 tokenId) public view override returns (string memory) {
require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");
string memory _tokenURI = _tokenURIs[tokenId];
// If there is no base URI, return the token URI.
if (bytes(_baseURI).length == 0) {
return _tokenURI;
}
// If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).
if (bytes(_tokenURI).length > 0) {
return string(abi.encodePacked(_baseURI, _tokenURI));
}
// If there is a baseURI but no tokenURI, concatenate the tokenID to the baseURI.
return string(abi.encodePacked(_baseURI, tokenId.toString()));
}
baseURI keyboard_arrow_up
tokenOfOwnerByIndex keyboard_arrow_up
totalSupply keyboard_arrow_up
tokenByIndex keyboard_arrow_up
approve keyboard_arrow_up
Requirements help
Source Code
function approve(address to, uint256 tokenId) public virtual override {
address owner = ownerOf(tokenId);
require(to != owner, "ERC721: approval to current owner");
require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()),
"ERC721: approve caller is not owner nor approved for all"
);
_approve(to, tokenId);
}
getApproved keyboard_arrow_up
Requirements help
null
Source Code
function getApproved(uint256 tokenId) public view override returns (address) {
require(_exists(tokenId), "ERC721: approved query for nonexistent token");
return _tokenApprovals[tokenId];
}
setApprovalForAll keyboard_arrow_up
Requirements help
Source Code
function setApprovalForAll(address operator, bool approved) public virtual override {
require(operator != _msgSender(), "ERC721: approve to caller");
_operatorApprovals[_msgSender()][operator] = approved;
emit ApprovalForAll(_msgSender(), operator, approved);
}
isApprovedForAll keyboard_arrow_up
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(address from, address to, uint256 tokenId) public virtual override {
//solhint-disable-next-line max-line-length
require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
_transfer(from, to, tokenId);
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {
safeTransferFrom(from, to, tokenId, "");
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual override {
require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
_safeTransfer(from, to, tokenId, _data);
}
owner keyboard_arrow_up
renounceOwnership keyboard_arrow_up
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
blockRelay keyboard_arrow_up
getRelayAddress keyboard_arrow_up
hasRole keyboard_arrow_up
getRoleMemberCount keyboard_arrow_up
getRoleMember keyboard_arrow_up
getRoleAdmin keyboard_arrow_up
grantRole keyboard_arrow_up
Requirements help
null
Source Code
function grantRole(bytes32 role, address account) public virtual {
require(hasRole(_roles[role].adminRole, _msgSender()), "AccessControl: sender must be an admin to grant");
_grantRole(role, account);
}
revokeRole keyboard_arrow_up
Requirements help
null
Source Code
function revokeRole(bytes32 role, address account) public virtual {
require(hasRole(_roles[role].adminRole, _msgSender()), "AccessControl: sender must be an admin to revoke");
_revokeRole(role, account);
}
renounceRole keyboard_arrow_up
Requirements help
Source Code
function renounceRole(bytes32 role, address account) public virtual {
require(account == _msgSender(), "AccessControl: can only renounce roles for self");
_revokeRole(role, account);
}
addMinter keyboard_arrow_up
renounceMinter keyboard_arrow_up
revokeMinter keyboard_arrow_up
setTokenURIPrefix keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function setTokenURIPrefix(string memory prefix) public onlyOwner {
_setBaseURI(prefix);
}
setNextContract keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
UNKNOWN VALUE
must be equal to
UNKNOWN VALUE
Source Code
function setNextContract(address nextContractAddress) public onlyOwner {
require(
address(nextContract) == address(0),
"NextContract already set"
);
nextContract = INextContract(nextContractAddress);
}
createCardAndMintToken keyboard_arrow_up
Parameters help
Modifiers help
onlyMinter checks for the following:
null
Requirements help
Source Code
function createCardAndMintToken(
uint256 playerId,
uint16 season,
uint8 scarcity,
uint16 serialNumber,
bytes32 metadata,
uint16 clubId,
address to
) public onlyMinter override returns (uint256) {
uint256 cardId = sorareCards.createCard(
playerId,
season,
scarcity,
serialNumber,
metadata,
clubId
);
_mint(to, cardId);
return cardId;
}
mintToken keyboard_arrow_up
migrateTokens keyboard_arrow_up
Requirements help
UNKNOWN VALUE
must not be equal to
UNKNOWN VALUE
Source Code
function migrateTokens(uint256[] calldata tokenIds) external {
require(address(nextContract) != address(0), "Next contract not set");
for (uint256 index = 0; index < tokenIds.length; index++) {
transferFrom(_msgSender(), address(this), tokenIds[index]);
}
nextContract.migrateTokens(tokenIds, _msgSender());
}
tokensOfOwner keyboard_arrow_up
Source Code
function tokensOfOwner(address owner, uint8 page, uint8 rows)
public
view
returns (uint256[] memory)
{
return NFTClient.tokensOfOwner(address(this), owner, page, rows);
}
getCard keyboard_arrow_up
Source Code
function getCard(uint256 tokenId)
public
view
returns (
uint256 playerId,
uint16 season,
uint256 scarcity,
uint16 serialNumber,
bytes memory metadata,
uint16 clubId
)
{
(
playerId,
season,
scarcity,
serialNumber,
metadata,
clubId
) = sorareCards.getCard(tokenId);
}
getPlayer keyboard_arrow_up
Source Code
function getPlayer(uint256 playerId)
external
view
returns (
string memory name,
uint16 yearOfBirth,
uint8 monthOfBirth,
uint8 dayOfBirth
)
{
(name, yearOfBirth, monthOfBirth, dayOfBirth) = sorareCards.getPlayer(
playerId
);
}
getClub keyboard_arrow_up
Source Code
function getClub(uint16 clubId)
external
view
returns (
string memory name,
string memory country,
string memory city,
uint16 yearFounded
)
{
(name, country, city, yearFounded) = sorareCards.getClub(clubId);
}