LP token balanceOf used for pricing
Morpho V1 (Morpho Blue + MetaMorpho)'s assessment for RD-F-061 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
No balanceOf-based LP token pricing in reference ChainlinkOracleV2. ERC4626 vault component uses getAssets() (legitimate conversion), not balanceOf for pricing. Donation attack via balanceOf not applicable to this implementation.
Detail #
price() function: SCALE_FACTOR.mulDiv(BASE_VAULT.getAssets(BASE_VAULT_CONVERSION_SAMPLE) * BASE_FEED_1.getPrice() * BASE_FEED_2.getPrice(), ...). The getAssets() call is the ERC4626 standard conversion — not a balanceOf-based donation-manipulable path. Chainlink feed prices are push-oracle pull, not balanceOf-derived.
Sources #
- GitHubMorphoChainlinkOracleV2.solMorphoChainlinkOracleV2.sol price() function — getAssets() not balanceOfretrieved 2026-04-27
Methodology #
Determine whether protocol pricing is derived from the `balanceOf` of LP tokens in a contract (manipulable by direct token transfer / donation).
See the full factor methodology and distribution across all protocols →