feat!: allow passing and retrieving privacy keys in pxe/wallet - #24416
Merged
Conversation
nventuro
enabled auto-merge (squash)
July 1, 2026 13:49
nventuro
added a commit
that referenced
this pull request
Jul 2, 2026
Follow up of #24416. With this, PXE no longer has access to the message signing key nor the fallback keys, as should be (since the semantics of those keys require user approval before usage). To keep things simple, I removed the option of passing a seed from which all keys are derived to PXE and made it so the wallet must pass the privacy keys plus the message signing and fallback public keys. The wallet _does_ derive these from a seed, but that's a decision the wallet makes, PXE doesn't force it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This lets wallets specify the private keys of the different privacy keys directly, instead of them all being derived from a single master secret. The wallets get equivalent functionality.
There's also a new getter that returns these keys, only in PXE. Wallets can use this e.g. export accounts and import in a separate device. Apps do not get access to these keys.
Finally I got rid of some old utilities that were unused (
account_with_single_key).Some more work will follow this (e.g. not actually storing the fallback keys, etc.), this is the initial step in the modernization of this store and interface.