ERC-777/1155/721 hook without reentrancy guard
Uniswap (v2 + v3)'s assessment for RD-F-015 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
V3: Core pool accepts ERC-20 via standard transfer() only; pool-level lock protects against ERC-777 callbacks. NFT (NFPM periphery) not in core. V2: ERC-20 only. Neither version integrates ERC-777/1155/721 hooks without reentrancy guards. Green.
Detail #
Neither V2 nor V3 core contracts integrate ERC-777 tokensReceived, ERC-1155 onReceived, or ERC-721 onReceived hooks. Both use standard ERC-20 transfer() calls. The pool-level reentrancy locks would also protect against any hook-based reentrancy in the unlikely event of a token with such callbacks being used.
Sources #
- GitHubUniswapV3Pool.sol — no ERC-777 callback integrationUniswapV3Pool.sol — ERC-20 only token interfaceretrieved 2026-05-12
Methodology #
Determine whether the protocol integrates token standards with callbacks (ERC-777 tokensReceived, ERC-1155 onReceived, ERC-721 onReceived) without reentrancy guards on the affected functions.
See the full factor methodology and distribution across all protocols →