Skip to content

Restore existing wallet keys and derive Taira accounts for retained mnemonics - #477

Draft
takemiyamakoto wants to merge 2 commits into
codex/ios-wallet-upgrade-testflight-2026090802from
codex/ios-wallet-upgrade-testflight-2026091301
Draft

takemiyamakoto wants to merge 2 commits into
codex/ios-wallet-upgrade-testflight-2026090802from
codex/ios-wallet-upgrade-testflight-2026091301

Conversation

@takemiyamakoto

@takemiyamakoto takemiyamakoto commented Sep 13, 2026 •

Copy link
Copy Markdown

Release successor: #478 carries the additional recovery diagnostics in build 2026091302. Build 2026091301 was never uploaded.

An upgrade can stop with missing_wallet_secret when the existing account row survives but its signing credentials are unavailable. This adds on-device phrase recovery that proves the retained address and public key before adding only absent credentials, then reruns full startup verification. Existing accounts and credentials are never replaced by this recovery action.

Taira derivation and signing now support all retained BIP39 phrase lengths (12, 15, 18, 21, and 24 words). Older staged or active SORA-only snapshots resume by appending deterministic network accounts, and the post-import check accepts the resulting Taira accounts while preserving legacy identities and retained evidence.

All 271 Release wallet tests passed with zero failures or skips and identical hashes for all 6,085 tracked files before and after validation. Eleven targeted recovery and previously failing checks, eight publication tests, contract lint, native archive signature verification, and runtime dependency closure also passed. Build 2026091301 archived successfully but was never uploaded or installed; it is superseded as the release candidate by diagnostic successor #478, build 2026091302. The primary checkout contains the exact tested correction with its existing index and unrelated changes preserved.

The connected-device inspection established missing accessible signing credentials, but not when or why they became unavailable. Recovery of that phone still requires its original phrase to be entered by the user directly on the device; no successful recovery is claimed. Private phone contents are excluded from this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant