Avatar
thesimplekid
04918dfc36c93e7db6cc0d60f37e1522f1c36b64d3f4b424c532d7c595febbc5
Grantee @spiralbtc working on Cashu Dev Kit DMs: @thesimplekid:matrix.org ₿tsk@thesimplekid.com

CDK release v0.14.0

Summary

This release focuses on reliability and robustness improvements across the codebase. The mint now implements saga patterns for both melt and swap operations, providing better error recovery and state consistency during these critical operations. Async melt processing has been added for improved throughput. The wallet gains a new Tor mint connector with isolated circuits support for enhanced privacy when communicating with mints, along with a MintMetadataCache that delivers significant performance improvements for key and metadata management. A new proof recovery mechanism automatically handles failed wallet operations. MultiMintWallet receives improvements including the ability to check and wait for mint quotes and configure internal wallets. NUT-11 SIG_ALL message aggregation has been updated to match the latest specification. On the infrastructure side, a generic pubsub module has been introduced in cdk-common, and cdk-ffi adds postgres support. Additional highlights include keyset amount tracking and SQL balance calculation optimization for improved performance, wallet functions to pay human readable addresses (BIP353 and Lightning address), invoice decoding for BOLT11 and BOLT12 in the FFI bindings, and a mutation testing infrastructure to ensure security-critical code coverage. The release also brings numerous bug fixes addressing database contention, HTLC witness handling, and quote state management.

https://github.com/cashubtc/cdk/releases/tag/v0.14.0

Replying to Avatar vnprc

Can we hold a cashu mint's bitcoin balance in a Spillman channel?

Alice opens a Spillman channel to Minnie the mint. Alice sends a channel update tx along with her blinded secrets when requesting some ecash. Alice trades this ecash to Bob. When Bob withdraws an ecash balance from Minnie the Spillman liquidity flows from the Alice-Minnie Spillman channel into Minnie's lightning node.

Bonus points if the lightning protocol is updated to recognize unidirectional channel liquidity natively. Good luck with that. 😅 I try to avoid solutions that require permission or consensus. You're gonna run face first into the anti-ecash mind virus and get shut down before you get started. Or, more likely, nobody listens or cares and you have to build your own solution.

The lesser solution is to unify Spillman and lightning liquidity at the app level. Now you have to close Spillman channels and move the balance on-chain into the lightning node wallet to reopen bidirectional channels. C for effort I guess.

Best solution: we don't even need lightning anymore. If Bob is a merchant who expects to consistently withdraw from the mint, Bob pays a fee for the mint to open a channel to him. Every withdrawal is a simple Spillman update. No liquidity management necessary. When the channel timeout approaches Bob pays an on-chain fee to refresh the channel. EZPZ. No permission needed. No convincing hostile parties. Lightning network found dead in Miami condo.

Let me know if you want to start vibing on a Spillman rust crate. I'm here for it. 🤙

https://github.com/stevenroose/spillcash

We did spillman channels to a cashu gateway for a hackathon project. Could do directly too a mint too just a bit harder.

Cdk release v0.13.4

https://github.com/cashubtc/cdk/releases/tag/v0.13.4

0.13.3 and 0.13.4 include fixes for DOS vectors

CDK Release

Version 0.13.0 marks a major milestone for mobile development with the introduction of comprehensive native mobile bindings that enable building Cashu wallets for iOS and Android using Swift and Kotlin. The release introduces cdk-ffi, a new Foreign Function Interface crate that provides UniFFI-based bindings for Swift and Kotlin, with full wallet functionality including multi-mint support, BOLT12 payments, BIP-353 address resolution, and advanced features like P2PK conditions and authentication. Mobile bindings are distributed through dedicated repositories at https://github.com/cashubtc/cdk-kotlin and https://github.com/cashubtc/cdk-swift that provide native package management for Android/JVM and iOS/macOS platforms respectively. The release also delivers significant infrastructure improvements including an event-driven payment architecture with real-time notifications, enhanced database layer with generic key-value storage, improved HTTP transport with proxy support and BIP-353 DNS resolution, and new operational features like Prometheus metrics collection and dedicated authentication database support.

Full release notes: https://github.com/cashubtc/cdk/releases/tag/v0.13.0

Thanks to nostr:nprofile1qyd8wumn8ghj7un9d3shjtnndamx2un9d9nkutnpwpcz7qpqdvdcmtp5llrp63jdlmhspe9gffsyu9ew7cu3ld3f9y7k79nxzjxqtun7a8 for much of the work on the bindings

The Dublin Bitcoin meetup is on this Thursday September 4th at 7pm upstairs at The Palace Bar, 21 Fleet St, Temple Bar.

It’s on the top floor so if you’re not sure where to go just keep going up the stairs and you’ll find us…

cdk and mintd Version 0.12.0

https://github.com/cashubtc/cdk/releases/tag/v0.12.0

Delivers end-to-end BOLT12 offers and payments, adds BIP‑353 address resolution for BOLT12 payments, and introduces cdk-ldk-node, an integrated Lightning backend that lets a single binary run both a Cashu mint and a Lightning node with full BOLT11 and BOLT12 support. It also adds a local, admin-focused web UI for cdk-ldk-node with dashboards for channels, invoices and offers, payments, and on-chain activity. On the data layer, the release expands storage with PostgreSQL via the new cdk-postgres crate and accelerates the shared SQL stack (cdk-sql-common) with statement caching and structured, namespaced/global migrations. Operationally, the mint now exposes explicit start and stop lifecycle methods, enabling graceful startup and shutdown of background services. Wallet keyset management has been clarified with renamed APIs that separate local storage from network fetches. The MSRV is updated to 1.85.0.

The Dublin Bitcoin meetup is back! Join us tomorrow (July 3rd) at 7pm upstairs at The Palace Bar, 21 Fleet St, Temple Bar. See you there.

CDK v0.11.0

Version 0.11.0 brings significant architectural changes to enhance database reliability and performance. The major changes include:

1. **Database Engine Change**: Replaced `sqlx` with `rusqlite` as the SQLite database driver and removed support for `redb`. This change provides better performance and reliability for database operations.

2. **Transaction Management**: Introduced robust database transaction support that encapsulates all database changes. The new Transaction trait implements a rollback operation on Drop unless explicitly committed, ensuring data integrity.

3. **Race Condition Prevention**: Added READ-and-lock operations to securely read and lock records from the database for exclusive access, preventing race conditions in concurrent operations.

https://github.com/cashubtc/cdk/releases/tag/v0.11.0

CDK v0.10.0 released

Introduces the new SignatoryManager service, a significant architectural enhancement that provides complete segregation between the mint and its most sensitive component: the private keys. The SignatoryManager offers a clean API for all key-related operations and keyset management, with communication limited to messages passed through the manager interface, ensuring the signatory remains isolated from the rest of the mint. This foundation enables future deployment of signing operations in separate services or foreign environments to reduce operational risks. Additional improvements include a new mint URL flag option, enhanced NUT-04/NUT-05 implementations, ARM64 Docker support, and updated dependencies.

https://github.com/cashubtc/cdk/releases/tag/v0.10.0

Either way I didn’t make it so don’t deserve any sats.

Someone should fork signal and replace mobile coin with ecash