About
Stats
Public Functions
44
Event Types
18
Code Size
27,834 bytes
Events (18) keyboard_arrow_up
Functions
supportsInterface keyboard_arrow_up
owner keyboard_arrow_up
transferOwnership keyboard_arrow_up
isOperator keyboard_arrow_up
addOperator keyboard_arrow_up
removeOperator keyboard_arrow_up
Modifiers help
onlyOperator checks for the following:
null
Source Code
function removeOperator(address account) public onlyOperator() {
operators.remove(account);
emit OperatorRemoved(account);
}
paused keyboard_arrow_up
pause keyboard_arrow_up
unpause keyboard_arrow_up
withdrawEther keyboard_arrow_up
balanceOf keyboard_arrow_up
ownerOf keyboard_arrow_up
safeTransferFrom keyboard_arrow_up
Parameters help
Modifiers help
whenNotPaused checks for the following:
whenNotTokenPaused checks for the following:
Requirements help
null
null
null
Source Code
function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes memory _data) public payable
whenNotPaused() whenNotTokenPaused(_tokenId) {
super.safeTransferFrom(_from, _to, _tokenId, _data);
}
safeTransferFrom keyboard_arrow_up
Modifiers help
whenNotPaused checks for the following:
whenNotTokenPaused checks for the following:
Requirements help
Source Code
function safeTransferFrom(address _from, address _to, uint256 _tokenId) public payable
whenNotPaused() whenNotTokenPaused(_tokenId) {
super.safeTransferFrom(_from, _to, _tokenId);
}
transferFrom keyboard_arrow_up
Modifiers help
whenNotPaused checks for the following:
whenNotTokenPaused checks for the following:
Requirements help
Source Code
function transferFrom(address _from, address _to, uint256 _tokenId) public payable
whenNotPaused() whenNotTokenPaused(_tokenId) {
super.transferFrom(_from, _to, _tokenId);
}
approve keyboard_arrow_up
Requirements help
Source Code
function approve(address _approved, uint256 _tokenId) public payable {
address owner = ownerOf(_tokenId);
require(msg.sender == owner || isApprovedForAll(owner, msg.sender),
"Unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.");
_tokenApproved[_tokenId] = _approved;
emit Approval(msg.sender, _approved, _tokenId);
}
setApprovalForAll keyboard_arrow_up
Source Code
function setApprovalForAll(address _spender, bool _approved) public {
if (address(approvalProxy) != address(0x0) && _spender.isContract()) {
approvalProxy.setApprovalForAll(msg.sender, _spender, _approved);
}
super.setApprovalForAll(_spender, _approved);
}
getApproved keyboard_arrow_up
Requirements help
null
Source Code
function getApproved(uint256 _tokenId) public view returns (address) {
require(_exist(_tokenId),
"`_tokenId` is not a valid NFT.");
return _tokenApproved[_tokenId];
}
isApprovedForAll keyboard_arrow_up
Source Code
function isApprovedForAll(address _owner, address _spender) public view returns (bool) {
bool original = super.isApprovedForAll(_owner, _spender);
if (address(approvalProxy) != address(0x0)) {
return approvalProxy.isApprovedForAll(_owner, _spender, original);
}
return original;
}
setTokenURIPrefix keyboard_arrow_up
Modifiers help
onlyOperator checks for the following:
null
Source Code
function setTokenURIPrefix(string memory _tokenUriPrefix) public onlyOperator() {
__tokenUriPrefix = _tokenUriPrefix;
emit UpdateTokenURIPrefix(_tokenUriPrefix);
}
name keyboard_arrow_up
symbol keyboard_arrow_up
tokenURI keyboard_arrow_up
isMinter keyboard_arrow_up
addMinter keyboard_arrow_up
removeMinter keyboard_arrow_up
exist keyboard_arrow_up
mint keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
Requirements help
Source Code
function mint(address _to, uint256 _tokenId) public onlyMinter() {
require(_tokenId.mod(assetTypeOffset) != 0, "Index must not be 0");
uint32 assetType = uint32(_tokenId.div(assetTypeOffset));
unitCount[assetType] = unitCount[assetType].add(1);
totalCount = totalCount.add(1);
require(unitCount[assetType] <= getUnitCap(assetType), "Asset unit cap is exceed");
super.mint(_to, _tokenId);
}
totalSupply keyboard_arrow_up
getTypeOffset keyboard_arrow_up
setTypeCap keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
Requirements help
Source Code
function setTypeCap(uint32 _newTypeCap) public onlyMinter() {
require(_newTypeCap < assetTypeCap, "New type cap cannot be less than existing type cap");
require(_newTypeCap >= assetTypeCount, "New type cap must be more than current type count");
assetTypeCap = _newTypeCap;
emit SetTypeCap(_newTypeCap);
}
getTypeCap keyboard_arrow_up
getTypeCount keyboard_arrow_up
existingType keyboard_arrow_up
setUnitCap keyboard_arrow_up
Modifiers help
onlyMinter checks for the following:
null
Requirements help
Source Code
function setUnitCap(uint32 _assetType, uint32 _newUnitCap) public onlyMinter() {
require(_assetType != 0, "Asset Type must not be 0");
require(_newUnitCap < assetTypeOffset, "New unit cap must be less than asset type offset");
if (!existingType(_assetType)) {
unitCapIsSet[_assetType] = true;
assetTypeCount = assetTypeCount.add(1);
require(assetTypeCount <= assetTypeCap, "Asset type cap is exceeded");
} else {
require(_newUnitCap < getUnitCap(_assetType), "New unit cap must be less than previous unit cap");
require(_newUnitCap >= getUnitCount(_assetType), "New unit cap must be more than current unit count");
}
unitCap[_assetType] = _newUnitCap;
emit SetUnitCap(_assetType, _newUnitCap);
}
getUnitCap keyboard_arrow_up
Requirements help
null
Source Code
function getUnitCap(uint32 _assetType) public view returns (uint32) {
require(existingType(_assetType), "Asset type does not exist");
return unitCap[_assetType];
}
getUnitCount keyboard_arrow_up
pauseToken keyboard_arrow_up
unpauseToken keyboard_arrow_up
isTokenPaused keyboard_arrow_up
isTokenPauser keyboard_arrow_up
addTokenPauser keyboard_arrow_up
Modifiers help
onlyOperator checks for the following:
null
Source Code
function addTokenPauser(address account) public onlyOperator() {
tokenPauser.add(account);
emit TokenPauserAdded(account);
}
removeTokenPauser keyboard_arrow_up
Modifiers help
onlyOperator checks for the following:
null
Source Code
function removeTokenPauser(address account) public onlyOperator() {
tokenPauser.remove(account);
emit TokenPauserRemoved(account);
}
setApprovalProxy keyboard_arrow_up
Modifiers help
onlyOperator checks for the following:
null
Source Code
function setApprovalProxy(address _new) public onlyOperator() {
approvalProxy = IApprovalProxy(_new);
emit UpdateApprovalProxy(_new);
}