> For the complete documentation index, see [llms.txt](https://dev.spectra.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.spectra.finance/technical-reference/contract-functions/governanceregistry.md).

# GovernanceRegistry

## Overview

The `GovernanceRegistry` keeps a record of miscellaneous data used by Spectra's governance contracts.

## GovernanceRegistry Methods

### votingRewardsFactory

Returns the address of `VotingRewardsFactory`.

```solidity
function votingRewardsFactory() external view returns (address)
```

### poolsData

Returns the pool data.

```solidity
function poolsData(uint160 _poolId) external view returns (address, uint256, bool)
```

<table><thead><tr><th width="246.33333333333331">Return Parameter</th><th width="188">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>_pool</code></td><td>address</td><td>The pool address.</td></tr><tr><td><code>_chainId</code></td><td>uint256</td><td>The chainId of the network on which the pool is deployed.</td></tr><tr><td><code>_isRegistered</code></td><td>bool</td><td>True if the pool is registered, false otherwise.</td></tr></tbody></table>

### getPoolId

Returns the pool ID for the given pool.

{% hint style="info" %}
`poolId = uint160(poolAddress)` $$\oplus$$ `uint160(chainId)`
{% endhint %}

```solidity
function getPoolId(address _pool, uint256 _chainId) external view returns (uint160)
```

### isPoolRegistered

Returns wether the given pool is registered for deployment of voting rewards.

```solidity
function isPoolRegistered(uint160 _poolId) external view returns (bool)
```

```solidity
function isPoolRegistered(address _pool, uint256 _chainId) external view returns (bool)
```
