#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. Я не понимаю, почему это невозможно. Вы можете программировать любые смарт-контракты, какие захотите, только ваше воображение — это ваш предел.