# API Reference

## Chainlink CCIP

Here is the list of all Chainlink Local contracts and their methods relevant to Chainlink CCIP.

## CCIPLocalSimulator.sol

{% content-ref url="../guides/cciplocalsimulator.sol-usage-with-foundry-hardhat-and-remix-ide" %}
[cciplocalsimulator.sol-usage-with-foundry-hardhat-and-remix-ide](../guides/cciplocalsimulator.sol-usage-with-foundry-hardhat-and-remix-ide)
{% endcontent-ref %}

### **API methods**

* [`configuration()`](#cciplocalsimulator-.configuration)
* [`requestLinkFromFaucet()`](#cciplocalsimulator-.requestlinkfromfaucet)
* [`getSupportedTokens()`](#cciplocalsimulator-.getsupportedtokens)
* [`isChainSupported()`](#cciplocalsimulator-.ischainsupported)
* [`supportNewToken()`](#cciplocalsimulator-.supportnewtoken)

***

## CCIPLocalSimulatorFork.sol

{% content-ref url="../guides/cciplocalsimulatorfork.sol-usage-with-foundry" %}
[cciplocalsimulatorfork.sol-usage-with-foundry](../guides/cciplocalsimulatorfork.sol-usage-with-foundry)
{% endcontent-ref %}

### **API methods**

* [`switchChainAndRouteMessage()`](#cciplocalsimulatorfork-.switchchainandroutemessage)
* [`requestLinkFromFaucet()`](#cciplocalsimulatorfork-.requestlinkfromfaucet)
* [`getNetworkDetails()`](#cciplocalsimulatorfork-.getnetworkdetails)
* [`setNetworkDetails()`](#cciplocalsimulatorfork-.setnetworkdetails)

***

## CCIPLocalSimulatorFork.js

{% content-ref url="../guides/cciplocalsimulatorfork.js-usage-with-hardhat" %}
[cciplocalsimulatorfork.js-usage-with-hardhat](../guides/cciplocalsimulatorfork.js-usage-with-hardhat)
{% endcontent-ref %}

### **API methods**

* [`requestLinkFromTheFaucet()`](#cciplocalsimulatorfork-.requestlinkfromthefaucet)
* [`getEvm2EvmMessage()`](#cciplocalsimulatorfork-.getevm2evmmessage)
* [`routeMessage()`](#cciplocalsimulatorfork-.routemessage)

***

## Data feeds

Here is the list of all Chainlink Local contracts and their methods relevant to Chainlink CCIP.

## MockV3Aggregator.sol

### API Methods

* [`decimals()`](#mockv3aggregator-.decimals)
* [`description()`](#mockv3aggregator-.description)
* [`version()`](#mockv3aggregator-.version)
* [`getRoundData(uint80 _roundId)`](#mockv3aggregator-.getrounddata-uint80-_roundid)
* [`latestRoundData()`](#mockv3aggregator-.latestrounddata)
* [`updateAnswer(int256 _answer)`](#mockv3aggregator-.updateanswer-int256-_answer)
* [`updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt)`](#mockv3aggregator-.updaterounddata-uint80-_roundid-int256-_answer-uint256-_timestamp-uint256-_started)
* [`aggregator()`](#mockv3aggregator-.aggregator)
* [`proposedAggregator()`](#mockv3aggregator-.proposedaggregator)
* [`proposeAggregator(AggregatorV2V3Interface _aggregator)`](#mockv3aggregator-.proposeaggregator-aggregatorv2v3interface-_aggregator)
* [`confirmAggregator(address _aggregator)`](#mockv3aggregator-.confirmaggregator-address-_aggregator)
* [`latestAnswer()`](#mockv3aggregator-.latestanswer-deprecated) :warning: Deprecated
* [`latestTimestamp()`](#mockv3aggregator-.latesttimestamp-deprecated) :warning: Deprecated
* [`latestRound()`](#mockv3aggregator-.latestround-deprecated) :warning: Deprecated
* [`getAnswer(uint256 roundId)`](#mockv3aggregator-.getanswer-uint256-roundid-deprecated) :warning: Deprecated
* [`getTimestamp(uint256 roundId)`](#mockv3aggregator-.gettimestamp-uint256-roundid-deprecated) :warning: Deprecated

## MockOffchainAggregator.sol

### API Methods

* [`minAnswer()`](#mockoffchainaggregator-.minanswer)
* [`maxAnswer()`](#mockoffchainaggregator-.maxanswer)
* [`updateMinAndMaxAnswers(int192 _minAnswer, int192 _maxAnswer)`](#mockoffchainaggregator-.updateminandmaxanswers-int192-_minanswer-int192-_maxanswer)
