{% extends "base.html" %} {% block title %}Index — Solidity Flow Navigator{% endblock %} {% block body_class %}index-page{% endblock %} {% block content %}

Index

{# v0.10.4: native title tooltips on the stats and per-entry badges — the d{N} / "N unr" shorthand was unexplained anywhere in the UI. #} {# v0.11.0: labels pluralize with their counts; the repo-path subtitle that duplicated the site header's path is gone (spec §8.3). #}

Scope · excluded {% for glob in scope.exclude_paths -%} {{ glob }}{% if not loop.last %},{% endif %} {% endfor %} · stub {%- if scope.stub_paths %} {% for glob in scope.stub_paths -%} {{ glob }}{% if not loop.last %},{% endif %} {% endfor %} {%- else %} none {%- endif %}

{# v0.12.0 (spec §8.3): chips legend — each key renders through the SAME classes as the live chips so the legend stays self-verifying. Renders unconditionally to keep page layout stable across targets. #}

Legend · modifier gate on a mutating entry, none = unguarded · 2 unr unresolved call sites · d3 max call depth

{% for group in groups %} {% if group.contracts %}

{{ group.label }}

{% for contract in group.contracts %}

{{ contract.name }} {{ contract.source_path }}

{% if contract.mutating_entry_points %}

Mutating · {{ contract.mutating_count }}

    {% for ep in contract.mutating_entry_points %}
  • {# v0.11.0 (spec §8.3): no Contract. prefix — the block heading names the contract; modifier chips render on mutating rows only (no chips = unprotected mutating entry point). #} {{ ep.signature_html | safe }} {%- for m in ep.modifier_names %} {{ m }} {%- endfor %}
  • {% endfor %}
{% endif %} {% if contract.read_only_entry_points %}

Read-only · {{ contract.read_only_count }}

    {% for ep in contract.read_only_entry_points %}
  • {# v0.11.0: read-only rows carry no modifier chips (deliberate asymmetry, spec §8.3) but share the entry-main wrapper. #} {{ ep.signature_html | safe }}
  • {% endfor %}
{% endif %}
{% endfor %}
{% endif %} {% endfor %} {% endblock %}