You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For interacting with data stored by ldk-node (e.g., `network_graph`, `channel_manager`, `scorer`), use the LDK variants which derive the matching encryption and obfuscation keys:
83
+
For fully isolated LDK operations with independent key derivation (full 64-byte BIP39 seed):
84
84
85
85
```swift
86
-
// Delete an ldk-node key (e.g., stale network graph)
87
-
let wasDeleted =tryawaitvssDeleteLdk(key: "network_graph", namespace: .default)
86
+
// Initialize the dedicated LDK client (separate from the app client)
val wasDeleted = vssLdkDelete(key ="network_graph", namespace =LdkNamespace.Default)
227
271
228
-
// List ldk-node keys in a specific namespace
229
-
val defaultKeys = vssListKeysLdk(namespace =LdkNamespace.Default)
272
+
// List keys in a namespace
273
+
val keys = vssLdkListKeys(namespace =LdkNamespace.Monitors)
274
+
275
+
// List all keys across all namespaces
276
+
val allKeys = vssLdkListAllKeys()
277
+
278
+
// Clean shutdown
279
+
vssShutdownLdkClient()
230
280
```
231
281
232
282
## API Reference
@@ -280,29 +330,30 @@ Store multiple items in a single atomic transaction. The server manages versioni
280
330
#### `vssDelete(key: String) -> Bool`
281
331
Delete an item. Returns `true` if item existed and was deleted.
282
332
283
-
### LDK Data Operations
333
+
### Dedicated LDK Client
284
334
285
-
These methods derive the same encryption and obfuscation keys as ldk-node. Use them to interact with data written by ldk-node (e.g., `network_graph`, `channel_manager`, `scorer`).
335
+
A fully separate client (`LdkVssClient`) with its own key derivation using the full 64-byte BIP39 seed, independent from the app backup client. Use this when LDK operations must be completely isolated from app backup operations.
286
336
287
-
The standard `vssStore`/`vssGet`/`vssDelete` methods use different key derivation and **cannot** read or delete keys written by ldk-node.
Initialize the dedicated LDK client with LNURL-auth authentication. This client is fully separate from the app client initialized with `vssNewClientWithLnurlAuth`.
List all items stored by ldk-node in the given namespace with their full data.
355
+
#### `vssLdkListAllKeys() -> [KeyVersion]`
356
+
List all keys across all singleton LDK namespaces using the dedicated LDK client.
306
357
307
358
### Data Types
308
359
@@ -390,8 +441,6 @@ cargo run --bin uniffi-bindgen generate \
390
441
--out-dir ./test_bindings
391
442
```
392
443
393
-
For detailed testing information including integration tests, see [TESTING.md](TESTING.md).
394
-
395
444
## Architecture
396
445
397
446
This library provides a thin FFI wrapper around the [vss-client-ng](https://crates.io/crates/vss-client-ng) Rust library, exposing a simplified async API suitable for mobile and cross-platform applications.
0 commit comments