# MockV3Aggregator v0.2.4 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.2.4/mock-v3-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.4
> ```
>
> ### 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.4
> ```
>
> ### foundry
>
> If you use [Foundry](https://book.getfoundry.sh/):
>
> ```shell
> forge install smartcontractkit/chainlink-local@v0.2.4
> ```
>
> 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.4/src/ccip/CCIPLocalSimulator.sol";
> ```

## MockV3Aggregator

Mock implementation of V3 aggregator.

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

## Variables

### aggregator

```solidity
address aggregator
```

The address of the current aggregator.

### proposedAggregator

```solidity
address proposedAggregator
```

The address of the proposed aggregator.

### version

```solidity
uint256 version
```

The version of the aggregator.

## Functions

### confirmAggregator

```solidity
function confirmAggregator(address _aggregator) external
```

Confirms the proposed aggregator.

#### Parameters

| Name         | Type    | Description                               |
| ------------ | ------- | ----------------------------------------- |
| \_aggregator | address | - The address of the proposed aggregator. |

### constructor

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

Constructor to initialize the MockV3Aggregator 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. |

### decimals

```solidity
function decimals() external view returns (uint8)
```

Gets the number of decimals used by the aggregator.

#### Returns

| Name | Type  | Description                     |
| ---- | ----- | ------------------------------- |
| \[0] | uint8 | uint8 - The number of decimals. |

### description

```solidity
function description() external pure returns (string)
```

Gets the description of the aggregator.

#### Returns

| Name | Type   | Description                                        |
| ---- | ------ | -------------------------------------------------- |
| \[0] | string | string memory - The description of the aggregator. |

### getAnswer

```solidity
function getAnswer(uint256 roundId) external view returns (int256)
```

Gets the answer for a specific round ID.

#### Parameters

| Name    | Type    | Description                           |
| ------- | ------- | ------------------------------------- |
| roundId | uint256 | - The round ID to get the answer for. |

#### Returns

| Name | Type   | Description                                 |
| ---- | ------ | ------------------------------------------- |
| \[0] | int256 | int256 - The answer for the given round ID. |

### 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.

*This function should raise "No data present" if no data is available for the
given 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. |

### getTimestamp

```solidity
function getTimestamp(uint256 roundId) external view returns (uint256)
```

Gets the timestamp for a specific round ID.

#### Parameters

| Name    | Type    | Description                              |
| ------- | ------- | ---------------------------------------- |
| roundId | uint256 | - The round ID to get the timestamp for. |

#### Returns

| Name | Type    | Description                                     |
| ---- | ------- | ----------------------------------------------- |
| \[0] | uint256 | uint256 - The timestamp for the given round ID. |

### latestAnswer

```solidity
function latestAnswer() external view returns (int256)
```

Gets the latest answer from the aggregator.

#### Returns

| Name | Type   | Description                 |
| ---- | ------ | --------------------------- |
| \[0] | int256 | int256 - The latest answer. |

### latestRound

```solidity
function latestRound() external view returns (uint256)
```

Gets the latest round ID from the aggregator.

#### Returns

| Name | Type    | Description                    |
| ---- | ------- | ------------------------------ |
| \[0] | uint256 | uint256 - The latest round ID. |

### latestRoundData

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

Gets the latest round data.

*This function should raise "No data present" if no data is available.*

#### 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. |

### latestTimestamp

```solidity
function latestTimestamp() external view returns (uint256)
```

Gets the timestamp of the latest answer from the aggregator.

#### Returns

| Name | Type    | Description                                   |
| ---- | ------- | --------------------------------------------- |
| \[0] | uint256 | uint256 - The timestamp of the latest answer. |

### proposeAggregator

```solidity
function proposeAggregator(contract AggregatorV2V3Interface _aggregator) external
```

Proposes a new aggregator.

#### Parameters

| Name         | Type                             | Description                               |
| ------------ | -------------------------------- | ----------------------------------------- |
| \_aggregator | contract AggregatorV2V3Interface | - The address of the proposed aggregator. |

### 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. |

### 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. |