Repository navigation
v1.0.0
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 DLCddk-messages- DLC message protocol implementationkormir- Oracle implementationddk-dlc- Core DLC functionalityddk-manager- DLC management and coordinationddk- Main DLC DevKit librarypayouts- Payout calculation utilitiesddk-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:
- Update crate names to use
ddk-prefix - Review oracle attestation validation code for tagged hash changes
- Update any custom message serialization to match spec
- 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.