Как сверять изменения баланса Tezos по категориям квитанции
В квитанции возможны движения между балансами контрактов, комиссиями, наградами и замороженными средствами. Суммирование только записей с привычными адресами оставит необъяснённую разницу.
Классифицируйте каждое изменение со знаком
Начните с успешного перевода. В примере один tez уходит отправителю в минус и приходит получателю в плюс, до отдельных комиссий и других эффектов. Храните целое число со знаком в mutez.
contract balance change: -1000000 mutez
contract balance change: +1000000 mutez
Для настоящей квитанции сохраните вид изменения, категорию при наличии, происхождение и затронутого владельца. Отделите пару перевода от комиссий. Перенос из замороженной категории в ликвидную меняет доступность средств даже при прежней общей позиции.
Учитывайте уровень метаданных
Изменения могут находиться в разных местах, включая метаданные блока и результаты операций. Записывайте расположение и не учитывайте одну комиссию дважды при объединении отчётов. У исторических протоколов могут быть другие категории, поэтому учитывайте версию протокола. octez.tezos.com Octez protocol documentation