Expand description
Slither-compatible protected-variable control-flow analysis.
Storage references are tracked as may-alias sets across internal calls and control-flow joins. Calls are memoized by their storage, slot, and guard context so recursive propagation terminates.
Structsยง
- Alias
State ๐ - Call
Context ๐ - A finite call-graph key that distinguishes storage aliases without depending on values.
- Call
Summary ๐ - Entry
Analyzer ๐ - Flow
State ๐ - Loop
Flow ๐ - States collected at
break/continuestatements of the innermost loop. - Modifier
Continuation ๐ - What
_resumes: the rest of the modifier chain and the function body.
Staticsยง
Functionsยง
- analyze_
entry ๐ - Runs the entry to a fixpoint over the memoized call summaries and returns, per written state variable, the guards that held on every path to some write.
- callable_
signature ๐ - is_
most_ ๐derived_ contract - Slither analyzes the effective entry points of leaf contracts so inherited declarations are interpreted in the context in which they are ultimately deployed.
- is_
static_ ๐internal_ base super.f,Base.forLib.f: a statically dispatched internal call.- join ๐
- Joins
stateinto the accumulated state of the paths that reach a point. - protected_
variables ๐ - Protected state variables with their
@custom:security write-protection="<sig>"requirements;Nonemarks a malformed annotation. - protection_
targets ๐ - Guard functions and modifiers by Slither signature. Functions take precedence over modifiers; within a kind, linearization order keeps the most-derived declaration and drops shadowed ones.
- slither_
function_ ๐parameter - Formats the Solidity-signature types used by Slither function lookup.
- source_
type_ ๐signature - Formats the source-level types used by Slither modifier signatures.
- write_
protection_ ๐token - Byte offset of a standalone
write-protectiontoken incontent.
Type Aliasesยง
- RootMap ๐
- Storage
Roots ๐