wallet: Privatize Core descriptor records - #64
BenWestgate wants to merge 1 commit into
Conversation
BenWestgate
left a comment
There was a problem hiding this comment.
AI-generated review, posted at the maintainer's request.
ACK a0e3a15.
|
Review sequencing note: #64 remains the focused fix for #63's public API boundary and preserves the currently supported arbitrary |
|
Agent release-gate review at exact head |
808b6fd to
f3b17be
Compare
|
AI-assisted release-gate recheck of current head Code ACK. This refresh replays only the still-valid public-API cleanup onto current Focused wallet/public-API/Core tests pass 64/64 normally and 64/64 under No remaining code-review blocker found on this head; it is ready for human review. |
BenWestgate
left a comment
There was a problem hiding this comment.
AI-assisted current-head review performed at the maintainer's request and disclosed per docs/developer/AI_POLICY.md.
ACK f3b17be. The refreshed one-commit diff cleanly removes the obsolete supported core_descriptors surface without touching the Core-native account-0 initialization introduced by #7. master_xprv remains public; the fixed descriptor builder is private verification tooling only; installed/public-API checks assert the removed symbol is no longer exported. The package __all__ count becomes 23 as intended. Exact-head Python-package and Bitcoin Core fixture workflows both pass. No correctness findings; ready for human review/integration after the runtime stack settles.
f3b17be to
43af20d
Compare
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
1 similar comment
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
cebecfc to
4ea72bb
Compare
The package-level core_descriptors adapter exposes import-record construction that runtime callers no longer need. Bitcoin Core already owns public derivation, while private descriptor construction is only an implementation detail of the Core adapter. Remove the unused public-deriver protocol and branch, keep the record builder private, and make installed/public-API checks enforce that boundary. Internal tests and verification tools continue to exercise the same fixed descriptor templates and arbitrary account handling. Fixes #63
43af20d to
eb29499
Compare
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
What
Remove the obsolete supported Python API for constructing Bitcoin Core descriptor records:
core_descriptorsfrom package-levelcodex32.__all__and supported API documentation;wallet.py;Why
Current
reviewability-v1exportscore_descriptorseven though #7 moved wallet initialization to Bitcoin Core nativeaddhdkey/createwalletdescriptorsetup. External callers no longer need an import-record construction API or the obsoleteWalletPublicDeriverabstraction.master_xprvremains a separately reviewed supported primitive.The base has 24 package-level exports while
docs/developer/api.mdstill says 25. Removingcore_descriptorsmakes package__all__23 names. #53 publishes reference-vector helpers at their owning modules and deliberately does not add them to package-levelcodex32.__all__.Current head
eb29499is the single original human-authored change replayed onto current #95 (4ea72bb) after the refreshed restore stack/. The refresh deliberately drops the obsolete pre-#7_bitcoin_core.pyimport-descriptor/account-7 hunk and keeps #7-deleted legacy tools deleted. Production_bitcoin_core.pyis unchanged by this PR; v1 keeps Core-native account-0 wallet setup. #68 tracks future nonzero accounts when Core exposes the needed selector.Validation
python -O: 64 passed;compileallandgit diff --check: pass;__all__: 23 names at this head;A disposable full local run stopped only because that ambient Python environment lacks the dev-only
hypothesispackage; the focused tests above do not require it. The repository CI installs the declared development test dependencies and is the authoritative full-matrix check.Fixes #63.
AI assistance was used to mechanically refresh and validate this user-authorized branch-to-branch contribution; the source change remains one human-authored commit.