> For the complete documentation index, see [llms.txt](https://magnify.gitbook.io/magnify.cash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://magnify.gitbook.io/magnify.cash/contracts/magnifyerc721v1.md).

# MagnifyERC721V1

### [State Variables](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#state-variables) <a href="#state-variables" id="state-variables"></a>

#### [baseURI](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#baseuri) <a href="#baseuri" id="baseuri"></a>

```solidity
string public baseURI;
```

#### [magnifyCash](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#magnifycash) <a href="#magnifycash" id="magnifycash"></a>

```solidity
address public magnifyCash;
```

#### [\_name](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#_name) <a href="#name" id="name"></a>

```solidity
string private _name;
```

#### [\_symbol](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#_symbol) <a href="#symbol" id="symbol"></a>

```solidity
string private _symbol;
```

### [Functions](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#functions) <a href="#functions" id="functions"></a>

#### [onlyMagnifyCash](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#onlymagnifycash) <a href="#onlymagnifycash" id="onlymagnifycash"></a>

*Requires caller to be the Magnify Cash contract*

```solidity
modifier onlyMagnifyCash();
```

#### [constructor](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#constructor) <a href="#constructor" id="constructor"></a>

```solidity
constructor(string memory name, string memory symbol, string memory _baseURI, address initialOwner);
```

#### [name](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#name) <a href="#name" id="name"></a>

```solidity
function name() public view override returns (string memory);
```

#### [symbol](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#symbol) <a href="#symbol" id="symbol"></a>

```solidity
function symbol() public view override returns (string memory);
```

#### [tokenURI](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#tokenuri) <a href="#tokenuri" id="tokenuri"></a>

```solidity
function tokenURI(uint256 tokenId) public view override returns (string memory);
```

#### [setMagnifyCash](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#setmagnifycash) <a href="#setmagnifycash" id="setmagnifycash"></a>

*Set Magnify Cash contract address, requires caller to be owner*

```solidity
function setMagnifyCash(address _magnifyCash) external onlyOwner;
```

#### [setBaseURI](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#setbaseuri) <a href="#setbaseuri" id="setbaseuri"></a>

*Update base URI but requires caller to be owner*

```solidity
function setBaseURI(string memory _baseURI) external onlyOwner;
```

#### [mint](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#mint) <a href="#mint" id="mint"></a>

*Call \_mint but requires caller to be the Magnify Cash contract*

```solidity
function mint(address to, uint256 tokenId) external onlyMagnifyCash;
```

#### [burn](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#burn) <a href="#burn" id="burn"></a>

*Call \_burn but requires caller to be the Magnify Cash contract*

```solidity
function burn(uint256 tokenId) external onlyMagnifyCash;
```

### [Events](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#events) <a href="#events" id="events"></a>

#### [Initialized](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#initialized) <a href="#initialized" id="initialized"></a>

```solidity
event Initialized(address owner, string name, string symbol, string baseURI);
```

#### [BaseURISet](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#baseuriset) <a href="#baseuriset" id="baseuriset"></a>

```solidity
event BaseURISet(string indexed baseURI);
```

#### [MagnifyCashSet](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#magnifycashset) <a href="#magnifycashset" id="magnifycashset"></a>

```solidity
event MagnifyCashSet(address indexed magnifyCash);
```

### [Errors](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#errors) <a href="#errors" id="errors"></a>

#### [NameIsEmpty](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#nameisempty) <a href="#nameisempty" id="nameisempty"></a>

```solidity
error NameIsEmpty();
```

#### [SymbolIsEmpty](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#symbolisempty) <a href="#symbolisempty" id="symbolisempty"></a>

```solidity
error SymbolIsEmpty();
```

#### [BaseURIIsEmpty](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#baseuriisempty) <a href="#baseuriisempty" id="baseuriisempty"></a>

```solidity
error BaseURIIsEmpty();
```

#### [CallerIsNotMagnifyCash](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#callerisnotmagnifycash) <a href="#callerisnotmagnifycash" id="callerisnotmagnifycash"></a>

```solidity
error CallerIsNotMagnifyCash();
```

#### [MintToZeroAddress](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#minttozeroaddress) <a href="#minttozeroaddress" id="minttozeroaddress"></a>

```solidity
error MintToZeroAddress();
```

#### [MagnifyCashIsZeroAddress](https://docs.magnify.cash/contracts/contracts/MagnifyERC721V1.sol/contract.MagnifyERC721V1.html#magnifycashiszeroaddress) <a href="#magnifycashiszeroaddress" id="magnifycashiszeroaddress"></a>

```solidity
error MagnifyCashIsZeroAddress();
```
