Blockwell-QR Index
About
Stats
Public Functions
25
Event Types
5
Code Size
24,115 bytes
Library Use
Uses Groups for Groups.GroupMap.
Uses SafeMath for uint256.
Events (5) keyboard_arrow_up
Functions
supportsInterface keyboard_arrow_up
unrestrictMinting keyboard_arrow_up
restrictMinting keyboard_arrow_up
name keyboard_arrow_up
symbol keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
Requirements help
Source Code
function balanceOf(address account) public view returns (uint256) {
require(account != address(0));
return tokenCount[account];
}
ownerOf keyboard_arrow_up
Requirements help
Source Code
function ownerOf(uint256 tokenId) public view returns (address) {
address owner = owners[tokenId];
require(owner != address(0));
return owner;
}
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];
}
getApproved keyboard_arrow_up
isApprovedForAll keyboard_arrow_up
tokenURI keyboard_arrow_up
addAdmin keyboard_arrow_up
removeAdmin keyboard_arrow_up
Modifiers help
onlyAdmin checks for the following:
null
Source Code
function removeAdmin(address account) public onlyAdmin {
groups.remove(ADMIN, account);
emit RemovedFromGroup(ADMIN, account);
}
isAdmin keyboard_arrow_up
approve keyboard_arrow_up
Requirements help
Source Code
function approve(address account, uint256 tokenId) public {
address owner = ownerOf(tokenId);
require(msg.sender == owner || isApprovedForAll(owner, msg.sender));
approval[tokenId] = account;
emit Approval(owner, account, tokenId);
}
setApprovalForAll keyboard_arrow_up
Requirements help
Source Code
function setApprovalForAll(address to, bool approved) public {
require(to != msg.sender);
operatorApproval[msg.sender][to] = approved;
emit ApprovalForAll(msg.sender, to, approved);
}
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(address from, address to, uint256 tokenId) public {
require(_isApprovedOrOwner(msg.sender, tokenId));
require(to != address(0));
_clearApproval(from, tokenId);
_removeTokenFrom(from, tokenId);
_addTokenTo(to, tokenId);
emit Transfer(from, to, tokenId);
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(address from, address to, uint256 tokenId) external payable {
transferFrom(from, to, tokenId);
require(_checkOnERC721Received(from, to, tokenId, ""));
}
safeTransferFrom keyboard_arrow_up
Requirements help
Source Code
function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) external payable {
transferFrom(from, to, tokenId);
require(_checkOnERC721Received(from, to, tokenId, data));
}
mint keyboard_arrow_up
mintWithTokenURI keyboard_arrow_up
addQr keyboard_arrow_up
Requirements help
null
Source Code
function addQr(uint256 tokenId) public returns (bool) {
if (!unrestrictedMinting) {
require(isAdmin(msg.sender), "Must be an admin");
}
_mint(tokenOwner, tokenId);
_setTokenURI(tokenId, concat("https://qr.blockwell.ai/qri/", uint2str(tokenId)));
return true;
}
burn keyboard_arrow_up
Requirements help
Source Code
function burn(uint256 tokenId) public {
require(msg.sender == ownerOf(tokenId));
_burn(msg.sender, tokenId);
}