Skip to main content

Котировки и обмен активами

Раздел описывает логику процесса запроса и получения Котировок, и последующего Двустороннего обмена активами на условиях DvP.

Обработка котировок

Серверная часть Участника ОФУ формирует Запрос котировок и передаёт её в объекте requestQuotation через конечную точку /exchange/quotations/request.

  • Служба котировок обрабатывает запрос и отправляет квитанцию об успешном Запросе котировок requestQuotationResult, содержащую уникальный идентификатор Запроса котировок, по которому Участник ОФУ будет отслеживать и получать Котировки от других Участников.

  • Служба котировок будет запрашивать внутренний Реестр участников, чтобы найти Участников ПФУ, которые могут предоставить Котировки.

  • Служба котировок будет выполнять асинхронные вызовы к доверенным Участникам и передавать идентификатор Запроса котировок. Ответить на Запрос котировок смогут Участники, включённые в Разрешённый список.

  • В случае если время Запроса котировок истекло, Служба котировок автоматически удалит запрос.

Серверная часть Участника ПФУ получает Запрос котировок через Шлюзовую службу сообщений Kafka и принимает решение, ответить Котировкой или проигнорировать запрос.

В случае если принимается решение ответить котировкой, серверная часть Участника ПФУ формирует условия Котировки quotationInfo, а затем делает вызов в конечную точку /sign/payload для подписания полезной нагрузки quotationInfo, в ответ серверная часть Участника ПФУ получит подпись объекта, необходимую для отправки Котировки. Для завершения публикации Котировки, серверная часть Участника ПФУ формирует полезную нагрузку quotationObject и передаёт в конечную точку /exchange/quotations/{quotation_uuid}, в ответ Служба котировок вернёт подтверждение об успешной отправке Котировки.

  • Если время действия Котировки истекло, Служба котировок автоматически удалит Котировку.

  • Серверная часть Участника ПФУ может отменить котировку с помощью конечной точки DELETE /exchange/quotations/{quotation_uuid} или все Котировки, используя конечную точку DELETE /exchange/quotations. Если Участник ОФУ принял Котировку, отменить Котировку невозможно.

  • Серверная часть Участника ПФУ может получить список всех Котировок, которые были предоставлены Участникам с помощью конечной точки POST/GET /exchange/quotations.

Серверная часть Участника ОФУ получает Котировку через Шлюзовую службу сообщений Kafka и принимает дальнейшее решение об обмене Активами.

  • В случае принятия решения об обмене активами, Участнику ОФУ требуется действовать в соответствии с условиями Котировки, чтобы завершить Расчёт на условиях DvP.
  • Серверная часть Участника ОФУ может получить все Котировки по идентификатору Запроса котировок с помощью конечной точки GET /exchange/quotations/request/{request_uuid}.

Обработка обмена Активами

Серверная часть Участника ОФУ формирует сведения об обмене активами exchangeInfo в соответствии с полученной Котировкой, а затем делает вызов в конечную точку /sign/payload для подписания полезной нагрузки, в ответ серверная часть Участника ОФУ получит подпись объекта, необходимую для инициализации запроса обмена активами. Серверная часть Участника ОФУ объединяет сведения exchangeInfo и подпись memberSignedPayload в объекте exchangeObject, а затем передаёт exchangeObject в конечную точку /exchange.

  • Служба котировок получает запрос и проверяет статус Котировки в базе данных для предотвращения атаки повторного воспроизведения и проблемы параллелизма.

  • Служба котировок запрашивает у внутренней Службы управления транзакциями центральный счёт TKEY7 и порядковый номер транзакции.

  • Служба котировок формирует транзакцию для Распределённого реестра на основе полученных сведений.

Атомарная транзакция

# Адрес счёта Участника ОФУ, с которого будет списан базовый актив
TAKU63TTBEQA5VSOZHGF3W25OAQMM3F4OGCAYM3QHPXC6T25DTGBZJVJ
# Адрес счёта Участнику ПФУ, на который будет зачислен базовый актив
TBHFFM2LWJWNF5XLLCQZMFY7PKET3SLL2DHVMWK5PQAHKNEEPRJ4J5QQ
# Сумма в базовом активе
100777
# Код актива
RUB
# Адрес счёта Эмитента актива
  • Служба котировок делает асинхронные вызовы в Службы электронной подписи Участников ОФУ и ПФУ.

  • Служба электронной подписи Участника ОФУ подписывает транзакцию и возвращает подпись.

  • Служба электронной подписи Участника ПФУ проверяет подпись Котировки, затем подписывает транзакцию и возвращает подпись.

  • Служба котировок делает вызов во внутреннюю Службу управления транзакциями и передаёт транзакцию с подписями Участников.

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

  • Служба управления транзакциями делает вызов во внутреннюю Службу коннектора и передаёт транзакцию с подписями Участников в TKEY7.

  • Служба коннектора отправляет транзакцию в Распределённый реестр для проверки и последующей записи.

  • Распределённый реестр проверяет транзакцию и после достижения консенсуса, транзакция регистрируется в неизменяемом Реестре.

  • Служба коннектора отправляет идентификатор успешной транзакции в Службу котировок.

  • Служба котировок отправляет квитанцию о завершении Расчёта на условиях DvP, которая содержит идентификатор успешной транзакции в Распределённом реестре.

Page last updated: 26 November 2022