MyCryptoHeroes:Hero
About
Stats
Public Functions
33
Event Types
10
Code Size
36,347 bytes
Events (10) keyboard_arrow_up
Functions
isPauser keyboard_arrow_up
addPauser keyboard_arrow_up
renouncePauser keyboard_arrow_up
paused keyboard_arrow_up
pause keyboard_arrow_up
unpause keyboard_arrow_up
balanceOf keyboard_arrow_up
Source Code
function balanceOf(address owner) public view returns (uint256) {
require(owner != address(0));
return _ownedTokensCount[owner];
}
ownerOf keyboard_arrow_up
Source Code
function ownerOf(uint256 tokenId) public view returns (address) {
address owner = _tokenOwner[tokenId];
require(owner != address(0));
return owner;
}
approve keyboard_arrow_up
Requirements help
Source Code
function approve(
address to,
uint256 tokenId
)
public
whenNotPaused
{
super.approve(to, tokenId);
}
getApproved keyboard_arrow_up
setApprovalForAll keyboard_arrow_up
Requirements help
Source Code
function setApprovalForAll(
address to,
bool approved
)
public
whenNotPaused
{
super.setApprovalForAll(to, approved);
}
isApprovedForAll keyboard_arrow_up
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(
address from,
address to,
uint256 tokenId
)
public
whenNotPaused
{
super.transferFrom(from, to, tokenId);
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(
address from,
address to,
uint256 tokenId
)
public
{
// solium-disable-next-line arg-overflow
safeTransferFrom(from, to, tokenId, "");
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(
address from,
address to,
uint256 tokenId,
bytes _data
)
public
{
transferFrom(from, to, tokenId);
// solium-disable-next-line arg-overflow
require(_checkAndCallSafeTransfer(from, to, tokenId, _data));
}
supportsInterface keyboard_arrow_up
isMinter keyboard_arrow_up
addMinter keyboard_arrow_up
renounceMinter keyboard_arrow_up
name keyboard_arrow_up
symbol keyboard_arrow_up
tokenURI keyboard_arrow_up
Source Code
function tokenURI(uint256 tokenId) public view returns (string) {
bytes32 tokenIdBytes;
if (tokenId == 0) {
tokenIdBytes = "0";
} else {
uint256 value = tokenId;
while (value > 0) {
tokenIdBytes = bytes32(uint256(tokenIdBytes) / (2 ** 8));
tokenIdBytes |= bytes32(((value % 10) + 48) * 2 ** (8 * 31));
value /= 10;
}
}
bytes memory prefixBytes = bytes(tokenURIPrefix);
bytes memory tokenURIBytes = new bytes(prefixBytes.length + tokenIdBytes.length);
uint8 i;
uint8 index = 0;
for (i = 0; i < prefixBytes.length; i++) {
tokenURIBytes[index] = prefixBytes[i];
index++;
}
for (i = 0; i < tokenIdBytes.length; i++) {
tokenURIBytes[index] = tokenIdBytes[i];
index++;
}
return string(tokenURIBytes);
}
totalSupply keyboard_arrow_up
tokenOfOwnerByIndex keyboard_arrow_up
Source Code
function tokenOfOwnerByIndex(
address owner,
uint256 index
)
public
view
returns (uint256)
{
require(index < balanceOf(owner));
return _ownedTokens[owner][index];
}
tokenByIndex keyboard_arrow_up
Requirements help
Source Code
function tokenByIndex(uint256 index) public view returns (uint256) {
require(index < totalSupply());
return _allTokens[index];
}
mintingFinished keyboard_arrow_up
mint keyboard_arrow_up
mintWithTokenURI keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
onlyBeforeMintingFinished checks for the following:
Requirements help
Source Code
function mintWithTokenURI(
address to,
uint256 tokenId,
string tokenURI
)
public
onlyMinter
onlyBeforeMintingFinished
returns (bool)
{
mint(to, tokenId);
_setTokenURI(tokenId, tokenURI);
return true;
}
finishMinting keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
onlyMinter checks for the following:
null
onlyBeforeMintingFinished checks for the following:
Source Code
function finishMinting()
public
onlyMinter
onlyBeforeMintingFinished
returns (bool)
{
_mintingFinished = true;
emit MintingFinished();
return true;
}
setSupplyLimit keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
Requirements help
One or more of the following:
-
_supplyLimit
must be less than
heroTypeToSupplyLimit for _heroType
- OR
heroTypeToSupplyLimit for _heroType
must be equal to
0
Source Code
function setSupplyLimit(uint16 _heroType, uint16 _supplyLimit) external onlyMinter {
require(heroTypeToSupplyLimit[_heroType] == 0 || _supplyLimit < heroTypeToSupplyLimit[_heroType],
"_supplyLimit is bigger");
heroTypeToSupplyLimit[_heroType] = _supplyLimit;
}
setTokenURIPrefix keyboard_arrow_up
getSupplyLimit keyboard_arrow_up
mintHeroAsset keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
Requirements help
Source Code
function mintHeroAsset(address _owner, uint256 _tokenId) public onlyMinter {
uint16 _heroType = uint16(_tokenId / HERO_TYPE_OFFSET);
uint16 _heroTypeIndex = uint16(_tokenId % HERO_TYPE_OFFSET) - 1;
require(_heroTypeIndex < heroTypeToSupplyLimit[_heroType], "supply over");
_mint(_owner, _tokenId);
}