Labels: good-first-issue, gasguard-rules, solidity, gasguard
Difficulty: Easy
Module: rules/g003_abstract_visibility.rs
🧠 Concept
Add static rule G003 to flag state variables defined as public within abstract or internal base contracts.
⚠️ Problem
public state variables in abstract contracts auto-generate public getters in every inheriting child contract, swelling deployment bytecode size unnecessarily.
📁 Implementation Scope
rules/g003_abstract_visibility.rs
test/fixtures/g003_samples.sol
🛠️ Requirements
- Detect variable declarations with
public visibility inside abstract contract blocks.
- Suggest changing visibility to
internal or private.
🎯 Acceptance Criteria
Labels:
good-first-issue,gasguard-rules,solidity,gasguardDifficulty: Easy
Module:
rules/g003_abstract_visibility.rs🧠 Concept
Add static rule
G003to flag state variables defined aspublicwithinabstractor internal base contracts.publicstate variables in abstract contracts auto-generate public getters in every inheriting child contract, swelling deployment bytecode size unnecessarily.📁 Implementation Scope
rules/g003_abstract_visibility.rstest/fixtures/g003_samples.sol🛠️ Requirements
publicvisibility insideabstract contractblocks.internalorprivate.🎯 Acceptance Criteria
publicstate variables in abstract classes.internalorprivatedeclarations.