# Governable

[Git Source](https://github.com/isle-labs/isle-contract/blob/main/contracts/abstracts/Governable.sol)

**Inherits:** [IGovernable](/contract-documentation/interfaces/igovernable.md)

See the documentation in {IGovernable}.

## State Variables

### governor

The address of the governor account or contract.

```solidity
address public override governor;
```

### pendingGovernor

The address of the pending governor account or contract.

```solidity
address public override pendingGovernor;
```

### \_\_\_\_\_\_gap

```solidity
uint256[50] private ______gap;
```

## Functions

### onlyGovernor

Reverts if called by any account other than the governor.

```solidity
modifier onlyGovernor() virtual;
```

### nominateGovernor

Configure the pendingGovernor to newGovnernor parameter.

```solidity
function nominateGovernor(address newGovernor_) external virtual override onlyGovernor;
```

**Parameters**

| Name           | Type      | Description       |
| -------------- | --------- | ----------------- |
| `newGovernor_` | `address` | The new governor. |

### acceptGovernor

The pending governor should accept and become the governor.

*Only the pendingGovernor can trigger this function.*

```solidity
function acceptGovernor() external virtual override;
```

### cancelPendingGovenor

Cancel the nominated pending governor.

*Only the governor can trigger this function*

```solidity
function cancelPendingGovenor() external virtual override onlyGovernor;
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.isle.finance/contract-documentation/abstracts/governable.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
