Skip to content

add Orchard account discovery support for mnemonic recovery #64

Description

@EchoAlice

Summary

Mnemonic recovery currently expands the account discovery window based on observed Sapling note history, but Orchard account discovery is not yet supported in the same way.

PR #61 intentionally limits dynamic account discovery to the historical Sapling multi-account recovery case. Orchard should have corresponding account discovery support so recovery does not implicitly assume account 0 is sufficient there either.

Current state

In PR #61:

  • mnemonic-based recovery starts with an initial account window
  • sync runs
  • Sapling note history is inspected to find the highest active account
  • if activity is near the upper bound, the wallet/client is recreated with a larger no_of_accounts window and rescanned

Why this matters

For recovery, account discovery should not rely on Sapling-only signals forever. If Orchard funds may exist beyond account 0, recovery tooling should have a corresponding way to detect that and expand the account window appropriately.

Even if the exact historical motivation differs from the Sapling / ZecWallet Lite case, Orchard account discovery support is still a missing piece of recovery completeness.

Open questions

  • What should the Orchard account-activity signal be?
  • Can the existing account-window expansion structure from Sapling recovery be reused?
  • Are there missing zingolib APIs needed for downstream consumers to inspect Orchard activity across accounts?
  • Should Sapling and Orchard discovery eventually share one combined expansion policy, or remain separate?

Follow-up goal

Add Orchard account discovery support for mnemonic-based recovery so account-window expansion is not limited to Sapling-only activity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions