Skip to content

Commit 5585d6b

Browse files
author
Omar Inuwa
committed
Add property documentation standards and standardize ERC20BasicProperties
This PR addresses issue #39 by establishing comprehensive documentation standards for all property test functions in the repository. Changes: - Add PROPERTY_STANDARDS.md defining complete documentation standards - NatSpec template with required tags (@title, @notice, @dev, @Custom) - 5 testing modes documented (INTERNAL/EXTERNAL/ISOLATED/FUNCTION_OVERRIDE/MODEL) - Property ID format: [STANDARD]-[CATEGORY]-[NUMBER] - Section organization guidelines matching ABDKMath64x64 style - Before/after examples and contribution checklist - Standardize ERC20BasicProperties.sol (17 properties) - Add comprehensive contract-level NatSpec documentation - Organize into 4 logical sections with standardized headers: * Supply Accounting (1 property) * Balance Accounting (3 properties) * Transfer Properties (10 properties) * Allowance Properties (3 properties) - Add full NatSpec to all 17 properties with: * Testing mode specification (INTERNAL) * Plain English invariant descriptions * Unique property IDs (ERC20-SUPPLY-001 through ERC20-ALLOWANCE-003) * Detailed explanations of why each property matters Standardizing ERC20BasicProperties is the first of many files that will be updated to follow these standards. This establishes the foundation and reference implementation for standardizing the remaining 151 properties across ERC20, ERC721, ERC4626, and Math library contracts. Fixes #39
1 parent d346d8e commit 5585d6b

File tree

2 files changed

+627
-20
lines changed

2 files changed

+627
-20
lines changed

0 commit comments

Comments
 (0)