- Documents what was completed vs what needs verification - Lists items requiring Android SDK to test (compilation, ktlint, tests) - Raises 3 questions requiring human decision: 1. Wallet scope (per-session vs app-wide) 2. Key storage behavior on biometric changes 3. Testnet vs mainnet for initial development
51 lines
2 KiB
Markdown
51 lines
2 KiB
Markdown
# BLOCKERS.md - Phase 1 Implementation Blockers
|
|
|
|
## Task 1: Module Scaffolding
|
|
|
|
### Completed
|
|
- ✅ Module structure created (api/impl/test)
|
|
- ✅ Metro DI setup following Element X patterns
|
|
- ✅ WalletEntryPoint and WalletState APIs defined
|
|
- ✅ PaymentFlowNode placeholder with Appyx navigation
|
|
- ✅ FakeWalletEntryPoint for testing
|
|
- ✅ Cardano client library dependencies added
|
|
- ✅ ProGuard rules configured
|
|
- ✅ Basic unit tests added
|
|
- ✅ Pushed to Gitea phase1-dev branch
|
|
|
|
### Not Verified (No Android SDK in build environment)
|
|
- ⚠️ `./gradlew :features:wallet:impl:assemble` - compilation not tested
|
|
- ⚠️ `./gradlew ktlintCheck --continue` - code style not verified
|
|
- ⚠️ `./gradlew :features:wallet:impl:test` - unit tests not run
|
|
|
|
### Action Required
|
|
When a developer with Android SDK runs this code:
|
|
1. Run `./gradlew :features:wallet:impl:assemble` to verify compilation
|
|
2. Run `./gradlew ktlintCheck --continue` and fix any code style issues
|
|
3. Run `./gradlew :features:wallet:impl:test` to verify tests pass
|
|
|
|
## Questions Requiring Human Decision
|
|
|
|
### Q1: Wallet Scope
|
|
Currently using `SessionScope` for wallet bindings. Should wallets be:
|
|
- Per-session (current implementation) - each Matrix account has its own wallet
|
|
- App-wide (`AppScope`) - one wallet shared across Matrix accounts
|
|
|
|
**Recommendation:** Per-session seems correct for a Matrix-integrated wallet.
|
|
|
|
### Q2: Key Storage Location
|
|
Currently planning to use `EncryptedSharedPreferences` with Android Keystore.
|
|
- Should keys be tied to biometric enrollment? (invalidated if biometrics change)
|
|
- Or should keys persist even after biometric changes?
|
|
|
|
**Recommendation:** Keys should be invalidated on biometric changes for security.
|
|
|
|
### Q3: Testnet vs Mainnet
|
|
Phase 1 plan targets mainnet (`Constants.KOIOS_MAINNET_URL`).
|
|
- Should we build testnet support initially for safer testing?
|
|
- Or go straight to mainnet?
|
|
|
|
**Recommendation:** Testnet first for safer development, easy switch to mainnet later.
|
|
|
|
---
|
|
*Last updated: 2026-03-27*
|