From 7f071f4821eb11b00db397ddbe5ef49ec2d531be Mon Sep 17 00:00:00 2001 From: Satoshi Qazi Muhammed Date: Fri, 10 Jul 2026 17:25:31 -0700 Subject: [PATCH] debug: log Tron chain arrival + gate evaluation in BalancesUpdateSystem TRX is completely absent from the Assets list even for a brand-new wallet on a completely fresh install - ruled out per-account backfill (fresh wallet correctly derives tronAddress) and stale per-device chain state (fresh install, no carried-over connectionState). Need to see empirically whether the Tron chain even reaches currentChains at all, and if so, which of hasAccountIn/connectionState.isDisabled gates it. --- .../data/network/BalancesUpdateSystem.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/data/network/BalancesUpdateSystem.kt b/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/data/network/BalancesUpdateSystem.kt index 820ef106..b7c39765 100644 --- a/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/data/network/BalancesUpdateSystem.kt +++ b/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/data/network/BalancesUpdateSystem.kt @@ -39,12 +39,24 @@ class BalancesUpdateSystem( override fun start(): Flow { return accountUpdateScope.invalidationFlow().flatMapLatest { metaAccount -> chainRegistry.currentChains.transformLatestDiffed { chain -> + if (chain.isTronBased) { + Log.d(LOG_TAG, "TronDebug: currentChains delivered chain=${chain.id} name=${chain.name}") + } emitAll(balancesSync(chain, metaAccount)) } }.flowOn(Dispatchers.Default) } private suspend fun balancesSync(chain: Chain, metaAccount: MetaAccount): Flow { + if (chain.isTronBased) { + Log.d( + LOG_TAG, + "TronDebug: gate check chain=${chain.id} name=${chain.name} hasAccountIn=${metaAccount.hasAccountIn(chain)} " + + "connectionState=${chain.connectionState} isDisabled=${chain.connectionState.isDisabled} " + + "hasSubstrateRuntime=${chain.hasSubstrateRuntime} canPerformFullSync=${chain.canPerformFullSync()}" + ) + } + return when { !metaAccount.hasAccountIn(chain) -> emptyFlow() chain.connectionState.isDisabled -> emptyFlow()