Calculation of CSR revenues to holders

The amount of revenue each $csrCANTO holder can claim is determined by the following factors:

  • how much csrCANTO they hold relative to other whitelisted holders at each block

  • how much CSR was generated

On a high level, rewards for users are calculated using the following logic:

āˆ‘(Xnāˆ—Rn) \sum (X_n * R_n )

Where:

X=X =percentage of user ownership of csrCANTO supply (as a fraction) at block nn

R=R =total revenue generated from CSR at block nn

n=n = block number

When a user claims CSR, all the revenue they are eligible for since their last claim is distributed to them. Therefore, you can claim your revenue at any time - it will not affect the amount you receive. All logic is on-chain in the smart contract; there are no off-chain calculations used in this logic.

For a more technical and accurate description of the reward calculation logic, please refer to the following description:

  • After some CSR has accumulated from token contract use, anyone can call withdrawFromTurnstile to effectively distribute the CSR to all csrCANTO holders.

  • A global accumulator is incremented whenever CSR is withdrawn from the Turnstile. Every account maintains a 'claimed' accumulator value to track how many rewards they are entitled to claim as the global value increases.

  • Accounts can call getReward after CSR has been pulled from the Turnstile contract.

  • Therefore, the incoming funds pulled from the Turnstile contract can be distributed efficiently among large numbers of token holders.

Last updated