Skip to content

v0.2.0

Choose a tag to compare

@sgbett sgbett released this 07 Mar 03:49
· 921 commits to master since this release

All Tier 1 gaps closed

This release completes the "needed for real-world use" layer of the SDK, closing all Tier 1 gaps identified in the divergence analysis against the Go, TypeScript, and Python reference SDKs.

Highlights

  • BRC-42 key derivationderive_child on both key classes, validated against 9 official BRC-42 specification test vectors
  • ECDH shared secretderive_shared_secret on both key classes, foundation for BRC-42/77/78
  • SPV verificationTransaction#verify with queue-based ancestry traversal, merkle proof validation, and script execution
  • Fee models — pluggable FeeModel interface with SatoshisPerKilobyte implementation and Transaction#fee change distribution
  • Chain trackersChainTracker interface with WhatsOnChain implementation for merkle root lookups
  • BEEF completion — merge, validation, lookup methods, convenience methods on Transaction
  • Extended Format — EF serialisation and deserialisation

Bug fixes

  • Nil source_satoshis now raises instead of silently coercing to zero
  • Script chunk round-trips preserve original push encoding
  • Point x-coordinate extraction preserves leading zeros
  • Defensive parsing for truncated binary input

Testing

1497 specs, 0 failures. Includes BRC-42, ECDH, SPV, fee model, chain tracker, and BEEF conformance suites with cross-SDK test vectors.

Full changelog: CHANGELOG.md