Files
DLE/docs/DLE_MANAGEMENT_TASKS.md

34 KiB
Raw Blame History

Детальный план задач: Управление Digital Legal Entity (DLE)

Общие принципы разработки

Архитектурные требования

  • Single-Chain Governance: Голосование происходит только в одной выбранной сети
  • Мультиподпись токен-холдеров: Все операции требуют кворума подписей
  • Настраиваемые таймлоки: Инициатор устанавливает задержку для каждого предложения
  • Cross-chain исполнение: Решения выполняются во всех целевых сетях
  • Без админских ролей: Только коллективное управление через токен-холдеров

Технический стек

  • Frontend: Vue.js 3 + Composition API
  • Web3: ethers.js или web3.js
  • Контракты: Solidity + OpenZeppelin + ERC-4337
  • Стили: Scoped CSS с переменными

1. БЛОК "ПРЕДЛОЖЕНИЯ" (/management/proposals)

Задача 1.1: Создание предложений

Описание: Пользователь создает предложение для выполнения операции в DLE

Что нужно сделать:

  • Добавить форму создания предложения с полями:
    • Тип операции (управление токенами, казна, модули, настройки)
    • Описание операции (текстовое поле)
    • Выбор governance-сети (выпадающий список)
    • Выбор целевых сетей для исполнения (мультиселект)
    • Таймлок задержка в часах (числовое поле)
  • Подключить к контракту метод createProposal(operation, targetChains, timelockDelay)
  • Добавить валидацию: только токен-холдеры могут создавать предложения
  • Показывать предварительный расчет газа для создания предложения

Время: 8-12 часов

Задача 1.2: Подписание предложений

Описание: Токен-холдеры подписывают предложения для достижения кворума

Что нужно сделать:

  • Отображать список активных предложений с прогрессом подписей
  • Показывать для каждого предложения:
    • Текущее количество подписей / требуемый кворум
    • Список подписавших с их балансами токенов
    • Время до истечения таймлока
  • Добавить кнопку "Подписать" для токен-холдеров
  • Подключить к контракту метод signProposal(proposalId)
  • Проверять баланс токенов при подписании
  • Обновлять UI в реальном времени при новых подписях

Время: 10-14 часов

Задача 1.3: Исполнение предложений

Описание: Выполнение предложений после достижения кворума и истечения таймлока

Что нужно сделать:

  • Отображать статус предложений: "Ожидание", "Кворум достигнут", "Готово к исполнению", "Исполнено"
  • Добавить кнопку "Исполнить" для предложений готовых к исполнению
  • Подключить к контракту метод executeProposal(proposalId)
  • Показывать прогресс исполнения в целевых сетях
  • Обрабатывать ошибки исполнения и показывать fallback статусы
  • Добавить возможность отмены предложений до истечения таймлока

Время: 8-12 часов

Задача 1.4: История и фильтрация

Описание: Просмотр истории предложений с возможностью фильтрации

Что нужно сделать:

  • Добавить фильтры по:
    • Статусу предложения
    • Типу операции
    • Governance-сети
    • Периоду времени
  • Реализовать поиск по описанию предложения
  • Добавить пагинацию для больших списков
  • Показывать детали каждого предложения в модальном окне
  • Добавить ссылки на блокчейн-эксплореры для транзакций

Время: 6-8 часов


2. БЛОК "ТОКЕНЫ DLE" (/management/tokens)

Задача 2.1: Информация о токенах

Описание: Отображение основной информации о токенах DLE

Что нужно сделать:

  • Показывать общий supply токенов
  • Отображать баланс текущего пользователя
  • Показывать процент кворума для голосования
  • Отображать текущую рыночную стоимость токена (если доступна)
  • Подключить к контракту методы totalSupply(), balanceOf(address)
  • Обновлять данные в реальном времени при изменениях

Время: 4-6 часов

Задача 2.2: Передача токенов

Описание: Перевод токенов между участниками через кворум

Что нужно сделать:

  • Создать форму перевода с полями:
    • Адрес получателя
    • Количество токенов
    • Описание перевода
  • Создавать предложение для перевода токенов
  • Показывать статус предложения перевода
  • Валидировать баланс отправителя
  • Подключать к контракту через систему предложений

Время: 6-8 часов

Задача 2.3: Распределение токенов

Описание: Массовое распределение токенов новым участникам

Что нужно сделать:

  • Создать форму распределения с возможностью добавления множественных получателей
  • Поля для каждого получателя: адрес, количество токенов
  • Кнопки "Добавить получателя" и "Удалить получателя"
  • Создавать предложение для распределения
  • Показывать общую сумму распределения
  • Валидировать общий supply и права на минтинг

Время: 8-10 часов

Задача 2.4: Список держателей токенов

Описание: Отображение всех держателей токенов с их балансами

Что нужно сделать:

  • Получать список всех держателей токенов
  • Отображать для каждого держателя:
    • Адрес кошелька
    • Количество токенов
    • Процент от общего supply
    • Дата последней активности
  • Добавить сортировку по балансу, активности, адресу
  • Реализовать поиск по адресу
  • Показывать топ-10 держателей отдельно

Время: 6-8 часов


3. БЛОК "КВОРУМ" (/management/quorum)

Задача 3.1: Текущие настройки кворума

Описание: Отображение текущих параметров кворума

Что нужно сделать:

  • Показывать текущий процент кворума для голосования
  • Отображать минимальную задержку голосования
  • Показывать период голосования
  • Отображать порог для создания предложений
  • Подключать к контракту для получения актуальных значений
  • Показывать когда были изменены последние настройки

Время: 4-6 часов

Задача 3.2: Изменение настроек кворума

Описание: Создание предложения для изменения параметров кворума

Что нужно сделать:

  • Создать форму изменения настроек с полями:
    • Новый процент кворума (1-100%)
    • Новая задержка голосования (в часах)
    • Новый период голосования (в днях)
    • Новый порог для предложений (в токенах)
    • Причина изменения
  • Валидировать значения (кворум не менее 51%, разумные периоды)
  • Создавать предложение для изменения настроек
  • Показывать предварительный расчет влияния изменений
  • Добавить подтверждение критических изменений

Время: 8-10 часов

Задача 3.3: История изменений кворума

Описание: Просмотр истории изменений параметров кворума

Что нужно сделать:

  • Отображать список всех изменений кворума
  • Показывать для каждого изменения:
    • Старые и новые значения
    • Кто инициировал изменение
    • Когда было предложено и когда принято
    • Причину изменения
  • Добавить фильтрацию по периоду и типу изменений
  • Показывать статистику изменений (частота, тренды)

Время: 6-8 часов


4. БЛОК "МОДУЛИ DLE" (/management/modules)

Задача 4.1: Список установленных модулей

Описание: Отображение всех установленных модулей DLE

Что нужно сделать:

  • Получать список всех модулей из контракта
  • Отображать для каждого модуля:
    • Название и описание
    • Адрес контракта модуля
    • Версию модуля
    • Статус (активен/неактивен)
    • Дата установки
  • Показывать общую статистику модулей
  • Добавить поиск и фильтрацию по модулям

Время: 6-8 часов

Задача 4.2: Установка новых модулей

Описание: Добавление новых модулей через голосование

Что нужно сделать:

  • Создать форму установки модуля с полями:
    • Название модуля
    • Адрес контракта модуля
    • Описание функциональности
    • Параметры инициализации
    • Причина установки
  • Валидировать адрес контракта и совместимость
  • Создавать предложение для установки модуля
  • Показывать предварительную проверку модуля
  • Добавить возможность тестирования модуля перед установкой

Время: 10-12 часов

Задача 4.3: Управление модулями

Описание: Активация, деактивация и удаление модулей

Что нужно сделать:

  • Добавить кнопки управления для каждого модуля:
    • Активировать/деактивировать
    • Обновить версию
    • Удалить модуль
  • Создавать предложения для каждого действия
  • Показывать зависимости между модулями
  • Предупреждать о критических операциях
  • Добавить возможность отката изменений

Время: 8-10 часов

Задача 4.4: Интерфейсы модулей

Описание: Встраивание интерфейсов управления модулями

Что нужно сделать:

  • Создать систему встраивания интерфейсов модулей
  • Каждый модуль может предоставлять свой UI
  • Безопасное взаимодействие между основным приложением и модулями
  • Единообразный стиль для всех модулей
  • Добавить документацию для разработчиков модулей

Время: 12-16 часов


5. БЛОК "DLE" (Интеграция с другими DLE) (/management/dle)

Задача 5.1: Список подключенных DLE

Описание: Отображение DLE, с которыми установлена интеграция

Что нужно сделать:

  • Показывать карточки всех подключенных DLE
  • Для каждого DLE отображать:
    • Название и описание
    • Адрес контракта
    • Количество токенов этого DLE в нашем балансе
    • Процент голосов, который мы можем использовать
    • Статус подключения
  • Добавить возможность удаления DLE из списка
  • Показывать общую статистику интеграций

Время: 6-8 часов

Задача 5.2: Добавление новых DLE

Описание: Подключение новых DLE для участия в их голосованиях

Что нужно сделать:

  • Создать форму добавления DLE с полями:
    • Название DLE
    • Адрес контракта DLE
    • Описание и назначение
    • Причина подключения
  • Валидировать адрес и проверять существование контракта
  • Проверять баланс токенов этого DLE
  • Создавать предложение для добавления DLE
  • Показывать предварительную информацию о DLE

Время: 8-10 часов

Задача 5.3: Участие в голосованиях других DLE

Описание: Голосование в предложениях других DLE через наш кворум

Что нужно сделать:

  • Отображать активные предложения других DLE
  • Показывать для каждого предложения:
    • Описание и тип операции
    • Наш возможный вес голоса
    • Текущий статус голосования
    • Время до истечения
  • Создавать внутренние предложения для голосования в других DLE
  • Собирать кворум подписей для внешнего голосования
  • Отправлять голос в целевое DLE после достижения кворума

Время: 12-16 часов

Задача 5.4: Встраивание интерфейсов управления

Описание: Управление другими DLE через встроенные интерфейсы

Что нужно сделать:

  • Создать систему встраивания интерфейсов других DLE
  • Безопасное отображение внешних интерфейсов в iframe
  • Передача контекста аутентификации
  • Обработка событий и обновлений
  • Единообразный стиль и навигация
  • Добавить возможность открытия в новой вкладке

Время: 16-20 часов


6. БЛОК "КАЗНА" (/management/treasury)

Задача 6.1: Баланс казны

Описание: Отображение всех активов казны DLE

Что нужно сделать:

  • Показывать балансы всех токенов в казне:
    • Нативные токены (ETH, MATIC, BNB и т.д.)
    • ERC-20 токены
    • NFT и другие активы
  • Отображать общую стоимость в USD
  • Показывать историю изменений баланса
  • Добавить графики движения средств
  • Подключать к контракту для получения актуальных данных

Время: 8-10 часов

Задача 6.2: Операции с казной

Описание: Выполнение финансовых операций через кворум

Что нужно сделать:

  • Создать формы для различных операций:
    • Отправка средств (нативные токены, ERC-20)
    • Получение средств
    • Обмен токенов
    • Инвестиции в DeFi протоколы
  • Создавать предложения для каждой операции
  • Валидировать балансы и права доступа
  • Показывать предварительный расчет газа и комиссий
  • Добавить подтверждение критических операций

Время: 12-16 часов

Задача 6.3: Распределение дивидендов

Описание: Выплата дивидендов токен-холдерам

Что нужно сделать:

  • Создать форму распределения дивидендов:
    • Выбор токена для выплаты
    • Общая сумма дивидендов
    • Пропорциональное распределение по балансам
  • Показывать предварительный расчет выплат каждому держателю
  • Создавать предложение для выплаты дивидендов
  • Отслеживать статус выплат
  • Показывать историю дивидендных выплат

Время: 10-12 часов

Задача 6.4: Бюджетирование и отчеты

Описание: Планирование и контроль расходов казны

Что нужно сделать:

  • Создать систему бюджетирования:
    • Установка лимитов расходов
    • Категоризация операций
    • Планирование расходов
  • Генерировать отчеты:
    • Месячные/квартальные отчеты
    • Анализ доходов и расходов
    • Прогнозы движения средств
  • Добавить уведомления о превышении лимитов
  • Экспорт отчетов в PDF/CSV

Время: 12-16 часов


7. БЛОК "АНАЛИТИКА" (/management/analytics)

Задача 7.1: Ключевые метрики

Описание: Отображение основных показателей DLE

Что нужно сделать:

  • Показывать ключевые метрики:
    • Общая стоимость активов (TVL)
    • Количество активных участников
    • Количество предложений за период
    • Средняя доходность
  • Добавить сравнение с предыдущими периодами
  • Показывать тренды и изменения
  • Подключать реальные данные из контрактов

Время: 8-10 часов

Задача 7.2: Графики и визуализация

Описание: Создание интерактивных графиков и диаграмм

Что нужно сделать:

  • Интегрировать библиотеку для графиков (Chart.js, D3.js)
  • Создать графики:
    • Стоимость токенов во времени
    • Активность участников по дням/неделям
    • Распределение токенов между держателями
    • Движение средств в казне
  • Добавить интерактивность (зум, фильтры, детализация)
  • Реализовать экспорт графиков

Время: 12-16 часов

Задача 7.3: Статистика и отчеты

Описание: Детальная аналитика и отчетность

Что нужно сделать:

  • Создать разделы статистики:
    • Топ держателей токенов
    • Самые активные участники
    • История предложений и голосований
    • Финансовая статистика
  • Добавить фильтры по периодам
  • Создать настраиваемые дашборды
  • Реализовать автоматическую генерацию отчетов

Время: 10-14 часов

Задача 7.4: Прогнозирование и тренды

Описание: Анализ трендов и прогнозирование

Что нужно сделать:

  • Анализировать исторические данные для выявления трендов
  • Создавать прогнозы:
    • Движение стоимости токенов
    • Активность участников
    • Финансовые показатели
  • Показывать аномалии и важные события
  • Добавить уведомления о значимых изменениях

Время: 14-18 часов


8. БЛОК "ИСТОРИЯ" (/management/history)

Задача 8.1: Лог всех операций

Описание: Отображение полной истории операций DLE

Что нужно сделать:

  • Собирать и отображать все типы операций:
    • Создание и исполнение предложений
    • Операции с токенами
    • Казначейские операции
    • Изменения настроек
    • Модульные операции
  • Для каждой операции показывать:
    • Тип и описание
    • Время выполнения
    • Участники
    • Статус выполнения
    • Ссылки на транзакции

Время: 10-12 часов

Задача 8.2: Фильтрация и поиск

Описание: Удобный поиск и фильтрация истории

Что нужно сделать:

  • Добавить фильтры по:
    • Типу операции
    • Периоду времени
    • Участникам
    • Статусу
    • Сетям
  • Реализовать полнотекстовый поиск
  • Добавить сохранение фильтров
  • Создать быстрые фильтры (сегодня, неделя, месяц)

Время: 8-10 часов

Задача 8.3: Детали операций

Описание: Подробная информация о каждой операции

Что нужно сделать:

  • Создать модальные окна с деталями операций
  • Показывать полную информацию:
    • Параметры операции
    • Участники и их роли
    • Результат выполнения
    • Ошибки и предупреждения
  • Добавить ссылки на блокчейн-эксплореры
  • Показывать связанные операции

Время: 8-10 часов

Задача 8.4: Экспорт и отчеты

Описание: Экспорт истории в различные форматы

Что нужно сделать:

  • Реализовать экспорт в форматы:
    • CSV для анализа в Excel
    • PDF для отчетов
    • JSON для интеграции
  • Добавить настройки экспорта (период, типы операций)
  • Создать шаблоны отчетов
  • Добавить автоматическую отправку отчетов

Время: 6-8 часов


9. БЛОК "НАСТРОЙКИ" (/management/settings)

Задача 9.1: Основные настройки DLE

Описание: Управление основной информацией о DLE

Что нужно сделать:

  • Создать форму основных настроек:
    • Название DLE
    • Символ токена
    • Описание и назначение
    • Местонахождение
    • Веб-сайт
  • Подключать к контракту для сохранения изменений
  • Валидировать данные перед сохранением
  • Показывать историю изменений

Время: 6-8 часов

Задача 9.2: Настройки безопасности

Описание: Управление параметрами безопасности

Что нужно сделать:

  • Создать форму настроек безопасности:
    • Минимальный кворум для голосования
    • Максимальная длительность предложений
    • Порог для экстренных действий
    • Задержка таймлока по умолчанию
    • Дополнительные настройки (делегирование, KYC)
  • Добавить предупреждения о критических изменениях
  • Создавать предложения для изменения настроек
  • Показывать влияние изменений на безопасность

Время: 10-12 часов

Задача 9.3: Настройки сети

Описание: Управление сетевыми параметрами

Что нужно сделать:

  • Создать форму настроек сети:
    • Выбор поддерживаемых сетей
    • Сеть по умолчанию для governance
    • RPC endpoints для каждой сети
    • Настройки синхронизации
  • Тестировать подключение к сетям
  • Показывать статус каждой сети
  • Добавить возможность добавления новых сетей

Время: 8-10 часов

Задача 9.4: Резервное копирование

Описание: Экспорт и импорт настроек

Что нужно сделать:

  • Реализовать экспорт всех настроек в JSON
  • Создать импорт настроек из файла
  • Валидировать импортируемые данные
  • Добавить предварительный просмотр изменений
  • Создать автоматическое резервное копирование

Время: 6-8 часов

Задача 9.5: Опасная зона

Описание: Критические операции с DLE

Что нужно сделать:

  • Создать раздел опасных операций:
    • Сброс настроек к значениям по умолчанию
    • Полное удаление DLE
    • Экстренная остановка операций
  • Добавить множественные подтверждения
  • Показывать последствия каждой операции
  • Создать логирование критических действий

Время: 8-10 часов


ОБЩИЕ ЗАДАЧИ ДЛЯ ВСЕХ БЛОКОВ

Задача 0.1: Подготовка инфраструктуры

Описание: Настройка базовой инфраструктуры для всех блоков

Что нужно сделать:

  • Настроить web3-провайдеры для всех поддерживаемых сетей
  • Создать абстракции для работы с контрактами
  • Настроить обработку ошибок и уведомления
  • Создать систему кэширования данных
  • Настроить мониторинг состояния сетей

Время: 16-20 часов

Задача 0.2: Интеграция с контрактами

Описание: Подключение всех блоков к смарт-контрактам

Что нужно сделать:

  • Создать интерфейсы для всех методов контрактов
  • Реализовать обработку событий контрактов
  • Настроить подписки на изменения состояния
  • Добавить обработку ошибок транзакций
  • Реализовать retry механизмы для неудачных транзакций

Время: 20-24 часа

Задача 0.3: Тестирование и отладка

Описание: Комплексное тестирование всех функций

Что нужно сделать:

  • Создать unit-тесты для всех компонентов
  • Написать e2e тесты для основных сценариев
  • Протестировать работу в разных сетях
  • Провести нагрузочное тестирование
  • Исправить найденные ошибки

Время: 24-32 часа

Задача 0.4: Оптимизация и производительность

Описание: Улучшение производительности и пользовательского опыта

Что нужно сделать:

  • Оптимизировать загрузку данных
  • Добавить lazy loading для больших списков
  • Реализовать кэширование на клиенте
  • Оптимизировать размер бандла
  • Добавить прогресс-индикаторы для длительных операций

Время: 16-20 часов


ПРИОРИТЕТЫ РАЗРАБОТКИ

Высокий приоритет (MVP)

  1. Предложения - базовая функциональность
  2. Токены DLE - основные операции
  3. Кворум - текущие настройки
  4. Настройки - основные параметры

Средний приоритет

  1. Казна - базовые операции
  2. История - лог операций
  3. Аналитика - ключевые метрики
  4. Модули - список и управление

Низкий приоритет

  1. DLE - интеграция с другими DLE
  2. Расширенная аналитика
  3. Сложные отчеты
  4. Встраивание интерфейсов

ОЦЕНКА ВРЕМЕНИ

Общее время разработки: 280-380 часов

Разбивка по блокам:

  • Предложения: 32-46 часов
  • Токены DLE: 24-32 часа
  • Кворум: 18-24 часа
  • Модули DLE: 36-46 часов
  • DLE (интеграция): 42-54 часа
  • Казна: 42-54 часа
  • Аналитика: 44-58 часа
  • История: 32-40 часов
  • Настройки: 38-48 часов
  • Общие задачи: 76-96 часов

Рекомендации:

  • Начать с MVP (высокий приоритет)
  • Разрабатывать параллельно несколько блоков
  • Использовать готовые компоненты где возможно
  • Регулярно тестировать интеграцию с контрактами