Как определить списанный остаток при clawback актива Algorand

В транзакции clawback есть внешний отправитель и отправитель актива. При списании с инициатора операции в учёте реального держателя останется завышенный баланс.

Прочитайте отправителя внутри перевода актива

Сокращённая запись в формате Indexer показывает отзыв 12 минимальных единиц актива 73. Внешний sender авторизует clawback. Поле sender внутри asset-transfer-transaction обозначает остаток, с которого списан актив. Для зачисления используйте вложенный receiver.

{
  "tx-type": "axfer",
  "sender": "CLAWBACK_AUTHORITY",
  "asset-transfer-transaction": {
    "asset-id": 73,
    "sender": "DEBITED_HOLDER",
    "receiver": "RECIPIENT",
    "amount": 12
  }
}

Отдельно учтите комиссию и обычные переводы

Отзыв может перемещать токены держателя даже при нулевом остатке актива у уполномоченного инициатора. Сетевая комиссия внешней операции выражена в ALGO и относится к другому активу. При обычном переводе без отдельного отправителя актива списывайте с внешнего sender. При закрытии остатка дополнительно проверьте поля close-out.

Источники