Integrate Breez SDK Spark as a second wallet backend alongside NWC. Users can create/restore a non-custodial Lightning wallet directly in the app with seamless onboarding (no forced backup on first use). - WalletProvider interface abstracts NWC and Spark backends - WalletModeRepository persists active wallet mode - SparkRepository wraps Breez SDK: connect, send, receive, transactions - Wallet mode selection UI with back navigation - Receive flow auto-detects payment via sync polling + SDK events - Payment received success screen with auto-navigation - Dynamic wallet provider resolution for zaps (no stale captures) - Proper SDK lifecycle: disconnect on app exit, cleanup on teardown - 60s connection timeout for Spark (vs 20s for NWC) - Wallet-connected indicator works for both providers - BIP39 mnemonic generation with bundled English wordlist - ProGuard rules for UniFFI/JNA bindings
28 lines
639 B
Kotlin
28 lines
639 B
Kotlin
pluginManagement {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
resolutionStrategy {
|
|
eachPlugin {
|
|
if (requested.id.id == "io.objectbox") {
|
|
useModule("io.objectbox:objectbox-gradle-plugin:${requested.version}")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Suppress("UnstableApiUsage")
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven { url = uri("https://mvn.breez.technology/releases") }
|
|
}
|
|
}
|
|
|
|
rootProject.name = "wisp"
|
|
include(":app")
|