Процесс удаления проекта из блокчейна после завершения всех финансовых операций и конвертации вкладов участников.
Назначение процесса
Удаление проекта обеспечивает:
- Освобождение ресурсов блокчейна от неактуальных данных
- Удаление проектов, все вклады в которых сконвертированы
- Очистку системы от завершенных проектов без активных участников
- Оптимизацию использования оперативной памяти блокчейна
- Предусловие
- Проект должен быть в статусе COMPLETED
- Все сегменты участников должны быть сконвертированы (удалены)
- В проектном кошельке должно быть 0 total_shares
sequenceDiagram
participant К as Кооператив
participant ПК as Контракт Capital
participant П as Проект
participant С as Сегменты
К->>ПК: 1. Инициация удаления проекта
Note over ПК: Проверка статуса проекта
ПК->>П: 2. Проверка статуса COMPLETED
ПК->>С: 3. Проверка наличия сегментов
alt Сегменты отсутствуют
ПК->>П: 4. Проверка total_shares = 0
alt total_shares = 0
ПК->>П: 5. Удаление проекта
else total_shares > 0
ПК->>К: Ошибка: есть доли в кошельке
end
else Сегменты есть
ПК->>К: Ошибка: не все сегменты сконвертированы
end
Пошаговое описание процесса
Шаг 1: Инициация удаления проекта
Действие: Удаление проекта
Кооператив инициирует процесс удаления проекта после завершения всех финансовых операций и конвертации вкладов участников.
- Постусловие
- Проверка авторизации кооператива
Шаг 2: Проверка статуса проекта
Действие: Валидация состояния
Система проверяет, что проект находится в статусе COMPLETED. Только завершенные проекты могут быть удалены.
- Постусловие
- Подтвержден статус COMPLETED проекта
Шаг 3: Проверка конвертации сегментов
Действие: Валидация завершенности конвертации
Система проверяет, что все сегменты участников сконвертированы и удалены из системы. Если сегменты остались, удаление невозможно.
- Постусловие
- Подтверждено отсутствие сегментов проекта
Шаг 4: Проверка проектного кошелька
Действие: Валидация финансового состояния
Система проверяет, что в проектном кошельке нет активных долей (total_shares = 0). Если доли остались, их необходимо вывести.
- Постусловие
- Подтверждено отсутствие долей в проектном кошельке
Шаг 5: Удаление проекта
Действие: Финальная очистка
После всех проверок система удаляет запись проекта из таблицы проектов.
- Постусловие
- Полное удаление проекта из блокчейна
-
Освобождение ресурсов оперативной памяти
- Заметки
- Проект может быть удален только после полной конвертации всех вкладов участников и вывода всех долей из проектного кошелька.