Stats
            
                Public Functions
                33
            
            
                Event Types
                10
            
            
                Code Size
                36,347 bytes
            
         
     
 
         
            
                
    
        Events (10)
        keyboard_arrow_up
    
    
        
            
                
                    
                        
                            Approval
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | owner | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | approved | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | tokenId | 
                                        
                        
                            uint256  help
                            
                                The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            ApprovalForAll
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | owner | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | operator | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | approved | 
                                        
                        
                            bool  help
                            
                                The type of this value is other.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            MinterAdded
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | account | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            MinterRemoved
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | account | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            MintingFinished
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                         
                     
                 
                
                    
                        
                            Paused
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                         
                     
                 
                
                    
                        
                            PauserAdded
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | account | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            PauserRemoved
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | account | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            Transfer
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                                
                                    
                                        | from | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | to | 
                                        
                        
                            address  help
                            
                                The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                            
                         | 
                                    
                                    
                                        | tokenId | 
                                        
                        
                            uint256  help
                            
                                The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                            
                         | 
                                    
                                
                            
                         
                     
                 
                
                    
                        
                            Unpaused
                                Event
                            
                            
                                Parameters
            
                        
                            help
                            
                                                        Event parameters list the data that an event contains.
            
                            
                        
                                    
                            
                         
                     
                 
         
     
 
             
            
                
    
        Constants (6)
        keyboard_arrow_up
    
    
        
                
                    
                        
                            HERO_TYPE_OFFSET
                                Constant
                            
                            
                                
                        
                            uint16 
help
                            
                                The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                            
                         
                             
                            
                                10000
                            
                         
                     
                 
                
                    
                        
                            _ERC721_RECEIVED
                                Constant
                            
                            
                                
                        
                            bytes4 
help
                            
                                The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                            
                         
                             
                            
                                0x150b7a02
                            
                         
                     
                 
                
                    
                        
                            _InterfaceId_ERC721
                                Constant
                            
                            
                                
                        
                            bytes4 
help
                            
                                The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                            
                         
                             
                            
                                0x80ac58cd
                            
                         
                     
                 
                
                    
                        
                            _InterfaceId_ERC165
                                Constant
                            
                            
                                
                        
                            bytes4 
help
                            
                                The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                            
                         
                             
                            
                                0x01ffc9a7
                            
                         
                     
                 
                
                    
                        
                            _InterfaceId_ERC721Enumerable
                                Constant
                            
                            
                                
                        
                            bytes4 
help
                            
                                The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                            
                         
                             
                            
                                0x780e9d63
                            
                         
                     
                 
                
                    
                        
                            InterfaceId_ERC721Metadata
                                Constant
                            
                            
                                
                        
                            bytes4 
help
                            
                                The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                            
                         
                             
                            
                                0x5b5e139f
                            
                         
                     
                 
         
     
 
             
            
                
    
        State Variables (18)
        keyboard_arrow_up
    
    
        
            
                
                    
                        
                            tokenURIPrefix
                                Variable
                            
                            
                                
                        
                            string 
help
                            
                                The type of this value is string, which is basically just plain text. It's called a string because it is a 'string' of letters.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            heroTypeToSupplyLimit
                                Variable
                            
                            
                                
                        
                            mapping(uint16 => uint16) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _mintingFinished
                                Variable
                            
                            
                                
                        
                            bool 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _tokenOwner
                                Variable
                            
                            
                                
                        
                            mapping(uint256 => address) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _tokenApprovals
                                Variable
                            
                            
                                
                        
                            mapping(uint256 => address) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _ownedTokensCount
                                Variable
                            
                            
                                
                        
                            mapping(address => uint256) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _operatorApprovals
                                Variable
                            
                            
                                
                        
                            mapping(address => mapping(address => bool)) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _supportedInterfaces
                                Variable
                            
                            
                                
                        
                            mapping(bytes4 => bool) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _ownedTokens
                                Variable
                            
                            
                                
                        
                            mapping(address => uint256[]) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _ownedTokensIndex
                                Variable
                            
                            
                                
                        
                            mapping(uint256 => uint256) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _allTokens
                                Variable
                            
                            
                                
                        
                            uint256[] 
help
                            
                                The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number. Because the type ends with '[]', that means it is an array. An array is just a list of values, rather than a single value.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _allTokensIndex
                                Variable
                            
                            
                                
                        
                            mapping(uint256 => uint256) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _name
                                Variable
                            
                            
                                
                        
                            string 
help
                            
                                The type of this value is string, which is basically just plain text. It's called a string because it is a 'string' of letters.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _symbol
                                Variable
                            
                            
                                
                        
                            string 
help
                            
                                The type of this value is string, which is basically just plain text. It's called a string because it is a 'string' of letters.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _tokenURIs
                                Variable
                            
                            
                                
                        
                            mapping(uint256 => string) 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            minters
                                Variable
                            
                            
                                
                        
                            Roles.Role 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            _paused
                                Variable
                            
                            
                                
                        
                            bool 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
                
                    
                        
                            pausers
                                Variable
                            
                            
                                
                        
                            Roles.Role 
help
                            
                                The type of this value is other.
                            
                         
                             
                            
                         
                     
                 
         
     
 
             
        
        
                
    
        isPauser
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function isPauser(address account) public view returns (bool) {
  return pausers.has(account);
}
                 
         
     
 
                
    
        addPauser
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyPauser
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function addPauser(address account) public onlyPauser {
  pausers.add(account);
  emit PauserAdded(account);
}
                 
         
     
 
                
    
        renouncePauser
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function renouncePauser() public {
  pausers.remove(msg.sender);
}
                 
         
     
 
                
    
        paused
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function paused() public view returns (bool) {
  return _paused;
}
                 
         
     
 
                
    
        pause
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyPauser
                                    checks for the following:
                                
                                
                             
                            
                                whenNotPaused
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function pause() public onlyPauser whenNotPaused {
  _paused = true;
  emit Paused();
}
                 
         
     
 
                
    
        unpause
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyPauser
                                    checks for the following:
                                
                                
                             
                            
                                whenPaused
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function unpause() public onlyPauser whenPaused {
  _paused = false;
  emit Unpaused();
}
                 
         
     
 
                
    
        balanceOf
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function balanceOf(address owner) public view returns (uint256) {
  require(owner != address(0));
  return _ownedTokensCount[owner];
}
                 
         
     
 
                
    
        ownerOf
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function ownerOf(uint256 tokenId) public view returns (address) {
  address owner = _tokenOwner[tokenId];
  require(owner != address(0));
  return owner;
}
                 
         
     
 
                
    
        approve
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                whenNotPaused
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function approve(address to, uint256 tokenId) public whenNotPaused {
  super.approve(to, tokenId);
}
                 
         
     
 
                
    
        getApproved
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function getApproved(uint256 tokenId) public view returns (address) {
  require(_exists(tokenId));
  return _tokenApprovals[tokenId];
}
                 
         
     
 
                
    
        setApprovalForAll
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | approved | 
                                    
            
                bool  help
                
                    The type of this value is other.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                whenNotPaused
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function setApprovalForAll(address to, bool approved) public whenNotPaused {
  super.setApprovalForAll(to, approved);
}
                 
         
     
 
                
    
        isApprovedForAll
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | operator | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function isApprovedForAll(address owner, address operator)
  public
  view
  returns (bool)
{
  return _operatorApprovals[owner][operator];
}
                 
         
     
 
                
    
        transferFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                whenNotPaused
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function transferFrom(
  address from,
  address to,
  uint256 tokenId
) public whenNotPaused {
  super.transferFrom(from, to, tokenId);
}
                 
         
     
 
                
    
        safeTransferFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                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
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _data | 
                                    
            
                bytes  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                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
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function supportsInterface(bytes4 interfaceId) external view returns (bool) {
  return _supportedInterfaces[interfaceId];
}
                 
         
     
 
                
    
        isMinter
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function isMinter(address account) public view returns (bool) {
  return minters.has(account);
}
                 
         
     
 
                
    
        addMinter
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function addMinter(address account) public onlyMinter {
  minters.add(account);
  emit MinterAdded(account);
}
                 
         
     
 
                
    
        renounceMinter
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function renounceMinter() public {
  minters.remove(msg.sender);
}
                 
         
     
 
                
    
        name
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                
                    function name() external view returns (string) {
  return _name;
}
                 
         
     
 
                
    
        symbol
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                
                    function symbol() external view returns (string) {
  return _symbol;
}
                 
         
     
 
                
    
        tokenURI
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                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
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function totalSupply() public view returns (uint256) {
  return _allTokens.length;
}
                 
         
     
 
                
    
        tokenOfOwnerByIndex
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | index | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function tokenOfOwnerByIndex(address owner, uint256 index)
  public
  view
  returns (uint256)
{
  require(index < balanceOf(owner));
  return _ownedTokens[owner][index];
}
                 
         
     
 
                
    
        tokenByIndex
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | index | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function tokenByIndex(uint256 index) public view returns (uint256) {
  require(index < totalSupply());
  return _allTokens[index];
}
                 
         
     
 
                
    
        mintingFinished
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function mintingFinished() public view returns (bool) {
  return _mintingFinished;
}
                 
         
     
 
                
    
        mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                            
                                onlyBeforeMintingFinished
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function mint(address to, uint256 tokenId)
  public
  onlyMinter
  onlyBeforeMintingFinished
  returns (bool)
{
  _mint(to, tokenId);
  return true;
}
                 
         
     
 
                
    
        mintWithTokenURI
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | tokenURI | 
                                    
            
                string  help
                
                    The type of this value is string, which is basically just plain text. It's called a string because it is a 'string' of letters.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                            
                                onlyBeforeMintingFinished
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                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
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        This function has no parameters.
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                            
                                onlyBeforeMintingFinished
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function finishMinting()
  public
  onlyMinter
  onlyBeforeMintingFinished
  returns (bool)
{
  _mintingFinished = true;
  emit MintingFinished();
  return true;
}
                 
         
     
 
                
    
        setSupplyLimit
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | _heroType | 
                                    
            
                uint16  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _supplyLimit | 
                                    
            
                uint16  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                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
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | _tokenURIPrefix | 
                                    
            
                string  help
                
                    The type of this value is string, which is basically just plain text. It's called a string because it is a 'string' of letters.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                     
                 
                Source Code
                
                    function setTokenURIPrefix(string _tokenURIPrefix) external onlyMinter {
  tokenURIPrefix = _tokenURIPrefix;
}
                 
         
     
 
                
    
        getSupplyLimit
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | _heroType | 
                                    
            
                uint16  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function getSupplyLimit(uint16 _heroType) public view returns (uint16) {
  return heroTypeToSupplyLimit[_heroType];
}
                 
         
     
 
                
    
        mintHeroAsset
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | _owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | _tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        public
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Modifiers
            
                help
                
                                                Modifiers are additions to a function that typically make various checks before
                            the function is run.
                
            
                            
                    
                            
                                onlyMinter
                                    checks for the following:
                                
                                
                             
                     
                 
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                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);
}
                 
         
     
 
         
        
        
            Internal functions are parts of the contract that can't be used directly, but instead are used by
            the public functions listed above.
        
        
                
    
        internal ERC721._exists
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _exists(uint256 tokenId) internal view returns (bool) {
  address owner = _tokenOwner[tokenId];
  return owner != address(0);
}
                 
         
     
 
                
    
        internal ERC721._isApprovedOrOwner
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | spender | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _isApprovedOrOwner(address spender, uint256 tokenId)
  internal
  view
  returns (bool)
{
  address owner = ownerOf(tokenId);
  // Disable solium check because of
  // https://github.com/duaraghav8/Solium/issues/175
  // solium-disable-next-line operator-whitespace
  return (spender == owner ||
    getApproved(tokenId) == spender ||
    isApprovedForAll(owner, spender));
}
                 
         
     
 
                
    
        internal ERC721._mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _mint(address to, uint256 tokenId) internal {
  require(to != address(0));
  _addTokenTo(to, tokenId);
  emit Transfer(address(0), to, tokenId);
}
                 
         
     
 
                
    
        internal ERC721._burn
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _burn(address owner, uint256 tokenId) internal {
  _clearApproval(owner, tokenId);
  _removeTokenFrom(owner, tokenId);
  emit Transfer(owner, address(0), tokenId);
}
                 
         
     
 
                
    
        internal ERC721._clearApproval
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _clearApproval(address owner, uint256 tokenId) internal {
  require(ownerOf(tokenId) == owner);
  if (_tokenApprovals[tokenId] != address(0)) {
    _tokenApprovals[tokenId] = address(0);
  }
}
                 
         
     
 
                
    
        internal ERC721._addTokenTo
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _addTokenTo(address to, uint256 tokenId) internal {
  require(_tokenOwner[tokenId] == address(0));
  _tokenOwner[tokenId] = to;
  _ownedTokensCount[to] = _ownedTokensCount[to].add(1);
}
                 
         
     
 
                
    
        internal ERC721._removeTokenFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _removeTokenFrom(address from, uint256 tokenId) internal {
  require(ownerOf(tokenId) == from);
  _ownedTokensCount[from] = _ownedTokensCount[from].sub(1);
  _tokenOwner[tokenId] = address(0);
}
                 
         
     
 
                
    
        internal ERC721._checkAndCallSafeTransfer
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _data | 
                                    
            
                bytes  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _checkAndCallSafeTransfer(
  address from,
  address to,
  uint256 tokenId,
  bytes _data
) internal returns (bool) {
  if (!to.isContract()) {
    return true;
  }
  bytes4 retval = IERC721Receiver(to).onERC721Received(
    msg.sender,
    from,
    tokenId,
    _data
  );
  return (retval == _ERC721_RECEIVED);
}
                 
         
     
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal ERC721Enumerable._addTokenTo
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _addTokenTo(address to, uint256 tokenId) internal {
  super._addTokenTo(to, tokenId);
  uint256 length = _ownedTokens[to].length;
  _ownedTokens[to].push(tokenId);
  _ownedTokensIndex[tokenId] = length;
}
                 
         
     
 
                
    
        internal ERC721Enumerable._removeTokenFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _removeTokenFrom(address from, uint256 tokenId) internal {
  super._removeTokenFrom(from, tokenId);
  // To prevent a gap in the array, we store the last token in the index of the token to delete, and
  // then delete the last slot.
  uint256 tokenIndex = _ownedTokensIndex[tokenId];
  uint256 lastTokenIndex = _ownedTokens[from].length.sub(1);
  uint256 lastToken = _ownedTokens[from][lastTokenIndex];
  _ownedTokens[from][tokenIndex] = lastToken;
  // This also deletes the contents at the last position of the array
  _ownedTokens[from].length--;
  // Note that this will handle single-element arrays. In that case, both tokenIndex and lastTokenIndex are going to
  // be zero. Then we can make sure that we will remove tokenId from the ownedTokens list since we are first swapping
  // the lastToken to the first position, and then dropping the element placed in the last position of the list
  _ownedTokensIndex[tokenId] = 0;
  _ownedTokensIndex[lastToken] = tokenIndex;
}
                 
         
     
 
                
    
        internal ERC721Enumerable._mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _mint(address to, uint256 tokenId) internal {
  super._mint(to, tokenId);
  _allTokensIndex[tokenId] = _allTokens.length;
  _allTokens.push(tokenId);
}
                 
         
     
 
                
    
        internal ERC721Enumerable._burn
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _burn(address owner, uint256 tokenId) internal {
  super._burn(owner, tokenId);
  // Reorg all tokens array
  uint256 tokenIndex = _allTokensIndex[tokenId];
  uint256 lastTokenIndex = _allTokens.length.sub(1);
  uint256 lastToken = _allTokens[lastTokenIndex];
  _allTokens[tokenIndex] = lastToken;
  _allTokens[lastTokenIndex] = 0;
  _allTokens.length--;
  _allTokensIndex[tokenId] = 0;
  _allTokensIndex[lastToken] = tokenIndex;
}
                 
         
     
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal ERC721._exists
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _exists(uint256 tokenId) internal view returns (bool) {
  address owner = _tokenOwner[tokenId];
  return owner != address(0);
}
                 
         
     
 
                
    
        internal ERC721._isApprovedOrOwner
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | spender | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _isApprovedOrOwner(address spender, uint256 tokenId)
  internal
  view
  returns (bool)
{
  address owner = ownerOf(tokenId);
  // Disable solium check because of
  // https://github.com/duaraghav8/Solium/issues/175
  // solium-disable-next-line operator-whitespace
  return (spender == owner ||
    getApproved(tokenId) == spender ||
    isApprovedForAll(owner, spender));
}
                 
         
     
 
                
    
        internal ERC721._mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _mint(address to, uint256 tokenId) internal {
  require(to != address(0));
  _addTokenTo(to, tokenId);
  emit Transfer(address(0), to, tokenId);
}
                 
         
     
 
                
    
        internal ERC721._burn
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _burn(address owner, uint256 tokenId) internal {
  _clearApproval(owner, tokenId);
  _removeTokenFrom(owner, tokenId);
  emit Transfer(owner, address(0), tokenId);
}
                 
         
     
 
                
    
        internal ERC721._clearApproval
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _clearApproval(address owner, uint256 tokenId) internal {
  require(ownerOf(tokenId) == owner);
  if (_tokenApprovals[tokenId] != address(0)) {
    _tokenApprovals[tokenId] = address(0);
  }
}
                 
         
     
 
                
    
        internal ERC721._addTokenTo
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _addTokenTo(address to, uint256 tokenId) internal {
  require(_tokenOwner[tokenId] == address(0));
  _tokenOwner[tokenId] = to;
  _ownedTokensCount[to] = _ownedTokensCount[to].add(1);
}
                 
         
     
 
                
    
        internal ERC721._removeTokenFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _removeTokenFrom(address from, uint256 tokenId) internal {
  require(ownerOf(tokenId) == from);
  _ownedTokensCount[from] = _ownedTokensCount[from].sub(1);
  _tokenOwner[tokenId] = address(0);
}
                 
         
     
 
                
    
        internal ERC721._checkAndCallSafeTransfer
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _data | 
                                    
            
                bytes  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _checkAndCallSafeTransfer(
  address from,
  address to,
  uint256 tokenId,
  bytes _data
) internal returns (bool) {
  if (!to.isContract()) {
    return true;
  }
  bytes4 retval = IERC721Receiver(to).onERC721Received(
    msg.sender,
    from,
    tokenId,
    _data
  );
  return (retval == _ERC721_RECEIVED);
}
                 
         
     
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal ERC721Metadata._setTokenURI
        
        keyboard_arrow_up
    
    
 
                
    
        internal ERC721Metadata._burn
        
        keyboard_arrow_up
    
    
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal ERC721._exists
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _exists(uint256 tokenId) internal view returns (bool) {
  address owner = _tokenOwner[tokenId];
  return owner != address(0);
}
                 
         
     
 
                
    
        internal ERC721._isApprovedOrOwner
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | spender | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _isApprovedOrOwner(address spender, uint256 tokenId)
  internal
  view
  returns (bool)
{
  address owner = ownerOf(tokenId);
  // Disable solium check because of
  // https://github.com/duaraghav8/Solium/issues/175
  // solium-disable-next-line operator-whitespace
  return (spender == owner ||
    getApproved(tokenId) == spender ||
    isApprovedForAll(owner, spender));
}
                 
         
     
 
                
    
        internal ERC721._mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _mint(address to, uint256 tokenId) internal {
  require(to != address(0));
  _addTokenTo(to, tokenId);
  emit Transfer(address(0), to, tokenId);
}
                 
         
     
 
                
    
        internal ERC721._burn
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _burn(address owner, uint256 tokenId) internal {
  _clearApproval(owner, tokenId);
  _removeTokenFrom(owner, tokenId);
  emit Transfer(owner, address(0), tokenId);
}
                 
         
     
 
                
    
        internal ERC721._clearApproval
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _clearApproval(address owner, uint256 tokenId) internal {
  require(ownerOf(tokenId) == owner);
  if (_tokenApprovals[tokenId] != address(0)) {
    _tokenApprovals[tokenId] = address(0);
  }
}
                 
         
     
 
                
    
        internal ERC721._addTokenTo
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _addTokenTo(address to, uint256 tokenId) internal {
  require(_tokenOwner[tokenId] == address(0));
  _tokenOwner[tokenId] = to;
  _ownedTokensCount[to] = _ownedTokensCount[to].add(1);
}
                 
         
     
 
                
    
        internal ERC721._removeTokenFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _removeTokenFrom(address from, uint256 tokenId) internal {
  require(ownerOf(tokenId) == from);
  _ownedTokensCount[from] = _ownedTokensCount[from].sub(1);
  _tokenOwner[tokenId] = address(0);
}
                 
         
     
 
                
    
        internal ERC721._checkAndCallSafeTransfer
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _data | 
                                    
            
                bytes  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _checkAndCallSafeTransfer(
  address from,
  address to,
  uint256 tokenId,
  bytes _data
) internal returns (bool) {
  if (!to.isContract()) {
    return true;
  }
  bytes4 retval = IERC721Receiver(to).onERC721Received(
    msg.sender,
    from,
    tokenId,
    _data
  );
  return (retval == _ERC721_RECEIVED);
}
                 
         
     
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal MinterRole._removeMinter
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _removeMinter(address account) internal {
  minters.remove(account);
  emit MinterRemoved(account);
}
                 
         
     
 
                
    
        internal ERC721._exists
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _exists(uint256 tokenId) internal view returns (bool) {
  address owner = _tokenOwner[tokenId];
  return owner != address(0);
}
                 
         
     
 
                
    
        internal ERC721._isApprovedOrOwner
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | spender | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        view
                     
                 
             
                Source Code
                
                    function _isApprovedOrOwner(address spender, uint256 tokenId)
  internal
  view
  returns (bool)
{
  address owner = ownerOf(tokenId);
  // Disable solium check because of
  // https://github.com/duaraghav8/Solium/issues/175
  // solium-disable-next-line operator-whitespace
  return (spender == owner ||
    getApproved(tokenId) == spender ||
    isApprovedForAll(owner, spender));
}
                 
         
     
 
                
    
        internal ERC721._mint
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _mint(address to, uint256 tokenId) internal {
  require(to != address(0));
  _addTokenTo(to, tokenId);
  emit Transfer(address(0), to, tokenId);
}
                 
         
     
 
                
    
        internal ERC721._burn
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _burn(address owner, uint256 tokenId) internal {
  _clearApproval(owner, tokenId);
  _removeTokenFrom(owner, tokenId);
  emit Transfer(owner, address(0), tokenId);
}
                 
         
     
 
                
    
        internal ERC721._clearApproval
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | owner | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _clearApproval(address owner, uint256 tokenId) internal {
  require(ownerOf(tokenId) == owner);
  if (_tokenApprovals[tokenId] != address(0)) {
    _tokenApprovals[tokenId] = address(0);
  }
}
                 
         
     
 
                
    
        internal ERC721._addTokenTo
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _addTokenTo(address to, uint256 tokenId) internal {
  require(_tokenOwner[tokenId] == address(0));
  _tokenOwner[tokenId] = to;
  _ownedTokensCount[to] = _ownedTokensCount[to].add(1);
}
                 
         
     
 
                
    
        internal ERC721._removeTokenFrom
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _removeTokenFrom(address from, uint256 tokenId) internal {
  require(ownerOf(tokenId) == from);
  _ownedTokensCount[from] = _ownedTokensCount[from].sub(1);
  _tokenOwner[tokenId] = address(0);
}
                 
         
     
 
                
    
        internal ERC721._checkAndCallSafeTransfer
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | from | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | to | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                                
                                    | tokenId | 
                                    
            
                uint256  help
                
                    The type of this value is uint, which stands for unsigned integer. Integer means it's a whole number (such as 1, 12, 52) without fractions or decimals. Unsigned means it can't have a negative or positive sign, so it's always a positive number.
                
             | 
                                
                                
                                    | _data | 
                                    
            
                bytes  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _checkAndCallSafeTransfer(
  address from,
  address to,
  uint256 tokenId,
  bytes _data
) internal returns (bool) {
  if (!to.isContract()) {
    return true;
  }
  bytes4 retval = IERC721Receiver(to).onERC721Received(
    msg.sender,
    from,
    tokenId,
    _data
  );
  return (retval == _ERC721_RECEIVED);
}
                 
         
     
 
                
    
        internal ERC165._registerInterface
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | interfaceId | 
                                    
            
                bytes4  help
                
                    The type of this value is byte or bytes. Byte data is usually not intended for human reading, and stores binary data.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                
                    
                        Requirements
            
                help
                
                                                Requirements are checks that the function makes when it runs, and give you
                            insight on what conditions are required for the function to succeed.
                
            
                            
                    
                 
                Source Code
                
                    function _registerInterface(bytes4 interfaceId) internal {
  require(interfaceId != 0xffffffff);
  _supportedInterfaces[interfaceId] = true;
}
                 
         
     
 
                
    
        internal PauserRole._removePauser
        
        keyboard_arrow_up
    
    
        
            
                
                    Parameters
            
                help
                
                                            Function parameters list what input the function expects from the user. Each
                        parameter must be given a value.
                
            
                        
                
                        
                            
                            
                                | Name | 
                                Type | 
                            
                            
                            
                                
                                    | account | 
                                    
            
                address  help
                
                    The type of this value is address, which means it stores an Ethereum address, such as a wallet address.
                
             | 
                                
                            
                        
                 
             
            
                Properties
                
                    
                        
                            Visibility
            
                help
                
                                                    Visibility determines if the function is visible to users and other contracts.
                                Only functions that are public can be used.
                
            
                                
                        internal
                     
                    
                        
                            Mutability
            
                help
                
                                                    Mutability tells you if a function can make changes on the blockchain.
                                View means the function can be called by anyone without
                                a wallet and without submitting a transaction.
                
            
                                
                        
                            transaction
                     
                 
             
                Source Code
                
                    function _removePauser(address account) internal {
  pausers.remove(account);
  emit PauserRemoved(account);
}