# MockVerifierProxy v0.3.0 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.3.0/mock-verifier-proxy

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

## MockVerifierProxy

Mock Data Streams verifier proxy.

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

## Variables

### s\_feeManager

```solidity
IVerifierFeeManager public s_feeManager
```

### s\_verifier

```solidity
address internal s_verifier
```

## Errors

### FeeManagerNotExpected

```solidity
error FeeManagerNotExpected(string message);
```

### FeeManagerRequired

```solidity
error FeeManagerRequired(string message);
```

### VerifierInvalid

```solidity
error VerifierInvalid();
```

### VerifierNotFound

```solidity
error VerifierNotFound();
```

### ZeroAddress

```solidity
error ZeroAddress();
```

## Events

### VerifierInitialized

```solidity
event VerifierInitialized(address indexed verifierAddress);
```

## Functions

### \_validateBillingMechanism

Validates billing mechanism configuration and provides helpful error messages

This validation helps developers catch billing mechanism mismatches early in
development

```solidity
function _validateBillingMechanism(address feeManagerAddress, bytes calldata parameterPayload) internal pure;
```

**Parameters**

| Name                | Type      | Description                                                   |
| ------------------- | --------- | ------------------------------------------------------------- |
| `feeManagerAddress` | `address` | Current fee manager address (address(0) if off-chain billing) |
| `parameterPayload`  | `bytes`   | The parameter payload from the consumer contract              |

### \_verify

```solidity
function _verify(bytes calldata payload) internal returns (bytes memory);
```

### getVerifier

```solidity
function getVerifier(
    bytes32 /*configDigest*/
)
    external
    view
    returns (address);
```

### initializeVerifier

```solidity
function initializeVerifier(address verifierAddress) external onlyOwner onlyValidVerifier(verifierAddress);
```

### setFeeManager

```solidity
function setFeeManager(IVerifierFeeManager feeManager) external;
```

### verify

```solidity
function verify(bytes calldata payload, bytes calldata parameterPayload) external payable returns (bytes memory);
```

### verifyBulk

```solidity
function verifyBulk(bytes[] calldata payloads, bytes calldata parameterPayload)
    external
    payable
    returns (bytes[] memory verifiedReports);
```