Prime leaderboard storage
PrimeLeaderboardStorageV1
Section titled “PrimeLeaderboardStorageV1”Storage layout for the PrimeLeaderboard contract
Solidity API
Section titled “Solidity API”// Individual deposit record for LIFO tracking (declared in IPrimeLeaderboard)struct Deposit { uint128 amount; // Amount deposited uint64 timestamp; // Deposit timestamp uint64 _reserved; // Reserved for future use}BASE_MULTIPLIER
Section titled “BASE_MULTIPLIER”Base multiplier (1.0x) scaled by 1e18
uint256 BASE_MULTIPLIERMAX_DEPOSITS_PER_USER
Section titled “MAX_DEPOSITS_PER_USER”Maximum deposits per user (DoS protection). Constant, set to 30.
uint256 MAX_DEPOSITS_PER_USEREXP_SCALE
Section titled “EXP_SCALE”Scaling factor for calculations (1e18)
uint256 EXP_SCALE_depositStacks
Section titled “_depositStacks”User’s deposit stack (LIFO order, index 0 = oldest). Holds the Deposit records described above.
mapping(address => IPrimeLeaderboard.Deposit[]) _depositStackstotalStaked
Section titled “totalStaked”User’s total staked XVS
mapping(address => uint256) totalStaked_multiplierDurations
Section titled “_multiplierDurations”Multiplier tier duration thresholds, in seconds. Default [30 days, 60 days, 90 days].
uint256[] _multiplierDurations_multiplierValues
Section titled “_multiplierValues”Multiplier values corresponding to each tier (scaled by 1e18). Default [1.3e18, 1.6e18, 2.0e18].
uint256[] _multiplierValuesprimeV2
Section titled “primeV2”Address of the PrimeV2 contract
address primeV2stakersInitialized
Section titled “stakersInitialized”Whether staker initialization is complete (prevents further initialization calls)
bool stakersInitializedReserved storage for future upgrades.
uint256[45] __gap