Как проверить существование основного хранилища актива Aptos
Адрес основного хранилища выводится из владельца и метаданных актива ещё до его создания. Индексатору важно различать вычислимый адрес и реально опубликованное хранилище.
Вычислите адрес для конкретного объекта метаданных
Возьмите адрес владельца и Object метаданных проверяемого актива. Два актива с одинаковым тикером могут давать разные адреса первичных хранилищ одного владельца. До создания строки о держателе проверьте существование.
let location = primary_fungible_store::primary_store_address(owner, metadata);
let allocated = fungible_asset::store_exists(location);
Разделите отсутствующее, пустое и дополнительное хранилища
Отсутствующее хранилище может появиться при пополнении по пути, который создаёт его автоматически. В существующем основном хранилище после вывода может быть ноль. У владельца также бывают дополнительные хранилища этого актива, поэтому одна проверка не определяет общий остаток. Храните адреса метаданных и хранилища отдельно.