## 🎯 Goal Extend OpenZeppelin integration beyond tokens to include utility libraries and components. ## 📋 Current Limitation Currently only supports token contracts (ERC20, ERC721, ERC1155). Need support for: - Access control utilities - Security libraries - Math utilities - Proxy patterns - Governance components ## 🔧 Tasks ### Core Library Updates - [ ] Extend ContractType enum with library types - [ ] Add LibraryType enum for different utility categories - [ ] Update template generation for libraries ### New Library Types - [ ] **Access Control**: Ownable, AccessControl, Roles - [ ] **Security**: ReentrancyGuard, Pausable - [ ] **Math**: SafeMath, Math, SignedMath - [ ] **Utils**: Strings, Arrays, Address - [ ] **Proxy**: Initializable, UUPSUpgradeable - [ ] **Governance**: Governor, Votes, Timelock ### CLI Integration - [ ] Add --oz-access-control flag - [ ] Add --oz-security flag - [ ] Add --oz-math flag - [ ] Add --oz-utils flag - [ ] Add --oz-proxy flag - [ ] Add --oz-governance flag ### Wotan Updates - [ ] Library selection in interactive wizard - [ ] Category-based library browsing - [ ] Dependency management suggestions ### Examples ```bash gramr new contract MyContract --solidity --oz-access-control gramr new contract SecureContract --solidity --oz-security --oz-access-control gramr new library MathUtils --solidity --oz-math ``` ## ✅ Definition of Done - [ ] All major OpenZeppelin library categories supported - [ ] CLI flags implemented and documented - [ ] Wotan wizard includes library selection - [ ] Documentation includes library examples
🎯 Goal
Extend OpenZeppelin integration beyond tokens to include utility libraries and components.
📋 Current Limitation
Currently only supports token contracts (ERC20, ERC721, ERC1155). Need support for:
🔧 Tasks
Core Library Updates
New Library Types
CLI Integration
Wotan Updates
Examples
✅ Definition of Done