Skip to content

Add local transaction signing commands and bundle validation - #4

Merged
yapishu merged 1 commit into
mainfrom
reid/local-signing
Oct 20, 2026
Merged

yapishu merged 1 commit into
mainfrom
reid/local-signing

Conversation

@yapishu

@yapishu yapishu commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Adds python -m nockchain inspect/sign and the installed nockchain command, plus inspect_signing_bundle and sign_signing_bundle library functions. Users save a bundle from the remote MCP, review it locally, and sign with a hidden zprv prompt or an explicit local key file. Recovery phrases require an explicit derivation path. Signing requires interactive approval, creates a new file with mode 0600, and does not broadcast. The package retains no runtime dependencies.

Validation reconstructs the payment plan from complete inputs and checks canonical encoding, commitments, existing signatures, maturity, recipients, change and fees, including small remainders assigned to fees. Signature verification can allow missing signatures while preserving its default threshold check. Network and tip fields describe indexed context, not a chain proof.

Implements the signing contract in https://github.com/SWPSCO/nockchain-rpc-server/pull/139 and matches SWPSCO/nockchain-js#3. Sets the package version to 0.3.0; publication is separate.

Validation:

  • Full suite: 31 tests pass; signing tests pass after the final schema-field checks.
  • Ruff checks and formatting pass.
  • Five Rust-generated fixtures produce identical signed bytes and transaction IDs.
  • Wheel and source distribution build and pass Twine validation.
  • Installed wheel CLI passes inspection, refusal without approval, hidden-key signing, mode 0600 and overwrite-refusal checks.
  • CI checks both installed entrypoints on Python 3.11 and 3.13.

@yapishu
yapishu marked this pull request as ready for review October 20, 2026 19:53
@yapishu
yapishu merged commit 3935db8 into main Oct 20, 2026
4 checks passed
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.

1 participant