Position
Механизм Управления Позициями в Dywe
В Dywe управление позициями реализовано через взаимодействие Frontend, Backend и двух основных контрактов: Master Contract (главный контракт позиций) и User Contract (контракт пользователя).
1. Открытие Позиции

Процесс открытия позиции включает несколько этапов:
Формирование транзакции – пользователь инициирует открытие позиции (Open Position) через интерфейс платформы.
Отправка данных в Master Contract – фронтенд формирует транзакцию и отправляет ее в Master Contract.
Обработка данных – Master Contract десериализует входные параметры и передает их в User Contract, который выполняет функции базы данных (хранение и обработка информации о позициях).
Проверка статуса транзакции – Frontend передает BOC (Bag of Cells) транзакции в Backend и запрашивает статус операции.
Если позиция успешно открыта, пользователь получает подтверждение.
В случае ошибки отображается соответствующее уведомление.
2. Закрытие Позиции

Закрытие позиции выполняется следующим образом:
Инициирование закрытия – пользователь отправляет команду Close Position через интерфейс.
Обмен данными между контрактами
Запрос отправляется на User Contract.
User Contract передает сообщение Master Contract, содержащие параметры закрываемой позиции.
Master Contract направляет сообщение в Liquidity Pool, указывая сумму X USDT, которую необходимо начислить пользователю.
Liquidity Pool выполняет транзакцию, отправляя средства на адрес пользователя.
3. Ликвидация Позиции
Процесс ликвидации позиции аналогичен закрытию, но с одним ключевым отличием:
Liquidity Pool не производит выплат пользователю, так как ликвидация означает полную потерю маржинального обеспечения.
В остальном процедура передачи данных между контрактами остается неизменной.
Этот механизм обеспечивает надежное исполнение торговых операций и защищает ликвидность системы.
Last updated