The RingRewardsDistributor contract is responsible for sending rewards to the RingStakingRewards contract with weekly frequency.
It has one public method exposed for keepers to execute this drip functionality, which rewards the caller with a fixed amount of RUSD.
The release schedule for the total reward amount R of RING is a linearly decreasing RING distribution. The distribution function is:
This function has a duration of d before it hits a 0 distribution rate. The area under the curve is R, because the y-intercept is 2R/d, by simply multiplying base times height times 1/2.
Set the "unreleased function" U(t) equal to the area under this curve between the current elapsed time t and the total duration d. Note that for t=d the output is equal to 0 as all of the RING should be released. The formula is: