# Events

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

**Author:** Daniel Yamagata & Naveen Ailawadi

A library for all events emitted throughout the Mezzanine protocol

## Events

### UpgradeProposed

```solidity
event UpgradeProposed(address newImplementation, uint256 pendingUpgradeSnapshot);
```

### UpgradeCanceled

```solidity
event UpgradeCanceled(address caller);
```

### OwnershipTransferCanceled

```solidity
event OwnershipTransferCanceled(address caller);
```

### ProtocolStateSet

```solidity
event ProtocolStateSet(DataTypes.ProtocolState state);
```

### ProtocolFrozen

```solidity
event ProtocolFrozen(address indexed freezer, uint256 freezeDuration, uint256 frozenSnapshot);
```

### ImplementationFrozenStateSet

```solidity
event ImplementationFrozenStateSet(address indexed implementation, bool frozen);
```

### DeploymentFrozenStateSet

```solidity
event DeploymentFrozenStateSet(address indexed freezer, address indexed deployment, bool frozen);
```

### DocumentRegistrySet

```solidity
event DocumentRegistrySet(address newDocumentRegistry);
```

### MezzDeployerSet

```solidity
event MezzDeployerSet(address newMezzDeployer);
```

### FeeControllerSet

```solidity
event FeeControllerSet(address newFeeController);
```

### DenominationAssetAddedToWhitelist

```solidity
event DenominationAssetAddedToWhitelist(address denominationAsset);
```

### DenominationAssetRemovedFromWhitelist

```solidity
event DenominationAssetRemovedFromWhitelist(address denominationAsset);
```

### DefenderAdded

```solidity
event DefenderAdded(address defender);
```

### DefenderRemoved

```solidity
event DefenderRemoved(address defender);
```

### MezzInstanceDeployed

```solidity
event MezzInstanceDeployed(
    address indexed creator,
    bytes32 indexed companyId,
    DataTypes.MezzInstance mezzInstance,
    address[] initialOwners,
    string name,
    string symbol
);
```

### GuardDeployed

```solidity
event GuardDeployed(
    address indexed creator, address indexed controlled, address indexed controller, bytes32 coreId, address newGuard
);
```

### DepartmentDeployed

```solidity
event DepartmentDeployed(address indexed creator, bytes32 coreId, address deployedDepartment);
```

### ModuleDeployed

```solidity
event ModuleDeployed(address indexed creator, bytes32 coreId, address deployedDepartment);
```

### AssetDeployed

```solidity
event AssetDeployed(address indexed creator, bytes32 coreId, address deployedAsset);
```

### GovernorDeployed

```solidity
event GovernorDeployed(address indexed creator, bytes32 coreId, address deployedGovernor);
```

### GuardSelectorDefaultAdded

```solidity
event GuardSelectorDefaultAdded(
    bytes32 indexed coreId, address indexed contractAddress, bytes4 indexed functionSelector
);
```

### GuardSelectorDefaultRemoved

```solidity
event GuardSelectorDefaultRemoved(
    bytes32 indexed coreId, address indexed contractAddress, bytes4 indexed functionSelector
);
```

### GuardContractDefaultAdded

```solidity
event GuardContractDefaultAdded(bytes32 indexed coreId, address indexed contractAddress);
```

### GuardContractDefaultRemoved

```solidity
event GuardContractDefaultRemoved(bytes32 indexed coreId, address indexed contractAddress);
```

### NewCoreVersionSet

```solidity
event NewCoreVersionSet(bytes32 indexed coreId, uint256 indexed version, address newImplementation);
```

### ContractUpgraded

```solidity
event ContractUpgraded(
    address indexed caller, bytes32 indexed coreId, uint256 indexed newVersion, address newImplementation
);
```

### CoreVersionDeleted

```solidity
event CoreVersionDeleted(bytes32 indexed coreId, uint256 indexed version, address implementation);
```

### CoreVersionReset

```solidity
event CoreVersionReset(bytes32 indexed coreId, uint256 indexed latestVersion, address priorImplementation);
```

### ContractResetToPatchedVersion

```solidity
event ContractResetToPatchedVersion(
    address indexed caller, bytes32 indexed coreId, uint256 indexed newVersion, address newImplementation
);
```

### DocumentAdded

```solidity
event DocumentAdded(
    address indexed documentOwner, uint256 indexed documentIndex, string indexed documentName, string documentUri
);
```

### DocumentUpdated

```solidity
event DocumentUpdated(
    address indexed documentOwner,
    uint256 indexed documentIndex,
    string indexed updatedDocumentName,
    string updatedDocumentUri,
    uint256 version
);
```

### ImplementationFeeSet

```solidity
event ImplementationFeeSet(address indexed implementationAddress, uint256 newFee);
```

### FeesCollected

```solidity
event FeesCollected(address indexed asset, address indexed hubOwner, uint256 collectionAmount);
```

### InvoiceSent

```solidity
event InvoiceSent(
    address indexed seller,
    address indexed billableParty,
    bytes32 indexed categoryId,
    bytes32 invoiceId,
    address denominationAsset,
    uint256 amount,
    uint256 dueDate,
    string description
);
```

### InvoicePaid

```solidity
event InvoicePaid(
    address indexed seller,
    address indexed billableParty,
    bytes32 indexed categoryId,
    bytes32 invoiceId,
    address payer,
    address denominationAsset,
    uint256 amountPaid,
    uint256 invoiceAmount
);
```

### InvoiceCanceled

```solidity
event InvoiceCanceled(
    address indexed seller,
    address indexed billableParty,
    bytes32 indexed categoryId,
    bytes32 invoiceId,
    address denominationAsset,
    uint256 amount,
    uint256 dueDate,
    uint256 documentIndex
);
```

### InvoiceDocumentUpdated

```solidity
event InvoiceDocumentUpdated(bytes32 indexed invoiceId, uint256 invoiceDocumentIndex, uint256 newDocumentVersion);
```

### AdminAdded

```solidity
event AdminAdded(address admin);
```

### AdminRemoved

```solidity
event AdminRemoved(address admin);
```

### ChildInserted

```solidity
event ChildInserted(address indexed child);
```

### ChildRemoved

```solidity
event ChildRemoved(address indexed child);
```

### AncestorAddedOwner

```solidity
event AncestorAddedOwner(address indexed ancestor, address indexed newOwner);
```

### AncestorRemovedOwner

```solidity
event AncestorRemovedOwner(address indexed ancestor, address indexed removedOwner);
```

### AncestorSwappedGuard

```solidity
event AncestorSwappedGuard(address indexed ancestor, bytes32 newGuardCoreId, address newGuard);
```

### AncestorChangedThreshold

```solidity
event AncestorChangedThreshold(address indexed ancestor, uint256 newThreshold);
```

### Spent

```solidity
event Spent(address indexed asset, uint256 amount, uint256 amountReceived);
```

### SharesIssued

```solidity
event SharesIssued(address indexed to, uint256 value);
```

### SharesAuthorized

```solidity
event SharesAuthorized(uint256 amount);
```

### SharesBurned

```solidity
event SharesBurned(address indexed from, uint256 amount);
```

### DelegateVotesChanged

```solidity
event DelegateVotesChanged(address indexed delegate, uint256 previousVotes, uint256 newVotes);
```

### AssetAddedToCapitalStack

```solidity
event AssetAddedToCapitalStack(address indexed asset, uint256 senioirtyLevelIndex, uint256 assetDocumentIndex);
```

### AssetRemovedFromCapitalStack

```solidity
event AssetRemovedFromCapitalStack(address indexed asset);
```

### ShareClassAdded

```solidity
event ShareClassAdded(address indexed shares);
```

### ShareClassRemoved

```solidity
event ShareClassRemoved(address indexed shares);
```

### GovernorChanged

```solidity
event GovernorChanged(bytes32 indexed governorCoreId, address newGovernor);
```

### PayrollSpent

```solidity
event PayrollSpent(address indexed asset, uint256 amount, uint256 amountPaid);
```

### ChildSpent

```solidity
event ChildSpent(address indexed asset, uint256 amount, uint256 fee);
```

### SharesVested

```solidity
event SharesVested(address indexed owner, address indexed shares, uint256 indexed tokenId, uint256 amountVested);
```

### SharesVestingCompleted

```solidity
event SharesVestingCompleted(
    address indexed owner, address indexed shares, uint256 indexed tokenId, uint256 totalAmountReleased
);
```

### SharesVestingCanceledAtTimepoint

```solidity
event SharesVestingCanceledAtTimepoint(
    address indexed owner,
    address indexed shares,
    uint256 indexed tokenId,
    address cancelor,
    uint256 amountCanceled,
    uint256 timepoint
);
```

### SharesVestingCanceled

```solidity
event SharesVestingCanceled(
    address indexed owner, address indexed shares, uint256 indexed tokenId, address cancelor, uint256 amountCanceled
);
```

### SharesVestingDurationExtended

```solidity
event SharesVestingDurationExtended(address indexed owner, uint256 indexed tokenId, uint256 durationExtension);
```

### SharesVestingAmountIncreased

```solidity
event SharesVestingAmountIncreased(
    address indexed owner, address indexed shares, uint256 indexed tokenId, address sender, uint256 equityExtension
);
```

### SharesReleased

```solidity
event SharesReleased(address indexed owner, address indexed shares, uint256 indexed tokenId, uint256 amountReleased);
```

### DelegateVotesChanged

```solidity
event DelegateVotesChanged(address indexed delegate, address shares, uint256 previousVotes, uint256 newVotes);
```

### SeniorityLevelAdded

```solidity
event SeniorityLevelAdded(
    uint256 indexed seniorityLevelIndex,
    uint8 indexed assetClass,
    uint256 previousSeniorityLevelIndex,
    uint256 nextSeniorityLevelIndex
);
```

### SeniorityLevelRemoved

```solidity
event SeniorityLevelRemoved(
    uint256 indexed seniorityLevelIndex,
    uint8 indexed assetClass,
    uint256 previousSeniorityLevelIndex,
    uint256 nextSeniorityLevelIndex
);
```

### AssetAdded

```solidity
event AssetAdded(uint256 indexed seniorityLevelIndex, address indexed asset, uint256 documentIndex);
```

### AssetRemoved

```solidity
event AssetRemoved(uint256 indexed seniorityLevelIndex, address indexed asset, uint256 documentIndex);
```

### AssetDocumentUpdated

```solidity
event AssetDocumentUpdated(address indexed asset, uint256 indexed documentIndex, uint256 newDocumentVersion);
```

### DelegateChanged

```solidity
event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
```

### EmployeeHired

```solidity
event EmployeeHired(
    address indexed employee,
    uint256 indexed tokenId,
    address indexed hirer,
    uint256 startDate,
    uint256 annualCash,
    uint256 equityAmount,
    uint256 vestingDuration
);
```

### CashPaid

```solidity
event CashPaid(
    address indexed employee,
    uint256 indexed tokenId,
    address indexed recipient,
    address executor,
    address cashAsset,
    uint256 cashToTransfer,
    uint256 cashPaid,
    bytes32 encodedPaymentDetails
);
```

### EquityPaid

```solidity
event EquityPaid(
    address indexed employee,
    uint256 indexed tokenId,
    address indexed recipient,
    address executor,
    uint256 equityToTransfer,
    bytes32 encodedPaymentDetails
);
```

### EmployeeTerminated

```solidity
event EmployeeTerminated(address indexed employee, uint256 tokenId);
```

### UnpaidTimeOffIncreased

```solidity
event UnpaidTimeOffIncreased(address indexed employee, uint256 indexed tokenId, uint256 unpaidTimeOff);
```

### EmployeeResigned

```solidity
event EmployeeResigned(address indexed employee, uint256 tokenId, uint256 endDate);
```

### EmployeeRecipientChanged

```solidity
event EmployeeRecipientChanged(address indexed employee, uint256 indexed tokenId, address newRecipient);
```

### ActionProposed

```solidity
event ActionProposed(bytes32 indexed actionId, address indexed proposer);
```

### CashSalaryChangeProposed

```solidity
event CashSalaryChangeProposed(bytes32 indexed actionId, uint256 indexed tokenId, uint256 newCashSalary);
```

### CashPaymentProposed

```solidity
event CashPaymentProposed(
    bytes32 indexed actionId, uint256 indexed tokenId, uint256 cashPaymentAmount, bytes32 encodedPaymentDetails
);
```

### EquityPaymentProposed

```solidity
event EquityPaymentProposed(
    bytes32 indexed actionId, uint256 indexed tokenId, uint256 equityPaymentAmount, bytes32 encodedPaymentDetails
);
```

### EquityPaymentsExtensionProposed

```solidity
event EquityPaymentsExtensionProposed(
    bytes32 indexed actionId, uint256 indexed tokenId, uint256 equityExtension, uint256 durationExtension
);
```

### NewEquityPaymentsProposed

```solidity
event NewEquityPaymentsProposed(
    bytes32 indexed actionId,
    uint256 indexed tokenId,
    uint256 equityAmount,
    uint256 startDate,
    uint256 vestingDuration,
    uint256 vestingCliff,
    uint256 vestingInitialUnlock
);
```

### PendingActionCanceled

```solidity
event PendingActionCanceled(bytes32 indexed actionId, address indexed canceler);
```

### CashSalaryChanged

```solidity
event CashSalaryChanged(
    address indexed employee, uint256 indexed tokenId, bytes32 indexed actionId, uint256 newCashSalary
);
```

### ExtendedEquityPayments

```solidity
event ExtendedEquityPayments(
    address indexed employee,
    uint256 indexed tokenId,
    bytes32 indexed actionId,
    uint256 equityExtension,
    uint256 durationExtension
);
```

### NewEquityPaymentsSet

```solidity
event NewEquityPaymentsSet(
    address indexed employee,
    uint256 indexed tokenId,
    bytes32 indexed actionId,
    uint256 equityAmount,
    uint256 startDate,
    uint256 vestingDuration,
    uint256 vestingCliff,
    uint256 vestingInitialUnlock
);
```

### EmployeeDocumentUpdated

```solidity
event EmployeeDocumentUpdated(
    address indexed employee, uint256 indexed tokenId, uint256 documentIndex, uint256 newDocumentVersion
);
```

### VotingDelaySet

```solidity
event VotingDelaySet(uint256 newVotingDelay);
```

### VotingPeriodSet

```solidity
event VotingPeriodSet(uint256 newVotingPeriod);
```

### ProposalThresholdPercentageSet

```solidity
event ProposalThresholdPercentageSet(uint256 newProposalThresholdPercentage);
```

### QuorumPercentageSet

```solidity
event QuorumPercentageSet(uint256 newQuorumPercentage);
```

### ProposalCanceled

```solidity
event ProposalCanceled(uint256 proposalId, address canceler);
```

### ProposalExecuted

```solidity
event ProposalExecuted(uint256 proposalId, address executor);
```

### VoteCast

```solidity
event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason);
```

### VoteCastWithParams

```solidity
event VoteCastWithParams(
    address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason, bytes params
);
```

### Executed

```solidity
event Executed(
    address indexed target, bytes4 indexed functionSelector, address indexed executor, uint256 value, bytes data
);
```

### ProposalCreated

```solidity
event ProposalCreated(
    address indexed proposer,
    address indexed shareClass,
    uint256 proposalId,
    bytes4 action,
    uint256 voteStart,
    uint256 voteEnd,
    string description
);
```

### GovernorChangedTreasuryThreshold

```solidity
event GovernorChangedTreasuryThreshold(uint256 newTreasuryThreshold, uint256 oldThreshold);
```

### ShareClassBoardSeatsIncreased

```solidity
event ShareClassBoardSeatsIncreased(address indexed shareClass, uint256 newBoardSeats, uint256 increaseAmount);
```

### ShareClassBoardMemberAdded

```solidity
event ShareClassBoardMemberAdded(address indexed shareClass, address indexed boardMember);
```

### ShareClassBoardMemberRemoved

```solidity
event ShareClassBoardMemberRemoved(address indexed shareClass, address indexed boardMember);
```

### SelectorAddedToList

```solidity
event SelectorAddedToList(address indexed contractAddress, bytes4 indexed selector);
```

### SelectorRemovedFromList

```solidity
event SelectorRemovedFromList(address indexed contractAddress, bytes4 indexed selector);
```

### ContractAddedToList

```solidity
event ContractAddedToList(address indexed contractAddress);
```

### ContractRemovedFromList

```solidity
event ContractRemovedFromList(address indexed contractAddress);
```

### PricedRoundOpened

```solidity
event PricedRoundOpened(
    uint256 indexed newPricedRoundIndex,
    address pricedRoundAddress,
    uint256 totalSharesForRound,
    uint256 pricePerShare,
    uint256 targetRaise,
    uint256 minimumRaise
);
```

### InvestorAllocationSet

```solidity
event InvestorAllocationSet(address indexed investor, uint128 numberOfShares, int128 discountOrPremium);
```

### InvestorShareAllocationIncreased

```solidity
event InvestorShareAllocationIncreased(address indexed investor, uint128 amount, uint128 newShareAllocation);
```

### InvestorShareAllocationDecreased

```solidity
event InvestorShareAllocationDecreased(address indexed investor, uint128 amount, uint128 newShareAllocation);
```

### RoundOpened

```solidity
event RoundOpened(
    address owner,
    address treasury,
    address denominationAsset,
    address shares,
    uint128 minimumRaise,
    uint128 targetRaise
);
```

### MinimumRaiseIncreased

```solidity
event MinimumRaiseIncreased(uint128 minimumRaiseExtension, uint128 newMinimumRaise);
```

### RoundExtended

```solidity
event RoundExtended(
    uint128 targetRaiseExtension, uint128 totalSharesExtension, uint128 newTargetRaise, uint128 newTotalSharesForRound
);
```

### RoundCanceled

```solidity
event RoundCanceled(uint128 totalRaised, uint128 minimumRaise, uint128 targetRaise, uint128 totalSharesForRound);
```

### RoundClosed

```solidity
event RoundClosed(uint256 totalRaised, uint128 allottedShares);
```

### InvestedInRound

```solidity
event InvestedInRound(address indexed investor, uint128 investmentAmount, uint128 sharesOwed);
```

### InvestmentRevoked

```solidity
event InvestmentRevoked(address indexed investor, uint128 investmentAmount, uint128 sharesOwed);
```

### InvestmentRecouped

```solidity
event InvestmentRecouped(address indexed investor, uint128 investmentAmount, uint128 sharesOwed);
```

### SharesClaimed

```solidity
event SharesClaimed(address indexed investor, uint128 sharesClaimed, uint256 tokenTimelockTokenId);
```
