# Errors

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

**Author:** Daniel Yamagata & Jerry Qi & Naveen Ailawadi

A library for all errors that can be thrown in the Mezzanine Protocol.  All errors in Mezzanine follow the following syntax:&#x20;

```solidity
error ContractNameErrorName(arg1, arg2, ...)
```

where *ContractName* is the name of the contract that the error originates, and *ErrorName* is the name of the error. The arguments are optional and are used to provide additional context to the error.&#x20;

{% hint style="info" %}
This part of the documentation is not meant to be read. It is meant to act as a resource for developers who may have a difficult time tracing errors when building on top of the Mezzanine protocol. The Ctrl-F command should be used to locate the error name or selector that is causing a reversion.
{% endhint %}

## Errors

### AlreadySet

The state variable to set is already set to the given value or part of a given set or mapping&#x20;

Selector: 0xa741a045

```solidity
error AlreadySet();
```

### NotSet

The state variable to remove is not set or is not part of a given set or mapping&#x20;

Selector: 0x441dfbd6

```solidity
error NotSet();
```

### SelfAddress

The provided address is the address of the contract&#x20;

Selector: 0x2007aa4c

```solidity
error SelfAddress();
```

### ZeroAddress

The passed-in address is the zero address, i.e. address(0)&#x20;

Selector: 0xd92e233d

```solidity
error ZeroAddress();
```

### ZeroAmount

The passed-in amount is zero&#x20;

Selector: 0x1f2a2005

```solidity
error ZeroAmount();
```

### NullCoreId

The passed-in core ID is the null, i.e. bytes32(0)&#x20;

Selector: 0x256d6403

```solidity
error NullCoreId();
```

### EmptyArray

The passed-in array is empty&#x20;

Selector: 0x521299a9

```solidity
error EmptyArray();
```

### InvalidSignature

An invalid signature was provided for 'account'&#x20;

Selector: 0xd855c4f4

```solidity
error InvalidSignature(address account);
```

### InputLengthMismatch

Multiple arrays are passed in but not of the same length&#x20;

Selector: 0xaaad13f7

```solidity
error InputLengthMismatch();
```

### CallerNotAuthorizedToPatch

The 'caller' is not authorized to patch via 'resetToPatchedLatestVersion()' in a contract that inherits from 'Patchable'&#x20;

Selector: 0x15d92cf7

```solidity
error CallerNotAuthorizedToPatch(address caller);
```

### TreasuryMismatch

The 'expectedTreasury' does not match the 'providedTreasury'. Thrown when inserting a department as a child and adding an asset into the capital stack&#x20;

Selector: 0x4c4808fc

```solidity
error TreasuryMismatch(address expectedTreasury, address providedTreasury);
```

### InvalidShares

The passed-in 'shares' to use for the token timelock, priced round, shareclass governor, etc. is not tracked by the treasury&#x20;

Selector: 0xc645bc49

```solidity
error InvalidShares(address shares);
```

### ProvidedTreasuryDoesNotSupportTreasuryInterface

The 'treasury' passed in during initialization does not support the treasury interface&#x20;

Selector: 0xd7cb9b7a

```solidity
error ProvidedTreasuryDoesNotSupportTreasuryInterface(address treasury);
```

### SafeModulesDisabled

Safe modules are disabled.  This error is thrown when:

1. A call is made to 'execTransactionFromModule()' of a Team, which inherits from Safe
2. A call is made to 'checkModuleTransaction()' in a Mezz Guard

Selector: 0x3965d7af

```solidity
error SafeModulesDisabled();
```

### InvalidDenominationAsset

The passed-in denomination asset is not whitelisted within the Mezz Hub&#x20;

Selector: 0x6b044bae

```solidity
error InvalidDenominationAsset(address denominationAsset);
```

### TransactionFailed

An arbitrary call to an address failed. Thrown when:

* A Safe, which Team inherits, calls 'checkAfterExecution()' during 'execTransaction()'
* The 'execTransaction()' during a Team's 'execMultipleTransactions()' failed&#x20;

Selector: 0xbf961a28

```solidity
error TransactionFailed();
```

### CannotReceiveNativeToken

The contract is unable to receive the blockchain's native token&#x20;

Selector: 0xa02752ed

```solidity
error CannotReceiveNativeToken();
```

### PrecisionLoss

Arithmetic produced a value of zero when it should have been greater than zero Precision loss in the protocol is almost always dependent on time-based calculations with extremely small values. Functions that cause this error are likely to function correctly once enough time has passed&#x20;

Selector: 0x63c8f3fb

```solidity
error PrecisionLoss();
```

## MaliciousUpgradeCalldata

The calldata used to call 'upgradeToAndCall()' is another call to 'upgradeToAndCall()', which is likely to be malicious

Selector: 0x03c16f1f

```solidity
error MaliciousUpgradeCalldata();
```

### HubOwnableCallerNotHubOwner

The 'caller' is not the 'owner' of the Mezz Hub&#x20;

Selector: 0x206e1fcc

```solidity
error HubOwnableCallerNotHubOwner(address caller);
```

### DelayedUUPSUpgradeableERC1967InvalidImplementation

The proposed upgrade has a code length of zero&#x20;

Selector: 0x4c719dc1

```solidity
error DelayedUUPSUpgradeableERC1967InvalidImplementation(address newImplementation);
```

### DelayedUUPSUpgradeableNewImplementationIsCurrentImplementation

The proposed upgrade is the same as the current implementation&#x20;

Selector: 0x972744aa

```solidity
error DelayedUUPSUpgradeableNewImplementationIsCurrentImplementation();
```

### DelayedUUPSUpgradeablePendingUpgradeInProgress

An upgrade was proposed. However, there is already an upgrade pending. The current pending upgrade must be canceled for a new upgrade to be proposed Selector:&#x20;

0xcee95171

```solidity
error DelayedUUPSUpgradeablePendingUpgradeInProgress(address pendingUpgrade);
```

### DelayedUUPSUpgradeableNoUpgradeProposed

'upgradeToAndCall()' was called. However, there is no pending upgrade&#x20;

Selector: 0x5ba5b862

```solidity
error DelayedUUPSUpgradeableNoUpgradeProposed();
```

### DelayedUUPSUpgradeableImplementationNotProposed

An attempt at an upgrade to 'newImplementation' was made. However, 'newImplementation' was not proposed&#x20;

Selector: 0xb3f596ce

```solidity
error DelayedUUPSUpgradeableImplementationNotProposed(address newImplementation);
```

### DelayedUUPSUpgradeableUpgradeNotReady

An attempt at an upgrade occurred. However, the 'pendingUpgradeSnapshot' has not passed yet&#x20;

Selector: 0x923c0d33

```solidity
error DelayedUUPSUpgradeableUpgradeNotReady(uint256 pendingUpgradeSnapshot);
```

### DelayedUUPSUpgradeableNoPendingUpgradeToCancel

An attempt to cancel the pending upgrade occurred. However, there is no upgrade pending&#x20;

Selector: 0x642d5ec5

```solidity
error DelayedUUPSUpgradeableNoPendingUpgradeToCancel();
```

### MezzHubCallerNotOwnerOrDefender

The caller attempted to call a function that is only callable by the 'owner' or a 'defender'&#x20;

Selector: 0xffa1c3e7

```solidity
error MezzHubCallerNotOwnerOrDefender(address caller);
```

### MezzHubOwnershipTransferAlreadyPending

An ownership transfer cannot be initiated because there is already an ownership transfer pending&#x20;

Selector: 0xf9cd2b72

```solidity
error MezzHubOwnershipTransferAlreadyPending();
```

### MezzHubOwnershipTransferNotReady

An attempt to accept an ownership transfer was made. However, the owner transfership is not ready&#x20;

Selector: 0x567b3c3d

```solidity
error MezzHubOwnershipTransferNotReady(uint256 transferSnapshot);
```

### MezzHubNoPendingOwnershipTransferToCancel

An attemp to cancel an ownership transfer that is non-existent&#x20;

Selector: 0x8b4f3e71

```solidity
error MezzHubNoPendingOwnershipTransferToCancel();
```

### MezzHubOwnershipRenouncementDisabled

Attempt to renounce ownership by the 'owner'. This is disabled to prevent griefing by a compromised 'owner'&#x20;

Selector: 0xecb099ff

```solidity
error MezzHubOwnershipRenouncementDisabled();
```

### MezzHubInvalidFreezeDuration

The passed in 'freezeDuration' is invalid, meaning it is either zero or greater than Constants.MAX\_FREEZE\_DURATION&#x20;

Selector: 0x5f7a0e96

```solidity
error MezzHubInvalidFreezeDuration(uint256 freezeDuration);
```

### MezzHubDocumentRegistryNotSet

Attempt to query the Document Registry when it has not been set&#x20;

Selector: 0xe110a858

```solidity
error MezzHubDocumentRegistryNotSet();
```

### MezzHubFeeControllerNotSet

Attempt to query the Fee Controller when it has not been set&#x20;

Selector: 0x495b7e87

```solidity
error MezzHubFeeControllerNotSet();
```

### MezzHubMezzDeployerNotSet

Attempt to query the Mezz Deployer when it has not been set&#x20;

Selector: 0x90e07ad0

```solidity
error MezzHubMezzDeployerNotSet();
```

### StateAwareProtocolStateFrozen

The protocol state is frozen in the Mezz Hub&#x20;

Selector: 0x893c4631

```solidity
error StateAwareProtocolStateFrozen();
```

### StateAwareProtocolStatePausedOrFrozen

The protocol state is paused or frozen in the Mezz Hub. The value of 'state' is reflected by the following enum:

* 0 = Active
* 1 = Paused
* 2 = Frozen&#x20;

Selector: 0x8619d7e0

```solidity
error StateAwareProtocolStatePausedOrFrozen(uint8 state);
```

### StateAwareImplementationFrozen

The 'implementation' is frozen in the Mezz Hub&#x20;

Selector: 0x9aa84a98

```solidity
error StateAwareImplementationFrozen(address implementation);
```

### StateAwareDeploymentFrozen

The 'deployment' is frozen in the Mezz Hub&#x20;

Selector: 0x4bfafc15

```solidity
error StateAwareDeploymentFrozen(address deployment);
```

### HubOwnableUUPSUpgradeableCallerNotAuthorizedToCancelUpgrade

The caller attempted to cancel an upgrade and is not the owner of the Mezz Hub nor a defender&#x20;

Selector: 0x16e79c7b

```solidity
error HubOwnableUUPSUpgradeableCallerNotAuthorizedToCancelUpgrade(address caller);
```

### MezzDeployerInvalidCompanyNameLength

The passed in company name has a length of zero or is greater than the max length&#x20;

Selector: 0x60a7a170

```solidity
error MezzDeployerInvalidCompanyNameLength(uint256 length);
```

### MezzDeployerInvalidCompanySymbolLength

The passed in company symbol has a length of zero or is greater than the max length&#x20;

Selector: 0x56ec764b

```solidity
error MezzDeployerInvalidCompanySymbolLength(uint256 length);
```

### MezzDeployerImplementationNotMezzGuard

The queried 'implementation' associated with 'coreId' does not support the mezz guard interface&#x20;

Selector: 0x0b46223a

```solidity
error MezzDeployerImplementationNotMezzGuard(bytes32 coreId, address implementation);
```

### MezzDeployerImplementationNotDepartment

The queried 'implementation' associated with 'coreId' does not support the department interface&#x20;

Selector: 0x6b02f768

```solidity
error MezzDeployerImplementationNotDepartment(bytes32 coreId, address implementation);
```

### MezzDeployerImplementationNotModule

The queried 'implementation' associated with 'coreId' does not support the module interface&#x20;

Selector: 0xb1a808c0

```solidity
error MezzDeployerImplementationNotModule(bytes32 coreId, address implementation);
```

### MezzDeployerImplementationNotAsset

The queried 'implementation' associated with 'coreId' does not support the asset interface&#x20;

Selector: 0xa93515ef

```solidity
error MezzDeployerImplementationNotAsset(bytes32 coreId, address implementation);
```

### MezzDeployerThresholdExceedsNumberOfOwners

The initial threshold to set is greater than the number of owners. 'owners' refer to a Safe's signers&#x20;

Selector: 0xa93515ef

```solidity
error MezzDeployerThresholdExceedsNumberOfOwners();
```

### MezzDeployerCompanyNameTaken

The company name is already taken&#x20;

Selector: 0x4a16a7b5

```solidity
error MezzDeployerCompanyNameTaken(string companyName);
```

### MezzDeployerCompanySymbolTaken

The company symbol is already taken&#x20;

Selector: 0x88adf994

```solidity
error MezzDeployerCompanySymbolTaken(string companySymbol);
```

### MezzDeployerInvalidGovernorCoreId

The provided 'coreId' for a governor is invalid&#x20;

Selector: 0x8e810482

```solidity
error MezzDeployerInvalidGovernorCoreId(bytes32 coreId);
```

### MezzDeployerInvalidCharacter

A company's name or symbol contains 'char', which is an invalid character&#x20;

Selector: 0xf8f3b4e6

```solidity
error MezzDeployerInvalidCharacter(bytes1 char);
```

### DocumentRegistryDocumentDoesNotExist

The document associated with 'documentIndex' for 'owner' does not exist&#x20;

Selector: 0xe1f5423e

```solidity
error DocumentRegistryDocumentDoesNotExist(address owner, uint256 documentIndex);
```

### FeeControllerNewImplementationFeeAboveMaxFee

The 'implementationFee' to set is above the maximum&#x20;

Selector: 0x689f650e

```solidity
error FeeControllerNewImplementationFeeAboveMaxFee(uint256 implementationFee);
```

### BillingRouterInvalidDueDate

The provided 'dueDate' is in the past&#x20;

Selector: 0xe5acd993

```solidity
error BillingRouterInvalidDueDate(uint256 dueDate);
```

### BillingRouterInvoiceAlreadyExists

The invoice already exists in the billing router&#x20;

Selector: 0xb2e02be8

```solidity
error BillingRouterInvoiceAlreadyExists(bytes32 invoiceId);
```

### BillingRouterCannotCancelPaidInvoice

The 'vendor' attempted to cancel an invoice that has already been paid&#x20;

Selector: 0x5fa6f33b

```solidity
error BillingRouterCannotCancelPaidInvoice(bytes32 invoiceId);
```

### BillingRouterCallerNotVendor

The 'caller' of the function is not the vendor&#x20;

Selector: 0x975582f5

```solidity
error BillingRouterCallerNotVendor(address caller);
```

### BillingRouterInvoiceDoesNotExist

There is no existing invoice associated with 'invoiceId'&#x20;

Selector: 0x588a04d6

```solidity
error BillingRouterInvoiceDoesNotExist(bytes32 invoiceId);
```

### MezzMigratorRedundantCoreIdProvidedDuringV1SetUp

A redundant 'coreId' was provided during the Mezz Migrator initialization&#x20;

Selector: 0xc975fc2a

```solidity
error MezzMigratorRedundantCoreIdProvidedDuringV1SetUp(bytes32 coreId);
```

### MezzMigratorImplementationDoesNotSupportCredentialedInterface

The 'implementation' does not support the 'ICredentialed' interface&#x20;

Selector: 0x7862e552

```solidity
error MezzMigratorImplementationDoesNotSupportCredentialedInterface(address implementation);
```

### MezzMigratorImplementationCoreIdMismatch

The 'implementationCoreId' does not match the passed-in 'coreId'. Thrown when setting a new core version, resetting the latest core version, or during the Mezz Migrator initialization&#x20;

Selector: 0x54144ed4

```solidity
error MezzMigratorImplementationCoreIdMismatch(bytes32 coreId, bytes32 implementationCoreId);
```

### MezzMigratorInvalidVersion

The provided 'version' is either zero or greater than the latest version&#x20;

Selector: 0xad0fc8ec

```solidity
error MezzMigratorInvalidVersion(uint256 version);
```

### MezzMigratorCallerAlreadyProposedVersion

The caller's version is greater than or equal to the new version that they are trying to upgrade to&#x20;

Selector: 0xa1eb9229

```solidity
error MezzMigratorCallerAlreadyProposedVersion();
```

### MezzMigratorVersionMismatch

The provided implementation's version is not equal to the passed in version&#x20;

Selector: 0x3160ebdc

```solidity
error MezzMigratorVersionMismatch(uint256 expectedVersion, uint256 implementationVersion);
```

### MezzMigratorCannotResetWhileImplementationActive

The caller cannot reset to the latest patched version while 'implementation' is active, meaning the protocol state is 'Active' and the implementation is not frozen&#x20;

Selector: 0x43ee0da5

```solidity
error MezzMigratorCannotResetWhileImplementationActive(address implementation);
```

### MezzMigratorLatestVersionZero

The latest version is zero when trying to patch a given implementation&#x20;

Selector: 0x87a8f6c6

```solidity
error MezzMigratorLatestVersionZero();
```

### MezzMigratorImplementationNotSet

The caller attempted to query an implementation or version for a 'coreId' whose implementation has not been set&#x20;

Selector: 0xfdf8145a

```solidity
error MezzMigratorImplementationNotSet(bytes32 coreId);
```

### VestingDurationZero

The passed-in vesting duration is zero&#x20;

Selector: 0x0dd7221d

```solidity
error VestingDurationZero();
```

### VestingInvalidInitialUnlockPercentage

The 'initialUnlockPercentage' is greater than Constants.PRECISION\_FACTOR, which represents 100%&#x20;

Selector: 0x3bf7bcf6

```solidity
error VestingInvalidInitialUnlockPercentage(uint256 initialUnlockPercentage);
```

### VestingCliffGreaterThanDuration

The passed-in vesting 'cliff' is greater than 'duration'&#x20;

Selector: 0x1c5412a1

```solidity
error VestingCliffGreaterThanDuration(uint256 duration, uint256 cliff);
```

### VestingInitialUnlockGreaterThanVestingAmount

The nominal 'initialUnlock' is greater than the 'vestingAmount'&#x20;

Selector: 0xeb373431

```solidity
error VestingInitialUnlockGreaterThanVestingAmount(uint256 vestingAmount, uint256 initialUnlock);
```

### VestingDifferenceBetweenAmountAndUnlockInsufficcient

The difference between the vesting amount and the initial unlock amount msut be greater than 1e10 to prevent potential reversion due to precision loss&#x20;

Selector: 0x4f08e754

```solidity
error VestingDifferenceBetweenAmountAndUnlockInsufficcient(uint256 vestingAmount, uint256 initialUnlock);
```

### VestingStartDateTooFarInFuture

The 'startDate' for the vesting is too far in the future as determined by Constants.MAX\_VESTING\_START\_DATE&#x20;

Selector: 0x03161d8a

```solidity
error VestingStartDateTooFarInFuture(uint256 startDate);
```

### VestingDurationIncreaseOverflow

The sum of the proposed 'durationExtension' and 'currentDuration' exceeds type(uint32).max

&#x20;Selector: 0x8d3d6a4c

```solidity
error VestingDurationIncreaseOverflow(uint256 currentDuration, uint256 durationExtension);
```

### MezzUUPSUpgradeableCallerUnauthorizedUpgrader

The 'caller' attempted to upgrade a proxy of a 'core' implementation to a new implementation. However, the 'caller' is not the Mezz Migrator&#x20;

Selector: 0x81607921

```solidity
error MezzUUPSUpgradeableCallerUnauthorizedUpgrader(address caller);
```

### TeamControlledTeamDoesNotSupportTeamInterface

The 'team' passed in during the team-controlled contract's initialization does not support the Team Interface&#x20;

Selector: 0x2d20894c

```solidity
error TeamControlledTeamDoesNotSupportTeamInterface(address team);
```

### TeamControlledCallerNotTeam

The caller is not the 'team', which acts as the admin of the contract&#x20;

Selector: 0x771ddc97

```solidity
error TeamControlledCallerNotTeam(address caller);
```

### BoardControlledCallerNotBoard

The 'caller' is not the Treasury, whose signers are the board of directors&#x20;

Selector: 0xc052d844

```solidity
error BoardControlledCallerNotBoard(address caller);
```

### BoardControlledCallerNotGovernance

The 'caller' is not the Treasury's governor&#x20;

Selector: 0xbfc0ce9d

```solidity
error BoardControlledCallerNotGovernance(address caller);
```

### AdminControlledCallerNotAdminOrBoard

The 'caller' is not an admin or the Treasury, whose signers are the board of directors&#x20;

Selector: 0xa1ac51e3

```solidity
error AdminControlledCallerNotAdminOrBoard(address caller);
```

### TeamChildToInsertParentMismatch

The parent of the 'childToInsert' does not match the address of the 'team' that it is being inserted into&#x20;

Selector: 0xe07ff662

```solidity
error TeamChildToInsertParentMismatch(address childToInsert, address parentOfChild);
```

### TeamChildToInsertDoesNotSupportDepartmentOrModuleInterface

The 'childToInsert' does not support the Department or Module interface. Checked via ERC165 supportsInterface()&#x20;

Selector: 0x0a0f12cf

```solidity
error TeamChildToInsertDoesNotSupportDepartmentOrModuleInterface(address childToInsert);
```

### TeamChildToInsertEquityFinancingModule

The child to insert is an Equity Financing Module. Checked by querying the 'coreId' of the child&#x20;

Selector: 0x9eed88ed

```solidity
error TeamChildToInsertEquityFinancingModule();
```

### TeamOwnerManagementInvalidSelector

```solidity
error TeamOwnerManagementInvalidSelector(bytes4 action);
```

### TeamInvalidExecTransactionInMultiCall

The 'functionSelector' provided in the multicall does not refert to execTransaction() but another function&#x20;

Selector: 0x3d8cb1c1

```solidity
error TeamInvalidExecTransactionInMultiCall(bytes4 functionSelector);
```

### TeamCallerNotChildOrThis

The caller is not a 'child' of the team or the team, itself&#x20;

Selector: 0xf04214db

```solidity
error TeamCallerNotChildOrThis(address caller);
```

### TeamCallerNotChild

The 'caller' is not a 'child' of the team&#x20;

Selector: 0x1644c4f0

```solidity
error TeamCallerNotChild(address caller);
```

### NotSolvent

The function within the team is only callable while solvent&#x20;

Selector: 0xe081c8f3

```solidity
error NotSolvent();
```

### NotLiquidating

The function within the team is only callable while liquidating&#x20;

Selector: 0xa97f9f86

```solidity
error NotLiquidating();
```

### MezzERC721CallerNotTokenOwner

The 'caller' is not the owner of 'tokenId'&#x20;

Selector: 0x81021dbf

```solidity
error MezzERC721CallerNotTokenOwner(uint256 tokenId, address caller);
```

### VotesDelegatorCallerNotDelegateRegistry

The 'caller' is not the delegate registry&#x20;

Selector: 0x48454317

```solidity
error VotesDelegatorCallerNotDelegateRegistry(address caller);
```

### AncestorLogicCallerNotAncestor

The 'caller' is not an ancestor of the 'team'

&#x20;Selector: 0x3fb3c6b8

```solidity
error AncestorLogicCallerNotAncestor(address caller, address team);
```

### AncestorLogicCallerNotAncestorOrAuthorized

The 'caller' is not the 'team', itself, or an ancestor of the 'team'&#x20;

Selector: 0x7ceae545

```solidity
error AncestorLogicCallerNotAncestorOrAuthorized(address caller, address team);
```

### SafeTxValdiationOwnerManagementDisabled

The following errors are thrown when a team attempts to modify its:

* Owners
* Threshold
* Guard
* Modules Changing these aspects of a team must follow strict logic set in the team, itself. This logic is bespoke and up to the implementation of the team to determine. A team attempted to add, remove, or swap one of its owners, i.e. signers. The 'selector' is the function selector which corresponds to adding, removing, or swapping an owner in a Safe&#x20;

Selector: 0x7d3024de

```solidity
error SafeTxValdiationOwnerManagementDisabled(bytes4 selector);
```

### SafeTxValdiationThresholdManagementDisabled

A team attempted to change is threshold&#x20;

Selector: 0xcdf5a018

```solidity
error SafeTxValdiationThresholdManagementDisabled();
```

### SafeTxValidationGuardManagementDisabled

A team attempted to change its guard&#x20;

Selector: 0xd099c4aa

```solidity
error SafeTxValidationGuardManagementDisabled();
```

### SafeTxValidationModuleManagementDisabled

A team attempted to enable a Safe module&#x20;

Selector: 0x7c52a6bc

```solidity
error SafeTxValidationModuleManagementDisabled();
```

### DepartmentChildToInsertIsAncestor

The 'childToInsert' is an ancestor of the department&#x20;

Selector: 0x7f6155bf

```solidity
error DepartmentChildToInsertIsAncestor(address childToInsert);
```

### GeneralDepartmentInvalidName

The provided department name is longer than 32 characters or null&#x20;

Selector: 0x19c72ab3

```solidity
error GeneralDepartmentInvalidName();
```

### MezzGuardCallerNotController

The 'caller' is not the controller of the Mezz Guard&#x20;

Selector: 0x31f36af0

```solidity
error MezzGuardCallerNotController(address caller);
```

### MezzGuardDelegateCallDisabled

Delegate calls are disabled for all teams&#x20;

Selector: 0x6021a295

```solidity
error MezzGuardDelegateCallDisabled();
```

### BlacklistGuardBlacklistedOperation

The team who uses the blacklist guard attempted to execute a blacklisted operation&#x20;

Selector: 0x737c920a

```solidity
error BlacklistGuardBlacklistedOperation(address to, bytes4 selector);
```

### WhitelistGuardNonWhitelistedOperation

The team who uses whitelist guard attempted to execute a non-whitelisted operation&#x20;

Selector: 0xc278988a

```solidity
error WhitelistGuardNonWhitelistedOperation(address to, bytes4 selector);
```

### TreasuryCallerNotGovernance

The caller is not the governor of the Treasury&#x20;

Selector: 0x016045e1

```solidity
error TreasuryCallerNotGovernance(address caller);
```

### TreasuryAddingAssetReentrancy

'addAssetToCapitalStack' was reentered&#x20;

Selector: 0xdcfc03c8

```solidity
error TreasuryAddingAssetReentrancy();
```

### TreasuryCannotAddCommonShares

An attempt was made to add Common Shares. However, a company can only have a single class of common shares&#x20;

Selector: 0xfe009a20

```solidity
error TreasuryCannotAddCommonShares();
```

### TreasuryMaxShareClassesReached

The addition of a new share class would exceed the maximum number of shares classes&#x20;

Selector: 0x9eae310b

```solidity
error TreasuryMaxShareClassesReached();
```

### TreasuryProposedGovernorChangeInvalid

The Treasury's current governor is the same type as the proposed change. If this attempt was done to upgrade to a new version, upgrades should be completed via the Mezz Migrator&#x20;

Selector: 0x83e563bb

```solidity
error TreasuryProposedGovernorChangeInvalid();
```

### TreasuryCallerNotPayrollManager

The caller is not the Payroll Manager&#x20;

Selector: 0x027fafad

```solidity
error TreasuryCallerNotPayrollManager(address caller);
```

### TreasuryCannotRemoveEquityFinancingModule

The Treasury is unable to remove the Equity Financing Module&#x20;

Selector: 0xe3ca07a5

```solidity
error TreasuryCannotRemoveEquityFinancingModule();
```

### TreasuryPayrollInvalidAsset

The payroll manager attempted to spend an asset that is not the common shares or the denomination asset&#x20;

Selector: 0x2b4ae809

```solidity
error TreasuryPayrollInvalidAsset(address asset);
```

### TreasuryCannotRemoveCommonShares

The board of directors is attempting to remove the common shares from the capital stack&#x20;

Selector: 0xe64cf198

```solidity
error TreasuryCannotRemoveCommonShares();
```

### TreasurySharesToRemoveNotRemovable

The 'removable()' of 'sharesToRemove' returned false, meaning the total supply is greater than zero&#x20;

Selector: 0xe64cf198

```solidity
error TreasurySharesToRemoveNotRemovable(address sharesToRemove);
```

### MezzSharesInsufficientAuthorizedSharesForIssuance

The 'sharesToIssue' exceeds the number of authorized shares&#x20;

Selector: 0xc3b42604

```solidity
error MezzSharesInsufficientAuthorizedSharesForIssuance(uint256 authorizedShares, uint256 sharesToIssue);
```

### MezzSharesInsufficientBalanceForBurn

The 'sharesToBurn' exceeds the 'callerBalance'&#x20;

Selector: 0x0cddc40a

```solidity
error MezzSharesInsufficientBalanceForBurn(uint256 callerBalance, uint256 sharesToBurn);
```

### MezzSharesNewAuthorizedSharesExceedsMaxSupply

The authorized shares exceeds \_maxSupply, which is overridden to return type(uint192).max

Selector: 0x69352a66

```solidity
error MezzSharesNewAuthorizedSharesExceedsMaxSupply();
```

### MezzSharesVotingWeightExceedsMax

The 'votingWeight' to initialize the shares exceds the max&#x20;

Selector: 0x97e67d47

```solidity
error MezzSharesVotingWeightExceedsMax(uint256 votingWeight);
```

### MezzSharesMisinputDuringIssuance

The duration is non-zero during the issuance of shares but at least one of the other arguments for vesting is non-null&#x20;

Selector: 0x12e5c2dd

```solidity
error MezzSharesMisinputDuringIssuance();
```

### MezzSharesDelegateDisabled

The caller attempted to delegate via the Mezz Shares rather than the delegate registry&#x20;

Selector: 0x61cb0201

```solidity
error MezzSharesDelegateDisabled();
```

### CommonSharesInvalidInitialAuthorizedShares

The initial authorized shares was below the minimum of 1e18 or above the maximum of 1\_000\_000\_000\_000e18&#x20;

Selector: 0xcc6ffc47

```solidity
error CommonSharesInvalidInitialAuthorizedShares(uint256 initialAuthorizedShares);
```

### PreferredSharesInvalidLiquidationPreference

The passed-in liquidation preference value to set during the Preferred Shares initialization exceeds the maximum

Selector: 0x97712678

```solidity
error PreferredSharesInvalidLiquidationPreference(uint256 liquidationPreference, uint256 maxLiquidationPreference);
```

### CapitalStackMaxSeniorityLevelsReached

The maximum number of seniority levels has been reached&#x20;

Selector: 0x42da71f8

```solidity
error CapitalStackMaxSeniorityLevelsReached();
```

### CapitalStackMaxAssetsForSeniorityLevelReached

The max number of assets for the seniority level with 'seniorityLevelIndex' has been reached&#x20;

Selector: 0xbb3513f6

```solidity
error CapitalStackMaxAssetsForSeniorityLevelReached(uint256 seniorityLevelIndex);
```

### CapitalStackProposedAssetClassIsInvalidForSeniorityLevelInsertion

The proposed 'assetClass' of the seniority level to insert is invalid&#x20;

Selector: 0x3851e38e

```solidity
error CapitalStackProposedAssetClassIsInvalidForSeniorityLevelInsertion(uint8 assetClass);
```

### CapitalStackInvalidPreviousSeniorityLevelIndexForInsertion

The 'previousSeniorityLevelIndex' has a null asset class and does not equal zero. This indicates that an an insertion was attempted to be made at a non-existent seniority level&#x20;

Selector: 0x9a9048a1

```solidity
error CapitalStackInvalidPreviousSeniorityLevelIndexForInsertion(uint256 previousSeniorityLevelIndex);
```

### CapitalStackPreviousAssetClassIsSeniorToProposedAssetClass

The 'previousSeniorityLevelAssetClass' is senior to the 'proposedAssetClass', violating the rules regarding the ordering of the capital stack&#x20;

Selector: 0xe9724aee

```solidity
error CapitalStackPreviousAssetClassIsSeniorToProposedAssetClass(
    uint8 previousSeniorityLevelAssetClass, uint8 proposedAssetClass
);
```

### CapitalStackNextAssetClassIsJuniorToProposedAssetClass

The 'previousNextSeniorityLevelAssetClass', which is the asset class of the next seniority level, is junior to the 'proposedAssetClass', violating the rules regarding the ordering of the capital stack&#x20;

Selector: 0x120f4a9e

```solidity
error CapitalStackNextAssetClassIsJuniorToProposedAssetClass(
    uint8 previousNextSeniorityLevelAssetClass, uint8 proposedAssetClass
);
```

### CapitalStackInvalidSeniorityLevel

The seniority level with 'seniorityLevelIndex' does not exist&#x20;

Selector: 0x20ae3881

```solidity
error CapitalStackInvalidSeniorityLevel(uint256 seniorityLevelIndex);
```

### CapitalStackCannotRemoveSeniorityLevelWithAssets

The seniority level with 'seniorityLevelIndexToRemove' still has assets in it, making it unremovable&#x20;

Selector: 0xc6e766ba

```solidity
error CapitalStackCannotRemoveSeniorityLevelWithAssets(uint256 seniorityLevelIndexToRemove);
```

### CapitalStackAssetToAddAlreadyInStack

The 'assetToAdd' is already in the capital stack

Selector: 0xe928901b

```solidity
error CapitalStackAssetToAddAlreadyInStack(address assetToAdd);
```

### CapitalStackAssetToInsertDoesNotSupportAssetInterface

The 'assetToAdd' does not support the IAsset interface&#x20;

Selector: 0xc8026364

```solidity
error CapitalStackAssetToInsertDoesNotSupportAssetInterface(address assetToAdd);
```

### CapitalStackAssetSeniorityLevelClassMismatch

The asset to add differs in its class from the asset class of the seniority level that it is trying to be inserted into&#x20;

Selector: 0x131227b0

```solidity
error CapitalStackAssetSeniorityLevelClassMismatch(uint8 assetClassOfAsset, uint8 assetClassOfSeniorityLevel);
```

### CapitalStackTreasuryAddingAssetHookFalse

The treasury is attempting to add an asset, but the Treasury's 'isAddingAsset' hook returned false&#x20;

Selector: 0x77cd8e11

```solidity
error CapitalStackTreasuryAddingAssetHookFalse();
```

### CapitalStackTreasuryRemovingAssetHookFalse

The treasury is attempting to remove an asset, but the Treasury's 'isRemovingAsset' hook returned false

Selector: 0xbf03703f

```solidity
error CapitalStackTreasuryRemovingAssetHookFalse();
```

### CapitalStackAssetNotInStack

'asset' is not in the capital stack. Thrown when attempting to remove an asset from the capital stack or updating an asset's document&#x20;

Selector: 0xcb83406f

```solidity
error CapitalStackAssetNotInStack(address asset);
```

### CapitalStackCannotRemoveCommonShares

The initial common shares of a company cannot be removed&#x20;

Selector: 0x0bea455e

```solidity
error CapitalStackCannotRemoveCommonShares();
```

### CapitalStackAssetNotRemovable

The 'removable()' condition built into 'asset' returned false, making it unremovable&#x20;

Selector: 0x6bdc2b25

```solidity
error CapitalStackAssetNotRemovable(address asset);
```

### TokenTimelockTokenIsObligatory

An admin or the board of directors attempted to cancel a vesting schedule that is obligatory&#x20;

Selector: 0xdd6f12e2

```solidity
error TokenTimelockTokenIsObligatory(uint256 tokenId);
```

### TokenTimelockNoReleaseableAmountForToken

An attempt was made to release an amount of vested tokens when there is no releasable amount&#x20;

Selector: 0x40e45f70

```solidity
error TokenTimelockNoReleaseableAmountForToken(uint256 tokenId);
```

### TokenTimelockCallerNotTokenOwnerOrAdmin

The caller is not the owner of the token nor an admin&#x20;

Selector: 0x805cccbf

```solidity
error TokenTimelockCallerNotTokenOwnerOrAdmin(address caller);
```

### TokenTimelockInvalidTimepointForCancel

A user tried to cancel vesting with an invalid 'timepoint'. 'timepoint' is after the vesting end date or in the past&#x20;

Selector: 0xc7fa0aae

```solidity
error TokenTimelockInvalidTimepointForCancel(uint256 timepoint);
```

### TokenTimelockVotesFutureLookup

The 'timepoint' when trying to query past votes is in the present or future&#x20;

Selector: 0xfba51db7

```solidity
error TokenTimelockVotesFutureLookup(uint256 timepoint, uint256 currentTimepoint);
```

### PayrollManagerStartDateInPastOrTooSoon

The 'startDate' when hiring an employee is in the past or too soon&#x20;

Selector: 0x68f559f6

```solidity
error PayrollManagerStartDateInPastOrTooSoon(uint256 startDate);
```

### PayrollManagerStartDateTooFarInFuture

The 'startDate' when hiring an employee is too far into the future&#x20;

Selector: 0x3391a3c8

```solidity
error PayrollManagerStartDateTooFarInFuture(uint256 startDate);
```

### PayrollManagerInvalidParamsLength

The 'paramsLength' is not equal to the expected length&#x20;

Selector: 0x3c1e54aa

```solidity
error PayrollManagerInvalidParamsLength(uint256 paramsLength, uint256 expectedLength);
```

### PayrollManagerNonExistentEquityPayments

'payrollTokenId' does not have a corresponding 'tokenTimelockTokenId' that exists This is either due to the completion of the previous equity vesting or a lack of a vesting schedule&#x20;

Selector: 0x58169333

```solidity
error PayrollManagerNonExistentEquityPayments(uint256 payrollTokenId, uint256 tokenTimelockTokenId);
```

### PayrollManagerInvalidResignationEndDate

The 'endDate' provided by the resigning employee is either in the past or too far in the future&#x20;

Selector: 0xe417ad1d

```solidity
error PayrollManagerInvalidResignationEndDate(uint256 endDate);
```

### PayrollManagerInvalidUnpaidTimeOff

The passed-in 'timeOff' to increase by is invalid. It is either zero or exceeds the maximum&#x20;

Selector: 0xded6374e

```solidity
error PayrollManagerInvalidUnpaidTimeOff(uint256 timeOff);
```

### PayrollManagerNoCollectibleCash

There is no collectible cash for 'tokenId'&#x20;

Selector: 0x00b9d8fa

```solidity
error PayrollManagerNoCollectibleCash(uint256 tokenId);
```

### PayrollManagerNoCollectableEquity

There is no collectible equity for 'tokenId'&#x20;

Selector: 0xba62285c

```solidity
error PayrollManagerNoCollectibleEquity(uint256 tokenId);
```

### PayrollManagerActionAlreadyPending

The proposed action with 'actionId' is already pending&#x20;

Selector: 0xf04013b8

```solidity
error PayrollManagerActionAlreadyPending(bytes32 actionId);
```

### PayrollManagerInvalidAction

The proposed 'action' does not correspond to a valid action. The 'action' is a function selector that does not match the ones that require an action to be proposed in the Payroll Manager&#x20;

Selector: 0x0f84a91a

```solidity
error PayrollManagerInvalidAction(bytes4 action);
```

### PayrollManagerActionNotPending

The pending action with 'actionId' to cancel was executed or does not exist&#x20;

Selector: 0xc0bbb966

```solidity
error PayrollManagerActionNotPending(bytes32 actionId);
```

### PayrollManagerCallerNotAuthorizedToCancel

The 'caller' is not authorized to cancel the pending action. The caller must be the board of directors, an admin, the 'owner' of the Mezz Hub, or a 'defender'

```solidity
error PayrollManagerCallerNotAuthorizedToCancel(address caller);
```

### PayrollManagerInvalidEquityExtension

The proposed equity extension has an equity and a duration extension of zero&#x20;

Selector: 0x3fce7621

```solidity
error PayrollManagerInvalidEquityExtension();
```

### PayrollManagerEquityPaymentsAlreadyExist

'tokenId' already has equity payments corresponding to the 'tokenTimelockTokenId'&#x20;

Selector: 0x5332635d

```solidity
error PayrollManagerEquityPaymentsAlreadyExist(uint256 tokenId, uint256 tokenTimelockTokenId);
```

### PayrollManagerActionNotReady

The pending action with 'actionId' is not ready to be executed&#x20;

Selector: 0xfca49f9b

```solidity
error PayrollManagerActionNotReady(bytes32 actionId, uint256 snapshot);
```

### PayrollManagerNotEmployee

The provided 'tokenId' does not correspond to an active employee&#x20;

Selector: 0x48a42e6b

```solidity
error PayrollManagerNotEmployee(uint256 tokenId);
```

### PayrollManagerCashSalaryAboveMaximum

The proposed 'cashSalary' is above the maximum&#x20;

Selector: 0xb4862033

```solidity
error PayrollManagerCashSalaryAboveMaximum(uint256 cashSalary);
```

### PayrollManagerNewCashSalarySameAsCurrent

The 'newCashSalary' is the same as the current cash salary&#x20;

Selector: 0x9924bb05

```solidity
error PayrollManagerNewCashSalarySameAsCurrent();
```

### PayrollManagerCashPaymentAboveMaximum

The 'cashPayment' is above the maximum&#x20;

Selector: 0x48033d83

```solidity
error PayrollManagerCashPaymentAboveMaximum(uint256 cashPayment);
```

### PayrollManagerInsufficientTreasurySharesBalance

The 'equityToTransfer' exceeds the treasury's balance of common shares. Thrown when hiring an employee, extending equity payments, setting new equity payments, or making a direct equity payment&#x20;

Selector: 0x50f401e2

```solidity
error PayrollManagerInsufficientTreasurySharesBalance(uint256 equityToTransfer, uint256 treasuryBalance);
```

### PayrollManagerInsufficientTreasuryCashBalance

The 'cashToTransfer' exceeds the treasury's balance of cash. Thrown only when paying a cash directly to an employee. If there is insufficcient cash during the collection of an employee's salary, their 'cashOwed' will be udpated such that they are able to redeem cash in the future&#x20;

Selector: 0xdd1f58be

```solidity
error PayrollManagerInsufficientTreasuryCashBalance(address cashAsset, uint256 cashToTransfer, uint256 treasuryBalance);
```

### PayrollManagerVestingEndDateGreaterThanEmployeeEndDate

The proposed new vesting schedule has an end date greater than the employee's end date&#x20;

Selector: 0x0b316f70

```solidity
error PayrollManagerVestingEndDateGreaterThanEmployeeEndDate(uint256 vestingEndDate, uint256 endDate);
```

### PayrollManagerInvalidEncodedDirectPaymentDetails

The direct payment details did not indicate that the payment was a 'Bonus' and/or a 'ContractorPayment'&#x20;

Selector: 0x11bd820a

```solidity
error PayrollManagerInvalidEncodedDirectPaymentDetails(bytes32 encodedPaymentDetails);
```

### PayrollManagerERC721BurnDisabled

Payroll Manager ERC721s cannot be burned&#x20;

Selector: 0x8ed8f671

```solidity
error PayrollManagerERC721BurnDisabled();
```

### PayrollManagerERC721Soulbound

Payroll Manager ERC721s are soulbound and cannot be transferred or approved for transfers&#x20;

Selector: 0x9a88eaad

```solidity
error PayrollManagerERC721Soulbound();
```

### PayrollManagerCannotReceiveERC721WhileNotTransacting

An account tried to 'safeTransfer' an ERC721 to the payroll manager while it was not transacting&#x20;

Selector: 0xa9398378

```solidity
error PayrollManagerCannotReceiveERC721WhileNotTransacting();
```

### MezzGovernorCallerNotGovernance

The 'caller' is not the governor contract, itself&#x20;

Selector: 0x05c401ea

```solidity
error MezzGovernorCallerNotGovernance(address caller);
```

### GovernorThresholdZero

The following errors are thrown both by the Share Class and Late Stage Governor and are not part of a a base class. Both governors throw the same errors to improve off-chain composability as well as to reduce redundancy The calculated proposal threshold is zero from precision loss or a total votes of zero&#x20;

Selector: 0x0b52725f

```solidity
error GovernorThresholdZero();
```

### GovernorQuorumZero

The calculated quorum is zero from precision loss or a total votes of zero&#x20;

Selector: 0x0c84d9ac

```solidity
error GovernorQuorumZero();
```

### GovernorSuperMajorityZero

The super majority is zero from precision loss or a total votes of zero&#x20;

Selector: 0x6066539f

```solidity
error GovernorSuperMajorityZero();
```

### GovernorCallerInvalidCanceler

The 'caller' is not the proposer or the 'owner' of the Mezz Hub&#x20;

Selector: 0xf50a2c1c

```solidity
error GovernorCallerInvalidCanceler(address caller);
```

### ProposalGovernorInvalidProposalThresholdPercentage

The 'newProposalThresholdPercentage' to set is greater than the max threshold percentage or less than the minimum threshold percentage&#x20;

Selector: 0xa6aaa345

```solidity
error ProposalGovernorInvalidProposalThresholdPercentage(uint256 newProposalThresholdPercentage);
```

### ProposalGovernorInvalidQuorumPercentage

The 'newQuorumPercentage' to set is greater than the max quorum percentage or less than the minimum quorum percentage&#x20;

Selector: 0x790521cb

```solidity
error ProposalGovernorInvalidQuorumPercentage(uint256 newQuorumPercentage);
```

### ProposalGovernorInvalidVotingDelay

The 'newVotingDelay' to set is greater than the max delay or less than the minimum delay&#x20;

Selector: 0x84378e36

```solidity
error ProposalGovernorInvalidVotingDelay(uint256 newVotingDelay);
```

### ProposalGovernorInvalidVotingPeriod

The 'newVotingPeriod' to set is greater than the max period or less than the minimum period&#x20;

Selector: 0x88bc198a

```solidity
error ProposalGovernorInvalidVotingPeriod(uint256 newVotingPeriod);
```

### ProposalGovernorInvalidVoteType

An invalid vote type was passed in&#x20;

Selector: 0x05703834

```solidity
error ProposalGovernorInvalidVoteType(uint8 support);
```

### ProposalGovernorAlreadyCastVote

The account has already voted on the proposal&#x20;

Selector: 0xc1e97f61

```solidity
error ProposalGovernorAlreadyCastVote(address account);
```

### StartupGovernorDeadlinePassed

The 'deadline' has passed for the proposed transaction&#x20;

Selector: 0xfab68f04

```solidity
error StartupGovernorDeadlinePassed(uint256 deadline);
```

### StartupGovernorInsufficcientBalance

The startup governor has the blockchain native currency balance of less than 'value' Selector: 0xe7df6f6b

```solidity
error StartupGovernorInsufficcientBalance(uint256 value);
```

### ShareClassGovernorBoardMemberAlreadySet

A proposal is attempting to add a board member that is already a board member&#x20;

Selector: 0x9612c52e

```solidity
error ShareClassGovernorBoardMemberAlreadySet(address ownerToAdd);
```

### ShareClassGovernorOwnerNotAddedByShareClass

A proposal for the a shareclass is attempting to remove a board member that was not added by the share class&#x20;

Selector: 0xb6693aa5

```solidity
error ShareClassGovernorOwnerNotAddedByShareClass(address ownerToRemove, address shareClass);
```

### ShareClassGovernorNoBoardSeatsAvailableForShareClass

There are no available board seats for the given share class&#x20;

Selector: 0x2d007190

```solidity
error ShareClassGovernorNoBoardSeatsAvailableForShareClass(address shareClass);
```

### ShareClassGovernorMaxPreferredBoardSeatsReached

The new allocated board seats from an increase is greater than the maximum for preferred shares&#x20;

Selector: 0x21af2cc0

```solidity
error ShareClassGovernorMaxPreferredBoardSeatsReached(uint256 newAllocatedBoardSeats);
```

### ShareClassGovernorInvalidAction

The provided action of a proposal does not correspond to managing owners in a treasury&#x20;

Selector: 0xf1133f15

```solidity
error ShareClassGovernorInvalidAction(bytes4 action);
```

### ShareClassGovernorInsufficcientProposerVotes

The proposer has less votes than the proposal threshold&#x20;

Selector: 0x00750c26

```solidity
error ShareClassGovernorInsufficcientProposerVotes(address proposer, uint256 proposerVotes, uint256 votesThreshold);
```

### ShareClassGovernorOwnerManagementDisabled

The board attempted to manage its signers via the Share Class Governor's executeTx()&#x20;

Selector: 0xa6c0564f

```solidity
error ShareClassGovernorOwnerManagementDisabled();
```

### ShareClassGovernorInvalidNewTreasuryThreshold

The 'newTreasuryThreshold' is greater than the number of signers or is zero&#x20;

Selector: 0x8788b74f

```solidity
error ShareClassGovernorInvalidNewTreasuryThreshold(uint256 newTreasuryThreshold);
```

### PricedRoundAllocationExceedsRemainingShares

The investor allocation to set or the increase to the investor allocation exceeds the 'remainingShares'&#x20;

Selector: 0x3ec91170

```solidity
error PricedRoundAllocationExceedsRemainingShares(uint256 remainingShares);
```

### PricedRoundDecreaseGreaterThanInvestorAllocation

The 'decreaseAmount' is larger than the 'sharesAllocation' of an investor&#x20;

Selector: 0x8e6d8f4e

```solidity
error PricedRoundDecreaseGreaterThanInvestorAllocation(uint256 decreaseAmount, uint256 sharesAllocation);
```

### PricedRoundNumberOfSharesMismatch

An investor's 'expectedNumberOfShares' does not equal their 'allocatedNumberOfShares' when investing in the round. Functions as frontrunning protection&#x20;

Selector: 0x15c069b1

```solidity
error PricedRoundNumberOfSharesMismatch(uint256 expectedNumberOfShares, uint256 allocatedNumberOfShares);
```

### PricedRoundDiscountOrPremiumMismatch

An investor's 'expectedDiscountOrPremium' does not equal their 'allocatedDiscountOrPremium' when investing in the round Functions as frontrunning protection&#x20;

Selector: 0xd3bfc752

```solidity
error PricedRoundDiscountOrPremiumMismatch(int256 expectedDiscountOrPremium, int256 allocatedDiscountOrPremium);
```

### PricedRoundInvestmentExceedsRemainingSharesForRound

The allotted shares following the investment would exceed the total shares for the round&#x20;

Selector: 0xcda9d7d9

```solidity
error PricedRoundInvestmentExceedsRemainingSharesForRound(uint256 allocationShares, uint256 remainingShares);
```

### PricedRoundInvestmentExceedsRemainingDenomAssetForRound

The 'investmentAmount' exceeds the 'remainingDenominationAsset' for the round&#x20;

Selector: 0x90f90b7a

```solidity
error PricedRoundInvestmentExceedsRemainingDenomAssetForRound(
    uint256 investmentAmount, uint256 remainingDenominationAsset
);
```

### PricedRoundUnexpectedRoundState

The round state is invalid for a given action&#x20;

Selector: 0x4ea2935c

```solidity
error PricedRoundUnexpectedRoundState(uint8 state);
```

### PricedRoundInvalidRaiseAmounts

The 'minimumRaise' is greater than the 'targetRaise'&#x20;

Selector: 0xef90e3cd

```solidity
error PricedRoundInvalidRaiseAmounts(uint256 minimumRaise, uint256 targetRaise);
```

### PricedRoundInvalidDiscount

The discount is larger than Constants.PRECISION\_FACTOR&#x20;

Selector: 0x07fffa63

```solidity
error PricedRoundInvalidDiscount(uint256 discount);
```

### PricedRoundInvalidPremium

The premium is larger than Constants.MAX\_PREMIUM

&#x20;Selector: 0xef9bd2a9

```solidity
error PricedRoundInvalidPremium(uint256 premium);
```

### PricedRoundCallerAllocationBelowMinimum

The 'caller' has an 'allocation' below the minimum, as defined by Constants.MIN\_INVESTOR\_ALLOCATION Thrown to prevent future precision loss&#x20;

Selector: 0xbdae0077

```solidity
error PricedRoundCallerAllocationBelowMinimum(address caller, uint256 allocation);
```

### PricedRoundInvestorNoInvestment

The 'investor' did not invest any tokens. Thrown when reversing an investment, whether that be recouping or revoking an investment&#x20;

Selector: 0xed42eb34

```solidity
error PricedRoundInvestorNoInvestment(address investor);
```

### PricedRoundInvestorNoShares

The 'investor' has no shares to claim

&#x20;Selector: 0xf0c98b72

```solidity
error PricedRoundInvestorNoShares(address investor);
```

### PricedRoundInsufficientRaise

'totalRaised' is not greater than the minimum raise&#x20;

Selector: 0x41efbf4a

```solidity
error PricedRoundInsufficientRaise();
```

### EquityFinancingModuleTeamNotDepartmentOrTreasury

The 'team' used for initialization does not support either the Treasury or Department interface&#x20;

Selector: 0x18cd71f6

```solidity
error EquityFinancingModuleTeamNotDepartmentOrTreasury(address team);
```

### EquityFinancingModuleCurrentPricedRoundUnexpectedState

An ancestor attempted to open a priced round, but the state of the current priced round is open or filled 'state' is defined by the DataTypes.RoundState enum:

* 0: Open
* 1: Closed
* 2: Filled
* 3: Cancelled&#x20;

Selector: 0x0c61feb2

```solidity
error EquityFinancingModuleCurrentPricedRoundUnexpectedState(uint8 state);
```
