Updated on 2026-08-14
This commit is contained in:
parent
104d60aebd
commit
34291959e5
1 changed files with 25 additions and 21 deletions
|
|
@ -31,36 +31,40 @@ class SaveMarketTokensUseCase(
|
|||
addedNetworks: Set<TokenMarketInfo.Network>,
|
||||
removedNetworks: Set<TokenMarketInfo.Network>,
|
||||
): Either<Throwable, Unit> = Either.catch {
|
||||
currenciesRepository.removeCurrencies(
|
||||
userWalletId = userWalletId,
|
||||
currencies = removedNetworks.mapNotNull {
|
||||
if (removedNetworks.isNotEmpty()) {
|
||||
currenciesRepository.removeCurrencies(
|
||||
userWalletId = userWalletId,
|
||||
currencies = removedNetworks.mapNotNull {
|
||||
marketsTokenRepository.createCryptoCurrency(
|
||||
userWalletId = userWalletId,
|
||||
token = tokenMarketParams,
|
||||
network = it,
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
if (addedNetworks.isNotEmpty()) {
|
||||
derivationsRepository.derivePublicKeysByNetworkIds(
|
||||
userWalletId = userWalletId,
|
||||
networkIds = addedNetworks.map { Network.ID(it.networkId) },
|
||||
)
|
||||
|
||||
val addedCurrencies = addedNetworks.mapNotNull {
|
||||
marketsTokenRepository.createCryptoCurrency(
|
||||
userWalletId = userWalletId,
|
||||
token = tokenMarketParams,
|
||||
network = it,
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
derivationsRepository.derivePublicKeysByNetworkIds(
|
||||
userWalletId = userWalletId,
|
||||
networkIds = addedNetworks.map { Network.ID(it.networkId) },
|
||||
)
|
||||
currenciesRepository.addCurrencies(userWalletId = userWalletId, currencies = addedCurrencies)
|
||||
|
||||
val addedCurrencies = addedNetworks.mapNotNull {
|
||||
marketsTokenRepository.createCryptoCurrency(
|
||||
networksRepository.getNetworkStatusesSync(
|
||||
userWalletId = userWalletId,
|
||||
token = tokenMarketParams,
|
||||
network = it,
|
||||
networks = addedCurrencies.map(CryptoCurrency::network).toSet(),
|
||||
refresh = true,
|
||||
)
|
||||
}
|
||||
|
||||
currenciesRepository.addCurrencies(userWalletId = userWalletId, currencies = addedCurrencies)
|
||||
|
||||
networksRepository.getNetworkStatusesSync(
|
||||
userWalletId = userWalletId,
|
||||
networks = addedCurrencies.map(CryptoCurrency::network).toSet(),
|
||||
refresh = true,
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue