# PoolRewardsStorage

## PoolRewardsStorage

This contract keeps track of addresses used by the PoolRewards contract to compute and distribute vVSP "rewards".&#x20;

### pool

```solidity
address pool
```

Vesper pool address

### rewardTokens

```solidity
address[] rewardTokens
```

Array of reward token addresses

### isRewardToken

```solidity
mapping(address => bool) isRewardToken
```

Reward token to valid/invalid flag mapping

### periodFinish

```solidity
mapping(address => uint256) periodFinish
```

Reward token to period ending of current reward

### rewardRates

```solidity
mapping(address => uint256) rewardRates
```

Reward token to current reward rate mapping

### rewardDuration

```solidity
mapping(address => uint256) rewardDuration
```

Reward token to Duration of current reward distribution

### lastUpdateTime

```solidity
mapping(address => uint256) lastUpdateTime
```

Reward token to Last reward drip update time stamp mapping

### rewardPerTokenStored

```solidity
mapping(address => uint256) rewardPerTokenStored
```

Reward token to Reward per token mapping. Calculated and stored at last drip update

### userRewardPerTokenPaid

```solidity
mapping(address => mapping(address => uint256)) userRewardPerTokenPaid
```

Reward token => User => Reward per token stored at last reward update

### rewards

```solidity
mapping(address => mapping(address => uint256)) rewards
```

RewardToken => User => Rewards earned till last reward update

##

<table><thead><tr><th>Name</th><th width="552.3333333333333">Type</th><th>Description</th></tr></thead><tbody><tr><td>_rewardTokens</td><td>address[]</td><td>Array of tokens being rewarded</td></tr><tr><td>_rewardPerTokenRate</td><td>uint256[]</td><td>Array of Rewards rate for token on same index in rewardTokens</td></tr></tbody></table>
