Position

Механизм Управления Позициями в Dywe

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


1. Открытие Позиции

Процесс открытия позиции включает несколько этапов:

  1. Формирование транзакции – пользователь инициирует открытие позиции (Open Position) через интерфейс платформы.

  2. Отправка данных в Master Contract – фронтенд формирует транзакцию и отправляет ее в Master Contract.

  3. Обработка данных – Master Contract десериализует входные параметры и передает их в User Contract, который выполняет функции базы данных (хранение и обработка информации о позициях).

  4. Проверка статуса транзакции – Frontend передает BOC (Bag of Cells) транзакции в Backend и запрашивает статус операции.

    • Если позиция успешно открыта, пользователь получает подтверждение.

    • В случае ошибки отображается соответствующее уведомление.


2. Закрытие Позиции

Закрытие позиции выполняется следующим образом:

  1. Инициирование закрытия – пользователь отправляет команду Close Position через интерфейс.

  2. Обмен данными между контрактами

    • Запрос отправляется на User Contract.

    • User Contract передает сообщение Master Contract, содержащие параметры закрываемой позиции.

    • Master Contract направляет сообщение в Liquidity Pool, указывая сумму X USDT, которую необходимо начислить пользователю.

    • Liquidity Pool выполняет транзакцию, отправляя средства на адрес пользователя.


3. Ликвидация Позиции

Процесс ликвидации позиции аналогичен закрытию, но с одним ключевым отличием:

  • Liquidity Pool не производит выплат пользователю, так как ликвидация означает полную потерю маржинального обеспечения.

  • В остальном процедура передачи данных между контрактами остается неизменной.

Этот механизм обеспечивает надежное исполнение торговых операций и защищает ликвидность системы.

Last updated