string public baseURI;
address public magnifyCash;
string private _name;
string private _symbol;
Requires caller to be the Magnify Cash contract
modifier onlyMagnifyCash();
constructor(string memory name, string memory symbol, string memory _baseURI, address initialOwner);
function name() public view override returns (string memory);
function symbol() public view override returns (string memory);
function tokenURI(uint256 tokenId) public view override returns (string memory);
Set Magnify Cash contract address, requires caller to be owner
function setMagnifyCash(address _magnifyCash) external onlyOwner;
Update base URI but requires caller to be owner
function setBaseURI(string memory _baseURI) external onlyOwner;
Call _mint but requires caller to be the Magnify Cash contract
function mint(address to, uint256 tokenId) external onlyMagnifyCash;
Call _burn but requires caller to be the Magnify Cash contract
function burn(uint256 tokenId) external onlyMagnifyCash;
event Initialized(address owner, string name, string symbol, string baseURI);
event BaseURISet(string indexed baseURI);
event MagnifyCashSet(address indexed magnifyCash);
error SymbolIsEmpty();
error BaseURIIsEmpty();
error CallerIsNotMagnifyCash();
error MintToZeroAddress();
error MagnifyCashIsZeroAddress();