# Maintainers Registry

## Code

`MaintainersRegistry.sol`

## Address

`MaintainersRegistry` is deployed at [`0x8B7819135Fe97aBFDc0c88596509c00FA727eaDc`](https://etherscan.io/address/0x8B7819135Fe97aBFDc0c88596509c00FA727eaDc) on the Ethereum mainnet.

## Overview

Registry of `maintainers`. `Maintainer` is an account that has permissions to call functions that ordinary users cannot call.

## Events

### MembershipChanged

```solidity
event MaintainerStatusChanged(address maintainer, bool isMember);
```

* Emitted each time when someone is added or removed from members list.

## Read-Only Functions

### hordCongress

```solidity
function hordCongress() external view returns (address);
```

* Returns the address of the HordCongress contract.&#x20;

### allMaintainers

```solidity
function allMaintainers(uint256 maintainerId) external view returns (address);
```

* Returns the address of specific `maintainerId`.

### isMaintainer

```solidity
function isMaintainer(address _address) external view returns (bool);
```

* Returns true/false depending on whether the `_address` is a maintainer or not.

## State-Changing Functions

### addMaintainer

```solidity
function addMaintainer(address _address) public;
```

* Function that serves for adding maintainer, callable only by HordCongress.
* Emits a `MaintainerStatusChanged` event.

### removeMaintainer

```solidity
function removeMaintainer(address _maintainer) external;
```

* Function that serves for removing maintainer, callable only by HordCongress.
* Emits a `MaintainerStatusChanged` event.
