Skip to content

PoolManager (Uniswap V4 Core)

Audit Snapshot

  • Status: ✅ pass
  • Source type: npm
  • Source path: third_party/famous-contracts/sources/@uniswap/v4-core/src/PoolManager.sol
  • Primary issue: No primary issue recorded.
  • Audit corpus size: 98 contracts

Diagnostics

Total diagnostics captured: 2558

By Severity

SeverityCount
warning2558

Most Common Codes

CodeCountExample
W2002088function 'revertWith' in 'ProtocolFees' overrides 'Owned::revertWith' which is not marked 'virtual'
W121424duplicate constant state variable 'ZERO_DELTA' detected while merging libraries
INVALID_STORAGE_RETURN13function 'get' return value 'State' uses 'storage' data location (treated as Any)
MANIFEST_WILDCARD_CONTRACT8contract 'NoDelegateCall' requires wildcard contract manifest permissions (contract='*') due to dynamic contract calls. This is riskier than fixed contract hashes; use --deny-wildcard-contracts to make this a hard error.
W1304overloaded function 'extsload' with 1 parameter(s) uses Neo overload mangling; external callers must invoke the generated Neo method names
W1023function 'transfer' has 3 parameters, but NEP-17 requires 4: transfer(from, to, amount, data). The data parameter (type Any) is forwarded to the recipient's onNEP17Payment callback.
W1033ERC-20 method(s) [approve, allowance, transferfrom] detected. These are not part of the NEP-17 spec; Neo uses Runtime.checkWitness() for authorization instead of the approve/allowance pattern. You may keep them as extensions, but they will not contribute to NEP-17 standard detection.
W1063function 'supportsInterface' (EIP-165) is unnecessary on Neo N3. Neo uses the manifest 'supportedstandards' array for interface detection, which the compiler populates automatically.
W1133Contract has transfer function but no onNEP17Payment callback. Other contracts cannot send tokens to this contract.
W1233public state variable 'balanceOf' conflicts with a function of the same name
VALIDATION_WARNING2abstract contract 'ProtocolFees' has 2 unimplemented function(s): [_isUnlocked, _getPool]
W1112function 'settle' is marked payable, but Neo N3 has no native coin transfer; the modifier is accepted for compatibility but has no effect. Use onNEP17Payment(address, uint256, bytes) to handle incoming NEP-17 token payments.

Source diagnostic payload: docs/data/famous-contracts-audit-results.json.

References

MIT Licensed