Si queremos entender por qué una transacción pudo haberse atascado, es importante entender el ciclo de una transacción entre Blockchains o "crosschain". Veamos:
Ciclo de un transacción crosschain de NXTP
Existen tres fases:
Una vez preparada, la transferencia podrá ser cancelada cuando expire por cualquiera de las partes si esta no es completada. Alternativamente, la parte a la que se le deben fondos puede cancelar la transferencia previo a la expiración, en vez de completarla. Esto quiere decir que, apenas haya sido preparada la transacción, el usuario puede cancelarla en la red de recepción como así puede hacerlo el Router en la red de envío.
Las siguientes capturas son de xpollinate.io, pero los pasos sirven para depurar cualquier transacción NXTP, incluso para las que fueron iniciadas en otros sitios!
Copiar el Transaction ID
de la interfaz
El Transaction ID es un identificador único para las transacciones. Es la manera más simple de encontrar información sobre cualquier transferencia, usando el explorador de la red Connext.
Buscar la transacción usando el ID en connextscan.io.
Si la transacción no aparece en el explorador, chequear el estado de sincronización del Subgraph en xpollinate.io. Si el estado es unsynced
, esperar un poco más para que la transacción sea detectada por la red y aparezca.
Chequeo rápido del estado de sincronización de los subgraphs. Si el subgraph de la red de envío o la de recepción muestran "unsynced", los tiempos de espera para la transferencia se agrandarán.
Una vez encontrada la transacción en el explorador, revisar el estado de la red de recepción (por ejemplo, en la figura siguiente muestra Pending
). Existen 4 estados en los que puede encontrarse una transacción:
El estado Pending
("pendiente") quiere decir que hay que esperar a que el Router bloquee su liquidez. Este paso sufrirá de atraso si el Subgraph pierde sincronismo.
El Router bloqueará su liquidez para esta transacción. En caso de que eso no suceda, por favor buscar soporte técnico en el servidor de Discord al final de este documento.
El estado Prepared
quiere decir que se deberá completar la transacción. Para completarla usando un "Relayer", presionar Claim Funds
en la interfaz de xpollinate. Como alternativa, uno mismo podrá completar la transacción conectando Metamask al explorador y presionando Fulfill
. NOTA: Si se desea completar a través del explorador, deberás conectarse a la red de recepción, además de contar con gas suficiente para la transacción.
Se deberá presionar el botón para reclamar los fondos. Luego se deberá firmar la solicitud para completar la transferencia sin costo de gas.
Completar o cancelar desde el explorador. Esto requiere de gas en la red de recepción.
El estado Fulfilled
quiere decir que los fondos han sido enviados al destinatario. En caso de que no aparezcan en la billetera, procura haber agregado el activo (USDC, USDT, DAI, ETH, etc.) correcto. Usualmente el mismo activo tiene distintas direcciones de contrato en cada red distinta. Aquí se encuentra una guía sobre cómo agregar tokens a Metamask.
Los fondos se encuentran en la billetera en la red de destino!
El estado Cancelled
quiere decir que los fondos serán devueltos a la billetera en la red de envío.
Tan pronto el estado de la transacción sea "Cancelled" en la red de envío, los fondos serán devueltos a la billetera original. Esto es así aún cuando la transacción es ignorada por el Router en la red de recepción.
Si la transacción se queda en el estado Pending
por un rato largo, revisar el estado del Router manualmente presionando sobre el Router en el explorador. Si el Router tiene muchas transacciones fallidas tal vez tengas que esperar.
NOTA: Tus fondos siempre estarán a salvo! En el peor de los casos, estos serán devueltos en 72h (tiempo de expiración).
Un Router en buen estado funcional tendrá la mayoría de las transacciones en estado Fulfilled
o Prepared
, mientras que uno en mal estado tendrá muchas atascadas en Preparing
.
Si todos estos pasos no sirven para resolver el problema, no dudes en contactarte con el equipo de Connext usando la URL al final de este documento. Siempre estaremos felices de ayudarte, pero lo estaremos más aún si antes intentaste resolverlo tú mismo 🙂