Как понять на сколько пополнился баланс solscan?

Из Solscan API получаю данные об транзакции в виде json файла:

{
   "_id": "633d66883a279e9cfd11862c",
   "address": "HVaM3ea8AkQVVrphJZ44xKEiRVXyzgrKVLt24B9JvkoC",
   "signature": [
      "2MAuoBqnpvQNHBtYGzayLYGKjMeJNkXop7yFa161eUDtmVs6DF7Pi4nTkAUiHwP8RYMmmoxHMWBfAZBkTf19cFjP",
      "p9tLfpJcG2rtDgAvKLYTyKKVotVyzHQNUyvZyZoERqLHCRWwZFhDjNBCsHoQT11BJgkkH14qCzDkDkPAs6uRAS1"
   ],
   "changeType": "inc",
   "changeAmount": 399000000000,
   "decimals": 9,
   "postBalance": "1615949999990",
   "preBalance": "1216949999990",
   "tokenAddress": "EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az",
   "owner": "8CknvSpy1mdycm9ZkyRZSMy3B4tmdLCcxqH9xJg4HsU3",
   "symbol": "WLKN",
   "blockTime": 1664968292,
   "slot": 153789108,
   "fee": 10000
}

Отсюда я могу получить signature(hash) транзакции, адрес поступления\пополнения, валюту, и баланс, но: баланс отображается в следующем варианте: 'changeAmount': 399000000000 Ну тут можно понять, что пополнение было на 399 токенов, но разберу другой кейс: "changeAmount":145890000000 тут вроде тоже все понятно, но на самом деле перевод был на 145.89 токенов

Так вот вопрос, как отличать сколько пришло на самом деле?


Ответы (1 шт):

Автор решения: Corn

Понял как считать баланс по косвенным признакам: У нас есть changeAmount, в котором лежит сумма на которую произошло пополнение, и по количеству символов можно считать сумму пополнения. В нашем случае 399000000000(399) имеет 12 символов. Число 1615949999990(1615) имеет 13 символов. Легко догадаться, что если пополнение произойдет на 55 монет, число символов будет 11. Исходя из этих данных преобразуем 399000000000 в 399

→ Ссылка