делает Данил Ленков

Описание:

Реализовать смарт-контрактный протокол для двусторонних репо-сделок (продажа с обязательством обратного выкупа). Участники фиксируют условия: цену, срок, ставку и залог в токенах ERC-20. После истечения срока актив автоматически переходит к стороне, выполнившей обязательство, или ликвидируется в случае дефолта.

Обязательные фичи

  1. Создание и исполнение сделки — контракт фиксирует стороны (lender, borrower), сумму, залог, процент и срок. При деплое обе стороны депонируют активы, и сделка переходит в статус Active.
  2. Автоматический расчёт и погашение — по наступлении срока контракт разрешает погашение с учётом процентов; при успешном возврате активы и залог разблокируются.
  3. Дефолт и ликвидация — если срок истёк, а долг не возвращён, контрагент получает залог; реализовать механизмы безопасного перевода и обновления статуса сделки.

Advanced (для 10/10)