DeFi
March 12

Вводный курс DeFi для всех. Работа с dAPPs через смарт-контракты. Uniswap. Часть V

DeFi

Итак... У нас есть позиция в пуле пары USDT/USDC и мы хотим увеличить ее, добавив ликвидность.

Снова выдадим разрешение контракту NonfungiblePositionManager использовать наши USDC и USDT токены - будем добавлять еще по 0,1 USDT и USDC.

Далее на контракте NonfungiblePositionManager вызовем метод increaseLiquidity.

Укажем значения параметров:

  • payableAmount - указываем 0. Мы не передаем в транзакции эфир
  • tokenId - id нашего финансового NFT позиции. Найти мы его можем также на дашборде в приложении Envelop, либо в транзакции первоначального добавления ликвидности.
  • amount0Desired, amount1Desired - укажем для каждого стейблкоина количество токенов, которые хотим внести - с учетом количества знаков после запятой. 100000 , то есть 0,1 usdt и usdc
  • amount0Min, amount1Min - минимальное количество, которое пул должен принять от нас. Укажем 10 - также, с учетом количества знаков после запятой.
  • recipient - получатель позиции - укажем адрес кошелька, которым будем подписывать транзакцию.
  • deadline - время, до которого транзакция должна быть выполнена. Берем значение из стороннего сервиса, увеличив текущее значение на 20000.

Подпишем транзакцию нашим кошельком.

Проверим транзакцию.

Протокол забрал с нашего баланса usdt и usdc. Заметим, что забрал не столько, сколько мы хотели внести. Размеры принимаемых активов зависят от того, какой сейчас курс, какое соотношение токенов одного и второго пары в пуле и в конкретном диапазоне цен.

Проверим состояние нашей позиции в протоколе - вызовем метод positions, указав ему token ID нашей финансовой NFT. Мы видим, что значение liquidity увеличилось.

Uniswap

[Продолжение следует...]

До!