> For the complete documentation index, see [llms.txt](https://developers.term.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.term.finance/periphery-contracts/curated-vaults/solidity-api-latest/termvaulteventemitter.sol-termvaulteventemitter.md).

# TermVaultEventEmitter.sol#TermVaultEventEmitter

[Git Source](https://github.com/term-finance/yearn-v3-term-vault/blob/fdab68ac51eb0929f23686f72922fed45a3d7d1d/src/TermVaultEventEmitter.sol)

**Inherits:** Initializable, UUPSUpgradeable, AccessControlUpgradeable, [ITermVaultEvents](https://github.com/term-finance/term-finance-developer-docs/blob/main/src/interfaces/term/ITermVaultEvents.sol/interface.ITermVaultEvents.md)

## State Variables

### ADMIN\_ROLE

```solidity
bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
```

### DEVOPS\_ROLE

```solidity
bytes32 public constant DEVOPS_ROLE = keccak256("DEVOPS_ROLE");
```

### VAULT\_CONTRACT

```solidity
bytes32 public constant VAULT_CONTRACT = keccak256("VAULT_CONTRACT");
```

## Functions

### constructor

```solidity
constructor();
```

### initialize

Initializes the contract

*See: <https://docs.openzeppelin.com/contracts/4.x/upgradeable>*

```solidity
function initialize(address adminWallet_, address devopsWallet_) external initializer;
```

### pairVaultContract

```solidity
function pairVaultContract(address vaultContract) external onlyRole(ADMIN_ROLE);
```

### emitTermControllerUpdated

```solidity
function emitTermControllerUpdated(address oldController, address newController) external onlyRole(VAULT_CONTRACT);
```

### emitTimeToMaturityThresholdUpdated

```solidity
function emitTimeToMaturityThresholdUpdated(uint256 oldThreshold, uint256 newThreshold)
    external
    onlyRole(VAULT_CONTRACT);
```

### emitRequiredReserveRatioUpdated

```solidity
function emitRequiredReserveRatioUpdated(uint256 oldThreshold, uint256 newThreshold)
    external
    onlyRole(VAULT_CONTRACT);
```

### emitDiscountRateMarkupUpdated

```solidity
function emitDiscountRateMarkupUpdated(uint256 oldMarkup, uint256 newMarkup) external onlyRole(VAULT_CONTRACT);
```

### emitMinCollateralRatioUpdated

```solidity
function emitMinCollateralRatioUpdated(address collateral, uint256 minCollateralRatio)
    external
    onlyRole(VAULT_CONTRACT);
```

### emitRepoTokenConcentrationLimitUpdated

```solidity
function emitRepoTokenConcentrationLimitUpdated(uint256 oldLimit, uint256 newLimit) external onlyRole(VAULT_CONTRACT);
```

### emitDepositPaused

```solidity
function emitDepositPaused() external onlyRole(VAULT_CONTRACT);
```

### emitDepositUnpaused

```solidity
function emitDepositUnpaused() external onlyRole(VAULT_CONTRACT);
```

### emitDiscountRateAdapterUpdated

```solidity
function emitDiscountRateAdapterUpdated(address oldAdapter, address newAdapter) external onlyRole(VAULT_CONTRACT);
```

### emitRepoTokenBlacklistUpdated

```solidity
function emitRepoTokenBlacklistUpdated(address repoToken, bool blacklisted) external onlyRole(VAULT_CONTRACT);
```

### emitNewGovernor

```solidity
function emitNewGovernor(address newGovernor) external onlyRole(VAULT_CONTRACT);
```

### \_authorizeUpgrade

*required override by the OpenZeppelin UUPS module*

```solidity
function _authorizeUpgrade(address) internal view override onlyRole(DEVOPS_ROLE);
```
