Skip to main content
Distributes weekly RAM emissions to Ramses V3 concentrated liquidity positions. Rewards are allocated based on periodSecondsInsideX96, which tracks each position’s time-weighted in-range contribution during each weekly period.

Functions

notifyRewardAmount

Notifies the gauge of newly deposited reward tokens for distribution in the current period. Collects protocol fees from the pool before processing. The token must be a whitelisted reward token.

Parameters:

notifyRewardAmountNextPeriod

Queues reward tokens for distribution in the next period rather than the current one.

Parameters:

notifyRewardAmountForPeriod

Queues reward tokens for distribution in a specific future period. The period must be strictly in the future.

Parameters:

getReward

Claims accrued rewards for a position. Calculates rewards based on the position’s periodSecondsInsideX96 relative to total in-range liquidity during each period. The caller must be the position owner, operator, or approved for all. Only callable by authorized claimers.

Parameters:

getReward (batch)

Claims accrued rewards for multiple positions in a single call.

Parameters:

getRewardForOwner

Claims rewards on behalf of the position owner, sending them to the owner’s address. Callable by the voter contract or authorized claimers.

Parameters:

earned

Returns the amount of a reward token earned by a position but not yet claimed.

Parameters:

Return Values:

periodEarned

Returns the amount earned by a position for a specific period.

Parameters:

left

Returns the approximate amount of a reward token remaining for distribution in the current period, based on the time remaining.

Parameters:

Return Values:

rewardRate

Returns the per-second reward rate for a token in the current period.

Parameters:

Return Values:

getRewardTokens

Returns the list of all reward token addresses registered on this gauge.

positionHash

Computes the unique identifier for a position based on its owner, index, and tick range.

Parameters:

addRewards

Adds a new reward token to the gauge. Only callable by AccessHub.

Parameters:

removeRewards

Removes a reward token from the gauge. Only callable by AccessHub.

Parameters:

syncCache

Syncs cached values from the Voter and AccessHub contracts, including the reward validator, R33 address, fee collector, and authorized claimers list.

Key Concepts

  • Rewards are distributed per weekly period (epoch), aligned with the Ramses voting cycle
  • A position earns rewards proportional to its secondsInsideX96 during each period relative to the total
  • Only authorized claimers (registered through the Voter contract) can call reward-claiming functions
  • The gauge supports a reward validator for anti-sybil checks; flagged claims are redirected to the R33 address
  • notifyRewardAmount collects protocol fees from the pool before processing new rewards