element-x-ada/BLOCKERS.md
Kayos 9ff2b0964a docs: add BLOCKERS.md documenting Task 1 status and questions
- 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
2026-03-27 10:06:19 -07:00

2 KiB

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