Task 1 of Phase 1 - Module Scaffolding - Created features/wallet/api module with WalletEntryPoint and WalletState - Created features/wallet/impl module with Metro DI setup - Created features/wallet/test module with FakeWalletEntryPoint - Added PaymentFlowNode placeholder with Appyx navigation - Added Cardano client library dependencies (0.7.1) - Added proguard rules for Cardano library - Added basic unit tests for WalletState The module follows Element X patterns: - Metro for dependency injection (@ContributesTo, @ContributesBinding, @ContributesNode) - Appyx for navigation (BaseFlowNode pattern) - api/impl/test module separation - Feature entry point pattern for navigation This module scaffolding blocks all subsequent tasks (2-8) in Phase 1.
55 lines
1.5 KiB
Kotlin
55 lines
1.5 KiB
Kotlin
/*
|
|
* Copyright (c) 2026 Sulkta Coop.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import extension.setupDependencyInjection
|
|
|
|
plugins {
|
|
id("io.element.android-compose-library")
|
|
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)
|
|
|
|
// Coroutines
|
|
implementation(libs.coroutines.core)
|
|
|
|
// Testing
|
|
testImplementation(projects.features.wallet.test)
|
|
testImplementation(libs.test.junit)
|
|
testImplementation(libs.test.truth)
|
|
testImplementation(libs.coroutines.test)
|
|
}
|