defirisk.co
rubric v1.7.0

ERC-4626 virtual-share offset (OZ ≥4.9)

M^0's assessment for RD-F-074 — scored not_applicable on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.

Evidence summary #

WrappedM (0x437cc33344a0B27A429f795ff6B469C72698B291) is NOT an ERC-4626 vault. GitHub source confirms it implements custom ERC20Extended with principal-based rebasing indexing (principalOfTotalEarningSupply, totalNonEarningSupply, totalEarningSupply) and uses IndexingMath for yield accrual. No deposit/mint/withdraw/redeem/convertToShares/convertToAssets ERC-4626 interface present. The OZ virtual-share offset (RD-F-074) is designed for ERC-4626 vaults specifically and is not applicable here. MToken itself is a non-rebasing-compatible ERC-20 with continuous index; also not ERC-4626. PD-024: not applicable for non-lending/non-ERC-4626 protocols.

Sources #

  • GitHub
    GitHub — m0-foundation/wrapped-m-token WrappedMToken.solm0-foundation/wrapped-m-token WrappedMToken.sol — implements ERC20Extended (custom), uses principalOfTotalEarningSupply/totalNonEarningSupply/totalEarningSupply/lastIndex accounting; no ERC-4626 deposit/withdraw/convertToShares interfaceretrieved 2026-05-16
  • Docs
    M0 Documentation — Wrapped $M OverviewWrappedM overview: 'non-rebasing ERC-20 wrapper'; solvency invariant M Balance >= totalNonEarningSupply + projectedEarningSupply — not share-price mathretrieved 2026-05-16

Methodology #

Determine whether ERC-4626 vaults use OpenZeppelin ≥4.9 virtual-share offset pattern to prevent first-depositor share-inflation.

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol m0 factor RD-F-074 score not_applicable collected_at 2026-05-16 09:46:19