“Я куда-то нажал и все пропало”, или как помочь тому, кто столкнулся с проблемой при использовании моста.

“Я куда-то нажал и все пропало”, или как помочь тому, кто столкнулся с проблемой при использовании моста.

В обязанности лидеров сообщества входит необходимость помогать пользователям моста разбираться с возникающими у них проблемами. Эта статья написана для того, чтобы вы сами могли разобраться с типовыми проблемами пользователей.

В первую очередь — вы тут, чтобы успокоить пользователя и донести ему, что его средства в безопасности, если он использует Connext. Ваша задача — объяснить куда нажать, чтобы все прошло успешно. Либо объяснить, что пошло не так, и попросить пользователя подождать. Оповестить об этом администраторов, чтобы они связались с командой, а те, в свою очередь, решат проблему, если проблема имеет техническую природу.

Сразу к делу.

Наш лучший друг — https://connextscan.io/

Именно в скане мы можем изучить транзакцию, с которой возникли проблемы. Но для начала разберемся, какие сети поддерживает мост в принципе, вдруг об этом кто-то спросит?

Всегда актуальный список мы найдем тут — https://bridge.connext.network/

Интересует нас кнопка с выбором сети.

Сам процесс использования моста предельно прост и разобраться советую самостоятельно.

А теперь об эксплорере транзакций, проведенных через мост. На главной мы видим общее количество заблокированных в сети средств (TVL), общий объем транзакций и их количество. Но нам это не интересно. Нас интересует следующая панель инструментов:

Поле для поиска — ваш лучший друг. Чаще всего у пользователей возникают вопросы: “А что с моей транзакцией?”, “Деньги так и не дошли”, и так далее.

Что нужно сделать вам? Попросить у пользователя TX ID и ввести его в поле для поиска.

Мы попадем на страницу конкретной транзакции и увидим все детали о ней: статус транзакции (на обеих сторонах обмена), какой роутер транзакцию обрабатывает, на какую сумму и между какими сетями обмен происходит, кошелек отправителя и получателя, а также время отправки транзакции и дата её сгорания.

Дата сгорания транзакции (Expiry) установлена для всех транзакций единой — 72 часа. Если по истечении этого времени транзакция не будет обработана и подписана обоими участниками — средства автоматически вернутся на кошелек пользователя.*

* - пользователя, а не инициатора транзакции. Эти кошельки могут различаться в случае, если транзакция обрабатывается через Li.Fi. В таком случае кошельком пользователя будет указан кошелек Li.Fi, и средства вернутся туда же, когда наступит дата сгорания транзакции. Нужно обращаться к CA с просьбой оповестить об этом команду.

Описанный выше случай происходит редко, но происходит. Пользователь может самостоятельно изменить кошелек инициатора в дополнительных настройках, но они почти никогда этого не делают. Чаще всего кошелек юзера и инициатора совпадает, проверить это вы можете на странице транзакции, нажав кнопку Decode.

Теперь о статусах транзакции.

Всего их 5 видов:

  • **Preparing **— транзакция готовится к исполнению
  • **Prepared **— транзакция подготовлена, забронированы txid в блокчейнах, ожидает исполнения и обработки со стороны роутера.
  • **Fulfilling **— транзакция обрабатывается роутером.
  • **Fulfilled **— транзакция обработана, средства переведены и получены.
  • **Cancelled **— транзакция отменена роутером/пользователем.

Самая распространённая ошибка — невозможность заклеймить средства по каким-то размытым, неясным причинам, а также если пользователь видит “No fullfill response”. В первую очередь вы должны попросить у пользователя TX ID, перейти на Connextscan и проверить, а вдруг транзакция уже готова и ему нужно просто получить средства.

Видите синюю кнопку Connect в правом верхнем углу транзакции? Отправляем ссылку на транзакцию пользователя на Connextscan и просим подключить кошелек и заклеймить токены. В 80% случаев это сработает.

Также распространенная среди пользователей проблема — застрявшие в роутере транзакции. В таком случае транзакция будет выглядеть вот так:

Нажав в центре на роутер, вы попадете на его страницу. Пролистав ниже вы увидите историю его транзакций и, скорее всего, выглядеть это будет так:

Несколько транзакций подряд в статусе prepared, но они, почему-то, не исполняются.

  1. Транзакция застряла — значит проблема на стороне роутера, он не может обработать транзакцию либо потому что у него нет токенов на комиссию, либо по другим техническим причинам. Переходим на страницу роутера в транзакции и смотрим в правом верхнем углу, сколько у него есть средств на газ.

Мы, кстати, можем отправить ему эти самые токены на газ, если хотим помочь пользователю быстрее обработать транзакцию, но делаете это вы по собственному желанию, помните об этом.

**Что делаем? **Тегаем в чате @Engineering (если вы уже стажёр), либо же ждём стажёров или администраторов, если вы лишь контрибьютор. (Прим.: @community-admins router ROUNTER_CONTRACT is stuck)
Сообщаем пользователю о том, что команда займётся решением проблемы в ближайшее время, средства в безопасности, а сама проблема будет решена на столько быстро, на сколько это возможно.

Идём дальше. Ошибка RPC F:019

Тут все максимально просто. Подобная ошибка означает, что токены уже были заклеймлены и поступили на кошелек пользователя. Посоветуйте ему проверить собственный кошелек.

Проблема больших комиссий в low-fees сетях. Стала достаточно распространённой в последнее время.

Смотрим пример. Видим, что поступить на кошелек пользователя должно было 317 DAI.

Смотрим Fulfill TX на Polygonscan:

Куда пропало 10 DAI? Его забрал Connext, но лишь по ошибке. Вероятно, это ошибка SDK.

В таком случае необходимо обращаться напрямую к Community Administrator, обязательно указывая ссылку на сообщение пользователя о проблеме.

Еще одна, но менее распространенная ошибка — существующая транзакция просто не отображается на Connextscan

Почему так происходит?

  1. Транзакция не отображается — значит проблема с subgraph провайдером.

**Что делаем? **Тегаем в чате @Engineering (если вы уже стажёр), либо же ждём стажёров или администраторов, если вы лишь контрибьютор.
Сообщаем пользователю о том, что команда займётся решением проблемы в ближайшее время, средства в безопасности, а сама проблема будет решена на столько быстро, на сколько это возможно.

Следующая ситуация — транзакция отмечена как успешно проведенная, но пользователь не получил средства. Почему так может быть? Пользователь просто-напросто не нажал claim. Предложите ему пройти на страницу транзакции в **ConnextScan, **подключить кошелек, нажать **Claim **и подписать транзакцию. Кнопку клейма средств сложно не найти, она ведь такая ярко-синяя.

Затем пользователь увидит следующее:

Ему просто необходимо нажать на кнопку и подписать транзакцию. Все. Деньги получены, все довольны.

Все оказалось не так просто и клейм всё-таки был совершен? Тогда нас интересует prepare TX и fulfill TX на принимающей стороне.

Нажав на них — мы попадем в эксплорер принимающего блокчейна. Там мы увидим куда и откуда были переведены деньги, а также статус транзакции. Статус нам наиболее интересен, но совпадение кошельков тоже стоит проверить. Если транзакция исполняется — просто попросите пользователя подождать и дайте ему ссылку на транзакцию, чтобы он убедился самостоятельно в том, что транзакция исполняется.

Если же транзакция была исполнена и кошельки совпадают — скорее всего пользователь просто не видит свои деньги из-за неправильно установленной в кошельке сети. Перейдите в принимающем блокчейне на страницу кошелька пользователя и проверьте в истории транзакций, поступили ли ему средства.

Активы не поступили? Ушли на другой кошелёк? Оповещаем прямо в #bridge-support об этом CA (@community-admins).

А что, если сеть верная, но средств всё равно нет, хотя транзакция исполнена?

Вероятнее всего, пользователь когда то давно (или не очень) подписал скам-контракт. И такой пример тоже есть.

Мы видим, что средства вроде как поступили на кошелек пользователя. Данные в connextscan и в транзакции совпадают. А что же у нас в транзакциях кошелька пользователя?

Вторая транзакция — поступление средств от роутера через контракт Connext. Первая — средства сразу же были отправлены на другой кошелек. Нажимаем на Txn Hash первой транзакции и видим, что транзакция была инициирована неким контрактом.

Сообщаем об этом пользователю с сожалением о произошедшем и советуем отменить разрешения, выданные контрактам.

Сделать это можно тут:

А также на специальных платформах, например Revoke.

Итак, мы разобрали типовые проблемы, разобрали примеры, а теперь можем проявить активность тут, оказав пользователям своевременную помощь:

Я надеюсь, что статья не будет дополняться, а, напротив, сократится в будущем.

Subscribe to Oswy
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.