Skip to content

feat!: allow passing and retrieving privacy keys in pxe/wallet - #24416

Merged
nventuro merged 2 commits into
merge-train/fairies-v5from
nico/f-775-pxe-key-exposure
Jul 1, 2026
Merged

feat!: allow passing and retrieving privacy keys in pxe/wallet#24416
nventuro merged 2 commits into
merge-train/fairies-v5from
nico/f-775-pxe-key-exposure

Conversation

@nventuro

Copy link
Copy Markdown
Contributor

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.

@nventuro
nventuro requested review from mverzilli and nchamo June 30, 2026 19:38

@mverzilli mverzilli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Beautiful!

@nventuro
nventuro enabled auto-merge (squash) July 1, 2026 13:49
@nventuro
nventuro merged commit 7920a59 into merge-train/fairies-v5 Jul 1, 2026
12 checks passed
@nventuro
nventuro deleted the nico/f-775-pxe-key-exposure branch July 1, 2026 14:19
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.
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.

2 participants