Skip to content

Commit 7acb0ff

Browse files
committed
feat: unified coin selection across all wallets
1 parent 18b156d commit 7acb0ff

9 files changed

Lines changed: 114 additions & 234 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
- `Node::get_balance_for_address_type()` to query per-wallet balances
1818
- `Node::list_monitored_address_types()` to list loaded wallet types
1919
- `OnchainPayment::new_address_for_type()` to generate addresses for a specific type
20-
- `send_to_address` / `send_all_to_address`: automatically pulls UTXOs from all loaded wallets when the primary wallet has insufficient funds; `send_all` drains all wallets
20+
- `send_to_address` / `send_all_to_address`: unified coin selection pools UTXOs from all loaded wallets and selects optimally across the full set; `send_all` drains all wallets
2121
- RBF and CPFP fee bumping work across wallets (cross-wallet inputs are re-signed)
22-
- Channel funding and shutdown scripts always use witness-compatible addresses, even when the primary wallet is Legacy
22+
- Channel funding uses unified coin selection across all SegWit wallets (NestedSegwit can fund channels; Legacy excluded per BOLT 2)
23+
- Channel shutdown and destination scripts always use native witness addresses, with automatic fallback to a loaded NativeSegwit/Taproot wallet when the primary is Legacy or NestedSegwit
24+
- Splicing is restricted to native witness primaries (NativeSegwit/Taproot); non-native primaries return a graceful error
2325
- Change outputs go to the primary wallet
2426
- Monitored wallets are synced in parallel alongside the primary (Esplora and Electrum)
2527
- P2PKH and P2SH UTXOs are now handled in `OutputSpender` (previously panicked on non-witness scripts)

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import PackageDescription
55

6-
let tag = "v0.7.0-rc.20"
7-
let checksum = "502111ed02cc923a3119409707d271c5023bc2a25652ea677e6c58b8b2d1465e"
6+
let tag = "v0.7.0-rc.21"
7+
let checksum = "60453c18822f9d37d5601bfc5bb206a0b042ab20254e69a4f0933fb073555f26"
88
let url = "https://github.com/synonymdev/ldk-node/releases/download/\(tag)/LDKNodeFFI.xcframework.zip"
99

1010
let package = Package(

0 commit comments

Comments
 (0)