Процесс установки и обновления глобальных параметров работы контракта для конкретного кооператива, включая параметры голосования, распределения премий и временных ограничений.
Назначение процесса
Конфигурация определяет ключевые параметры функционирования системы:
- Размеры премий и их распределение между участниками
- Временные рамки для различных операций
- Лимиты и ограничения на операции
- Процентные соотношения для расчетов
sequenceDiagram
participant Кооператив
participant Capital_Contract
Кооператив->>Capital_Contract: 1. Установка конфигурации
Note over Capital_Contract: Проверка авторизации кооператива
Capital_Contract->>Capital_Contract: 2. Валидация параметров
Capital_Contract->>Capital_Contract: 3. Проверка существования конфигурации
alt Конфигурация не существует
Capital_Contract->>Capital_Contract: 4. Создание новой записи
else Конфигурация существует
Capital_Contract->>Capital_Contract: 4. Обновление существующей записи
end
Capital_Contract-->>Кооператив: Успешная установка конфигурации
Пошаговое описание процесса
Шаг 1: Авторизация кооператива
Действие: Проверка авторизации от имени кооператива
Кооператив должен быть авторизован для изменения своих параметров. Это обеспечивает безопасность и предотвращает несанкционированные изменения конфигурации.
Шаг 2: Валидация параметров конфигурации
Действие: Установка конфигурации
Система проверяет корректность всех переданных параметров:
- Премия координатора должна быть в диапазоне от 0 до 10 процентов от инвестиций
- Процент доли пула расходов должен быть между 0 и 100 процентами от инвестиций
- Срок действия приглашения координатора должен быть не отрицательным числом дней
- Период голосования должен быть между 1 и 30 днями
- Процент премий авторов на голосовании должен быть между 0 и 100
- Процент премий создателей на голосовании должен быть между 0 и 100
Валидация предотвращает установку некорректных значений, которые могут нарушить экономическую модель или логику работы системы.
Шаг 3: Создание или обновление конфигурации
Действие: Работа с таблицей Capital::global_state
Если конфигурация для кооператива не существует, создается новая запись. Если конфигурация уже есть, она обновляется новыми значениями.
- Постусловие
- Конфигурация сохранена в таблице Capital::global_state контракта
- Установлены корректные параметры работы системы для кооператива
- Кооператив может использовать контракт CAPITAL