Skip to content

wallet: public_descriptors ignores the seed it's given #128

Description

@BenWestgate

core_descriptors(secret, private=False, integration=..., wallet=...) calls BitcoinCore.public_descriptors and derives xpubs from whatever HD key the named Core wallet holds while only type-checking secret, so a wallet holding a different seed can return that wallet's descriptors.

Nothing needs this public path. ms32 wallet gives Core the root xprv (addhdkey) and Core builds the descriptors (createwalletdescriptor). Core's own descriptor/export interfaces remain the supported way to obtain public wallet descriptors.

Focused fix: #130 removes core_descriptors, WalletPublicDeriver, and the unused descriptor-record/public-derivation path rather than adding authentication to an unused pre-1.0 API. It also removes unused fresh Core Lightning generation entry points while preserving parsing, recovery, derivation, and re-sharing of existing CL secrets. #130 supersedes #64 / #63.

Current #130 head 2cbd279 has a green Python matrix and real Bitcoin Core fixture. Codex found one stale-documentation problem after the API removal; that was corrected, the thread is resolved, and Codex then reported no major issue on the exact head. Responsible-human review/authorship and integration remain.

Found by Codex review of #94 after the four supplied external audit reports; do not attribute this finding to those reviewers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: apiPublic and supported Python API boundaries.area: securitySecurity invariants, hardening, and security-sensitive boundaries.area: wallet/coreWallet integration and Bitcoin Core boundaries.bugSomething isn't workinggate: adversarial reviewResolve, merge, or explicitly defer before the next full adversarial review.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions