Skip to content

Commit 2f2a797

Browse files
committed
FLW-3323 Assets are duplicated after the hide function on the main screen
1 parent 3a4aa97 commit 2f2a797

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

feature-wallet-impl/src/main/java/jp/co/soramitsu/wallet/impl/domain/WalletInteractorImpl.kt

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import jp.co.soramitsu.common.utils.orZero
1616
import jp.co.soramitsu.core.models.ChainId
1717
import jp.co.soramitsu.core.models.isValidAddress
1818
import jp.co.soramitsu.coredb.model.AssetUpdateItem
19+
import jp.co.soramitsu.runtime.ext.ecosystem
1920
import jp.co.soramitsu.runtime.multiNetwork.ChainRegistry
21+
import jp.co.soramitsu.runtime.multiNetwork.chain.ChainEcosystem
2022
import jp.co.soramitsu.runtime.multiNetwork.chain.model.Chain
2123
import jp.co.soramitsu.runtime.multiNetwork.chain.model.isPolkadotOrKusama
2224
import 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

Comments
 (0)