Skip to content

feat: generate Zcash transparent addresses on demand#3372

Draft
Arbeitszeit wants to merge 2 commits into
cake-tech:devfrom
Arbeitszeit:feat/zcash-manual-transparent-addresses
Draft

feat: generate Zcash transparent addresses on demand#3372
Arbeitszeit wants to merge 2 commits into
cake-tech:devfrom
Arbeitszeit:feat/zcash-manual-transparent-addresses

Conversation

@Arbeitszeit

Copy link
Copy Markdown

Issue Number (if Applicable): N/A

Description

This is an experimental, stacked proposal that adds on-demand generation of disposable Zcash transparent addresses.

It currently depends on #3371. The branch includes that PR's metadata commit and should be rebased after #3371 is merged.

Design

Cake Wallet already derives disposable transparent addresses by creating indexed accounts from its offset-seed scheme. This proposal exposes creation of the next indexed account through the receive-page rotation button.

To keep seed recovery deterministic:

  • Manual generation stops before 20 consecutive unused derived accounts exist.
  • A restored wallet scans/derives accounts until it finds 20 consecutive unused addresses.
  • The normal background pool continues to maintain at least five usable addresses.
  • Recovery does not delete derived accounts.

The UI awaits generation, prevents duplicate button presses, selects the newly generated address, and displays generation or gap-limit errors in a snackbar.

Open review questions

  • Is the existing offset-seed account derivation acceptable as a long-term public address-generation mechanism?
  • Is a gap limit of 20 appropriate for Cake Wallet's Zcash recovery model?
  • Should manual generation live behind an advanced setting rather than the receive-page rotation action?

Validation required

  • Generate multiple transparent addresses on a physical device.
  • Receive funds on non-consecutive generated addresses.
  • Restore the seed on a clean installation and verify address/fund discovery.
  • Verify automatic shielding and address rotation after recovery.
  • Run TalkBack and compact-screen checks.

Only git diff --check was available locally. Native Zcash and device testing must be completed before this draft is considered merge-ready.

Pull Request - Checklist

  • Initial Manual Tests Passed
  • Double check modified code and verify it with the feature/task requirements
  • Format code
  • Look for code duplication
  • Clear naming for variables and methods
  • Manual tests in accessibility mode (TalkBack on Android) passed

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