Guys when I go to compile I get this error:
DeclarationError: Identifier not found or not unique.
--> ERC721QD.sol:23:11:
|
23 | using Address for address;
| ^^^^^^^
CODE:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.11;
import "./Context.sol";
import "./ERC165.sol";
import "./IERC721.sol";
import "./IERC721Metadata.sol";
/**
* @dev Implementation of https://eips.ethereum.org/EIPS/eip-721
* [ERC721] Non-Fungible Token Standard
*
* This implmentation of ERC721 needs a maximum number of NFTs to provide
* efficient minting. Storage for balance are no longer required reducing
* gas significantly. This comes at the price of calculating the balance by
* iterating through the entire number of maximum NFTs, but enables the
* possibility of creating sections of sequential mint.
*/
contract ERC721QD is Context, ERC165, IERC721, IERC721Metadata {
using Address for address;
using Strings for uint256;
//Max Supply
uint256 private _maxSupply;
// Token name
string private _name;
// Token symbol
string private _symbol;
// Mapping from token ID to owner address
mapping(uint256 => address) internal _owners;
// Mapping from token ID to approved address
mapping(uint256 => address) private _tokenApprovals;
// Mapping from owner to operator approvals
mapping(address => mapping(address => bool)) private _operatorApprovals;
You can see the flattened Code I forked from here: