From 7a6b93a323fd7059ecec9527ff2136f41fd42f8a Mon Sep 17 00:00:00 2001 From: Satoshi Qazi Muhammed Date: Thu, 9 Jul 2026 10:51:57 -0700 Subject: [PATCH] diag: trace NativeAssetBalance.startSyncingBalance() entry/key/emission Confirmed via 3 CI runs: HEZ (native asset) is present+enabled in the runtime Chain object for Pezkuwi Asset Hub and gets dispatched to NativeAssetBalance without any exception, yet its System.Account subscribe request never reaches that chain's RPC connection at all - no error logged either. This traces exactly how far execution gets: does startSyncingBalance() even get entered, does getRuntime()/storageKey() complete, does subscribe()'s flow ever emit. --- .../blockchain/assets/balances/utility/NativeAssetBalance.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/utility/NativeAssetBalance.kt b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/utility/NativeAssetBalance.kt index 8768fb15..c9513444 100644 --- a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/utility/NativeAssetBalance.kt +++ b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/utility/NativeAssetBalance.kt @@ -161,12 +161,17 @@ class NativeAssetBalance( accountId: AccountId, subscriptionBuilder: SharedRequestsBuilder ): Flow { + Log.d("BalancesDiag", "NativeAssetBalance.startSyncingBalance() ENTERED for ${chainAsset.symbol} on ${chain.name}") + val runtime = chainRegistry.getRuntime(chain.id) + Log.d("BalancesDiag", "NativeAssetBalance: got runtime for ${chain.name}") val key = runtime.metadata.system().storage("Account").storageKey(runtime, accountId) + Log.d("BalancesDiag", "NativeAssetBalance: computed key for ${chainAsset.symbol} on ${chain.name}: $key") return subscriptionBuilder.subscribe(key) .map { change -> + Log.d("BalancesDiag", "NativeAssetBalance: received change for ${chainAsset.symbol} on ${chain.name}") val accountInfo = bindAccountInfoOrDefault(change.value, runtime) val assetChanged = assetCache.updateAsset(metaAccount.id, chain.utilityAsset, accountInfo)