RewardsDistributor.
Manages incentive-token distribution to suppliers and borrowers within an isolated pool. Multiple distributor instances can run in parallel — one per reward token.
Isolated pools support multiple reward tokens through independent RewardsDistributor contracts. Each distributor is configured with per-market emission speeds for both supply-side and borrow-side rewards, enabling fine-grained incentive alignment for each market.
Rewards accrue automatically as users interact with the pool. Users can claim accumulated rewards at any time.
setRewardTokenSpeeds
Configures the emission rate of the reward token for specified markets. Separate speeds can be set for supply and borrow sides.
function setRewardTokenSpeeds(
IRToken[] calldata rTokens,
uint256[] calldata supplySpeeds,
uint256[] calldata borrowSpeeds
) external;
claimRewardToken
Claims all accumulated reward tokens for the caller across specified markets.
function claimRewardToken(address holder, IRToken[] calldata rTokens) external;
setLastRewardingBlock
Sets the block number after which rewards will no longer accrue for a market.
function setLastRewardingBlock(
IRToken[] calldata rTokens,
uint32[] calldata supplyLastRewardingBlocks,
uint32[] calldata borrowLastRewardingBlocks
) external;
Emission speed configuration and administrative functions are restricted to governance via the AccessControlManager.