@@ -16,7 +16,9 @@ import jp.co.soramitsu.common.utils.orZero
1616import jp.co.soramitsu.core.models.ChainId
1717import jp.co.soramitsu.core.models.isValidAddress
1818import jp.co.soramitsu.coredb.model.AssetUpdateItem
19+ import jp.co.soramitsu.runtime.ext.ecosystem
1920import jp.co.soramitsu.runtime.multiNetwork.ChainRegistry
21+ import jp.co.soramitsu.runtime.multiNetwork.chain.ChainEcosystem
2022import jp.co.soramitsu.runtime.multiNetwork.chain.model.Chain
2123import jp.co.soramitsu.runtime.multiNetwork.chain.model.isPolkadotOrKusama
2224import jp.co.soramitsu.runtime.multiNetwork.chain.model.polkadotChainId
@@ -307,16 +309,23 @@ class WalletInteractorImpl(
307309 val accountId = metaAccount.accountId(chain)
308310 val chainAsset = chain.assetsById[chainAssetId] ? : return
309311
310- val tokenChains = chainRegistry.currentChains.first().filter {
311- it.assets.any { it.symbolToShow == chainAsset.symbolToShow }
312+ val chainsWithAsset = chainRegistry.currentChains.first().filter { chainItem ->
313+ val isChainItemFromSameEcosystem = if (chain.ecosystem() == ChainEcosystem .STANDALONE ) {
314+ chainItem.id == chainId
315+ } else {
316+ chainItem.ecosystem() == chain.ecosystem()
317+ }
318+ isChainItemFromSameEcosystem && chainItem.assets.any {
319+ it.symbolToShow == chainAsset.symbolToShow
320+ }
312321 }
313322
314- val tokenChainAssets = tokenChains .map {
323+ val assetsToManage = chainsWithAsset .map {
315324 it.assets.filter { it.symbolToShow == chainAsset.symbolToShow }
316325 }.flatten()
317326
318327 accountId?.let {
319- tokenChainAssets .forEach {
328+ assetsToManage .forEach {
320329 walletRepository.updateAssetHidden(
321330 chainAsset = it,
322331 metaId = metaAccount.id,
0 commit comments