Reserve Protocol - Mitigation Review

A permissionless platform to launch and govern asset-backed stable currencies.

  • Start date25 Sep 2023
  • End date29 Sep 2023
  • Total awards$17,600 USDC
  • Duration4 days

Reserve - Mitigation Review details

Important note

Each warden must submit a mitigation review for every High and Medium finding from the parent audit that is listed as in-scope for the mitigation review. Incomplete mitigation reviews will not be eligible for awards.

Findings being mitigated

Mitigations of all High and Medium issues will be considered in-scope, with the following exceptions: M-07, M-10, M-11, M-12, M-13, M-14, and M-15. Please refer to the "Out of scope" section below for details and context on the four acknowledged / out of scope findings.

Findings acknowledged and NOT mitigated:

Overview of changes

Units and price calculations in LSD collateral types were fixed.
CurveVolatileCollateral was removed entirely.
Decimals fixed in wrapped cUSDCv3.
RToken Asset pricing issues fixed, (0, FIX_MAX) enforced as "unpriced".
Reward remainder held until next claim instead of lost.

Mitigations to be reviewed

Branch

https://github.com/reserve-protocol/protocol/tree/master

Individual PRs

Wherever possible, mitigations should be provided in separate pull requests, one per issue. If that is not possible (e.g. because several audit findings stem from the same core problem), then please link the PR to all relevant issues in your findings repo.

URLMitigation ofPurpose
https://github.com/reserve-protocol/protocol/pull/899H-01Fixes units and price calculations in cbETH, rETH, ankrETH collateral plugins.
https://github.com/reserve-protocol/protocol/pull/896H-02Removes CurveVolatileCollateral.
https://github.com/reserve-protocol/protocol/pull/930H-03Skip reward claim in _checkpoint if shutdown.
https://github.com/reserve-protocol/protocol/pull/896M-01Removes CurveVolatileCollateral.
https://github.com/reserve-protocol/protocol/pull/889M-02Use decimals from underlying Comet.
https://github.com/reserve-protocol/protocol/pull/916M-03Acknowledged and documented.
https://github.com/reserve-protocol/protocol/pull/896M-04Roll over remainder to next call.
https://github.com/reserve-protocol/protocol/pull/896M-05Add call to emergencyWithdraw.
https://github.com/reserve-protocol/protocol/pull/917M-06Enforce (0, FIX_MAX) as "unpriced" during oracle timeout.
https://github.com/reserve-protocol/protocol/pull/917M-08Unpriced on oracle timeout.
https://github.com/reserve-protocol/protocol/pull/917M-09Enforce (0, FIX_MAX) as "unpriced" during oracle timeout.

Out of Scope