> For the complete documentation index, see [llms.txt](https://docs.vesper.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vesper.finance/vesper-developers/vesper-contracts-api-reference/pool-contracts/vesperearndrip.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
