Как прочитать баланс взаимозаменяемого актива Aptos с переопределённым расчётом

Актив может определить собственное представление стоимости хранилища. Если скопировать одно числовое поле ресурса, сумма может разойтись с балансом, который показывает сам актив.

Используйте функцию с поддержкой dispatch

Передайте действующий объект хранилища в derived_balance. При наличии обработчика функция вызывает его, иначе возвращает обычный баланс framework. Привяжите результат к объекту метаданных данного хранилища.

let shown = dispatchable_fungible_asset::derived_balance(store);
let asset = fungible_asset::store_metadata(store);

Сверьте размерность перед фиксацией расхождения

Например, если обработчик условного актива оценивает каждую учётную долю в две единицы, 50 долей дадут 100 отображаемых единиц. Уточните правила по реализации конкретного обработчика. Сохраните версию реестра, адрес хранилища и значение вместе. Изменение состояния, используемого обработчиком, может изменить результат при том же числе исходных долей.

Источники