Создание Кредитных Рынков
Создание Пула (Creating a Pool)¶
Перед тем как приступить к созданию кредитного рынка, должен существовать пул Curve для АКТИВА (ASSET), парного с crvUSD, который реализует нечувствительный к манипуляциям оракул цен. Пулы с нечувствительными к манипуляциям оракулами включают следующие:
- twocrypto-ng — для 2 не привязанных активов, например, crvUSD/CRV
- tricrypto-ng — для 3 не привязанных активов, например, crvUSD/WETH/CRV
- stableswap-ng — для 2 привязанных активов, например, crvUSD/USDC
Пользовательские Оракулы Цен
Если пул ASSET/WETH более предпочтителен, чем пул ASSET/crvUSD, можно связать цену ASSET/WETH с ценой WETH/crvUSD, используя пользовательский оракул цен. Это затем можно использовать для создания кредитного рынка. Пожалуйста, свяжитесь с командой в Telegram, если это необходимо.
Самый простой способ создать пул — через официальный интерфейс создания пула Create Pool UI.
Доступны руководства по созданию stableswap-ng пула, twocrypto-ng пула и tricrypto-ng пула.
Создание Кредитного Рынка (Creating a Lending Market)¶
Для создания кредитного рынка используйте методы create
или create_from_pool
в смарт-контракте OneWay Lending Factory
, чтобы развернуть все необходимые контракты и установить все параметры. Адреса OneWay Lending Factory
для различных сетей можно найти здесь. Для этого шага нет пользовательского интерфейса, его необходимо выполнить через Etherscan или вручную.
Для развертывания кредитного рынка с использованием метода create_from_pool
после создания пула используется следующий уникальный параметр:
pool
: адрес пула, который включает какborrowed_token
, так иcollateral_token
.
Для развертывания кредитного рынка с использованием метода create
с пользовательским оракулом используется следующий уникальный параметр:
price_oracle
: адрес смарт-контракта пользовательского оракула цен
Затем для обоих методов необходимо предоставить следующие дополнительные параметры:
borrowed_token
: адрес токена, который будет предоставлен и заимствованcollateral_token
: адрес токена, который будет использоваться как залогA
: коэффициент усиления, большинство рынков используют значение между 10-30. Используйте более низкие значения для рискованных активов.
Вводится как обычное число, например, 10 = 10fee
: комиссия AMM за обмен, большинство пулов используют от 0.3-1.5%.
Вводится как число с основанием \(10^{18}\), например, 0.06% = 6000000000000000.loan_discount
: процент, используемый для скидки залога при расчете максимального LTV. Обычно выше, чемliquidation_discount
на 3-4%.
Вводится как число с основанием \(10^{18}\), например, 11% = 110000000000000000.liquidation_discount
: процент, используемый для скидки залога при расчетах здоровья и жёсткой ликвидации. Обычно ниже, чемloan_discount
на 3-4%.
Вводится как число с основанием \(10^{18}\), например, 8% = 80000000000000000.name
: название рынка
Наконец, следующие параметры являются опциональными для обоих методов. Если они не предоставлены, они устанавливаются на значения по умолчанию, заданные CurveDAO:
min_borrow_rate
: минимальная ставка заимствования, как ставка/сек.
Вводится как число с основанием \(10^{18}\), например, 1% APR = 317097919max_borrow_rate
: максимальная ставка заимствования, как ставка/сек.
Вводится как число с основанием \(10^{18}\), например, 80% APR = 25367833587
Внимание
Параметры заданы в разных форматах: A
задается как есть, например, 30 = 30, но другие, такие как loan_discount
, задаются как число с основанием \(10^{18}\), например, 11% = 110000000000000000.
Использование OneWay Lending Factory
добавит пул в Curve UI и развернет все необходимые контракты для функционирования рынка.
CRV Вознаграждения и другие Стимулы для Поставщиков Ликвидности¶
Развертывание Gauge (Счётчика вознаграждений)¶
Кредитный рынок Curve требует наличие gauge (Счётчика вознаграждений), связанного с хранилищем поставок (supply vault), перед тем как поставщики смогут застейкать свои доли хранилища для получения инцентивов/вознаграждений. Gauge можно легко развернуть через OneWay Lending Factory
, вызвав метод deploy_gauge
и предоставив адрес нового контракта vault
. Любой может развернуть gauge для рынка, у которого его нет.
Получение CRV вознаграждений из еженедельных эмиссий¶
Перед тем как gauge станет доступным для получения CRV из еженедельных эмиссий, его необходимо добавить в смарт-контракт Gauge Controller
, который развернут на Ethereum здесь. Для добавления в Gauge Controller
CurveDAO должна проголосовать за добавление gauge кредитного рынка. См. здесь для информации о том, как создать голосование за добавление gauge в Gauge Controller
.
Как только кредитный рынок Curve будет добавлен в Gauge Controller
и получит некоторый вес gauge, поставщики ликвидности будут получать CRV вознаграждения при стейкинге своих долей хранилища в gauge.
Добавление других Стимулов для Поставщиков Ликвидности¶
Развертыватель (deployer) кредитного рынка Curve получает роль manager
. Manager
может добавлять токены вознаграждений в пул через метод add_reward
в gauge кредитного рынка. После добавления токена, manager
может депонировать токен, используя метод deposit_reward_token
. Токены затем распределяются среди застейканных поставщиков в gauge в течение указанного периода.
Параметры Развертывания Кредитного Рынка¶
Коэффициент Усиления (A) (Amplification Factor A)¶
Коэффициент усиления A
определяет ширину полос (band width), см. формулу ниже и более подробную информацию здесь и апплет здесь. A
также является частью расчета максимального LTV рынка, см. секцию loan_discount
.
Скидка на Займ (Loan Discount)¶
loan_discount
используется для определения максимального LTV (loan-to-value), который пользователь может иметь на кредитном рынке. На момент написания значение варьируется от 7% для WETH до 33% для волатильных и менее ликвидных активов, таких как UwU. Используйте калькулятор здесь, чтобы увидеть максимальные LTV, которые пользователь может иметь на основе loan_discount
, коэффициента усиления A
и количества полос N
. Формула:
Скидка на Ликвидацию (Liquidation Discount)¶
liquidation_discount
определяет, насколько нужно снизить стоимость залога для целей расчета здоровья займа при жёсткой ликвидации. Обычно это на 3-4% меньше, чем loan_discount
. Пользователь подлежит жёсткой ликвидации, когда его здоровье ниже 0%, и liquidation_discount
является неотъемлемой частью расчета здоровья займа. См. здесь для дополнительной информации.
Процентные Ставки Заимствования (Borrowing Interest Rates)¶
При создании рынка создатель должен определить min_borrow_rate
и max_borrow_rate
рынка. Используйте инструмент ниже, чтобы симулировать, как утилизация влияет на процентные ставки заимствования и кредитования. В смарт-контрактах ставки задаются как процент за секунду, преобразование желаемого APR
в borrow_rate
в процентах за секунду осуществляется следующим образом: