Начало голосования обеспечивает переход от генерации к оценке результата, инициализацию процедуры голосования по методу Водянова, расчет сумм для справедливого распределения и установку временных рамок для оценки вклада участников в проект.
sequenceDiagram
participant К as Кооператив
participant ПК as Контракт Capital
participant П as Проект
К->>ПК: 1. Инициация голосования
Note over ПК: Проверка готовности проекта
ПК->>П: 2. Проверка статуса проекта
alt Проект в статусе ACTIVE
П->>ПК: 3. Подтверждение статуса
ПК->>П: 4. Перевод в статус VOTING
ПК->>П: 5. Инициализация голосования
П->>К: 6. Голосование начато
else Проект не в статусе ACTIVE
ПК->>К: Ошибка: проект не в статусе active
end
Пошаговое описание процесса
Шаг 1: Инициация голосования
Действие: Начало голосования
Кооператив инициирует начало голосования после завершения всех запланированных работ проекта и готовности результата к взносу в кооператив.
- Постусловие
- Проверка авторизации кооператива
Шаг 2: Проверка готовности проекта
Действие: Валидация активного статуса
Система проверяет, что проект находится в статусе ACTIVE, что означает завершение основных работ и готовность к переходу в фазу оценки результата.
- Постусловие
- Подтвержден статус ACTIVE проекта
Шаг 3: Перевод в статус голосования
Действие: Активация фазы оценки
Система переводит проект в статус VOTING, что прекращает прием новых коммитов, активирует процедуры голосования и переводит проект в фазу оценки результата.
- Постусловие
- Статус проекта изменен на VOTING
Шаг 4: Инициализация голосования по методу Водянова
Действие: Подготовка процедуры оценки
Система инициализирует все параметры голосования, рассчитывает суммы для распределения по методу Водянова, устанавливает дедлайн голосования, определяет участников голосования и подготавливает структуры данных для голосов.
- Постусловие
- Голосование по методу Водянова инициализировано
-
Установлен дедлайн голосования
-
Рассчитаны суммы для распределения
Расчет сумм по методу Водянова
При инициализации голосования формируется общий пул средств для распределения по методу Водянова. Эти средства поступают из части премий авторов и создателей проекта, которые направляются в пул для голосования согласно процентным конфигурациям контракта, установленным через настройку конфигурации кооператива.
Из общих премий участников выделяются две части:
- Часть авторских премий, которая направляется на голосование (по умолчанию 38.2%)
- Часть премий создателей, которая направляется на голосование (по умолчанию 38.2%)
Эти выделенные суммы формируют общий пул для голосования, из которого участники проекта распределяют средства между собой в процессе взаимной оценки.
- Заметки
- Процентные значения для распределения премий в пул голосования настраиваются кооперативом через конфигурацию контракта и могут быть изменены в соответствии с внутренними правилами кооператива.
При инициализации рассчитываются следующие суммы:
- authors_equal_spread - равное распределение для авторов
- authors_bonuses_on_voting - авторские премии на голосование
- creators_direct_spread - прямое распределение создателям
- creators_bonuses_on_voting - премии создателей на голосование
- total_voting_pool - общий пул для голосования
Параметры голосования
Временные рамки:
- Период голосования устанавливается из конфигурации кооператива
- По умолчанию 7 дней, может изменяться кооперативом
- Дедлайн фиксируется при инициализации
Участники голосования:
- Авторы проекта
- Создатели с коммитами
Условия для начала голосования
Обязательные требования:
- Проект в статусе ACTIVE
- Все запланированные работы выполнены
- Результат готов к взносу в кооператив
- Команда готова к взаимной оценке
Последствия инициализации:
- Прекращается прием новых коммитов
- Запрещаются изменения в составе команды
- Фиксируются окончательные данные для расчетов
Результат процесса
- Постусловие
- Проект переведен в фазу голосования
- Рассчитаны все суммы для распределения
- Установлены временные рамки голосования
- Участники могут приступать к взаимной оценке
Связанные процессы