Одна арифметика
Публичные данные, любой узел
Собственный полный узел
Маржинальное требование
Цена ликвидации
Отбор для автоделевериджа
Платёж финансирования
Блок, побайтно
Двум из пяти сеть не нужна вовсе: это чистые функции над опубликованной записью ступеней.
1 · Маржинальное требование
Что нужно: запись ступеней плеча и размер позиции. Больше ничего. Ни узла, ни сети, ни счёта. Начальная и поддерживающая маржа — чистые функции номинала и записи ступеней; формулы и точное округление приведены на странице Плечо: Записи ступеней публикуются в группе DEX Config справочника API —im_leverage, mm_leverage, общий exponent и deduction для каждой ступени. Возьмите номинал, вычислите оба выражения на бумаге и сравните с тем, что площадка берёт с такой же позиции.
Что доказывается: требование — опубликованная функция от публичных параметров, а не решение по каждому счёту отдельно. Что не доказывается: что сама запись ступеней выбрана удачно. Это вопрос управления, а не арифметики.
Округление — часть спецификации, а не допуск. Если ваше целое расходится с площадкой на единицу, одно из двух неверно; прежде чем решать какое, посмотрите правила округления на странице Клиринговая палата.
2 · Цена ликвидации
Что нужно: та же запись ступеней плюс ваш баланс и позиция. Порог — это коэффициент, определённый на странице Ликвидации: Чистое обеспечение — это баланс плюс нереализованный P&L минус то, что зарезервировали стоящие ордера. Решите относительно маркировочной цены, при которой коэффициент достигает порога, и вы получите цену, на которой протокол сработает, — до того, как он сработает. Что доказывается: порог выводится заранее из ваших собственных чисел. Что не доказывается: цену, по которой вас действительно закроют: она зависит от стакана в тот момент и ограничена ценой банкротства.3 · Отбор для автоделевериджа
Что нужно: открытые позиции и маркировочные цены по одному рынку — с любого полного узла. Отбор — это балл, определённый на странице Автоделеверидж: Возьмите позиции рынка из группы Accounts, удостоверенную цену из группы Oracle, посчитайте балл для каждой позиции на прибыльной стороне и отсортируйте. Этот порядок и есть очередь. Сравните голову вашей очереди с индикатором ADL, который показывает интерфейс. Что доказывается: очередь — функция публичного состояния. Никто не выбирает, и в ней нет позиции, которую не нашла бы ваша собственная арифметика. Что не доказывается: что автоделеверидж до вас не дойдёт. Очередь, которую вы умеете посчитать, — всё ещё очередь, в которой вы можете стоять.4 · Платёж финансирования
Что нужно: стакан и удостоверенный индекс на раунд расчёта плюс ваша позиция. Ставка собирается в три шага на странице Финансирование — премия, взвешенная по глубине, масштабирование под интервал рынка, затем зажим: Затем сам платёж: Стакан берётся из группы Markets, удостоверенный индекс — из Oracle, а фактически проведённый протоколом платёж — из эндпоинта платежей финансирования в группе Accounts. Пересчитайте и сравните. Что доказывается: ставка выведена из стакана и индекса, а не назначена оператором. Что не доказывается: что индекс был верен. См. что оракул гарантирует и чего не гарантирует.5 · Блок, побайтно
Что нужно: собственный полный узел. Запустить его может кто угодно — см. Запуск узла.Это единственная проверка на странице, недоступная сегодня. До открытия публичного доступа сеть работает на приватном тестнете, так что первые четыре можно выполнить уже сейчас, а эта станет выполнимой тогда. Она здесь потому, что остальные четыре стоят ровно столько, сколько стоит она.
Что всё это не покрывает
Проверка ограничивает то, что приходится принимать на веру, но не устраняет этого. Что остаётся — набор валидаторов, кворум по ценам, досягаемость управления до параметров и мост — перечислено на странице Допущения о доверии. Читайте её следующей, если пришли за границами, а не за гарантиями.Что дальше
Допущения о доверии
Что остаётся, когда проверено всё проверяемое.
Запуск узла
Железо, синхронизация и то, что валидатор действительно запускает.
IntentionKernel
Четыре замыкания, которые придают повтору смысл.
Справочник API
Детали на уровне полей для каждого названного выше входа.