| Crates.io | traverse-cli |
| lib.rs | traverse-cli |
| version | 0.1.3 |
| created_at | 2025-09-19 22:34:21.900375+00 |
| updated_at | 2025-09-21 17:32:00.532825+00 |
| description | Command-line tools for Solidity code analysis, visualization, and test generation |
| homepage | https://github.com/calltrace/traverse |
| repository | https://github.com/calltrace/traverse |
| max_upload_size | |
| id | 1847210 |
| size | 160,434 |
Command-line tools for Solidity code analysis, visualization, and test generation.
This crate provides the main command-line interface for all Traverse tools. It includes five powerful utilities for analyzing and working with Solidity smart contracts.
brew tap calltrace/tap
brew install traverse
cargo install traverse-cli
Pre-built binaries are available from the releases page.
sol2cg - Call Graph GeneratorGenerates call graphs from Solidity contracts to visualize function relationships.
# Generate DOT format call graph
sol2cg contracts/*.sol -o callgraph.dot
# Convert to PNG using Graphviz
dot -Tpng callgraph.dot -o callgraph.png
# Generate Mermaid format
sol2cg contracts/*.sol --format mermaid -o callgraph.mmd
sol2test - Test GeneratorAutomatically generates comprehensive test suites for smart contracts.
# Generate Foundry tests
sol2test contracts/Token.sol -o test/Token.t.sol
# Generate for all contracts
sol2test contracts/*.sol --output test/
# Specify framework
sol2test contracts/*.sol --framework foundry
sol2bnd - Binding GeneratorCreates TypeScript or Rust bindings for contract interaction.
# Generate TypeScript bindings
sol2bnd contracts/*.sol --lang typescript -o bindings/
# Generate Rust bindings
sol2bnd contracts/*.sol --lang rust -o src/bindings/
sol-storage-analyzer - Storage Layout AnalyzerAnalyzes and visualizes contract storage layouts, identifying optimization opportunities.
# Analyze storage layout
sol-storage-analyzer contracts/Token.sol
# Generate detailed report
sol-storage-analyzer contracts/*.sol --report storage-report.json
# Check for storage collisions
sol-storage-analyzer contracts/*.sol --check-collisions
storage-trace - Storage Operation TracerTraces and compares storage operations across contract versions.
# Trace storage operations
storage-trace contracts/TokenV1.sol contracts/TokenV2.sol
# Generate migration report
storage-trace --old contracts/v1/*.sol --new contracts/v2/*.sol
All tools support these common options:
--help - Show help information--version - Show version information-v, --verbose - Enable verbose output-q, --quiet - Suppress non-error outputTools can be configured via:
.traverse.yml configuration fileExample .traverse.yml:
sol2cg:
format: mermaid
exclude_internals: true
sol2test:
framework: foundry
coverage_threshold: 80
# Generate call graph
sol2cg contracts/*.sol -o docs/architecture.dot
# Generate tests
sol2test contracts/*.sol -o test/
# Check storage layout
sol-storage-analyzer contracts/*.sol --report docs/storage.json
# Generate bindings
sol2bnd contracts/*.sol --lang typescript -o sdk/
# In your CI pipeline
sol2cg contracts/*.sol --check-circular-deps
sol-storage-analyzer contracts/*.sol --check-collisions
sol2test contracts/*.sol --coverage-threshold 80
All tools are optimized for large codebases:
This crate is part of the Traverse suite of tools for Solidity code analysis, visualization, and test generation.
For detailed documentation, visit github.com/calltrace/traverse
MIT OR Apache-2.0