Prime storage
PrimeStorageV1
Storage for Prime Token
Solidity API
struct Token {
bool exists;
bool isIrrevocable;
}struct Market {
uint256 supplyMultiplier;
uint256 borrowMultiplier;
uint256 rewardIndex;
uint256 sumOfMembersScore;
bool exists;
}struct Interest {
uint256 accrued;
uint256 score;
uint256 rewardIndex;
}struct PendingReward {
address vToken;
address rewardToken;
uint256 amount;
}tokens
Mapping to get prime token's metadata
mapping(address => struct PrimeStorageV1.Token) tokenstotalIrrevocable
Tracks total irrevocable tokens minted
uint256 totalIrrevocabletotalRevocable
Tracks total revocable tokens minted
uint256 totalRevocablerevocableLimit
Indicates maximum revocable tokens that can be minted
uint256 revocableLimitirrevocableLimit
Indicates maximum irrevocable tokens that can be minted
uint256 irrevocableLimitstakedAt
Tracks when prime token eligible users started staking for claiming prime token
mapping(address => uint256) stakedAtmarkets
vToken to market configuration
mapping(address => struct PrimeStorageV1.Market) marketsinterests
vToken to user to user index
mapping(address => mapping(address => struct PrimeStorageV1.Interest)) interestsalphaNumerator
numerator of alpha. Ex: if alpha is 0.5 then this will be 1
uint128 alphaNumeratoralphaDenominator
denominator of alpha. Ex: if alpha is 0.5 then this will be 2
uint128 alphaDenominatorxvsVault
address of XVS vault
address xvsVaultxvsVaultRewardToken
address of XVS vault reward token
address xvsVaultRewardTokenxvsVaultPoolId
address of XVS vault pool id
uint256 xvsVaultPoolIdisScoreUpdated
mapping to check if a account's score was updated in the round
mapping(uint256 => mapping(address => bool)) isScoreUpdatednextScoreUpdateRoundId
unique id for next round
uint256 nextScoreUpdateRoundIdtotalScoreUpdatesRequired
total number of accounts whose score needs to be updated
uint256 totalScoreUpdatesRequiredpendingScoreUpdates
total number of accounts whose score is yet to be updated
uint256 pendingScoreUpdatesvTokenForAsset
mapping used to find if an asset is part of prime markets
mapping(address => address) vTokenForAssetcomptroller
address of core pool comptroller contract
address comptrollerunreleasedPLPIncome
unreleased income from PLP that's already distributed to prime holders
mapping(address => uint256) unreleasedPLPIncomeprimeLiquidityProvider
The address of PLP contract
address primeLiquidityProvideroracle
The address of ResilientOracle contract
contract ResilientOracleInterface oracleLast updated

