Skip to content

Commit 850c001

Browse files
committed
chore(ocp/fiat): create a proper toDouble() and use for value comparisons
Signed-off-by: Brandon McAnsh <[email protected]>
1 parent ac292a1 commit 850c001

File tree

13 files changed

+33
-43
lines changed

13 files changed

+33
-43
lines changed

apps/flipcash/features/cash/src/main/kotlin/com/flipcash/app/cash/internal/CashScreenViewModel.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.getcode.opencode.model.financial.CurrencyCode
2222
import com.getcode.opencode.model.financial.Fiat
2323
import com.getcode.opencode.model.financial.Limits
2424
import com.getcode.opencode.model.financial.LocalFiat
25-
import com.getcode.opencode.model.financial.Rate
2625
import com.getcode.opencode.model.financial.SendLimit
2726
import com.getcode.opencode.model.financial.TokenWithLocalizedBalance
2827
import com.getcode.opencode.model.financial.minus
@@ -287,7 +286,7 @@ internal class CashScreenViewModel @Inject constructor(
287286
.onEach { (limits, balance) ->
288287
val sendLimit = limits?.sendLimitFor(balance.rate.currency) ?: SendLimit.Zero
289288
val nextTransactionLimit = sendLimit.nextTransaction
290-
val max = min(nextTransactionLimit, balance.nativeAmount.doubleValue)
289+
val max = min(nextTransactionLimit, balance.nativeAmount.decimalValue)
291290
dispatchEvent(Event.OnMaxDetermined(max, balance.rate.currency))
292291
}.launchIn(viewModelScope)
293292

apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/WithdrawalViewModel.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@ import com.flipcash.app.activityfeed.ActivityFeedCoordinator
99
import com.flipcash.app.core.extensions.onResult
1010
import com.flipcash.app.core.ui.CurrencyHolder
1111
import com.flipcash.features.withdrawal.R
12-
import com.flipcash.libs.currency.math.Estimator
1312
import com.flipcash.services.analytics.AnalyticsEvent
1413
import com.flipcash.services.analytics.FlipcashAnalyticsService
1514
import com.flipcash.services.user.UserManager
1615
import com.getcode.manager.BottomBarAction
1716
import com.getcode.manager.BottomBarManager
18-
import com.getcode.opencode.controllers.BalanceController
1917
import com.getcode.opencode.controllers.TokenController
2018
import com.getcode.opencode.controllers.TransactionController
2119
import com.getcode.opencode.exchange.Exchange
@@ -25,10 +23,8 @@ import com.getcode.opencode.model.financial.Fiat
2523
import com.getcode.opencode.model.financial.LocalFiat
2624
import com.getcode.opencode.model.financial.Rate
2725
import com.getcode.opencode.model.financial.TokenWithBalance
28-
import com.getcode.opencode.model.financial.TokenWithLocalizedBalance
2926
import com.getcode.opencode.model.financial.minus
3027
import com.getcode.opencode.model.transactions.WithdrawalAvailability
31-
import com.getcode.opencode.utils.roundTo
3228
import com.getcode.solana.keys.Mint
3329
import com.getcode.ui.components.text.AmountAnimatedInputUiModel
3430
import com.getcode.ui.components.text.NumberInputHelper

apps/flipcash/shared/authentication/src/main/kotlin/com/flipcash/app/auth/AuthManager.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.flipcash.services.user.UserManager
1515
import com.flipcash.shared.authentication.BuildConfig
1616
import com.getcode.crypt.MnemonicPhrase
1717
import com.getcode.opencode.controllers.BalanceController
18+
import com.getcode.opencode.controllers.TokenController
1819
import com.getcode.opencode.model.core.ID
1920
import com.getcode.utils.TraceType
2021
import com.getcode.utils.trace
@@ -34,7 +35,7 @@ class AuthManager @Inject constructor(
3435
private val notificationManager: NotificationManagerCompat,
3536
private val accountController: AccountController,
3637
private val pushController: PushController,
37-
private val balanceController: BalanceController,
38+
private val tokenController: TokenController,
3839
private val persistence: PersistenceProvider,
3940
private val featureFlagController: FeatureFlagController,
4041
private val appSettings: AppSettingsCoordinator,
@@ -195,7 +196,7 @@ class AuthManager @Inject constructor(
195196
pushController.deleteTokens()
196197
notificationManager.cancelAll()
197198
userManager.clear()
198-
balanceController.reset()
199+
tokenController.reset()
199200
persistence.close()
200201
featureFlagController.reset()
201202
appSettings.reset()

apps/flipcash/shared/session/src/main/kotlin/com/flipcash/app/session/internal/RealSessionController.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ import com.getcode.opencode.model.financial.Token
4949
import com.getcode.opencode.model.financial.usdc
5050
import com.getcode.opencode.model.transactions.AirdropType
5151
import com.getcode.opencode.utils.nonce
52-
import com.getcode.solana.keys.Mint
5352
import com.getcode.ui.core.RestrictionType
5453
import com.getcode.util.permissions.PermissionResult
5554
import com.getcode.util.resources.ResourceHelper
@@ -363,7 +362,7 @@ class RealSessionController @Inject constructor(
363362
}
364363

365364
override fun showBill(bill: Bill) {
366-
if (bill.amount.nativeAmount.doubleValue == 0.0) return
365+
if (bill.amount.nativeAmount.decimalValue == 0.0) return
367366
val owner = userManager.accountCluster ?: return
368367

369368
if (!networkObserver.isConnected) {

apps/flipcash/shared/session/src/main/kotlin/com/flipcash/app/session/internal/toast/ToastController.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ class ToastController @Inject constructor(
4040
isDeposit: Boolean,
4141
initialDelay: Duration = INITIAL_DELAY
4242
) {
43-
if (amount.nativeAmount.doubleValue == 0.0) {
43+
if (amount.nativeAmount.decimalValue == 0.0) {
4444
return
4545
}
4646

4747
synchronized(toastQueue) {
4848
// Check for matching toast (same amount, opposite isDeposit)
4949
val matchingToast = toastQueue.find { toast ->
50-
toast.amount.nativeAmount.doubleValue == amount.nativeAmount.doubleValue &&
50+
toast.amount.nativeAmount.decimalValue == amount.nativeAmount.decimalValue &&
5151
toast.isDeposit != isDeposit
5252
}
5353

services/flipcash/src/main/kotlin/com/flipcash/services/analytics/Analytics.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ private fun AnalyticsEvent.properties(
457457
}
458458
is AnalyticsEvent.WalletRequestAmount -> {
459459
put("Provider", providerName)
460-
put("Fiat", nativeAmount?.doubleValue.toString())
460+
put("Fiat", nativeAmount?.decimalValue.toString())
461461
put("Currency", nativeAmount?.currencyCode?.name.orEmpty())
462462
}
463463
is AnalyticsEvent.WalletSubmitTransaction -> {
@@ -473,20 +473,20 @@ private fun AnalyticsEvent.properties(
473473
is AnalyticsEvent.OnRampOpenEvent -> Unit
474474
is AnalyticsEvent.OnRampVerificationEvent -> Unit
475475
AnalyticsEvent.OnRampPurchaseEvent.Completed -> {
476-
put("Fiat", nativeAmount?.doubleValue.toString())
476+
put("Fiat", nativeAmount?.decimalValue.toString())
477477
put("Currency", nativeAmount?.currencyCode?.name.orEmpty())
478478
}
479479
AnalyticsEvent.OnRampPurchaseEvent.EnterCustomAmount -> Unit
480480
AnalyticsEvent.OnRampPurchaseEvent.InvokePayment -> {
481-
put("Fiat", nativeAmount?.doubleValue.toString())
481+
put("Fiat", nativeAmount?.decimalValue.toString())
482482
put("Currency", nativeAmount?.currencyCode?.name.orEmpty())
483483
}
484484
AnalyticsEvent.OnRampPurchaseEvent.InvokePaymentCustom -> {
485-
put("Fiat", nativeAmount?.doubleValue.toString())
485+
put("Fiat", nativeAmount?.decimalValue.toString())
486486
put("Currency", nativeAmount?.currencyCode?.name.orEmpty())
487487
}
488488
AnalyticsEvent.OnRampPurchaseEvent.PresetSelected -> {
489-
put("Fiat", nativeAmount?.doubleValue.toString())
489+
put("Fiat", nativeAmount?.decimalValue.toString())
490490
put("Currency", nativeAmount?.currencyCode?.name.orEmpty())
491491
}
492492
}
@@ -506,7 +506,7 @@ private fun AnalyticsEvent.properties(
506506
private fun LocalFiat.asProperties(): Map<String, String> {
507507
return buildMap {
508508
putAll(underlyingTokenAmount.asProperties())
509-
"Fiat" to nativeAmount.doubleValue.toString()
509+
"Fiat" to nativeAmount.decimalValue.toString()
510510
"Exchange Rate" to rate.fx.toString()
511511
"Currency" to rate.currency.name
512512
"Mint" to mint.base58()
@@ -515,7 +515,7 @@ private fun LocalFiat.asProperties(): Map<String, String> {
515515

516516
private fun Fiat.asProperties(): Map<String, String> {
517517
return buildMap {
518-
"USDC" to doubleValue.toString()
518+
"USDC" to decimalValue.toString()
519519
"Quarks" to quarks.toDouble().toString()
520520
}
521521
}

services/flipcash/src/main/kotlin/com/flipcash/services/internal/network/extensions/LocalToProtobuf.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ internal fun PoolMetadata.toProto(): PoolModels.SignedPoolMetadata {
7878
.setBuyIn(
7979
Common.FiatPaymentAmount.newBuilder()
8080
.setCurrency(buyIn.currencyCode.name.lowercase())
81-
.setNativeAmount(buyIn.doubleValue)
81+
.setNativeAmount(buyIn.decimalValue)
8282
)
8383
.setFundingDestination(fundingDestination.asPublicKey())
8484
.setIsOpen(isOpen)

services/opencode/src/androidTest/kotlin/com/getcode/opencode/model/core/OpenCodePayloadTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class OpenCodePayloadTests {
2323
// --------------------------------------------------------
2424

2525
assertEquals(PayloadKind.Cash.value, decoded.kind.value)
26-
assertEquals(5.00, decoded.fiat?.doubleValue)
26+
assertEquals(5.00, decoded.fiat?.decimalValue)
2727
assertEquals(nonce, decoded.nonce)
2828
}
2929
}

services/opencode/src/main/kotlin/com/getcode/opencode/controllers/BalanceController.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class BalanceController @Inject constructor(
8181
}
8282

8383
suspend fun add(fiat: LocalFiat) {
84-
if (_rawBalance.value.doubleValue == 0.0) {
84+
if (_rawBalance.value.decimalValue == 0.0) {
8585
// attempt to fetch prior to append
8686
fetchBalance()
8787
} else {
@@ -90,7 +90,7 @@ class BalanceController @Inject constructor(
9090
}
9191

9292
suspend fun subtract(fiat: LocalFiat) {
93-
if (_rawBalance.value.doubleValue == 0.0) {
93+
if (_rawBalance.value.decimalValue == 0.0) {
9494
// attempt to fetch prior to append
9595
fetchBalance()
9696
} else {

services/opencode/src/main/kotlin/com/getcode/opencode/controllers/TokenController.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ import javax.inject.Inject
3131
import javax.inject.Singleton
3232
import kotlin.concurrent.atomics.AtomicBoolean
3333
import kotlin.concurrent.atomics.ExperimentalAtomicApi
34-
import kotlin.time.Duration
35-
import kotlin.time.Duration.Companion.minutes
3634

3735
@Singleton
3836
@OptIn(ExperimentalAtomicApi::class)
@@ -93,7 +91,7 @@ class TokenController @Inject constructor(
9391

9492
private suspend fun modifyBalance(token: Token, operation: (Fiat) -> Fiat) {
9593
val balance = mintBalances.value[token.address] ?: Fiat.Zero
96-
if (balance.doubleValue == 0.0) {
94+
if (balance.decimalValue == 0.0) {
9795
// attempt to fetch prior to modifying balance
9896
fetchBalanceForToken(token.address)
9997
} else {

0 commit comments

Comments
 (0)