# VesperEarnDrip

## IVesperPoolV2

An interface.

### getPricePerShare

```solidity
function getPricePerShare() external view returns (uint256)
```

## VesperEarnDrip

This contract handles the "drip" of the yield asset in Vesper Earn pools. It inherits from PoolRewards.&#x20;

### DripRewardPaid

```solidity
event DripRewardPaid(address user, address rewardToken, uint256 reward)
```

### GrowTokenUpdated

```solidity
event GrowTokenUpdated(address oldGrowToken, address newGrowToken)
```

### growToken

```solidity
address growToken
```

### receive

```solidity
receive() external payable
```

### claimable

```solidity
function claimable(address _account) external view returns (address[] _rewardTokens, uint256[] _claimableAmounts)
```

Returns claimable reward amount.

*In case of growToken it will return the actual underlying value*

| Name               | Type       | Description                                                |
| ------------------ | ---------- | ---------------------------------------------------------- |
| \_rewardTokens     | address\[] | Array of tokens being rewarded                             |
| \_claimableAmounts | uint256\[] | Array of claimable for token on same index in rewardTokens |

### notifyRewardAmount

```solidity
function notifyRewardAmount(address _rewardToken, uint256 _rewardAmount, uint256 _rewardDuration) external
```

*Notify that reward is added. Also updates reward rate and reward earning period.*

### updateGrowToken

```solidity
function updateGrowToken(address _newGrowToken) external
```

Defines which rewardToken is a growToken

*growToken is used to check whether to call withdraw from Grow Pool or not*

### \_calculateRewardInDripToken

```solidity
function _calculateRewardInDripToken(address _rewardToken, uint256 _reward) private view returns (uint256)
```

The *rewardToken AKA growToken is a Vesper Grow Pool which can be V2 or V3 pool. V2 and V3 pools have different signatures to read price per share.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vesper.finance/vesper-developers/vesper-contracts-api-reference/pool-contracts/vesperearndrip.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
