Как сделать автоматическое предоставление LP после временной блокировки

#ethereum #solidity #contract

#ethereum #солидность #контракт

Вопрос:

Я изучаю solidity и хочу создать контракт, который заблокирует токен для Uniswap LP. То, что я создал, это:

  • Элемент списка
  • при создании токена я создаю пару uniswap с этим токеном
  • Я создаю временную блокировку для суммы токена, присвоенной адресу создателя
  • теперь при использовании метода release () я хотел бы автоматически добавлять ликвидность с помощью отправленного значения eth и токена, который был заблокирован

Проблема здесь в том, что для добавления LP в токен uniswap необходимо получить одобрение, и, насколько я вижу, единственный способ утвердить токен — сначала отправить этот токен на адрес создателя.

Возможно ли сделать это автоматически, чтобы нам не нужно было доверять создателю контракта добавлять LP после того, как он был выпущен ему?

Ответ №1:

У вас может быть нестандартный токен ERC-20, который позволяет выполнять одобрение для адресов контрактов Uniswap на особых условиях (например, до определенного времени или аналогичного).

Вы бы напрямую обновили allowances таблицу в своем токене. Вам не нужно использовать approve() from ERC-20, потому что это ваш токен.

Комментарии:

1. Спасибо за ответ, в принципе, я обнаружил, что утверждение не является проблемой, потому что создатель контракта может сделать это сам, прежде чем выполнять release() по контракту с временной блокировкой. Что я хотел бы сделать, так это автоматически отправлять токен и eth в LP pair при вызове release() . Как вы думаете, это возможно?

2. Я не понимаю, почему это невозможно. Вы можете программировать любые смарт-контракты, какие захотите, только ваше воображение — это ваш предел.