element-x-ada/features/wallet
Kayos c35289a3bd feat(wallet): store Cardano address in Matrix account data for discovery
Implements public Cardano address directory using Matrix account data:

Publishing (write side):
- After wallet creation, import, or SSSS restore, the Cardano address
  is written to the user Matrix account data
- Key: com.sulkta.cardano.address
- Content: { "address": "addr1..." }
- This is public/unencrypted for discovery by other users

Lookup (read side):
- When entering a Matrix user in /pay, their account data is checked
- If they have a linked Cardano address, it auto-fills the recipient
- UI shows "Address loaded from @username profile ✓" when found
- Shows "@username has not linked a wallet" if not found
- Graceful fallback to manual address entry

New files:
- CardanoAddressService interface (wallet:api)
- DefaultCardanoAddressService implementation (wallet:impl)

Updated:
- WalletSetupPresenter: calls publishAddress after all wallet setup paths
- PaymentEntryPresenter: looks up recipient address from Matrix
- PaymentEntryState: added Resolving and Found states
- PaymentEntryView: shows lookup progress and result cards
2026-03-29 07:08:09 -07:00
..
api feat(wallet): store Cardano address in Matrix account data for discovery 2026-03-29 07:08:09 -07:00
impl feat(wallet): store Cardano address in Matrix account data for discovery 2026-03-29 07:08:09 -07:00
test Phase 3: Wallet panel UI and full /pay flow wiring 2026-03-28 09:23:58 -07:00