{% extends "layout.njk" %}

{% import "macros.njk" as macros %}

{% block main %}
syntax = "proto3";

package vixen.parser.{{ protoProjectName }};

{% for type in definedTypes %}
{{ type }}
{% endfor %}

{% for type in types %}
{{ type }}
{% endfor %}

{% for account in accounts %}
{{ account }}
{% endfor %}

{% for ix in instructions %}
{{ ix.accounts }}
{{ ix.args }}
{% endfor %}

message ProgramState {
    oneof state_oneof {
    {% for account in programStateOneOf %}
    {{ account }}
    {% endfor %}
    }
}

message ProgramIxs {
    oneof ix_oneof {
    {% for ix in programIxsOneOf %}
    {{ ix }}
    {% endfor %}
    }
}

{% endblock %}