Skip to content

wallet: restore imported XPub derivation - #1324

Open
yyforyongyu wants to merge 3 commits into
btcsuite:sql-walletfrom
yyforyongyu:task-xpub-derivation
Open

wallet: restore imported XPub derivation#1324
yyforyongyu wants to merge 3 commits into
btcsuite:sql-walletfrom
yyforyongyu:task-xpub-derivation

Conversation

@yyforyongyu

@yyforyongyu yyforyongyu commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Restore semantic public-key derivation for imported extended public-key
    accounts.
  • Accept selector-bearing parameters directly in Signer.DerivePubKey without
    exposing backend account identifiers.
  • Preserve private-signing rejection for imported-XPub children.

Change Description

Implements roadmap Task 337

Comment thread wallet/signer.go Outdated
Comment thread wallet/public_derivation_external_test.go Outdated
Comment thread wallet/signer.go Outdated
Comment thread wallet/signer.go Outdated
@yyforyongyu
yyforyongyu force-pushed the task-xpub-derivation branch 3 times, most recently from 20035a3 to 07721a1 Compare August 18, 2026 17:06
@yyforyongyu
yyforyongyu marked this pull request as ready for review August 18, 2026 18:46
@yyforyongyu
yyforyongyu force-pushed the task-xpub-derivation branch from 07721a1 to e890de7 Compare August 20, 2026 01:01
Add wallet-owned public derivation parameters that select accounts by
portable name or BIP44 number. Change Signer.DerivePubKey to accept the
selector, branch, and child index directly.
Exercise selector-bearing derivation against SQLite while locked. Prove
name lookup cannot collide with a numbered account, and verify the
exported Signer contract without importing database types.
Refuse private signing for numberless imported-XPub children before
account or raw-address secret lookup. Preserve per-address signing only
for true raw imports.

@GustavoStingelin GustavoStingelin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

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.

3 participants