# MezzUUPSUpgradeable

[Git Source](https://github.com/EntreDevelopers-Lab-Inc/Mezz-Companies/blob/f7a3e84e3dd5bb33c4bd7f77283983f9e8ba20b2/src/core/base/MezzUUPSUpgradeable.sol)

**Inherits:** Credentialed, UUPSUpgradeable, IMezzUUPSUpgradeable

**Author:** Daniel Yamagata & Naveen Ailawadi

A base contract inherited by user-facing, upgradeable core contract

*All calls to 'upgradeToAndCall()' must be made by the Mezz Migrator*

## State Variables

### MEZZ\_MIGRATOR

```solidity
IMezzMigrator public immutable MEZZ_MIGRATOR;
```

## Functions

### constructor

```solidity
constructor(address _mezzMigrator);
```

### supportsInterface

*ERC165 support*

```solidity
function supportsInterface(bytes4 interfaceId) public view virtual override(Credentialed, IERC165) returns (bool);
```

### \_authorizeUpgrade

*Called in UUPSUpgradeable's upgradeToAndCall(...). Overridden such that the caller must be MEZZ\_MIGRATOR.*

```solidity
function _authorizeUpgrade(address) internal virtual override;
```
