113 lines
4 KiB
Markdown
113 lines
4 KiB
Markdown
# Element X ADA End-to-End Test Report
|
|
|
|
**Date:** 2026-03-28
|
|
**Commit:** `9613a1e6fc` (on `phase1-dev` branch)
|
|
**Tester:** Kayos (subagent)
|
|
|
|
## Test Environment
|
|
- **Emulator:** Android emulator (`android-emulator` container on Lucy)
|
|
- **ADB:** Connected at `emulator-5554`
|
|
- **Network:** Cardano Preprod Testnet
|
|
- **Test Account:** `@testbot-elementx:sulkta.com` at `mas.sulkta.com`
|
|
- **APK:** `app-gplay-x86_64-debug.apk`
|
|
|
|
## Test Results
|
|
|
|
### ✅ Sign In
|
|
- OIDC login to Matrix Authentication Service works
|
|
- App launches and connects to homeserver
|
|
- Chat list displays correctly
|
|
|
|
### ✅ Wallet Creation (Previously Tested)
|
|
- Wallet was already created in a prior session
|
|
- **Wallet Address:** `addr_test1qz57gfnua79ajquraf9v86h4kc8zugeszpmnujd7ktqqkk7nupfaelycr785nh2jnh87jv6ehcfnnve78tfrmxxrm5gseddjqc`
|
|
- Mnemonic stored without biometric auth requirement (fix from commit `9e9192dd3b`)
|
|
|
|
### ✅ Payment Flow Entry
|
|
- `/pay` slash command recognized and displayed in suggestions
|
|
- Pressing send triggers the payment flow
|
|
- Payment flow UI opens correctly with:
|
|
- Testnet transaction warning
|
|
- Available balance display (shows "0 ADA")
|
|
- Amount input field
|
|
- Recipient input field
|
|
- Continue button
|
|
|
|
### ✅ Koios API Integration
|
|
- **Fixed:** Trailing slash added to Koios base URLs (required by Retrofit)
|
|
- **Fixed:** Empty response handling for unfunded addresses
|
|
- API returns `[]` for addresses with no history
|
|
- Previously failed with "Response Body is Empty"
|
|
- Now correctly returns 0 balance / empty UTXO list
|
|
- Balance queries work correctly
|
|
- Log shows: "Address has no history, returning 0 balance"
|
|
|
|
### ⚠️ Funding (Blocked)
|
|
- Cardano preprod faucet requires captcha or API key
|
|
- Unable to fund the test wallet programmatically
|
|
- **Manual action needed:** Fund wallet via https://docs.cardano.org/cardano-testnets/tools/faucet/
|
|
|
|
### ❓ Send ADA (Not Tested)
|
|
- Cannot test without funds in wallet
|
|
- Transaction building and signing flow untested
|
|
- Payment card in Matrix timeline untested
|
|
|
|
### ❓ Wallet Icon in Top Bar (Known Issue)
|
|
- `isDM=false` for the test room (Cobbert)
|
|
- Wallet icon not showing in DM room top bar
|
|
- Workaround: Use `/pay` slash command instead
|
|
|
|
## Bugs Fixed This Session
|
|
|
|
### 1. Koios Base URL Missing Trailing Slash
|
|
**File:** `CardanoNetworkConfig.kt`
|
|
```kotlin
|
|
// Before:
|
|
const val KOIOS_BASE_URL = "https://preprod.koios.rest/api/v1"
|
|
// After:
|
|
const val KOIOS_BASE_URL = "https://preprod.koios.rest/api/v1/"
|
|
```
|
|
This caused `IllegalArgumentException: baseUrl must end in /`
|
|
|
|
### 2. Empty Response Handling in KoiosCardanoClient
|
|
**File:** `KoiosCardanoClient.kt`
|
|
|
|
For unfunded addresses, Koios returns `[]` which the Java client interprets as empty/error.
|
|
Added handling to return 0 balance instead of failing:
|
|
```kotlin
|
|
result.response?.contains("Empty") == true -> {
|
|
Result.success(0L) // 0 balance for unfunded address
|
|
}
|
|
```
|
|
|
|
## Known Issues
|
|
|
|
1. **Wallet icon not appearing in DM rooms** - `isDM` flag not being set correctly for some rooms
|
|
2. **Testnet faucet requires manual funding** - No programmatic access without API key
|
|
3. **Transaction flow untested** - Blocked by lack of funds
|
|
|
|
## Recommendations
|
|
|
|
1. **For complete testing:** Manually fund the wallet using the web faucet with captcha
|
|
2. **For isDM fix:** Investigate why the "Cobbert" room has `isDM=false`
|
|
3. **For automated testing:** Consider using a pre-funded testnet wallet or obtaining a faucet API key
|
|
|
|
## Commits
|
|
- `9e9192dd3b` - Remove biometric requirement for mnemonic storage
|
|
- `9613a1e6fc` - Fix Koios API integration for unfunded addresses
|
|
|
|
## What Works
|
|
- ✅ App launch and login
|
|
- ✅ Matrix sync and room list
|
|
- ✅ Wallet creation (mnemonic generation, address derivation)
|
|
- ✅ Payment flow entry via `/pay` command
|
|
- ✅ Balance display (showing 0 ADA)
|
|
- ✅ Koios API calls to preprod testnet
|
|
- ✅ Error handling for unfunded addresses
|
|
|
|
## What Needs Testing
|
|
- ❓ Transaction building with actual UTXOs
|
|
- ❓ Transaction signing
|
|
- ❓ Transaction submission to Cardano network
|
|
- ❓ Payment card rendering in Matrix timeline
|
|
- ❓ Balance updates after transaction
|