Как обновить позицию действий вместе с результатом редуктора Mina
Отправка действия zkApp записывает данные для последующей обработки. Вместе с накопленным результатом счётчику нужна позиция уже обработанных действий.
Обработайте необработанный хвост
Пусть обработанный счётчик равен 100 на позиции S0. Получите действия после S0 и примените +3 и +4 в порядке редуктора. Привяжите стартовые позицию и сумму к текущему состоянию zkApp и одним обновлением запишите конечную позицию и значение 107.
processed action cursor = S0, total = 100
pending actions = [+3, +4]
next commit: cursor S2, total 107
Обнаруживайте пересечение обработчиков
Если два обработчика построили доказательства от S0, предусловие актуальности должно остановить второй после фиксации первого. Действие, поступившее за выбранной границей, останется до следующего прохода. В интерфейсе раздельно показывайте поступившие действия и уже обработанный результат.