> For the complete documentation index, see [llms.txt](https://polytrade.gitbook.io/polytrade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://polytrade.gitbook.io/polytrade/reward.md).

# Reward

## deposit

```
function deposit(address lender, uint amount) external;
```

#### Increases the `lender` deposit by `amount.`

| Parameter Name | Type    | Description                |
| -------------- | ------- | -------------------------- |
| lender         | address | address of the lender      |
| amount         | uint    | amount deposited by lender |

### Requirements

| Parameter Name | Description              |
| -------------- | ------------------------ |
| `amount`       | should be greater than 0 |

## withdraw

```
function withdraw(address lender, uint amount) external;
```

#### withdraws the `amount` from `lender`

| Parameters Name | Type    | Description                |
| --------------- | ------- | -------------------------- |
| `lender`        | address | address of the lender      |
| `amount`        | uint    | amount requested by lender |

### Requirements

| Parameter Name | Description                                                                       |
| -------------- | --------------------------------------------------------------------------------- |
| `amount`       | <p>should be greater than 0<br>should be greater than deposited by the lender</p> |

## claimReward

```
function claimReward(address lender) external;
```

#### updates the value of the reward.

| Parameter Name | Type   | Description                             |
| -------------- | ------ | --------------------------------------- |
| newReward      | uint16 | current reward offered by the contract. |

## setReward

```
function setReward(uint16 newReward) external;
```

#### updates the value of reward.

| Parameter Name | Type   | Description                             |
| -------------- | ------ | --------------------------------------- |
| newReward      | uint16 | current reward offered by the contract. |

## pauseReward

```
function pauseReward() external;
```

#### sets the apy to 0.

## rewardOf

```
function rewardOf(address lender) external view returns (uint);
```

#### returns the total pending reward of the lender.

| Parameter Name | Type    | Description                    |
| -------------- | ------- | ------------------------------ |
| `lender`       | address | lender, address of the lender. |

## getReward

```
function getReward() external view returns (uint16);
```

#### Returns the total reward.

| Parameter Name | Type   | Description               |
| -------------- | ------ | ------------------------- |
| `uint`         | return | returns the total reward. |

## getRewardToken

```
function getRewardToken() external view returns (address);
```

#### Returns the address of the reward token

| Parameter Name | Type    | Description                  |
| -------------- | ------- | ---------------------------- |
| address        | returns | address of the reward token. |
