Разбор Uniswap V2: mint() & burn()
Переходим потихоньку к другим функциям в Юнисвап, и в этот раз поговорим о минте и сжигании.
На скрине выше представлена функция сжигания токенов, давайте разберем ее:
1. На линии 140 (фиолетовая отметка) ликвидность измеряется в LP токенах, которые в данный момент есть на контракте. Предполагается, что пользователь заранее отправит LP токены перед вызовом burn(). При этом, в рамках безопасности, перевод LP токенов и вызов сжигания следует производить в одной транзакции, чтобы никто не смог сжечь ваши токены и получить другие бесплатно.
2. Красная отметка (линии 142 и 154) отвечает за комиссию, которая может быть введена Юнисвапом для поставщиков ликвидности. На данный момент она отсутствует.
3. Оранжевая отметка (линии 144-145) показывает количество токенов, которые получит пользователь за свои LP токены.
4. Голубая отметка (147-149) - место, где LP токены сжигаются и token0 и token1 пересылаются пользователю.
5. Желтая (линии 150-151) - получают обновленные балансы токенов, для того, чтобы ниже, на линии 153, могла быть вызвана функция для обновления данных _update().
Количество токенов, которые пользователь получит после сжигания, зависит от ратио LP токенов к totalSupply LP. Однако, totalSupply может измениться перед самым моментом сжигания, поэтому для безопасности требуется учитывать проскальзывание (slippage) в транзакции.
#uniswap #v2 #burn
Post #1027
1.08K
- 👍 2
- ❤ 1