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

By [Oswy](https://paragraph.com/@oswyo) · 2022-08-17

---

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

![](https://storage.googleapis.com/papyrus_images/efdcbd98b385fdcb19ce4f6ddcd1bf77986cd3b27694135c30f44694a7b704d9.png)

В обязанности лидеров сообщества входит необходимость помогать пользователям [моста](https://bridge.connext.network/) разбираться с возникающими у них проблемами. Эта статья написана для того, чтобы вы сами могли разобраться с типовыми проблемами пользователей.

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

Сразу к делу.
-------------

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/da5d90b717b5275753b32f46ce545c0ab39e3ec011305c5d55a068f59639d1be.png)

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

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

![](https://storage.googleapis.com/papyrus_images/51090a2847ce67ef3b4651797eae337396161e909c2a89aa8f3508a9b5110b5f.png)

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

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

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/94cfcdf2f9c7233ee0502b412b7fdfb9df8fd98cc8bb7cc19013e929a9d1d27c.png)

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

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

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/e764e508fbd41c205a0d67a790d1bfe16688eeb015eddf897ad81251b3a50080.png)

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

![](https://storage.googleapis.com/papyrus_images/26e77ec975785a09916da708f7f8231b9721fec901c86ed1ca7a805839c12988.png)

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

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

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

![](https://storage.googleapis.com/papyrus_images/c8ebebfae2a7546917d5cf12c8e6b9f63b3c503df8c493447bddc178216c6d7b.png)

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

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

![](https://storage.googleapis.com/papyrus_images/cb42f54e62772cf4b4391f5448eb6e59401c344805ac7409de25c7481fad535c.png)

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

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

Смотрим [пример.](https://connextscan.io/tx/0x5cb6d14beabfdeeddc3f77b07172ba9700ad1f09faeb8e2ca165bde412aca944) Видим, что поступить на кошелек пользователя должно было 317 DAI.

![](https://storage.googleapis.com/papyrus_images/ea4f68299eaa07121e7451f99778c735bf5def468120b727b0aeb4a7a256f21e.png)

Смотрим Fulfill TX на [Polygonscan](https://polygonscan.com/tx/0xdaf85d02f204f407ff68b6458286cde75ac420ae5a57b212c24bcaac427cd135):

![](https://storage.googleapis.com/papyrus_images/aeb6d1c74b6263502be00ffb0b4d655fa4753075b0afe4fb9b81b5b0806ce380.png)

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

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

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

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/b8c342030902cbff25db202ca9e75f032622522b1ab9da28efea28fb2218e8b3.png)

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

![](https://storage.googleapis.com/papyrus_images/53dfa1c326859f04ad413097b2139957def2b7f1198aff0c52a08f0701c0f446.png)

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

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

![](https://storage.googleapis.com/papyrus_images/dfca6b70a184dcac7fb94f33b41f3de34b0942f5155b3788aab568758015f5ac.png)

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

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

![](https://storage.googleapis.com/papyrus_images/d7cf967ab46b78d99f7a43de322d94e13bbcb49e6c5eb35d969acbdba6af4260.png)

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

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

Вероятнее всего, пользователь когда то давно (или не очень) подписал скам-контракт. И такой [пример](https://connextscan.io/tx/0xc1ed8bf1e10cd53d2e0d56d365955ddf579d0fcd919bb65bf4ce2251b9b03bc4) тоже есть.

![](https://storage.googleapis.com/papyrus_images/4ff057ab7a07baa325c0d16bdee306715a3626842faa88b16b084185357940c9.png)

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

![](https://storage.googleapis.com/papyrus_images/5976d6762ba29a745bc0ecc3b82497adde36d87c863b0f3bce1845fbfbbb380b.png)

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

![](https://storage.googleapis.com/papyrus_images/e98f2fe1bc294d261c99b2ede44f80fbe333a641a67f9710d6be984119c0dd04.png)

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

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

*   [Etherium](https://etherscan.io/tokenapprovalchecker)
    
*   [Binance Smart Chain](https://bscscan.com/tokenapprovalchecker)
    
*   [Polygonscan](https://polygonscan.com/tokenapprovalchecker)
    

А также на специальных платформах, например [Revoke](https://revoke.cash/).

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

![](https://storage.googleapis.com/papyrus_images/9c7ca64a8685cd5b4ef64437541eef2812ade0f0c6643f51c72aaa1adec18d0e.png)

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

---

*Originally published on [Oswy](https://paragraph.com/@oswyo/1DX0OfCrUdQGYx0ATdP7)*
