- Add WalletPanelView with 4 tabs (Overview, Assets, History, Settings) - Overview tab shows balance, QR code for receiving, and Send ADA button - Assets tab shows native tokens held at address - History tab shows recent transactions with explorer links - Settings tab shows address, network, and backup/delete options - Add NativeAsset and TxSummary models to wallet API - Add getAddressAssets() and getAddressTransactions() to CardanoClient - Implement new methods in KoiosCardanoClient and FakeCardanoClient - Add wallet button to MessagesViewTopBar (DM rooms only) - Add isDmRoom to MessagesState for conditional UI - Wire navigateToWallet() callback through to MessagesFlowNode - Add NavTarget.WalletPanel and WalletPanelNode integration - Add string resources for wallet panel UI Known limitations: - Uses Chart icon as placeholder for wallet (Compound lacks wallet icon) - Wallet setup flow not implemented (TODO) - Transaction amounts in history need additional API calls to calculate
60 lines
1.6 KiB
Kotlin
60 lines
1.6 KiB
Kotlin
/*
|
|
* Copyright (c) 2026 Sulkta Coop.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import extension.setupDependencyInjection
|
|
|
|
plugins {
|
|
id("io.element.android-compose-library")
|
|
id("kotlin-parcelize")
|
|
alias(libs.plugins.kotlin.serialization)
|
|
}
|
|
|
|
android {
|
|
namespace = "io.element.android.features.wallet.impl"
|
|
|
|
testOptions {
|
|
unitTests {
|
|
isIncludeAndroidResources = true
|
|
}
|
|
}
|
|
}
|
|
|
|
setupDependencyInjection()
|
|
|
|
dependencies {
|
|
api(projects.features.wallet.api)
|
|
implementation(projects.libraries.architecture)
|
|
implementation(projects.libraries.core)
|
|
implementation(projects.libraries.matrix.api)
|
|
implementation(projects.libraries.matrix.impl)
|
|
implementation(projects.libraries.designsystem)
|
|
implementation(projects.libraries.cryptography.api)
|
|
implementation(projects.libraries.uiStrings)
|
|
|
|
// Cardano - using Koios backend (no API key required)
|
|
implementation("com.bloxbean.cardano:cardano-client-lib:0.7.1")
|
|
implementation("com.bloxbean.cardano:cardano-client-backend-koios:0.7.1")
|
|
implementation("com.bloxbean.cardano:cardano-client-crypto:0.7.1")
|
|
|
|
// Biometric
|
|
implementation(libs.androidx.biometric)
|
|
|
|
// JSON
|
|
implementation(libs.serialization.json)
|
|
// QR code generation
|
|
implementation(libs.google.zxing)
|
|
|
|
// Coroutines
|
|
implementation(libs.coroutines.core)
|
|
|
|
// Testing
|
|
testImplementation(projects.features.wallet.test)
|
|
testImplementation(projects.libraries.matrix.test)
|
|
testImplementation(libs.test.junit)
|
|
testImplementation(libs.test.truth)
|
|
testImplementation(libs.coroutines.test)
|
|
testImplementation(libs.test.turbine)
|
|
}
|