Assessment reports>Rainmaker>Threat Models>harvestRewards

Function: harvestRewards()

Harvests accumulated rewards.

Branches and code coverage (including function calls)

Intended branches

  • Successfully transfer the rewards to the caller.

Function call analysis

  • harvestRewards -> definitiveVault.getAmountStaked()

    • What is controllable? Discarded.

    • If return value controllable, how is it used and how can it go wrong? Discarded.

    • What happens if it reverts, reenters, or does other unusual control flow? Denoting an issue with the definitiveVault contract. Interferes with the correct computation of rewards to be harvested.

  • harvestRewards -> updatePoolRewards(newRewards)

    • What is controllable? Discarded.

    • If return value controllable, how is it used and how can it go wrong? Discarded.

    • What happens if it reverts, reenters, or does other unusual control flow? Discarded.

  • harvestRewards -> rewardToken.mint(msg.sender, rewardsToHarvest)

    • What is controllable? Discarded.

    • If return value controllable, how is it used and how can it go wrong? Discarded.

    • What happens if it reverts, reenters, or does other unusual control flow? Denoting an issue with the rewardToken contract.

Zellic © 2024Back to top ↑