# iOS Cold Wallet — Plan 6 Smoke Test

Tests the Settings screen and its three sub-flows. Run on iPhone 17 simulator or real device.

## Setup

1. Build for simulator/device (`xcodebuild build` or Cmd+R).
2. Have at least one wallet — either restored from abandon-abandon or created via Plan 4 keygen.
3. Tap into a wallet on the WalletsList.

## Settings entry

1. On WalletHome, top-right toolbar shows a gear icon. Tap it.
2. Settings screen loads. For an unencrypted wallet, info appears immediately.
3. For an encrypted wallet, PasswordSheet appears. Enter password → info loads. Enter wrong password → "Incorrect password" + re-prompt.
4. Sections visible: Wallet info, Account xpubs (expandable), Actions, Danger zone.
5. Expand "Account xpubs" — confirm each xpub line is selectable and lines wrap.

## Path A: Change password

1. From Settings, tap **Change password**.
2. For an unencrypted wallet: only "New password" fields appear. Type a password + confirm. Tap "Set password". Settings reloads showing the wallet still works (lock icon may appear in the list).
3. For an encrypted wallet: "Current password" field appears too. Type the current password, then new + confirm. Tap "Set password". Verify by re-entering Settings — should still load with the NEW password.
4. For an encrypted wallet, tap **Remove password (leave unencrypted)** instead. Type the current password. Tap. The wallet is now unencrypted (no password sheet next time Settings is opened).
5. Wrong current password → "Current password is incorrect." error; sheet stays open for retry.

## Path B: Verify seed

1. From Settings, tap **Verify seed**.
2. Default is 24-word entry. Try entering the same seed you originally restored from.
3. Tap **Check**. Green "Seed matches this wallet" appears.
4. Now switch to 12-word, type something wrong (e.g., "abandon" × 12). Tap Check. Red "Seed does NOT match" with the expected vs actual fingerprints.
5. Optional: type a wrong BIP39 passphrase. If the original wallet had no passphrase, the fingerprints will mismatch — confirms the passphrase is part of the derivation.

## Path C: Delete wallet

1. From Settings, tap **Delete this wallet** (under Danger zone).
2. Screen shows a stark red warning, the wallet's label and fingerprint, optional password field (only if encrypted), and a "Type DELETE to confirm" field.
3. Tap Delete forever without typing DELETE — button is disabled.
4. Type "delete" (lowercase) — button still disabled (case-sensitive).
5. Type "DELETE". For an encrypted wallet, also type the password. Tap Delete forever.
6. Wrong password → "Wrong password — wallet not deleted." Try again with correct one.
7. On success, screen dismisses. Tap back to WalletsList — the wallet is gone.

## Pass criteria

- Settings loads info for both encrypted and unencrypted wallets.
- Change password: set, change, and remove all work; wrong-password retry works.
- Verify seed: matches when correct, mismatches when wrong; both 12- and 24-word entry work.
- Delete wallet: typed-confirmation gate works; encrypted wallets require password; deleted wallet disappears from the list.
- No network activity in Xcode's Debug Navigator throughout.
