# Pausable

View Source: [openzeppelin-solidity/contracts/lifecycle/Pausable.sol](https://github.com/money-on-chain/main-RBTC-contract/blob/master-gitbook/openzeppelin-solidity/contracts/lifecycle/Pausable.sol)

**↗ Extends:** [**PauserRole**](https://github.com/money-on-chain/main-RBTC-contract/blob/master-gitbook/docs/abis/PauserRole.md) **↘ Derived Contracts:** [**ERC20Pausable**](https://github.com/money-on-chain/main-RBTC-contract/blob/master-gitbook/docs/abis/ERC20Pausable.md)

**Pausable** - version: 0.1.12

Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account.

* This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.

## Contract Members

**Constants & Variables**

```js
bool private _paused;
```

***

## Paused

Emitted when the pause is triggered by a pauser (`account`).

**Parameters**

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| account | address |             |

## Unpaused

Emitted when the pause is lifted by a pauser (`account`).

**Parameters**

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| account | address |             |

## Modifiers

* [whenNotPaused](#whennotpaused)
* [whenPaused](#whenpaused)

### whenNotPaused

Modifier to make a function callable only when the contract is not paused.

```js
modifier whenNotPaused() internal
```

**Arguments**

### whenPaused

Modifier to make a function callable only when the contract is paused.

```js
modifier whenPaused() internal
```

**Arguments**

## Functions

* [()](#pausablesol)
* [paused()](#paused)
* [pause()](#pause)
* [unpause()](#unpause)

###

Initializes the contract in unpaused state. Assigns the Pauser role to the deployer.

```js
function () internal nonpayable
```

**Arguments**

### paused

Returns true if the contract is paused, and false otherwise.

```js
function paused() public view
returns(bool)
```

**Arguments**

### pause

Called by a pauser to pause, triggers stopped state.

```js
function pause() public nonpayable onlyPauser whenNotPaused 
```

**Arguments**

### unpause

Called by a pauser to unpause, returns to normal state.

```js
function unpause() public nonpayable onlyPauser whenPaused 
```

**Arguments**


---

# 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.moneyonchain.com/main-rbtc-contract/smart-contracts/abis-documentation/pausable.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.
