Avocado: DeFi с Газом в USDC из любой сети
Речь про https://avocado.instadapp.io/
Недавно в Ethereum, а соответственно и других EVM сетях появился стандарт ERC-4337. Он позволяет создавать аккаунты-смартконтракты, которые облегчат жизнь пользователям. К примеру, появится возможность оплаты не нативным токеном сети, а также другие функции, например, двухфакторная авторизация и пр...
Но нас интересует то, что avocado уже реализовали соответствующий функционал! И это оказалось довольно удобным, поэтому я и написал в заголовке, что это восхитительное приложение ☺.
Краткое описание
Кошелёк с функцией оплаты газа в USDC. Причём вы можете добавлять в это состояние USDC из любой поддерживаемой сети!
Интересно то, что проект относится к instadapp, а значит и к их токену $INST. Вполне возможно у него появится ютилити, например, ДАО и / или скидки на комиссии приложения при стейкинге INST... Вариантов может быть и больше.
Практика
"Metamask" (вы можете выбрать другой кошелёк):
"Далее", "Подключиться", и мы на странице уже авторизованные:
Нас просят сменить сеть - кликаем по "Switch Network":
Metamask просит добавить сеть в первый раз - жмём "Одобрить", а далее уже "Сменить сеть":
Теперь сверху написано предложение импортировать токены - переходим по ссылке "Import":
Пополнение токенами
И попадаем на сайт https://onboard.avocado.instadapp.io/
Нам выводят список токенов от большего к меньшему, что удобно:
Допустим, жму по "Deposit" около BNB:
Просят сменить сеть - кликаем по "Switch to":
И подтверждаем в кошельке (возможно предложит добавить, если впервые подключаетесь к блокчейну в кошельке).
После этого придётся ещё раз нажать "Deposit", т. к. модального окна не будет, и увидите такую форму:
Вводим сумму (я уже выше указал), и нажимаем "Deposit":
После этого через некоторое время будет написано об успехе:
Можем закрыть кнопкой "Close modal", и выбирать другие токены.
Я же перейду к странице основного приложения, и обновлю её:
Здесь есть куча токенов, но первыми на большую сумму.
Но для удобства можем нажать "Hide 0 Balances":
И будет только один наш токен.
Обмен
Вторая кнопка в строке таблицы по токену - его обмен:
В появившемся окне вводим сумму или кликаем по "Max":
Нажав на WETH, можем выбрать другой токен. Я поиском указал USDC (кстати, в таблице списка токенов также есть поисковая форма, но думаю вы её видели):
После заполнения суммы видим, что нет баланса для оплаты газа (к сожалению тот же токен не удастся потратить на комиссию):
Клик по "Mainnet" открывает список сетей:
Видим, что везде 0 USDC - не обойтись нам без пополнения через onboard.
Идём туда, находим USDC, жмём "Deposit", меняем сеть, ещё раз нажимаем "Deposit" и вводим сумму:
Возвращаемся на страницу, где видим, что баланс появился - можем её указать в поле для перевода в газ:
Обращаю ваше внимание, что вроде бы нет возможности вывода USDC из состояния для газа. Поэтому будьте внимательны, указывая сумму.
Я ввожу максимальную, чтоб точно на всё хватило, и жму "Add Gas":
Жмём "Прокрутить вниз" - "Подписать" становится активной:
Кликаем по ней, и видим, что транзакция подтверждена:
Теперь можем и обменять, кликнув по "Swap":
Подтверждаем в кошельке кликом по "Подписать":
Видим, что от газа в 1.2 USDC осталось 0.46 (BSC немного прожерлив), а также что баланс 3.20 USDC:
Отправка токена и мост
Первая кнопка позволит вам перевести токены на другой кошелёк, будь то обычный, или кошелёк в этом приложении:
Клик по адресу кошелька владельца (owner) позволит вывести токен на основной кошелёк. Но об этом отдельно позже...
Третья же позволит воспользоваться мостом:
Я уже нажал на "Polygon" для выбора сети и выбрал сумму (кстати, я там уже выполнял некоторые действия в попытке разобраться с мостом, поэтому максимальная сумма отличается от той, что была раньше).
Как видите, требует BNB баланс:
Не поддавайтесь на это - не работает, даже если у вас будет достаточно BNB на балансе. Необходимо либо ждать, вводя сумму или нажимая "Max" время от времени, либо отказаться от использования местного моста, тем более что DApps поддерживаются (но об этом позже).
Если у вас много токенов в таблице, вы можете нажать "Networks", и выбрать нужные сейчас сети:
Пополнили токеном, которого нет в таблице
Идём на страницу, и... Его нет!:
Но ничего страшного - жмём "Add token", вводим тикер и нажимаем "Add":
Но в таблице все равно его нет:
Идём на страницу нашего адреса в блок-эксплорере блокчейна соответствующего, в "ERC-20 Token Txns" (в BSC BEP-20), и смотрим:
Видим первую транзакцию. Кликаем по токену - сейчас это " Metaverse In... (MVI)":
И копируем адрес токена: у меня это 0xfe712251173a2cd5f5be2b46bb528328ea3565e1
Идём в "Add token" и вставляем адрес:
И кликаем по "Add token". Всё, обновляем страницу и видим:
Можем нажать на вторую кнопку:
Обратите внимание, что я закинул USDC в BSC, а потратил их в Polygon - здорово!
Альтернативные методы пополнение баланса
В разделе "Your Avo Wallet" нажав на кнопку, увидим модальное окно со справкой. Ниже - адрес кошелька (у меня это 0xEB4630cDfc09b5a8D24fF69240a0Cc3714F288E9). Клик по нему копирует в буфер обмена.
Ниже идёт информация о поддерживаемых блокчейнах (блок "Supported Chains"). К сожалению ссылки недоступны для меня, поэтому приходилось идти в эксплореры, чтоб выяснить, но вам думаю видно...
Вы можете перевести на него с другого кошелька через Metamask или что ещё, либо, возможно, с биржи (не проверял).
Отправка токенов
Нахожусь в другом кошельке avocado:
Нажал на первую кнопку, чтоб отобразить модальное окно выше, а также заполнил поля. В появившемся кошельке жму "Подписать" для подтверждения:
DApps
Идём, например, на https://classic.bungee.exchange/
"Copy to clipboard", и вставляем в поле:
Допустим, хочу поменять 1INCH Polygon на DAI Arbitrum:
Видим, что комса всего 0.02 USDC. Подтверждаем "Submit":
Подтверждаем в Metamask "Подписать", и успех:
Жмём по ней, и опять переходим на страницу Avocado:
Проверяем... Прошло минут 15, прежде чем появился в списке, но главное, что появился:
Уже успел испугаться, что не воспринял Avocado DAI :-).
Далее можете их хранить или обменять на что-то иное через функцию "Swap".
Кейсы использования
- Вы можете познакомить новичка с DeFi, предложив ему работать с долларами.
- Можете вывести с биржи (внимание: не проверял - может и нельзя) токен в сети, где нет у вас нативного актива, а далее использовать его в DeFi с токеном USDC из из любой сети, отправленный в Газ.
- Да и в целом это удобно...
Всё
Используя проект, учитывайте риски смартконтрактов и риски потери доступа к приложению.
С вами был незрячий программист и автор канала https://t.me/blind_dev - подписывайтесь, чтоб получать новые обзоры, а также новости о процессе разработки моих проектов.