Как определить списанный остаток при 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.