Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZIP 32: Add an Account discovery section #621

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

daira
Copy link
Collaborator

@daira daira commented Jun 8, 2022

No description provided.

@daira daira added the ZIP idea label Jun 8, 2022
@daira daira requested a review from str4d June 8, 2022 18:04
@daira daira force-pushed the zip-0032-account-discovery branch 2 times, most recently from 36bd59c to 21d49b8 Compare June 8, 2022 20:10
@daira daira force-pushed the zip-0032-account-discovery branch from 21d49b8 to 8d0b7ed Compare June 8, 2022 20:13
Comment on lines +555 to +556
A wallet that imports a master seed from an external source SHOULD attempt to discover accounts in the
following manner.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'account' is used and one can infer its meaning from context but it would be nice to have an explicit definition near the top of this document

* For :math:`m \in M`:

1. Derive the external full viewing key of the account at path :math:`m / purpose' / coin\_type' / account'`.
2. Scan for transactions sending to this account using the algorithm in [#protocol-scan]_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also scan for tx's sending from this account?

* If the wallet supports Sapling addresses, then for each address index starting from :math:`address\_index = 0`:

1. Derive the external full viewing key of the Sapling address at path :math:`m_{Sapling} / purpose' / coin\_type' / \mathtt{0x7FFFFFFF}' / address\_index`.
2. Scan for transactions sending to this address using the algorithm in [#protocol-scan]_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also scan for tx's sending from this account?

the legacy Sapling address chain. We scan just the external chains, because internal chains receive only
coins that come from the associated external chains.

Wallet software should warn when the user is trying to exceed the gap limit on an external chain by
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Wallet software should warn when the user is trying to exceed the gap limit on an external chain by
Wallet software SHOULD warn when the user is trying to exceed the gap limit on an external chain by

coins that come from the associated external chains.

Wallet software should warn when the user is trying to exceed the gap limit on an external chain by
generating a new address.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

' or just not do it'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants