Skip to content

Commit 7afd531

Browse files
committed
feat: upgrade vss-client to vss-client-ng 0.4
- Update dependency from vss-client 0.3 to vss-client-ng 0.4 - Adapt to new StorableBuilder API (AAD parameter, key by reference) - Store data_encryption_key separately in VssClient struct - Update MSRV to 1.75+ in documentation - No changes to public FFI API Note: Data encrypted with vss-client 0.3 is not compatible with this version due to AAD changes in the encryption scheme.
1 parent 3e4694f commit 7afd531

File tree

19 files changed

+355
-303
lines changed

19 files changed

+355
-303
lines changed

Cargo.lock

Lines changed: 293 additions & 249 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "vss-rust-client-ffi"
3-
version = "0.3.2"
3+
version = "0.4.0"
44
edition = "2021"
55
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
66

@@ -15,7 +15,7 @@ serde = { version = "^1.0.209", features = ["derive"] }
1515
tokio = "1.40.0"
1616
once_cell = "1.19.0"
1717
thiserror = "2.0.12"
18-
vss-client = "0.3"
18+
vss-client-ng = "0.4.0"
1919
bitcoin = "0.32.0"
2020
bip39 = "2.0.0"
2121
prost = "0.11.6"

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.3.2"
7-
let checksum = "e72b500366a6c2510d4d4136a5ea7bf40b20da90969a298e51947d6a53183820"
6+
let tag = "v0.4.0"
7+
let checksum = "d29d24123afb6d91ee3fdb474e7aff3eafae8a33aff199f54ec2ea4eaef705ed"
88
let url = "https://github.com/synonymdev/vss-rust-client-ffi/releases/download/\(tag)/VssRustClientFfi.xcframework.zip"
99

1010
let package = Package(

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Cross-platform FFI bindings for the [VSS (Versioned Storage Service) Rust Client
66

77
### Prerequisites
88

9-
- Rust 1.70+
9+
- Rust 1.75+
1010
- `uniffi-bindgen` for generating bindings
1111

1212
### Building
@@ -305,7 +305,7 @@ For detailed testing information including integration tests, see [TESTING.md](T
305305

306306
## Architecture
307307

308-
This library provides a thin FFI wrapper around the [vss-client](https://crates.io/crates/vss-client) Rust library, exposing a simplified async API suitable for mobile and cross-platform applications.
308+
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.
309309

310310
## Contributing
311311

@@ -323,5 +323,5 @@ This project is licensed under the MIT License - see the LICENSE file for detail
323323
## Related Projects
324324

325325
- [VSS Server](https://github.com/lightningdevkit/vss-server) - The VSS server implementation
326-
- [vss-client](https://crates.io/crates/vss-client) - The underlying Rust client library
326+
- [vss-client-ng](https://crates.io/crates/vss-client-ng) - The underlying Rust client library
327327
- [UniFFI](https://mozilla.github.io/uniffi-rs/) - The FFI binding generator

bindings/android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ android.useAndroidX=true
33
android.nonTransitiveRClass=true
44
kotlin.code.style=official
55
# project settings:
6-
version=0.3.2
6+
version=0.4.0
Binary file not shown.
Binary file not shown.
-1.72 MB
Binary file not shown.
-1.95 MB
Binary file not shown.

bindings/android/src/main/kotlin/com/synonym/vssclient/vss_rust_client_ffi.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -931,10 +931,10 @@ private fun uniffiCheckApiChecksums(lib: UniffiLib) {
931931
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_get() != 51694.toShort()) {
932932
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
933933
}
934-
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list() != 58731.toShort()) {
934+
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list() != 27842.toShort()) {
935935
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
936936
}
937-
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys() != 51265.toShort()) {
937+
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys() != 21638.toShort()) {
938938
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
939939
}
940940
if (lib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client() != 63115.toShort()) {
@@ -1838,8 +1838,8 @@ public object FfiConverterSequenceTypeVssItem: FfiConverterRustBuffer<List<VssIt
18381838
* It's useful for browsing stored data but can be expensive for large datasets.
18391839
*
18401840
* # Parameters
1841-
* - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys)
1842-
* If None or empty, returns all items
1841+
* - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys).
1842+
* If None or empty, returns all items.
18431843
*
18441844
* # Returns
18451845
* A vector of VssItems containing all matching key-value pairs,
@@ -1876,8 +1876,8 @@ public object FfiConverterSequenceTypeVssItem: FfiConverterRustBuffer<List<VssIt
18761876
* what keys exist and their versions, without downloading the actual data.
18771877
*
18781878
* # Parameters
1879-
* - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys)
1880-
* If None or empty, returns all keys
1879+
* - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys).
1880+
* If None or empty, returns all keys.
18811881
*
18821882
* # Returns
18831883
* A vector of KeyVersion structs containing key names and version numbers,

0 commit comments

Comments
 (0)