Как объяснить выпуск LP-токенов получателю протокольной комиссии Uniswap v2
Эталонная пара v2 собирает необязательную протокольную комиссию выпуском LP-токенов во время операции ликвидности. Индексатор может ошибочно принять перевод с нулевого адреса за вклад поставщика.
Восстановите выпуск по состоянию до события
Получите настройку feeTo фабрики, предыдущий kLast, резервы и предложение LP перед mint или burn. Если комиссия включена и инвариант вырос, примените целочисленные корни и формулу пары.
totalSupply = 11000; sqrt(kLast) = 100; sqrt(k) = 110
fee LP = floor(11000 × (110 - 100) / (5 × 110 + 100)) = 169
В условном примере после округления вниз получится 169 минимальных единиц LP. Свяжите выпуск с настроенным получателем комиссии. Расчёт самого поставщика использует предложение после этого выпуска.
Уточните, действовал ли сбор комиссии
Нулевой feeTo, нулевой прежний kLast или отсутствие роста могут дать отсутствие выпуска. Обмен способен увеличить инвариант без немедленного события комиссии. Форки пары могут менять коэффициент или сам механизм. github.com UniswapV2Pair.sol