Skip to content

ERC20Votes (OpenZeppelin)

Audit Snapshot

  • Status: ✅ pass
  • Source type: npm
  • Source path: third_party/famous-contracts/sources/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol
  • Primary issue: No primary issue recorded.
  • Audit corpus size: 98 contracts

Diagnostics

Total diagnostics captured: 4006

By Severity

SeverityCount
warning4004
error2

Most Common Codes

CodeCountExample
W2003726function 'panic' in 'ERC20' overrides 'Context::panic' which is not marked 'virtual'
W121135duplicate constant state variable 'GENERIC' detected while merging libraries
INVALID_STORAGE_RETURN96function 'getAddressSlot' return value 'AddressSlot' uses 'storage' data location (treated as Any)
RETURN_TYPE_UNMAPPED27function 'toDelay' returns 'Delay', which may not map cleanly to Neo manifest types
VALIDATION_WARNING13function '_getFullAt' should return 3 values but expression does not match tuple
RAW2[info][NEP-17] NEP-17 transfer method has 2 parameter(s), spec expects 4. See STANDARDS_MAPPING.md for details.
W1012function 'transfer' has 2 parameters (ERC-20 pattern). NEP-17 requires 4 parameters: transfer(from, to, amount, data). The from address is verified via Runtime.checkWitness() and data (type Any) is forwarded to the recipient's onNEP17Payment callback.
W1032ERC-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.
W1132Contract has transfer function but no onNEP17Payment callback. Other contracts cannot send tokens to this contract.
W1221duplicate state variable '_name' detected while flattening/merging contracts

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

References

MIT Licensed