You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v1.5.0 Audit-Readiness & Multi-Script Finish
Delivered: Closes the v1.4 follow-throughs (production sign bodies for
P2TR + P2SH-P2WPKH, accurate fees for mixed-script rounds), readies the
codebase for external security audit (charter, audit.toml refresh,
structurally-bounded RSA SecretKey lifetime), and lands the release-
readiness P0s (SECURITY.md, CHANGELOG.md, CI release-smoke gate,
Dockerfile ARG-based digest pinning scaffold).
Key accomplishments:
- Production BIP-322 sign bodies for P2TR (Schnorr keypath) and
P2SH-P2WPKH (BIP-143) shipped in shared::bip322; test-only escape
hatches (sign_simple_test_only + per-script sign_for_tests) deleted;
shared::bip322 public surface shrunk to exactly 9 symbols with
V1.4-CRIT-01 dispatcher-only invariant load-bearing at the type
level (Phase 19 — BIP322-05, BIP322-06, BIP322-07).
- Per-script BIP-141 vbyte table (P2WPKH 68/31, P2TR 58/43 round-UP,
P2SH-P2WPKH 91/32) replaces the legacy P2WPKH-only constants;
ParticipantInput.script_type plumbed through dispatch_ownership_proof
→ UtxoDetails → RegisteredInput; v1.4 P2WPKH-only fee_share == 266
byte-equality preserved (Phase 20 — FEE-01, FEE-02, FEE-03).
- External audit charter at docs/AUDIT-CHARTER.md (574 LOC, 8 H2
sections) shipped. RSA SecretKey lifetime tightened from prose to
Rust type signature: Option<RsaBlindSigner> on RoundStateInner, SOLE
FSM chokepoint at state.rs:202, grep-verified (Phase 21 — AUDIT-01,
AUDIT-02, AUDIT-03).
- SECURITY.md + CHANGELOG.md at repo root with responsible-disclosure
contact, supply-chain status callout, and Keep-a-Changelog entries
v1.0 → v1.5 (post-archive polish — quick task 260531-thw).
- CI release-smoke gate: release.yml + docker.yml check jobs now run
cargo test --workspace --all-targets under BLINDJOIN_REQUIRE_BITCOIND=1
via a composite install-bitcoind action; rehearsal-verified via
workflow_dispatch on 2026-06-01 (run 26731267747, check passed in
9m12s, build job skipped per the publish gate). Dockerfile bases
pinnable via CARGO_CHEF_REF + DEBIAN_REF build args; bitcoind image
in compose bumped from 27 → 30 to match .bitcoind-version 30.2.
Quick tasks 260531-thw + 260531-ubf.
Tag is SSH-signed (ed25519 fingerprint SHA256:ECOieW3GHCOg3kfntXX1FP1Fg2KOTKkkf9tMEOypsVQ,
registered as a GitHub Signing Key on @johnzilla).
See .planning/MILESTONES.md and CHANGELOG.md for full details.