Updated on 2026-08-14

This commit is contained in:
Tangem 2025-09-08 17:12:51 +04:00
parent a8f084ae88
commit 4d5b9b87e6
12 changed files with 105 additions and 17 deletions

View file

@ -14,7 +14,6 @@ import dagger.assisted.AssistedInject
*/
internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
@Assisted private val userWallet: UserWallet,
@Assisted val version: Int,
cryptoPortfolioConverterFactory: CryptoPortfolioConverter.Factory,
) : Converter<AccountList, GetWalletAccountsResponse> {
@ -25,7 +24,6 @@ internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
override fun convert(value: AccountList): GetWalletAccountsResponse {
return GetWalletAccountsResponse(
wallet = GetWalletAccountsResponse.Wallet(
version = version,
group = TokensGroupTypeConverter.convertBack(value.groupType),
sort = TokensSortTypeConverter.convertBack(value.sortType),
totalAccounts = value.totalAccounts,
@ -39,6 +37,6 @@ internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
@AssistedFactory
interface Factory {
fun create(userWallet: UserWallet, version: Int): GetWalletAccountsResponseConverter
fun create(userWallet: UserWallet): GetWalletAccountsResponseConverter
}
}

View file

@ -104,9 +104,10 @@ internal class FetchWalletAccountsErrorHandler @Inject constructor(
): UserTokensResponse? {
if (this != null) return this
return userTokensResponseStore.getSyncOrNull(
userWalletId = userWalletProvider().walletId,
)
val userWalletId = userWalletProvider().walletId
return userTokensResponseStore.getSyncOrNull(userWalletId)
.also { userTokensResponseStore.clear(userWalletId) }
}
private fun UserTokensResponse?.orDefault(userWalletProvider: Provider<UserWallet>): UserTokensResponse {

View file

@ -112,10 +112,7 @@ internal class DefaultAccountsCRUDRepository(
.getOrThrow()
}
val converter = convertersContainer.getWalletAccountsResponseCF.create(
userWallet = accountList.userWallet,
version = version,
)
val converter = convertersContainer.getWalletAccountsResponseCF.create(userWallet = accountList.userWallet)
val accountsResponse = converter.convert(value = accountList)

View file

@ -26,7 +26,6 @@ class GetWalletAccountsResponseConverterTest {
private val cryptoPortfolioConverter = mockk<CryptoPortfolioConverter>()
private val converter = GetWalletAccountsResponseConverter(
userWallet = userWallet,
version = 0,
cryptoPortfolioConverterFactory = cryptoPortfolioConverterFactory,
)

View file

@ -30,7 +30,7 @@ class FetchWalletAccountsErrorHandlerTest {
private val userTokensSaver: UserTokensSaver = mockk(relaxUnitFun = true)
private val userWalletsStore: UserWalletsStore = mockk()
private val userTokensResponseStore: UserTokensResponseStore = mockk()
private val userTokensResponseStore: UserTokensResponseStore = mockk(relaxUnitFun = true)
private val cryptoPortfolioCF: CryptoPortfolioConverter.Factory = mockk()
private val cryptoPortfolioConverter = mockk<CryptoPortfolioConverter>()
private val userTokensResponseFactory: UserTokensResponseFactory = mockk()

View file

@ -595,7 +595,7 @@ class DefaultAccountsCRUDRepositoryTest {
}
every {
convertersContainer.getWalletAccountsResponseCF.create(userWallet = userWallet, version = version)
convertersContainer.getWalletAccountsResponseCF.create(userWallet = userWallet)
} returns converter
coEvery { accountsResponseStore.updateData(transform = any()) } returns accountsResponse
@ -610,7 +610,7 @@ class DefaultAccountsCRUDRepositoryTest {
accountsResponseStoreFactory.create(userWalletId)
accountsResponseStore.data
tangemTechApi.saveWalletAccounts(userWalletId.stringValue, version.toString(), body)
convertersContainer.getWalletAccountsResponseCF.create(userWallet, version)
convertersContainer.getWalletAccountsResponseCF.create(userWallet)
converter.convert(accountList)
accountsResponseStore.updateData(any())
}
@ -656,7 +656,7 @@ class DefaultAccountsCRUDRepositoryTest {
}
coVerify(inverse = true) {
convertersContainer.getWalletAccountsResponseCF.create(any(), any())
convertersContainer.getWalletAccountsResponseCF.create(any())
accountsResponseStore.updateData(any())
}
}