Skip to content

Commit a32f403

Browse files
authored
Merge branch 'chore/update-deps' into fix/primary-bt-width
2 parents a6a6c85 + a9714e8 commit a32f403

File tree

61 files changed

+292
-589
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+292
-589
lines changed

app/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import com.android.build.gradle.internal.api.BaseVariantOutputImpl
22
import io.gitlab.arturbosch.detekt.Detekt
33
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
44
import org.gradle.api.tasks.testing.logging.TestLogEvent
5-
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag
65
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
76
import java.io.FileInputStream
87
import java.util.Properties
@@ -176,7 +175,6 @@ android {
176175

177176
composeCompiler {
178177
featureFlags = setOf(
179-
ComposeFeatureFlag.OptimizeNonSkippingGroups,
180178
)
181179
reportsDestination = layout.buildDirectory.dir("compose_compiler")
182180
}

app/detekt-baseline.xml

Lines changed: 1 addition & 265 deletions
Large diffs are not rendered by default.

app/src/main/java/to/bitkit/ext/Activities.kt

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package to.bitkit.ext
22

33
import com.synonym.bitkitcore.Activity
4+
import com.synonym.bitkitcore.LightningActivity
5+
import com.synonym.bitkitcore.OnchainActivity
46
import com.synonym.bitkitcore.PaymentState
57
import com.synonym.bitkitcore.PaymentType
68

@@ -70,3 +72,75 @@ fun Activity.Onchain.boostType() = when (this.v1.txType) {
7072
}
7173

7274
enum class BoostType { RBF, CPFP }
75+
76+
@Suppress("LongParameterList")
77+
fun LightningActivity.Companion.create(
78+
id: String,
79+
txType: PaymentType,
80+
status: PaymentState,
81+
value: ULong,
82+
invoice: String,
83+
timestamp: ULong,
84+
fee: ULong = 0u,
85+
message: String = "",
86+
preimage: String? = null,
87+
createdAt: ULong? = timestamp,
88+
updatedAt: ULong? = createdAt,
89+
seenAt: ULong? = null,
90+
) = LightningActivity(
91+
id = id,
92+
txType = txType,
93+
status = status,
94+
value = value,
95+
fee = fee,
96+
invoice = invoice,
97+
message = message,
98+
timestamp = timestamp,
99+
preimage = preimage,
100+
createdAt = createdAt,
101+
updatedAt = updatedAt,
102+
seenAt = seenAt,
103+
)
104+
105+
@Suppress("LongParameterList")
106+
fun OnchainActivity.Companion.create(
107+
id: String,
108+
txType: PaymentType,
109+
txId: String,
110+
value: ULong,
111+
fee: ULong,
112+
address: String,
113+
timestamp: ULong,
114+
confirmed: Boolean = false,
115+
feeRate: ULong = 1u,
116+
isBoosted: Boolean = false,
117+
boostTxIds: List<String> = emptyList(),
118+
isTransfer: Boolean = false,
119+
doesExist: Boolean = true,
120+
confirmTimestamp: ULong? = null,
121+
channelId: String? = null,
122+
transferTxId: String? = null,
123+
createdAt: ULong? = timestamp,
124+
updatedAt: ULong? = createdAt,
125+
seenAt: ULong? = null,
126+
) = OnchainActivity(
127+
id = id,
128+
txType = txType,
129+
txId = txId,
130+
value = value,
131+
fee = fee,
132+
feeRate = feeRate,
133+
address = address,
134+
confirmed = confirmed,
135+
timestamp = timestamp,
136+
isBoosted = isBoosted,
137+
boostTxIds = boostTxIds,
138+
isTransfer = isTransfer,
139+
doesExist = doesExist,
140+
confirmTimestamp = confirmTimestamp,
141+
channelId = channelId,
142+
transferTxId = transferTxId,
143+
createdAt = createdAt,
144+
updatedAt = updatedAt,
145+
seenAt = seenAt,
146+
)

app/src/main/java/to/bitkit/repositories/ActivityRepo.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,7 @@ class ActivityRepo @Inject constructor(
529529
preimage = null,
530530
createdAt = now,
531531
updatedAt = null,
532+
seenAt = null, // TODO implement synonymdev/bitkit-ios#270 changes
532533
)
533534
)
534535
)

app/src/main/java/to/bitkit/services/CoreService.kt

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ import to.bitkit.async.ServiceQueue
6969
import to.bitkit.data.CacheStore
7070
import to.bitkit.env.Env
7171
import to.bitkit.ext.amountSats
72+
import to.bitkit.ext.create
7273
import to.bitkit.models.toCoreNetwork
7374
import to.bitkit.utils.AppError
7475
import to.bitkit.utils.Logger
@@ -473,18 +474,17 @@ class ActivityService(
473474
status = state
474475
)
475476
} else {
476-
LightningActivity(
477+
LightningActivity.create(
477478
id = payment.id,
478479
txType = payment.direction.toPaymentType(),
479480
status = state,
480481
value = payment.amountSats ?: 0u,
481-
fee = (payment.feePaidMsat ?: 0u) / 1000u,
482482
invoice = kind.bolt11 ?: "Loading...",
483-
message = kind.description.orEmpty(),
484483
timestamp = payment.latestUpdateTimestamp,
484+
fee = (payment.feePaidMsat ?: 0u) / 1000u,
485+
message = kind.description.orEmpty(),
485486
preimage = kind.preimage,
486-
createdAt = payment.latestUpdateTimestamp,
487-
updatedAt = payment.latestUpdateTimestamp,
487+
seenAt = null, // TODO implement synonymdev/bitkit-ios#270 changes
488488
)
489489
}
490490

@@ -597,25 +597,19 @@ class ActivityService(
597597
): OnchainActivity {
598598
val isTransfer = channelId != null
599599

600-
return OnchainActivity(
600+
return OnchainActivity.create(
601601
id = payment.id,
602602
txType = payment.direction.toPaymentType(),
603603
txId = kind.txid,
604604
value = payment.amountSats ?: 0u,
605605
fee = (payment.feePaidMsat ?: 0u) / 1000u,
606-
feeRate = 1u,
607606
address = resolvedAddress ?: "Loading...",
608-
confirmed = confirmationData.isConfirmed,
609607
timestamp = confirmationData.timestamp,
610-
isBoosted = false,
611-
boostTxIds = emptyList(),
608+
confirmed = confirmationData.isConfirmed,
612609
isTransfer = isTransfer,
613-
doesExist = true,
614610
confirmTimestamp = confirmationData.confirmedTimestamp,
615611
channelId = channelId,
616-
transferTxId = null,
617-
createdAt = confirmationData.timestamp,
618-
updatedAt = confirmationData.timestamp,
612+
seenAt = null, // TODO implement synonymdev/bitkit-ios#270 changes
619613
)
620614
}
621615

@@ -726,42 +720,35 @@ class ActivityService(
726720
if (isLightning) {
727721
id = "test-lightning-$i"
728722
activity = Activity.Lightning(
729-
LightningActivity(
723+
LightningActivity.create(
730724
id = id,
731725
txType = txType,
732726
status = status,
733727
value = value,
734-
fee = (1..1_000).random().toULong(),
735728
invoice = "lnbc$value",
736-
message = possibleMessages.random(),
737729
timestamp = txTimestamp,
730+
fee = (1..1_000).random().toULong(),
731+
message = possibleMessages.random(),
738732
preimage = if (Random.nextBoolean()) "preimage$i" else null,
739-
createdAt = txTimestamp,
740-
updatedAt = txTimestamp
741733
)
742734
)
743735
} else {
744736
id = "test-onchain-$i"
745737
activity = Activity.Onchain(
746-
OnchainActivity(
738+
OnchainActivity.create(
747739
id = id,
748740
txType = txType,
749741
txId = "a".repeat(64), // Mock txid
750742
value = value,
751743
fee = (100..10_000).random().toULong(),
752-
feeRate = (1..100).random().toULong(),
753744
address = "bc1...$i",
754-
confirmed = Random.nextBoolean(),
755745
timestamp = txTimestamp,
746+
confirmed = Random.nextBoolean(),
747+
feeRate = (1..100).random().toULong(),
756748
isBoosted = Random.nextBoolean(),
757-
boostTxIds = emptyList(),
758749
isTransfer = Random.nextBoolean(),
759-
doesExist = true,
760750
confirmTimestamp = if (Random.nextBoolean()) txTimestamp + 3600.toULong() else null,
761751
channelId = if (Random.nextBoolean()) "channel$i" else null,
762-
transferTxId = null,
763-
createdAt = txTimestamp,
764-
updatedAt = txTimestamp,
765752
)
766753
)
767754
}

app/src/main/java/to/bitkit/services/LightningService.kt

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import org.lightningdevkit.ldknode.ElectrumSyncConfig
2424
import org.lightningdevkit.ldknode.Event
2525
import org.lightningdevkit.ldknode.FeeRate
2626
import org.lightningdevkit.ldknode.Node
27-
import org.lightningdevkit.ldknode.NodeEntropy
2827
import org.lightningdevkit.ldknode.NodeException
2928
import org.lightningdevkit.ldknode.NodeStatus
3029
import org.lightningdevkit.ldknode.PaymentDetails
@@ -118,43 +117,32 @@ class LightningService @Inject constructor(
118117
customRgsServerUrl: String?,
119118
config: Config,
120119
): Node = ServiceQueue.LDK.background {
121-
val nodeEntropy = NodeEntropy.fromBip39Mnemonic(
122-
mnemonic = keychain.loadString(Keychain.Key.BIP39_MNEMONIC.name) ?: throw ServiceError.MnemonicNotFound,
123-
passphrase = keychain.loadString(Keychain.Key.BIP39_PASSPHRASE.name),
124-
)
125-
126120
val builder = Builder.fromConfig(config).apply {
127121
setCustomLogger(LdkLogWriter())
128122
configureChainSource(customServerUrl)
129123
configureGossipSource(customRgsServerUrl)
124+
setEntropyBip39Mnemonic(
125+
mnemonic = keychain.loadString(Keychain.Key.BIP39_MNEMONIC.name) ?: throw ServiceError.MnemonicNotFound,
126+
passphrase = keychain.loadString(Keychain.Key.BIP39_PASSPHRASE.name),
127+
)
130128
}
131129
try {
132130
val vssStoreId = vssStoreIdProvider.getVssStoreId(walletIndex)
133-
val lnurlAuthServerUrl = Env.lnurlAuthServerUrl
134131
val vssUrl = Env.vssServerUrl
135-
Logger.verbose("Building ldk-node with vssUrl: '$vssUrl'")
136-
Logger.verbose("Building ldk-node with lnurlAuthServerUrl: '$lnurlAuthServerUrl'")
132+
val lnurlAuthServerUrl = Env.lnurlAuthServerUrl
133+
val fixedHeaders = emptyMap<String, String>()
134+
Logger.verbose(
135+
"Building ldk-node with \n\t vssUrl: '$vssUrl'\n\t lnurlAuthServerUrl: '$lnurlAuthServerUrl'"
136+
)
137137
if (lnurlAuthServerUrl.isNotEmpty()) {
138-
builder.buildWithVssStore(
139-
vssUrl = vssUrl,
140-
storeId = vssStoreId,
141-
lnurlAuthServerUrl = lnurlAuthServerUrl,
142-
fixedHeaders = emptyMap(),
143-
nodeEntropy = nodeEntropy,
144-
)
138+
builder.buildWithVssStore(vssUrl, vssStoreId, lnurlAuthServerUrl, fixedHeaders)
145139
} else {
146-
builder.buildWithVssStoreAndFixedHeaders(
147-
vssUrl = vssUrl,
148-
storeId = vssStoreId,
149-
fixedHeaders = emptyMap(),
150-
nodeEntropy = nodeEntropy,
151-
)
140+
builder.buildWithVssStoreAndFixedHeaders(vssUrl, vssStoreId, fixedHeaders)
152141
}
153142
} catch (e: BuildException) {
154143
throw LdkError(e)
155144
} finally {
156-
// cleanup sensitive data
157-
nodeEntropy.destroy()
145+
// TODO: cleanup sensitive data after implementing a `SecureString` value holder for Keychain return values
158146
}
159147
}
160148

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import androidx.compose.ui.Alignment
2121
import androidx.compose.ui.Modifier
2222
import androidx.compose.ui.platform.LocalContext
2323
import androidx.core.net.toUri
24-
import androidx.hilt.navigation.compose.hiltViewModel
24+
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
2525
import androidx.lifecycle.Lifecycle
2626
import androidx.lifecycle.LifecycleEventObserver
2727
import androidx.lifecycle.compose.LocalLifecycleOwner

app/src/main/java/to/bitkit/ui/onboarding/RestoreWalletScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ import androidx.compose.ui.text.input.KeyboardCapitalization
5353
import androidx.compose.ui.text.input.TextFieldValue
5454
import androidx.compose.ui.tooling.preview.Preview
5555
import androidx.compose.ui.unit.dp
56-
import androidx.hilt.navigation.compose.hiltViewModel
56+
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
5757
import androidx.lifecycle.compose.collectAsStateWithLifecycle
5858
import to.bitkit.R
5959
import to.bitkit.ui.components.BodyM

app/src/main/java/to/bitkit/ui/screens/recovery/RecoveryMnemonicScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import androidx.compose.ui.platform.testTag
2020
import androidx.compose.ui.res.stringResource
2121
import androidx.compose.ui.tooling.preview.Preview
2222
import androidx.compose.ui.unit.dp
23-
import androidx.hilt.navigation.compose.hiltViewModel
23+
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
2424
import to.bitkit.R
2525
import to.bitkit.ui.components.BodyM
2626
import to.bitkit.ui.components.FillHeight

app/src/main/java/to/bitkit/ui/screens/recovery/RecoveryModeScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import androidx.compose.ui.Modifier
1717
import androidx.compose.ui.res.stringResource
1818
import androidx.compose.ui.tooling.preview.Preview
1919
import androidx.compose.ui.unit.dp
20-
import androidx.hilt.navigation.compose.hiltViewModel
20+
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
2121
import to.bitkit.R
2222
import to.bitkit.ui.components.AuthCheckView
2323
import to.bitkit.ui.components.BodyM

0 commit comments

Comments
 (0)