app/auth/import.tsx only accepts a full secret key via StellarSdk.Keypair.fromSecret — there's no path to import just a public address to monitor balances/activity without custody, which is a common and materially safer onboarding option for users who primarily want visibility (e.g. a cold-storage holder checking balance from their phone). Add a watch-only mode that skips secureStorage.saveSecretKey entirely and clearly, persistently marks the account as non-signing everywhere in the UI.
Definition of done:
- Watch-only accounts flow through
walletStore.ts with an explicit isWatchOnly flag
- Every signing-capable UI path (send, future contract calls) is disabled and clearly labeled for watch-only accounts, not just silently broken
- No SecureStore write occurs for a watch-only import
Before opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.
app/auth/import.tsxonly accepts a full secret key viaStellarSdk.Keypair.fromSecret— there's no path to import just a public address to monitor balances/activity without custody, which is a common and materially safer onboarding option for users who primarily want visibility (e.g. a cold-storage holder checking balance from their phone). Add a watch-only mode that skipssecureStorage.saveSecretKeyentirely and clearly, persistently marks the account as non-signing everywhere in the UI.Definition of done:
walletStore.tswith an explicitisWatchOnlyflagBefore opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.