Как проверить распределение выручки за NFT в NEAR

Маркетплейс получает от контракта NFT карту выплат. После разбора результата нужно проверить получателей и суммы до постановки переводов в очередь.

Сверьте получателей и сумму сделки

Прочитайте строки сумм как беззнаковые целые в тех же единицах, что и balance из nft_transfer_payout. В примере сумма 1000 разделена на 75 и 925. Сопоставьте число получателей с переданным max_len_payout.

{
  "payout": {
    "artist.testnet": "75",
    "seller.testnet": "925"
  }
}

Выявите превышение до создания переводов

Если вторая сумма вырастет до 1025, итог будет 1100 при доступных 1000. Остановите расчёт до проведения первого платежа. Возможный остаток обрабатывайте согласно правилам округления и комиссий площадки с учётом ограничений стандарта.

Для выплат возьмите карту из результата фактической успешной передачи. Прогноз nft_payout подходит для отображения, но к моменту сделки состояние может измениться. Вместе с каждой выплатой сохраняйте идентификатор продажи для повторных попыток.

Источники