From 31d4537a712a8c7bbcd94de771e3ec30fba57c70 Mon Sep 17 00:00:00 2001 From: Kayos Date: Fri, 27 Mar 2026 12:33:14 -0700 Subject: [PATCH] fix(wallet): fix cardano-client-lib API compatibility - Rename getNetworks() to getNetwork() in CardanoNetworkConfig - Return Network type instead of Networks - Update all callers in CardanoKeyStorageImpl, CardanoWalletManager, DefaultTransactionBuilder --- .../features/wallet/impl/cardano/CardanoNetworkConfig.kt | 4 ++-- .../features/wallet/impl/cardano/CardanoWalletManager.kt | 2 +- .../wallet/impl/cardano/DefaultTransactionBuilder.kt | 2 +- .../features/wallet/impl/storage/CardanoKeyStorageImpl.kt | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoNetworkConfig.kt b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoNetworkConfig.kt index 781785a68f..e9569c5d15 100644 --- a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoNetworkConfig.kt +++ b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoNetworkConfig.kt @@ -77,9 +77,9 @@ object CardanoNetworkConfig { } /** - * Returns the Networks instance for cardano-client-lib. + * Returns the Network instance for cardano-client-lib. */ - fun getNetworks(): com.bloxbean.cardano.client.common.model.Networks = when (NETWORK) { + fun getNetwork(): com.bloxbean.cardano.client.common.model.Network = when (NETWORK) { CardanoNetwork.TESTNET -> com.bloxbean.cardano.client.common.model.Networks.preprod() CardanoNetwork.MAINNET -> com.bloxbean.cardano.client.common.model.Networks.mainnet() } diff --git a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoWalletManager.kt b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoWalletManager.kt index 7a979fb40c..7193830418 100644 --- a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoWalletManager.kt +++ b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/CardanoWalletManager.kt @@ -157,7 +157,7 @@ class DefaultCardanoWalletManager @Inject constructor( val mnemonicString = mnemonic.joinToString(" ") // Create account and get private key bytes - val account = Account(CardanoNetworkConfig.getNetworks(), mnemonicString, addressIndex) + val account = Account(CardanoNetworkConfig.getNetwork(), mnemonicString, addressIndex) val privateKeyBytes = account.privateKeyBytes() // Clear mnemonic string reference (best effort - JVM strings are immutable) diff --git a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/DefaultTransactionBuilder.kt b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/DefaultTransactionBuilder.kt index 6dc06a0a40..97b5a69e35 100644 --- a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/DefaultTransactionBuilder.kt +++ b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/cardano/DefaultTransactionBuilder.kt @@ -137,7 +137,7 @@ class DefaultTransactionBuilder @Inject constructor( mnemonic: String, ): SignedTransaction { // Create Account from mnemonic (handles CIP-1852 derivation internally) - val account = Account(CardanoNetworkConfig.getNetworks(), mnemonic) + val account = Account(CardanoNetworkConfig.getNetwork(), mnemonic) // Build transaction using QuickTx (high-level API) val tx = Tx() diff --git a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/storage/CardanoKeyStorageImpl.kt b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/storage/CardanoKeyStorageImpl.kt index de7e741f2e..a312c436aa 100644 --- a/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/storage/CardanoKeyStorageImpl.kt +++ b/features/wallet/impl/src/main/kotlin/io/element/android/features/wallet/impl/storage/CardanoKeyStorageImpl.kt @@ -105,7 +105,7 @@ class CardanoKeyStorageImpl @Inject constructor( // Derive addresses val mnemonicString = wordList.joinToString(" ") - val account = Account(CardanoNetworkConfig.getNetworks(), mnemonicString) + val account = Account(CardanoNetworkConfig.getNetwork(), mnemonicString) val result = WalletCreationResult( mnemonic = wordList, @@ -141,7 +141,7 @@ class CardanoKeyStorageImpl @Inject constructor( // Verify it produces valid Cardano addresses val mnemonicString = mnemonic.joinToString(" ") val account = try { - Account(CardanoNetworkConfig.getNetworks(), mnemonicString) + Account(CardanoNetworkConfig.getNetwork(), mnemonicString) } catch (e: Exception) { throw IllegalArgumentException("Failed to derive Cardano keys: ${e.message}") } @@ -166,7 +166,7 @@ class CardanoKeyStorageImpl @Inject constructor( runCatching { val mnemonic = retrieveMnemonic(sessionId) val mnemonicString = mnemonic.joinToString(" ") - val account = Account(CardanoNetworkConfig.getNetworks(), mnemonicString, addressIndex) + val account = Account(CardanoNetworkConfig.getNetwork(), mnemonicString, addressIndex) account.baseAddress() } } @@ -176,7 +176,7 @@ class CardanoKeyStorageImpl @Inject constructor( runCatching { val mnemonic = retrieveMnemonic(sessionId) val mnemonicString = mnemonic.joinToString(" ") - val account = Account(CardanoNetworkConfig.getNetworks(), mnemonicString) + val account = Account(CardanoNetworkConfig.getNetwork(), mnemonicString) account.stakeAddress() } }