From a02241128a9e5bd1b633703173301e159d54498a Mon Sep 17 00:00:00 2001 From: Oscar Mira Date: Sun, 25 May 2025 21:08:02 +0200 Subject: [PATCH] lib: rename timeLockedAmounts to lockableAmounts --- .../molly/monero/demo/ui/WalletBalanceView.kt | 2 +- .../main/kotlin/im/molly/monero/Balance.kt | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletBalanceView.kt b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletBalanceView.kt index bc50362..3609c6e 100644 --- a/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletBalanceView.kt +++ b/demo/android/src/main/kotlin/im/molly/monero/demo/ui/WalletBalanceView.kt @@ -120,7 +120,7 @@ fun WalletBalanceDetailsPreview() { WalletBalanceView( balance = Balance( pendingAmount = 5.xmr, - timeLockedAmounts = listOf( + lockableAmounts = listOf( TimeLocked(10.xmr, null), TimeLocked(BigDecimal("0.000000000001").xmr, null), TimeLocked(30.xmr, null) diff --git a/lib/android/src/main/kotlin/im/molly/monero/Balance.kt b/lib/android/src/main/kotlin/im/molly/monero/Balance.kt index 83ff62f..e0845af 100644 --- a/lib/android/src/main/kotlin/im/molly/monero/Balance.kt +++ b/lib/android/src/main/kotlin/im/molly/monero/Balance.kt @@ -1,32 +1,34 @@ package im.molly.monero data class Balance( - val pendingAmount: MoneroAmount, - val timeLockedAmounts: List>, + val lockableAmounts: List>, + val pendingAmount: MoneroAmount = MoneroAmount.ZERO, ) { - val confirmedAmount: MoneroAmount = timeLockedAmounts.sumOf { it.value } + val confirmedAmount: MoneroAmount = lockableAmounts.sumOf { it.value } val totalAmount: MoneroAmount = confirmedAmount + pendingAmount + companion object { + val EMPTY = Balance(emptyList()) + } + fun unlockedAmountAt(targetTime: BlockchainTime): MoneroAmount { - return timeLockedAmounts + return lockableAmounts .filter { it.isUnlocked(targetTime) } .sumOf { it.value } } fun lockedAmountsAt(targetTime: BlockchainTime): Map { - return timeLockedAmounts + return lockableAmounts .filter { it.isLocked(targetTime) } .groupBy({ it.timeUntilUnlock(targetTime) }, { it.value }) - .mapValues { (_, amounts) -> - amounts.sum() - } + .mapValues { it.value.sum() } } } fun Iterable>.calculateBalance( accountFilter: (owner: AccountAddress) -> Boolean = { true }, ): Balance { - val lockedAmounts = mutableListOf>() + val lockableAmounts = mutableListOf>() var pendingAmount = MoneroAmount.ZERO @@ -34,9 +36,9 @@ fun Iterable>.calculateBalance( if (timeLocked.value.age == 0) { pendingAmount += timeLocked.value.amount } else { - lockedAmounts.add(TimeLocked(timeLocked.value.amount, timeLocked.unlockTime)) + lockableAmounts.add(TimeLocked(timeLocked.value.amount, timeLocked.unlockTime)) } } - return Balance(pendingAmount, lockedAmounts) + return Balance(lockableAmounts, pendingAmount) }