{% extends "base.html" %}
{% block title %}Index — Solidity Flow Navigator{% endblock %}
{% block body_class %}index-page{% endblock %}
{% block content %}
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 %}
{% 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 %}
{%- if ep.unresolved_count > 0 -%}
{{ ep.unresolved_count }} unr
·
{%- endif -%}
d{{ ep.max_depth }}
{% 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 }}
{%- if ep.unresolved_count > 0 -%}
{{ ep.unresolved_count }} unr
·
{%- endif -%}
d{{ ep.max_depth }}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endblock %}