# MockOffchainAggregator v0.2.5 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.2.5/mock-offchain-aggregator

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Integrate Chainlink Local into your project**
>
> ### npm
>
> If you use [NPM](https://www.npmjs.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> npm install @chainlink/local@0.2.5
> ```
>
> ### yarn
>
> If you use [Yarn](https://yarnpkg.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> yarn add @chainlink/local@0.2.5
> ```
>
> ### foundry
>
> If you use [Foundry](https://book.getfoundry.sh/):
>
> ```shell
> forge install smartcontractkit/chainlink-local@v0.2.5
> ```
>
> and then set remappings to: `@chainlink/local/=lib/chainlink-local/` in either `remappings.txt` or `foundry.toml` file
>
> ### RemixIDE
>
> Import the `CCIPLocalSimulator` contract from the `@chainlink/local` package:
>
> ```solidity
> import {CCIPLocalSimulator} from "@chainlink/local@0.2.5/src/ccip/CCIPLocalSimulator.sol";
> ```

## MockOffchainAggregator

Mock implementation of off-chain aggregator.

[MockOffchainAggregator](https://github.com/smartcontractkit/chainlink-local/blob/v0.2.5/src/data-feeds/MockOffchainAggregator.sol)

## Variables

### decimals

```solidity
uint8 decimals
```

The number of decimals used by the aggregator.

### getAnswer

```solidity
mapping(uint256 => int256) getAnswer
```

Mapping to get the answer for a specific round ID.

### getTimestamp

```solidity
mapping(uint256 => uint256) getTimestamp
```

Mapping to get the timestamp for a specific round ID.

### latestAnswer

```solidity
int256 latestAnswer
```

The latest answer reported by the aggregator.

### latestRound

```solidity
uint256 latestRound
```

The latest round ID.

### latestTimestamp

```solidity
uint256 latestTimestamp
```

The timestamp of the latest answer.

### maxAnswer

```solidity
int192 maxAnswer
```

The maximum answer the aggregator is allowed to report.

### minAnswer

```solidity
int192 minAnswer
```

The minimum answer the aggregator is allowed to report.

## Functions

### constructor

```solidity
constructor(uint8 _decimals, int256 _initialAnswer) public
```

Constructor to initialize the MockOffchainAggregator contract with initial
parameters.

#### Parameters

| Name            | Type   | Description                                            |
| --------------- | ------ | ------------------------------------------------------ |
| \_decimals      | uint8  | - The number of decimals for the aggregator.           |
| \_initialAnswer | int256 | - The initial answer to be set in the mock aggregator. |

### getRoundData

```solidity
function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
```

Gets the round data for a specific round ID.

#### Parameters

| Name      | Type   | Description                         |
| --------- | ------ | ----------------------------------- |
| \_roundId | uint80 | - The round ID to get the data for. |

#### Returns

| Name            | Type    | Description                                      |
| --------------- | ------- | ------------------------------------------------ |
| roundId         | uint80  | - The round ID.                                  |
| answer          | int256  | - The answer for the round.                      |
| startedAt       | uint256 | - The timestamp when the round started.          |
| updatedAt       | uint256 | - The timestamp when the round was updated.      |
| answeredInRound | uint80  | - The round ID in which the answer was computed. |

### latestRoundData

```solidity
function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
```

Gets the latest round data.

#### Returns

| Name            | Type    | Description                                             |
| --------------- | ------- | ------------------------------------------------------- |
| roundId         | uint80  | - The latest round ID.                                  |
| answer          | int256  | - The latest answer.                                    |
| startedAt       | uint256 | - The timestamp when the latest round started.          |
| updatedAt       | uint256 | - The timestamp when the latest round was updated.      |
| answeredInRound | uint80  | - The round ID in which the latest answer was computed. |

### updateAnswer

```solidity
function updateAnswer(int256 _answer) public
```

Updates the answer in the mock aggregator.

#### Parameters

| Name     | Type   | Description                 |
| -------- | ------ | --------------------------- |
| \_answer | int256 | - The new answer to be set. |

### updateMinAndMaxAnswers

```solidity
function updateMinAndMaxAnswers(int192 _minAnswer, int192 _maxAnswer) external
```

Updates the minimum and maximum answers the aggregator can report.

#### Parameters

| Name        | Type   | Description               |
| ----------- | ------ | ------------------------- |
| \_minAnswer | int192 | - The new minimum answer. |
| \_maxAnswer | int192 | - The new maximum answer. |

### updateRoundData

```solidity
function updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt) public
```

Updates the round data in the mock aggregator.

#### Parameters

| Name        | Type    | Description                             |
| ----------- | ------- | --------------------------------------- |
| \_roundId   | uint80  | - The round ID to be updated.           |
| \_answer    | int256  | - The new answer to be set.             |
| \_timestamp | uint256 | - The timestamp to be set.              |
| \_startedAt | uint256 | - The timestamp when the round started. |