Skip to content

v1.0.0

Choose a tag to compare

@bennyhodl bennyhodl released this 26 Aug 16:38
· 223 commits to master since this release
4c2763a

Release v1.0.0 - Spec Compliant DLC DevKit ๐ŸŽ‰

Released: 2025-01-26

This is a major milestone release for DLC DevKit (DDK), marking our achievement of full DLC specification compliance and the integration of the rust-dlc crates directly into the workspace.

๐ŸŽฏ Highlights

DLC Specification Compliance

DDK is now fully compliant with the DLC specification, including:

  • Oracle attestation validation with proper tagged hashes
  • Deterministic contract key generation that is hash-collision proof
  • Spec-compliant message serialization with correct type encoding
  • Oracle nonce tag validation per the specification

Workspace Consolidation

We've forked and integrated the rust-dlc crates directly into the DDK workspace, giving us:

  • Better control over the development cycle
  • Faster iteration on features
  • Unified versioning across all crates
  • Direct maintenance of core DLC functionality

โš ๏ธ Breaking Changes

  • Oracle signature validation: Now uses spec-compliant tagged hashes for attestation validation
  • Message serialization: Types are now written correctly in DLC messages per specification
  • Contract key generation: New deterministic, hash-collision proof key derivation
  • Crate names: Core crates renamed with ddk- prefix (e.g., dlc โ†’ ddk-dlc)

โœจ Major Features

DLC Splice Support

  • Full splice-in and splice-out functionality for adjusting channel capacity
  • Comprehensive test coverage for splice edge cases
  • Seamless integration with existing channel management

Cooperative Close

  • Clean cooperative channel closure implementation
  • Efficient settlement without force-close penalties
  • Proper cleanup of channel state

Custom Address Generation

  • Flexible wallet address generation with custom derivation paths
  • Support for deterministic address creation
  • Enhanced privacy options for wallet implementations

Single-Funded Channels

  • Support for single-party funded DLC channels
  • Reduced complexity for one-sided funding scenarios
  • Maintains full DLC security guarantees

๐Ÿ”ง Improvements

  • Oracle Integration: Kormir oracle now properly integrated into workspace
  • Serialization: Added serde support for DLC transactions
  • Testing: Expanded test suite with edge cases and contract binaries
  • Public APIs: Exposed additional functions for FFI bindings
  • Debug Support: Implemented Debug trait for DlcDevKitManager

๐Ÿ“ฆ Published Crates

All crates updated to version 1.0.0:

  • ddk-trie - Trie data structure for DLC
  • ddk-messages - DLC message protocol implementation
  • kormir - Oracle implementation
  • ddk-dlc - Core DLC functionality
  • ddk-manager - DLC management and coordination
  • ddk - Main DLC DevKit library
  • payouts - Payout calculation utilities
  • ddk-node - DLC node implementation

๐Ÿ“ฅ Installation

# Add to your Cargo.toml
[dependencies]
ddk = "1.0.0"

# Or for specific components
ddk-manager = "1.0.0"
kormir = "1.0.0"

๐Ÿ”„ Migration Guide

If upgrading from 0.x versions:

  1. Update crate names to use ddk- prefix
  2. Review oracle attestation validation code for tagged hash changes
  3. Update any custom message serialization to match spec
  4. Test contract key generation with new deterministic approach

๐Ÿ“Š Stats

  • 167 files changed
  • 56,183 insertions
  • 2,244 deletions
  • Full DLC specification compliance achieved

For detailed commit history and technical changes, see the full changelog.