# DataStreamsLocalSimulatorFork v0.2.5 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.2.5/data-streams-local-simulator-fork

> 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";
> ```

## DataStreamsLocalSimulatorFork

Data Streams simulator for forked networks.

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

## Variables

### i\_register

```solidity
contract Register i_register
```

The immutable register instance

### LINK\_FAUCET

```solidity
address LINK_FAUCET
```

The address of the LINK faucet

## Functions

### constructor

```solidity
constructor() public
```

Constructor to initialize the contract

### getNetworkDetails

```solidity
function getNetworkDetails(uint256 chainId) external view returns (struct Register.NetworkDetails)
```

Returns the default values for currently Data Streams supported networks. If
network is not present or some of the values are changed, user can manually add
new network details using the `setNetworkDetails` function.

#### Parameters

| Name    | Type    | Description                                                                   |
| ------- | ------- | ----------------------------------------------------------------------------- |
| chainId | uint256 | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia. |

#### Returns

| Name | Type                           | Description                                                                                                                                                  |
| ---- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| \[0] | struct Register.NetworkDetails | networkDetails - The tuple containing: verifierProxyAddress - The address of the Verifier Proxy smart contract. linkAddress - The address of the LINK token. |

### requestLinkFromFaucet

```solidity
function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success)
```

Requests LINK tokens from the faucet. The provided amount of tokens are
transferred to provided destination address.

#### Parameters

| Name   | Type    | Description                                        |
| ------ | ------- | -------------------------------------------------- |
| to     | address | - The address to which LINK tokens are to be sent. |
| amount | uint256 | - The amount of LINK tokens to send.               |

#### Returns

| Name    | Type | Description                                                                   |
| ------- | ---- | ----------------------------------------------------------------------------- |
| success | bool | - Returns `true` if the transfer of tokens was successful, otherwise `false`. |

### requestNativeFromFaucet

```solidity
function requestNativeFromFaucet(address to, uint256 amount) external
```

Requests native coints from the faucet.

#### Parameters

| Name   | Type    | Description                                         |
| ------ | ------- | --------------------------------------------------- |
| to     | address | - The address to which native coins are to be sent. |
| amount | uint256 | - The amount of native coins to send.               |

### setNetworkDetails

```solidity
function setNetworkDetails(uint256 chainId, struct Register.NetworkDetails networkDetails) external
```

If network details are not present or some of the values are changed, user can
manually add new network details using the `setNetworkDetails` function.

#### Parameters

| Name           | Type                           | Description                                                                                                                                   |
| -------------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| chainId        | uint256                        | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia.                                                                 |
| networkDetails | struct Register.NetworkDetails | - The tuple containing: verifierProxyAddress - The address of the Verifier Proxy smart contract. linkAddress - The address of the LINK token. |