# MockReportGenerator v0.2.7 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.2.7/mock-report-generator

> 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.7
> ```
>
> ### 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.7
> ```
>
> ### foundry
>
> If you use [Foundry](https://book.getfoundry.sh/):
>
> ```shell
> forge install smartcontractkit/chainlink-local@v0.2.7
> ```
>
> 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.7/src/ccip/CCIPLocalSimulator.sol";
> ```

## MockReportGenerator

Signed report generator for every report schema.

[MockReportGenerator](https://github.com/smartcontractkit/chainlink-local/blob/v0.2.7/src/data-streams/MockReportGenerator.sol)

## Variables

### i\_donAddress

```solidity
address i_donAddress
```

### i\_donDigest

```solidity
uint256 i_donDigest
```

### i\_reportV2MockFeedId

```solidity
bytes32 i_reportV2MockFeedId
```

### i\_reportV3MockFeedId

```solidity
bytes32 i_reportV3MockFeedId
```

### i\_reportV4MockFeedId

```solidity
bytes32 i_reportV4MockFeedId
```

### s\_ask

```solidity
int192 s_ask
```

### s\_bid

```solidity
int192 s_bid
```

### s\_expiresPeriod

```solidity
uint32 s_expiresPeriod
```

### s\_linkFee

```solidity
uint192 s_linkFee
```

### s\_marketStatus

```solidity
uint32 s_marketStatus
```

### s\_nativeFee

```solidity
uint192 s_nativeFee
```

### s\_price

```solidity
int192 s_price
```

## Errors

### MockReportGenerator\_\_CastOverflow

```solidity
error MockReportGenerator__CastOverflow()
```

### MockReportGenerator\_\_InvalidAsk

```solidity
error MockReportGenerator__InvalidAsk()
```

### MockReportGenerator\_\_InvalidBid

```solidity
error MockReportGenerator__InvalidBid()
```

## Functions

### constructor

```solidity
constructor(int192 initialPrice) public
```

### generateReport

```solidity
function generateReport(struct ReportVersions.ReportV2 report) external returns (bytes signedReport)
```

### generateReport

```solidity
function generateReport(struct ReportVersions.ReportV3 report) external returns (bytes signedReport)
```

### generateReport

```solidity
function generateReport(struct ReportVersions.ReportV4 report) external returns (bytes signedReport)
```

### generateReportV2

```solidity
function generateReportV2() external returns (bytes signedReport, struct ReportVersions.ReportV2 report)
```

### generateReportV3

```solidity
function generateReportV3() external returns (bytes signedReport, struct ReportVersions.ReportV3 report)
```

### generateReportV4

```solidity
function generateReportV4() external returns (bytes signedReport, struct ReportVersions.ReportV4 report)
```

### getMockDonAddress

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

### updateExpiresPeriod

```solidity
function updateExpiresPeriod(uint32 period) external
```

### updateFees

```solidity
function updateFees(uint192 nativeFee, uint192 linkFee) external
```

### updateMarketStatus

```solidity
function updateMarketStatus(uint32 status) external
```

### updatePrice

```solidity
function updatePrice(int192 price) public
```

### updatePriceBidAndAsk

```solidity
function updatePriceBidAndAsk(int192 price, int192 bid, int192 ask) external
```