mirror of
https://github.com/mollyim/monero-wallet-sdk.git
synced 2025-04-11 18:59:07 -04:00
lib: deprecate parseHex and use hexToByteArray instead
This commit is contained in:
parent
d05a056698
commit
16ff7b06db
@ -12,14 +12,12 @@ import im.molly.monero.demo.data.WalletRepository
|
||||
import im.molly.monero.demo.data.model.DefaultMoneroNetwork
|
||||
import im.molly.monero.demo.data.model.RemoteNode
|
||||
import im.molly.monero.mnemonics.MoneroMnemonic
|
||||
import im.molly.monero.util.parseHex
|
||||
import im.molly.monero.util.toHex
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.launch
|
||||
import java.time.LocalDate
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalStdlibApi::class)
|
||||
class AddWalletViewModel(
|
||||
private val remoteNodeRepository: RemoteNodeRepository = AppModule.remoteNodeRepository,
|
||||
private val walletRepository: WalletRepository = AppModule.walletRepository,
|
||||
@ -66,7 +64,7 @@ class AddWalletViewModel(
|
||||
MoneroMnemonic.recoverEntropy(words)?.use { mnemonicCode ->
|
||||
val secretKey = SecretKey(mnemonicCode.entropy)
|
||||
viewModelState.update {
|
||||
it.copy(secretSpendKeyHex = secretKey.bytes.toHex())
|
||||
it.copy(secretSpendKeyHex = secretKey.bytes.toHexString())
|
||||
}
|
||||
secretKey.destroy()
|
||||
return true
|
||||
@ -85,7 +83,7 @@ class AddWalletViewModel(
|
||||
fun validateSecretSpendKeyHex(): Boolean =
|
||||
with(viewModelState.value) {
|
||||
return secretSpendKeyHex.length == 64 && runCatching {
|
||||
secretSpendKeyHex.parseHex()
|
||||
secretSpendKeyHex.hexToByteArray()
|
||||
}.isSuccess
|
||||
}
|
||||
|
||||
@ -125,7 +123,7 @@ class AddWalletViewModel(
|
||||
|
||||
else -> RestorePoint.Genesis
|
||||
}
|
||||
SecretKey(state.secretSpendKeyHex.parseHex()).use { secretSpendKey ->
|
||||
SecretKey(state.secretSpendKeyHex.hexToByteArray()).use { secretSpendKey ->
|
||||
walletRepository.restoreWallet(
|
||||
state.network,
|
||||
state.walletName,
|
||||
|
@ -1,11 +0,0 @@
|
||||
package im.molly.monero.util
|
||||
|
||||
fun CharSequence.parseHex(): ByteArray {
|
||||
check(length % 2 == 0) { "Must have an even length" }
|
||||
|
||||
return ByteArray(length / 2) {
|
||||
Integer.parseInt(substring(it * 2, (it + 1) * 2), 16).toByte()
|
||||
}
|
||||
}
|
||||
|
||||
fun ByteArray.toHex(): String = joinToString(separator = "") { "%02x".format(it) }
|
@ -4,6 +4,7 @@ import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Assert
|
||||
import org.junit.Test
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
class Base58Test {
|
||||
|
||||
// Test cases from monero unit_tests/base58.cpp
|
||||
@ -134,7 +135,7 @@ class Base58Test {
|
||||
@Test
|
||||
fun `decode valid base58 strings`() {
|
||||
base58ToHex.forEach { (input, expected) ->
|
||||
assertThat(input.decodeBase58()).isEqualTo(expected.parseHex())
|
||||
assertThat(input.decodeBase58()).isEqualTo(expected.hexToByteArray())
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user