Skip to content
← All decisions
ADR-009

System-wide Stylus snake_case to camelCase Solidity ABI convention

Decision
Stylus emits methods as camelCase selectors. Every sol_interface! declaration that names a Stylus contract uses camelCase to match; Rust call-site method names stay snake_case via sol_interface!’s automatic name conversion.
Alternatives
A #[selector(name = "snake_case_name")] on each exporter, rejected because it requires per-method opt-in across ~40 methods and silently breaks if any method is missed.