In this audit we reviewed changes to the Strata Markets Tranches codebase made in order to facilitate the introduction of Midas protocol as a vault strategy. Strata is a structured-credit style vault that wraps a single yield strategy with two ERC4626 tranche vaults: a junior tranche that absorbs first losses and captures residual upside, and a senior tranche that is managed toward a target protected yield. Users are able to deposit into either tranche and receive vault shares, while their assets are deposited into an underlying strategy. The Midas integration changes this design in three important ways. First, because Midas NAV only updates when its oracle price is refreshed rather than accruing yield per second, the `DiscreteAccounting `contract has been introduced to project expected growth between oracle updates and only realize fresh NAV when a new Midas price is provided. Second, this integration switches the strategy’s accounting base asset from one with 18 decimals to USDC, which has only 6 decimals. Third, as the Midas vault also supports deposits in additional USD denominated stablecoins (DAI and USDS) additional logic has been introduced to allow these assets to be deposited via the Strata protocol. During the audit, a number of issues were found mostly related to incorrect assumptions made of the underlying Midas protocol. The medium severity issue #STR-1 relates to the optimistic assumption the Strata logic makes about the amount of mHYPER to be minted during deposits, rather than the actual `mintAmount` received. The audit also found a number of other less severe related to the Midas protocol integration. We recommend that all of these issues are addressed prior to deployment.
Low | Medium | High | Critical | Total | |
|---|---|---|---|---|---|
Not fixed | - | - | - | - | 0 |
Acknowledged | 1 | - | - | - | 1 |
Fixed | 3 | 1 | - | - | 4 |
| Total | 4 | 1 | 0 | 0 | 5 |
| # | File Name |
|---|---|
| 1 | Scope not recorded here: see the report |