Updated on 2026-08-14
This commit is contained in:
parent
361bd8168b
commit
3da4771d66
19 changed files with 605 additions and 14 deletions
|
|
@ -442,12 +442,8 @@ internal class DefaultWalletManagersFacade @Inject constructor(
|
|||
)
|
||||
}
|
||||
|
||||
try {
|
||||
walletManager.enableDynamicAddresses(xpub)
|
||||
SimpleResult.Success
|
||||
} catch (e: Exception) {
|
||||
SimpleResult.Failure(BlockchainSdkError.CustomError(e.message ?: "Failed to enable XPUB mode"))
|
||||
}
|
||||
walletManager.enableDynamicAddresses(xpub)
|
||||
SimpleResult.Success
|
||||
}
|
||||
|
||||
@Suppress("TooGenericExceptionCaught")
|
||||
|
|
@ -461,12 +457,8 @@ internal class DefaultWalletManagersFacade @Inject constructor(
|
|||
)
|
||||
}
|
||||
|
||||
try {
|
||||
walletManager.disableDynamicAddresses()
|
||||
SimpleResult.Success
|
||||
} catch (e: Exception) {
|
||||
SimpleResult.Failure(BlockchainSdkError.CustomError(e.message ?: "Failed to disable XPUB mode"))
|
||||
}
|
||||
walletManager.disableDynamicAddresses()
|
||||
SimpleResult.Success
|
||||
}
|
||||
|
||||
override suspend fun isDynamicAddressesEnabled(userWalletId: UserWalletId, network: Network): Boolean {
|
||||
|
|
@ -507,6 +499,25 @@ internal class DefaultWalletManagersFacade @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override suspend fun probeHasFundsOnAdditionalAddresses(
|
||||
userWalletId: UserWalletId,
|
||||
network: Network,
|
||||
xpub: String,
|
||||
): Boolean {
|
||||
return withContext(dispatchers.io) {
|
||||
val walletManager = getOrCreateWalletManager(userWalletId = userWalletId, network = network)
|
||||
val dynamicAddressesManager = walletManager as? DynamicAddressesManager
|
||||
?: return@withContext false
|
||||
when (val result = dynamicAddressesManager.probeHasFundsOnNonBaseAddresses(xpub)) {
|
||||
is Result.Success -> result.data
|
||||
is Result.Failure -> {
|
||||
TangemLogger.w("Xpub probe failed for ${network.id}: ${result.error}")
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun getEnabledDynamicAddressesManagerOrNull(
|
||||
userWalletId: UserWalletId,
|
||||
network: Network,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue