# IKyberReserve

{% hint style="warning" %}
You are referring to the **`Legacy`** version of KyberSwap docs.

For the most updated information, please refer to:

* [**`Classic`**](https://github.com/KyberNetwork/kyberswap-documentation/blob/main/reference/legacy/api-abi/core-smart-contracts/broken-reference/README.md)
* [**`Elastic`**](https://docs.kyberswap.com/reference/legacy/kyberswap-elastic)
* [**`Limit Order`**](https://docs.kyberswap.com/kyberswap-solutions/limit-order)
* [**`Aggregator`**](https://docs.kyberswap.com/kyberswap-solutions/kyberswap-aggregator)
  {% endhint %}

## interface IKyberReserve

imports IERC20

*Source*: [IKyberReserve.sol](https://github.com/KyberNetwork/smart-contracts/blob/master/contracts/sol6/IKyberReserve.sol)

***

### INDEX[​](https://docs.kyberswap.com/Legacy/api-abi/core-smart-contracts/api_abi-ikyberreserve#index) <a href="#index" id="index"></a>

\<AUTOGENERATED\_TABLE\_OF\_CONTENTS>

### REFERENCE[​](https://docs.kyberswap.com/Legacy/api-abi/core-smart-contracts/api_abi-ikyberreserve#reference) <a href="#reference" id="reference"></a>

#### Functions[​](https://docs.kyberswap.com/Legacy/api-abi/core-smart-contracts/api_abi-ikyberreserve#functions) <a href="#functions" id="functions"></a>

#### `trade`[​](https://docs.kyberswap.com/Legacy/api-abi/core-smart-contracts/api_abi-ikyberreserve#trade) <a href="#trade" id="trade"></a>

Executes a trade between the reserve and the KyberNetwork contract.

***

function **trade**(IERC20 srcToken, uint256 srcAmount, IERC20 destToken, address payable destAddress, uint256 conversionRate, bool validate) external payable returns (bool) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | `srcToken` | IERC20 | source ERC20 token contract address | | `srcAmount` | uint256 | source ERC20 token amount in its token decimals | | `destToken` | IERC20 | destination ERC20 token contract address | | `destAddress` | address | recipient address for destination ERC20 tokens | | `conversionRate` | uint256 | actual conversion rate between srcToken and destToken | | `validate` | bool | Apply additional validations if `true` | **Returns:**\ `true` if the trade was successful, otherwise `false` if unsuccessful

\
\### \`getConversionRate\` Gets the conversion rate for a pair of tokens at block number. \_\_\_ function \_\_getConversionRate\_\_(IERC20 src, IERC20 dest, uint256 srcQty, uint256 blockNumber) external view returns (uint256) | Parameter | Type | Description | | --------- |:-----:|:-----------:| | \`src\` | IERC20 | source ERC20 token contract address | | \`dest\` | IERC20 | destination ERC20 token contract address | | \`srcQty\` | uint256 | source ERC20 token in its token decimals | | \`blockNumber\` | uint256 | current block height or block number | \*\*Returns:\*\*\ Current conversion rate of token pairs at \`blockNumber\`
