Собрать LP-комиссии или убрать ликвидность: разные действия
Как различить collect и уменьшение позиции на примере Uniswap v3, проверить получаемые токены и не считать сбор комиссий полным выходом из пула.
Сверены открытые первичные документы по механике и ограничениям. Кошелёк не подключался, действия в текущем интерфейсе и операции с реальными средствами не проверялись. Числа в примерах условные.
Два источника сумм
В LP-позиции нужно различать размещённую ликвидность и суммы, доступные к получению. В Uniswap v3 накопленные комиссии можно собирать через collect, а уменьшение ликвидности выполняется отдельной логикой decreaseLiquidity. Интерфейс может объединить действия в одну последовательность, но экономический смысл остаётся разным.
Сбор комиссий не следует автоматически считать закрытием позиции. И наоборот, уменьшение ликвидности не стоит считать доказанным зачислением всех сумм на кошелёк, пока не проверен итоговый перевод. Названия кнопок и способ объединения зависят от приложения.
Как сформулировать намерение
До действия запишите, нужен ли только вывод накопленных комиссий, частичное уменьшение позиции или полный выход. Затем проверьте tokenId, менеджер позиции, сеть и получателя. Если ликвидность принадлежит управляющему vault, процедура будет иной, чем для самостоятельного NFT.
- Посмотрите остаток ликвидности до действия.
- Запишите доступные к получению количества обоих токенов.
- Для уменьшения проверьте минимальные суммы и долю позиции.
- Уточните, что произойдёт с NFT после выполнения всей последовательности.
Пример чтения результата
Пусть позиция имеет некоторую ликвидность и 3 единицы токена А в доступных комиссиях. После их сбора эти 3 единицы поступили в кошелёк, но ликвидность осталась. Значит, рыночная экспозиция позиции продолжается. Это не «прибыль поверх гарантированно сохранённого депозита»: стоимость самой позиции тоже меняется.
После уменьшения ликвидности в доступных к получению суммах могут оказаться и возвращаемые активы позиции. Поэтому отображаемый общий collect нельзя всегда целиком записывать как доход. Нужны события и разбивка: иначе собственный вывод капитала превращается в завышенную статистику заработка.
Контроль после операции
Проверьте фактические переводы двух токенов, оставшуюся ликвидность и оставшиеся суммы к получению. При полном выходе убедитесь, что завершены все нужные шаги. Сам факт наличия NFT или его изображения не даёт полного ответа о финансовом остатке.
Сетевые расходы также записывайте отдельно. Частый сбор небольших комиссий может оказаться дорогим относительно получаемой суммы, но универсального выгодного интервала нет. Сравнивайте конкретную оценку расходов и желаемый результат. Если ожидаемые токены не появились, сначала проверьте получателя, сеть и статус транзакции; повторный collect без диагностики не доказывает, что первый вызов был неправильным.
Что прочитать дальше
Impermanent loss: как сравнить пул ликвидности с хранением токенов