Move.

Пост

Поделитесь своими знаниями.

farshad.
Feb 05, 2025
Экспертные Вопросы и Ответы

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
Поделиться
Комментарии
.

Ответы

4
yhant3.
Feb 5 2025, 11:03

Ошибка, с которой вы столкнулись, скорее всего, указывает на то, что функция «split» вызывается в процессе транзакции, и баланс может оказаться недостаточным, даже если он выглядит стабильным. Проверка объектов монет и вызываемых методов, а также переданных аргументов может помочь вам получить больше информации. Вы также можете рассмотреть возможность отслеживания ваших объектов на протяжении всего процесса транзакции, чтобы диагностировать проблему.

5
Лучший ответ
Комментарии
.
Raju.
Raju183
Feb 5 2025, 11:02

Ошибка «MoveAbort (MoveLocation {module: ModuleID {адрес: [..], имя: идентификатор («баланс»)}, функция: 7, инструкция: 10, function_name: some («split»)}, 2) 'предполагает, что при попытке разделения баланса может быть недостаточно. Возможно, вы захотите убедиться, что все части вашего баланса учитываются в каждой транзакции.

4
Комментарии
.
DuAn.
DuAn117
Feb 5 2025, 11:03

Обязательно проверьте объекты, участвующие в транзакциях, и внимательно следите за их состоянием. Кроме того, изучение конкретных сведений о транзакциях на сайте SuiScan может дать дополнительные сведения.

2
Комментарии
.
BigDev.
Aug 15 2025, 16:45

Скорее всего, эта ошибка означает, что функция разделения запускается с объектом монеты, баланс которого на момент выполнения недостаточен, даже если раньше все выглядело нормально. Это может произойти, если монета была изменена, потрачена или использована в другой операции ранее в той же транзакции. Чтобы исправить эту проблему, проверьте фактический баланс и статус монеты перед вызовом split, проверьте сумму, которую вы пытаетесь разделить, и проверьте, как монета обрабатывается на протяжении всей транзакции. Пошаговое отслеживание использования монеты поможет определить, где что-то пошло не так.

1
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

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

270Посты616Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Посты с вознаграждением