Orvane — Orvane — стейблкоин под залог криптоактивов
Задача
Связать правила смарт-контрактов с решениями, которые человек принимает в кабинете. До выпуска ORV ему нужно видеть размер долга и предел нового выпуска; при возврате токенов — понимать, когда можно забрать обеспечение. Для вкладчика и участника аукциона нужны другие представления тех же данных: баланс сбережений, текущая ставка и размер лота.
Выполненные работы
Вход через кошелёк. Пользователь выбирает MetaMask или WalletConnect. Приложение проверяет сеть и предлагает подписать одноразовое сообщение, а сервер по подписи открывает сессию. Подключения и отключения вынесены в отдельный журнал. В демонстрации график активности построен на тестовых событиях.
Залог и выпуск. В примере на экране 6 ETH стоят 19 200 расчётных единиц, а долг составляет 8 000 ORV. Обеспеченность позиции — 240%. При минимуме 150% допустимый долг равен 12 800 ORV: при той же цене и свободном лимите протокола можно выпустить ещё 4 800. Так пользователь видит, откуда взялось число рядом с формой выпуска.
Смарт-контракты. Адаптер принимает залог, а расчётный контракт ведёт долг по каждой позиции. Перед выпуском он учитывает цену оракула, минимальное обеспечение и потолок долга. Со временем к обязательству прибавляется стабилизационная комиссия. Погашая долг, владелец освобождает залог; отдельный адаптер связывает внутренний баланс протокола с токеном ERC-20.
Ликвидация. Если обеспечения недостаточно, залог можно выставить на аукцион. Сначала участники повышают ставку в ORV, пока она не покроет долг и штраф. Затем сумма ставки фиксируется: выигрывает тот, кто согласен получить за неё меньше залога. Остаток обеспечения можно вернуть владельцу позиции.
Сбережения и завершение расчётов. Сберегательный контракт учитывает долю вкладчика и финансирует начисления из доступного профицита. Для аварийной остановки предусмотрен отдельный порядок: обычные операции прекращаются, позиции рассчитываются, а держатели токена могут предъявить его к выкупу за долю залога.
Для публичного кейса изменены название и оформление. Балансы, цены и операции на экранах демонстрационные.
Состав работ
Разработка смарт-контрактов
Разработка кабинета и API
Интеграция кошельков и ценовых оракулов
Стек: Solidity, NestJS, Next.JS, TypeScript, Hardhat, WalletConnect.
Подробный кейс: https://freeblock.dev/cases/defi-protocols/orvane