ERC20Upgradeable (OpenZeppelin Upgradeable)
Audit Snapshot
- Status: ✅ pass
- Source type:
npm - Source path:
third_party/famous-contracts/sources/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol - Primary issue: No primary issue recorded.
- Audit corpus size: 98 contracts
Diagnostics
Total diagnostics captured: 8
By Severity
| Severity | Count |
|---|---|
| warning | 7 |
| error | 1 |
Most Common Codes
| Code | Count | Example |
|---|---|---|
| INVALID_STORAGE_RETURN | 4 | function '_getInitializableStorage' return value 'InitializableStorage' uses 'storage' data location (treated as Any) |
| RAW | 1 | [info][NEP-17] NEP-17 transfer method has 2 parameter(s), spec expects 4. See STANDARDS_MAPPING.md for details. |
| W101 | 1 | function '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. |
| W103 | 1 | ERC-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. |
| W113 | 1 | Contract has transfer function but no onNEP17Payment callback. Other contracts cannot send tokens to this contract. |
Source diagnostic payload: docs/data/famous-contracts-audit-results.json.
References
- Global audit report: Famous Contracts on NeoVM
- Per-contract index: Original Famous Contracts
- Upstream contract path:
third_party/famous-contracts/sources/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol
