diff --git a/demo/android/src/main/kotlin/im/molly/monero/demo/data/WalletRepository.kt b/demo/android/src/main/kotlin/im/molly/monero/demo/data/WalletRepository.kt index dc306c8..7168a3b 100644 --- a/demo/android/src/main/kotlin/im/molly/monero/demo/data/WalletRepository.kt +++ b/demo/android/src/main/kotlin/im/molly/monero/demo/data/WalletRepository.kt @@ -61,7 +61,7 @@ class WalletRepository( } fun getTransaction(walletId: Long, txId: String): Flow = - getLedger(walletId).map { it.transactions[txId] } + getLedger(walletId).map { it.transactionById[txId] } suspend fun addWallet( moneroNetwork: MoneroNetwork, diff --git a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletViewModel.kt b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletViewModel.kt index d677093..a70ff90 100644 --- a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletViewModel.kt +++ b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletViewModel.kt @@ -79,13 +79,13 @@ private fun walletUiState( group.sortedBy { it.subAddressIndex }.mapIndexed { index, address -> WalletAddress( address = address, - used = address.isAddressUsed(ledger.transactions.values), + used = address.isAddressUsed(ledger.transactions), isLastForAccount = index == group.size - 1, ) } } val transactions = - ledger.transactions.map { WalletTransaction(config.id, it.value) } + ledger.transactions.map { WalletTransaction(config.id, it) } .sortedByDescending { it.transaction.blockTimestamp ?: Instant.MAX } WalletUiState.Loaded( config = config, diff --git a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/preview/PreviewParameterData.kt b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/preview/PreviewParameterData.kt index 4a1cdc1..e2716ba 100644 --- a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/preview/PreviewParameterData.kt +++ b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/preview/PreviewParameterData.kt @@ -41,7 +41,7 @@ object PreviewParameterData { val ledger = Ledger( publicAddress = PublicAddress.parse("4AYjQM9HoAFNUeC3cvSfgeAN89oMMpMqiByvunzSzhn97cj726rJj3x8hCbH58UnMqQJShczCxbpWRiCJQ3HCUDHLiKuo4T"), accountAddresses = emptySet(), - transactions = transactions.associateBy { it.txId }, + transactionById = transactions.associateBy { it.txId }, enotes = emptySet(), checkedAt = BlockchainTime(blockHeader = blockHeader, network = network), ) diff --git a/lib/android/src/main/kotlin/im/molly/monero/Ledger.kt b/lib/android/src/main/kotlin/im/molly/monero/Ledger.kt index de87332..8d6767e 100644 --- a/lib/android/src/main/kotlin/im/molly/monero/Ledger.kt +++ b/lib/android/src/main/kotlin/im/molly/monero/Ledger.kt @@ -5,10 +5,12 @@ package im.molly.monero data class Ledger( val publicAddress: PublicAddress, val accountAddresses: Set, - val transactions: Map, + val transactionById: Map, val enotes: Set>, val checkedAt: BlockchainTime, ) { + val transactions get() = transactionById.values + val balance: Balance = enotes.calculateBalance() // companion object { diff --git a/lib/android/src/main/kotlin/im/molly/monero/MoneroWallet.kt b/lib/android/src/main/kotlin/im/molly/monero/MoneroWallet.kt index 6100973..462599f 100644 --- a/lib/android/src/main/kotlin/im/molly/monero/MoneroWallet.kt +++ b/lib/android/src/main/kotlin/im/molly/monero/MoneroWallet.kt @@ -96,7 +96,7 @@ class MoneroWallet internal constructor( val ledger = Ledger( publicAddress = publicAddress, accountAddresses = accountAddresses, - transactions = txById, + transactionById = txById, enotes = enotes, checkedAt = blockchainTime, )