Labels: high-difficulty, rust, cli, storage, gasguard
Difficulty: High
Module: gasguard-cli/src/commands/optimize_storage.rs
🧠 Concept
Add a GasGuard CLI tool (gasguard optimize-storage <Contract.sol>) that parses contract state variables, models EVM storage packing, and outputs an optimal variable layout.
⚠️ Problem
Manually calculating variable bit sizes to pack storage slots across complex inheritance trees is difficult and prone to missing packing opportunities.
📁 Implementation Scope
gasguard-cli/src/commands/optimize_storage.rs
gasguard-cli/src/storage_model.rs
🛠️ Requirements
- Parse contract definitions and extract state variable types and order.
- Simulate EVM storage slot packing ($256$-bit boundaries).
- Compute and display the optimal variable ordering, alongside the calculated slot savings.
🎯 Acceptance Criteria
Labels:
high-difficulty,rust,cli,storage,gasguardDifficulty: High
Module:
gasguard-cli/src/commands/optimize_storage.rs🧠 Concept
Add a GasGuard CLI tool (
gasguard optimize-storage <Contract.sol>) that parses contract state variables, models EVM storage packing, and outputs an optimal variable layout.Manually calculating variable bit sizes to pack storage slots across complex inheritance trees is difficult and prone to missing packing opportunities.
📁 Implementation Scope
gasguard-cli/src/commands/optimize_storage.rsgasguard-cli/src/storage_model.rs🛠️ Requirements
🎯 Acceptance Criteria