ProtocolShareReserve.
Central revenue aggregation point. Collects protocol income from RToken markets and routes it to designated destinations — Risk Fund, treasury, governance allocations — based on configurable distribution schemas.
When RToken markets accrue interest, a portion of the revenue is allocated to protocol reserves. ProtocolShareReserve receives those funds and distributes them according to predefined allocation rules. Each distribution target receives a configurable percentage, ensuring revenue routing stays transparent and consistent.
The PSR supports multiple distribution schemas, allowing different allocation ratios for different income types (e.g., spread income vs. liquidation income).
releaseFunds
Releases accumulated funds from the PSR to configured distribution targets for a specific pool.
function releaseFunds(
address comptroller,
address[] calldata assets
) external;
addOrUpdateDistributionConfigs
Configures or updates the distribution schema for protocol income.
function addOrUpdateDistributionConfigs(
DistributionConfig[] calldata configs
) external;
getPercentageDistribution
Returns the percentage allocation for a given target and income type.
function getPercentageDistribution(
address destination,
Schema schema
) external view returns (uint256);
Distribution configuration changes are restricted to governance through the AccessControlManager.