# InterestManager

The task of the `InterestManager` is to invest `Dai` into an interest-generating protocol. Currently this is implemented as `InterestManagerCompound` which invests into Compound.

* `invest`: Invests `Dai` to generate interest
  * `uint amount`: The amount of `Dai` to invest
  * `returns`: The amount of `cDai` received
* `redeem`: Redeems `Dai`
  * `address recipient`: The address to receive the redeemed `Dai`
  * `uint amount`: The amount of `Dai` to redeem
  * `returns`: The amount of burned `cDai`
* `redeemInvestmentToken`: Redeems `Dai`, but with the `amount` parameter being the amount of `cDai` to convert instead of the amount of `Dai` to redeem.
* `accrueInterest`: Calls the underlying protocol to update the accrued interest which in this case is `cDai.accrueInterest()`
* `withdrawComp`: Transfers `COMP` tokens to the `compRecipient`
