Move.

Publicación

Comparte tu conocimiento.

farshad.
Feb 05, 2025
P&R expertos

Why do I keep getting 'MoveAbort' error in signAndExecuteTransaction?

I'm trying to make swaps using the functions client.findRouters, client.fastRouterSwap, and client.signAndExecuteTransaction but frequently encounter the 'MoveAbort' error. My balance seems stable at 100+ SUI, yet 1 out of 10 transactions fails. This error still persists after restoring the blockchain. How can I figure out what's going wrong?

  • Move CLI
  • Move
  • Move Module
5
4
Cuota
Comentarios
.

Respuestas

4
yhant3.
Feb 5 2025, 11:03

El error que se produce probablemente indique que se está llamando a la función de «división» durante el proceso de transacción y que es posible que el saldo no sea suficiente, aunque parezca estable. Si compruebas tus objetos monetarios y los métodos a los que estás invocando, junto con los argumentos transmitidos, podrías obtener más información. También puedes considerar la posibilidad de hacer un seguimiento de tus objetos durante todo el proceso de transacción para diagnosticar el problema.

5
Mejor Respuesta
Comentarios
.
Raju.
Raju183
Feb 5 2025, 11:02

El error «moveAbort (MoveLocation {module: moduleID {address: [..], name: Identifier («balance»)}, function: 7, instruction: 10, function_name: Some («split»)}, 2)» sugiere que puede haber un problema con el saldo insuficiente cuando se intenta realizar una operación de división. Es posible que desees asegurarte de que todas las partes de tu saldo estén contabilizadas en cada transacción.

4
Comentarios
.
DuAn.
DuAn117
Feb 5 2025, 11:03

Definitivamente, debe verificar los objetos involucrados en las transacciones y monitorear sus estados de cerca. Además, revisar los detalles específicos de la transacción en SuiScan podría proporcionar pistas adicionales.

2
Comentarios
.
BigDev.
Aug 15 2025, 16:45

Es probable que ese error signifique que la función de división se está activando con un objeto de moneda que no tiene suficiente saldo en el punto de ejecución, incluso si parece correcto de antemano. Esto puede ocurrir si la moneda se mutó, se gastó o se usó en otra operación al principio de la misma transacción. Para solucionarlo, comprueba el saldo real y el estado de la moneda antes de dividir, verifica la cantidad que estás intentando dividir e inspecciona cómo se maneja la moneda a lo largo de la transacción. Hacer un seguimiento paso a paso de su uso puede ayudar a identificar dónde van mal las cosas.

1
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

270Publicaciones616Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.