diff --git a/.gitignore b/.gitignore index 9175872..b2d80f9 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,7 @@ bindings/android/native-debug-symbols.zip /httpRequests/ .ai .build +/dist/ + +# SwiftPM workspace files +.swiftpm/ diff --git a/CLAUDE.md b/CLAUDE.md index d7448fe..7fd8dd3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -Cross-platform FFI library wrapping the [VSS (Versioned Storage Service) Rust Client](https://github.com/lightningdevkit/vss-server) via UniFFI. Generates bindings for Swift (iOS), Kotlin (Android), and Python. Used by mobile Lightning wallets to back up both app data and LDK (Lightning Development Kit) channel state to a VSS server. +Cross-platform FFI library wrapping the [VSS (Versioned Storage Service) Rust Client](https://github.com/lightningdevkit/vss-server) via UniFFI. Generates bindings for Swift (iOS) and Kotlin (Android). Used by mobile Lightning wallets to back up both app data and LDK (Lightning Development Kit) channel state to a VSS server. ## Build & Test Commands @@ -19,8 +19,7 @@ cargo clippy # Lint # Platform bindings (requires platform-specific toolchains) ./build.sh ios # XCFramework + Swift bindings ./build.sh android # JNI libs + Kotlin bindings -./build.sh python # Python package -./build.sh all # All platforms +./build.sh all # iOS + Android bindings ``` ## Architecture @@ -68,8 +67,8 @@ When investigating VSS server behavior, protocol details, or LDK key derivation, 1. **ALWAYS** bump the version in `Cargo.toml` before generating bindings. 2. **ALWAYS** bump the iOS framework tag in `Package.swift` to match the new version. -3. **ALWAYS** regenerate all bindings with `./build.sh all` after any code changes. -4. **ALWAYS** upload `bindings/ios/VssRustClientFfi.xcframework.zip` to new GitHub releases. +3. **ALWAYS** regenerate iOS and Android bindings with `./build.sh all` after any code changes. +4. **ALWAYS** upload `dist/ios/VssRustClientFfi.xcframework.zip` to new GitHub releases. ## Commit Convention diff --git a/Package.swift b/Package.swift index 71f251b..0ab5925 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.5 +// swift-tools-version:5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -10,13 +10,13 @@ let url = "https://github.com/synonymdev/vss-rust-client-ffi/releases/download/\ let package = Package( name: "vss-rust-client-ffi", platforms: [ - .iOS(.v13), - .macOS(.v11), + .iOS(.v17), ], products: [ .library( name: "VssRustClientFfi", - targets: ["VssRustClientFfi", "VssRustClientFfiFFI"]), + targets: ["VssRustClientFfi", "VssRustClientFfiFFI"] + ), ], targets: [ .target( @@ -29,6 +29,6 @@ let package = Package( name: "VssRustClientFfiFFI", url: url, checksum: checksum - ) + ), ] ) diff --git a/README.md b/README.md index 3362248..2dfd452 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Cross-platform FFI bindings for the [VSS (Versioned Storage Service) Rust Client # Basic build cargo build --release -# Generate ALL bindings +# Generate iOS and Android bindings ./build.sh all # Generate Swift bindings for iOS @@ -23,9 +23,6 @@ cargo build --release # Generate Kotlin bindings for Android ./build_android.sh - -# Generate Python bindings -./build_python.sh ``` ## Usage Examples @@ -117,88 +114,6 @@ let allKeys = try await vssLdkListAllKeys() vssShutdownLdkClient() ``` -### Python - -```python -from vss_rust_client_ffi import * - -mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about" -passphrase = None -store_id = vss_derive_store_id( - prefix="bitkit_v1_regtest", - mnemonic=mnemonic, - passphrase=passphrase -) - -await vss_new_client_with_lnurl_auth( - "https://vss.example.com", - store_id, - mnemonic, - passphrase, - "https://auth.example.com/lnurl" -) - -# Store data -item = await vss_store("user-settings", b"{'theme': 'dark'}") -print(f"Stored at version: {item.version}") - -# Retrieve data -item = await vss_get("user-settings") -if item: - print(f"Retrieved: {item.value.decode()}") - -# List keys only (more efficient) -keys = await vss_list_keys("user/") -for kv in keys: - print(f"Key: {kv.key}, Version: {kv.version}") - -# Batch store multiple items -items_to_store = [ - KeyValue(key="config/theme", value=b"dark"), - KeyValue(key="config/lang", value=b"en") -] -stored_items = await vss_put_with_key_prefix(items_to_store) -print(f"Stored {len(stored_items)} items") - -# Delete data -was_deleted = await vss_delete("user-settings") -print(f"Deleted: {was_deleted}") - -# Clean shutdown (optional) -vss_shutdown_client() -``` - -#### Dedicated LDK Client (Python) - -```python -# Initialize the dedicated LDK client (separate from the app client) -await vss_new_ldk_client_with_lnurl_auth( - "https://vss.example.com", - store_id, - mnemonic, - passphrase, - "https://auth.example.com/lnurl" -) - -# Read an ldk-node key -item = await vss_ldk_get("network_graph", LdkNamespace.DEFAULT) - -# Store a key -item = await vss_ldk_store("network_graph", graph_data, LdkNamespace.DEFAULT) - -# Delete a key -was_deleted = await vss_ldk_delete("network_graph", LdkNamespace.DEFAULT) - -# List keys in a namespace -keys = await vss_ldk_list_keys(LdkNamespace.MONITORS) - -# List all keys across all namespaces -all_keys = await vss_ldk_list_all_keys() - -# Clean shutdown -vss_shutdown_ldk_client() -``` - ### Kotlin (Android) ```kotlin @@ -388,8 +303,10 @@ Error enum with detailed error information for different failure scenarios. ``` Generates: -- `bindings/ios/VssRustClientFfi.xcframework` - iOS framework -- `bindings/ios/vss_rust_client_ffi.swift` - Swift bindings +- `dist/ios/VssRustClientFfi.xcframework` - iOS framework +- `dist/ios/VssRustClientFfi.xcframework.zip` - zipped SwiftPM binary artifact for release upload +- `bindings/ios/vss_rust_client_ffi.swift` - Swift bindings source used by `Package.swift` +- `bindings/ios/vss_rust_client_ffiFFI.h` and `bindings/ios/module.modulemap` - C interface files used by the Swift package ### Android Library @@ -401,15 +318,6 @@ Generates: - `bindings/android/vss_rust_client_ffi.kt` - Kotlin bindings - `bindings/android/jniLibs/` - Native libraries for all Android architectures -### Python Package - -```bash -./build_python.sh -``` - -Generates: -- `bindings/python/` - Python package with bindings and native library - ## Development ### Prerequisites diff --git a/bindings/ios/VssRustClientFfi.xcframework.zip b/bindings/ios/VssRustClientFfi.xcframework.zip deleted file mode 100644 index e601658..0000000 Binary files a/bindings/ios/VssRustClientFfi.xcframework.zip and /dev/null differ diff --git a/bindings/ios/VssRustClientFfi.xcframework/Info.plist b/bindings/ios/VssRustClientFfi.xcframework/Info.plist deleted file mode 100644 index 62ceebe..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - AvailableLibraries - - - BinaryPath - vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI - LibraryIdentifier - ios-arm64-simulator - LibraryPath - vss_rust_client_ffiFFI.framework - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - SupportedPlatformVariant - simulator - - - BinaryPath - vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI - LibraryIdentifier - ios-arm64 - LibraryPath - vss_rust_client_ffiFFI.framework - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - - - CFBundlePackageType - XFWK - XCFrameworkFormatVersion - 1.0 - - diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h deleted file mode 100644 index f5005fc..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h +++ /dev/null @@ -1,730 +0,0 @@ -// This file was autogenerated by some hot garbage in the `uniffi` crate. -// Trust me, you don't want to mess with it! - -#pragma once - -#include -#include -#include - -// The following structs are used to implement the lowest level -// of the FFI, and thus useful to multiple uniffied crates. -// We ensure they are declared exactly once, with a header guard, UNIFFI_SHARED_H. -#ifdef UNIFFI_SHARED_H - // We also try to prevent mixing versions of shared uniffi header structs. - // If you add anything to the #else block, you must increment the version suffix in UNIFFI_SHARED_HEADER_V4 - #ifndef UNIFFI_SHARED_HEADER_V4 - #error Combining helper code from multiple versions of uniffi is not supported - #endif // ndef UNIFFI_SHARED_HEADER_V4 -#else -#define UNIFFI_SHARED_H -#define UNIFFI_SHARED_HEADER_V4 -// ⚠️ Attention: If you change this #else block (ending in `#endif // def UNIFFI_SHARED_H`) you *must* ⚠️ -// ⚠️ increment the version suffix in all instances of UNIFFI_SHARED_HEADER_V4 in this file. ⚠️ - -typedef struct RustBuffer -{ - uint64_t capacity; - uint64_t len; - uint8_t *_Nullable data; -} RustBuffer; - -typedef struct ForeignBytes -{ - int32_t len; - const uint8_t *_Nullable data; -} ForeignBytes; - -// Error definitions -typedef struct RustCallStatus { - int8_t code; - RustBuffer errorBuf; -} RustCallStatus; - -// ⚠️ Attention: If you change this #else block (ending in `#endif // def UNIFFI_SHARED_H`) you *must* ⚠️ -// ⚠️ increment the version suffix in all instances of UNIFFI_SHARED_HEADER_V4 in this file. ⚠️ -#endif // def UNIFFI_SHARED_H -#ifndef UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK -#define UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK -typedef void (*UniffiRustFutureContinuationCallback)(uint64_t, int8_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE -typedef void (*UniffiForeignFutureFree)(uint64_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE -#define UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE -typedef void (*UniffiCallbackInterfaceFree)(uint64_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE -#define UNIFFI_FFIDEF_FOREIGN_FUTURE -typedef struct UniffiForeignFuture { - uint64_t handle; - UniffiForeignFutureFree _Nonnull free; -} UniffiForeignFuture; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 -typedef struct UniffiForeignFutureStructU8 { - uint8_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU8; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 -typedef void (*UniffiForeignFutureCompleteU8)(uint64_t, UniffiForeignFutureStructU8 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 -typedef struct UniffiForeignFutureStructI8 { - int8_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI8; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 -typedef void (*UniffiForeignFutureCompleteI8)(uint64_t, UniffiForeignFutureStructI8 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 -typedef struct UniffiForeignFutureStructU16 { - uint16_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU16; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 -typedef void (*UniffiForeignFutureCompleteU16)(uint64_t, UniffiForeignFutureStructU16 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 -typedef struct UniffiForeignFutureStructI16 { - int16_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI16; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 -typedef void (*UniffiForeignFutureCompleteI16)(uint64_t, UniffiForeignFutureStructI16 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 -typedef struct UniffiForeignFutureStructU32 { - uint32_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 -typedef void (*UniffiForeignFutureCompleteU32)(uint64_t, UniffiForeignFutureStructU32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 -typedef struct UniffiForeignFutureStructI32 { - int32_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 -typedef void (*UniffiForeignFutureCompleteI32)(uint64_t, UniffiForeignFutureStructI32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 -typedef struct UniffiForeignFutureStructU64 { - uint64_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 -typedef void (*UniffiForeignFutureCompleteU64)(uint64_t, UniffiForeignFutureStructU64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 -typedef struct UniffiForeignFutureStructI64 { - int64_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 -typedef void (*UniffiForeignFutureCompleteI64)(uint64_t, UniffiForeignFutureStructI64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 -typedef struct UniffiForeignFutureStructF32 { - float returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructF32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 -typedef void (*UniffiForeignFutureCompleteF32)(uint64_t, UniffiForeignFutureStructF32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 -typedef struct UniffiForeignFutureStructF64 { - double returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructF64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 -typedef void (*UniffiForeignFutureCompleteF64)(uint64_t, UniffiForeignFutureStructF64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER -typedef struct UniffiForeignFutureStructPointer { - void*_Nonnull returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructPointer; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER -typedef void (*UniffiForeignFutureCompletePointer)(uint64_t, UniffiForeignFutureStructPointer - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER -typedef struct UniffiForeignFutureStructRustBuffer { - RustBuffer returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructRustBuffer; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER -typedef void (*UniffiForeignFutureCompleteRustBuffer)(uint64_t, UniffiForeignFutureStructRustBuffer - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID -typedef struct UniffiForeignFutureStructVoid { - RustCallStatus callStatus; -} UniffiForeignFutureStructVoid; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID -typedef void (*UniffiForeignFutureCompleteVoid)(uint64_t, UniffiForeignFutureStructVoid - ); - -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DELETE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_delete(RustBuffer key -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DERIVE_STORE_ID -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DERIVE_STORE_ID -RustBuffer uniffi_vss_rust_client_ffi_fn_func_vss_derive_store_id(RustBuffer prefix, RustBuffer mnemonic, RustBuffer passphrase, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_GET -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_get(RustBuffer key -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_DELETE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_delete(RustBuffer key, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_GET -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_get(RustBuffer key, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_ALL_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_ALL_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_all_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_keys(RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_STORE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_store(RustBuffer key, RustBuffer value, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_list(RustBuffer prefix -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_list_keys(RustBuffer prefix -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_client(RustBuffer base_url, RustBuffer store_id -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_client_with_lnurl_auth(RustBuffer base_url, RustBuffer store_id, RustBuffer mnemonic, RustBuffer passphrase, RustBuffer lnurl_auth_server_url -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_ldk_client_with_lnurl_auth(RustBuffer base_url, RustBuffer store_id, RustBuffer mnemonic, RustBuffer passphrase, RustBuffer lnurl_auth_server_url -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_PUT_WITH_KEY_PREFIX -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_PUT_WITH_KEY_PREFIX -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_put_with_key_prefix(RustBuffer items -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_CLIENT -void uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_client(RustCallStatus *_Nonnull out_status - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_LDK_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_LDK_CLIENT -void uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_ldk_client(RustCallStatus *_Nonnull out_status - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_STORE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_store(RustBuffer key, RustBuffer value -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_ALLOC -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_ALLOC -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_alloc(uint64_t size, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FROM_BYTES -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FROM_BYTES -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FREE -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FREE -void ffi_vss_rust_client_ffi_rustbuffer_free(RustBuffer buf, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_RESERVE -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_RESERVE -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_reserve(RustBuffer buf, uint64_t additional, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U8 -void ffi_vss_rust_client_ffi_rust_future_poll_u8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U8 -void ffi_vss_rust_client_ffi_rust_future_cancel_u8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U8 -void ffi_vss_rust_client_ffi_rust_future_free_u8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U8 -uint8_t ffi_vss_rust_client_ffi_rust_future_complete_u8(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I8 -void ffi_vss_rust_client_ffi_rust_future_poll_i8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I8 -void ffi_vss_rust_client_ffi_rust_future_cancel_i8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I8 -void ffi_vss_rust_client_ffi_rust_future_free_i8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I8 -int8_t ffi_vss_rust_client_ffi_rust_future_complete_i8(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U16 -void ffi_vss_rust_client_ffi_rust_future_poll_u16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U16 -void ffi_vss_rust_client_ffi_rust_future_cancel_u16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U16 -void ffi_vss_rust_client_ffi_rust_future_free_u16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U16 -uint16_t ffi_vss_rust_client_ffi_rust_future_complete_u16(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I16 -void ffi_vss_rust_client_ffi_rust_future_poll_i16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I16 -void ffi_vss_rust_client_ffi_rust_future_cancel_i16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I16 -void ffi_vss_rust_client_ffi_rust_future_free_i16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I16 -int16_t ffi_vss_rust_client_ffi_rust_future_complete_i16(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U32 -void ffi_vss_rust_client_ffi_rust_future_poll_u32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U32 -void ffi_vss_rust_client_ffi_rust_future_cancel_u32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U32 -void ffi_vss_rust_client_ffi_rust_future_free_u32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U32 -uint32_t ffi_vss_rust_client_ffi_rust_future_complete_u32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I32 -void ffi_vss_rust_client_ffi_rust_future_poll_i32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I32 -void ffi_vss_rust_client_ffi_rust_future_cancel_i32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I32 -void ffi_vss_rust_client_ffi_rust_future_free_i32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I32 -int32_t ffi_vss_rust_client_ffi_rust_future_complete_i32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U64 -void ffi_vss_rust_client_ffi_rust_future_poll_u64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U64 -void ffi_vss_rust_client_ffi_rust_future_cancel_u64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U64 -void ffi_vss_rust_client_ffi_rust_future_free_u64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U64 -uint64_t ffi_vss_rust_client_ffi_rust_future_complete_u64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I64 -void ffi_vss_rust_client_ffi_rust_future_poll_i64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I64 -void ffi_vss_rust_client_ffi_rust_future_cancel_i64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I64 -void ffi_vss_rust_client_ffi_rust_future_free_i64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I64 -int64_t ffi_vss_rust_client_ffi_rust_future_complete_i64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F32 -void ffi_vss_rust_client_ffi_rust_future_poll_f32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F32 -void ffi_vss_rust_client_ffi_rust_future_cancel_f32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F32 -void ffi_vss_rust_client_ffi_rust_future_free_f32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F32 -float ffi_vss_rust_client_ffi_rust_future_complete_f32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F64 -void ffi_vss_rust_client_ffi_rust_future_poll_f64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F64 -void ffi_vss_rust_client_ffi_rust_future_cancel_f64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F64 -void ffi_vss_rust_client_ffi_rust_future_free_f64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F64 -double ffi_vss_rust_client_ffi_rust_future_complete_f64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_POINTER -void ffi_vss_rust_client_ffi_rust_future_poll_pointer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_POINTER -void ffi_vss_rust_client_ffi_rust_future_cancel_pointer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_POINTER -void ffi_vss_rust_client_ffi_rust_future_free_pointer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_POINTER -void*_Nonnull ffi_vss_rust_client_ffi_rust_future_complete_pointer(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_cancel_rust_buffer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_free_rust_buffer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_RUST_BUFFER -RustBuffer ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_VOID -void ffi_vss_rust_client_ffi_rust_future_poll_void(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_VOID -void ffi_vss_rust_client_ffi_rust_future_cancel_void(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_VOID -void ffi_vss_rust_client_ffi_rust_future_free_void(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_VOID -void ffi_vss_rust_client_ffi_rust_future_complete_void(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DELETE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_delete(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DERIVE_STORE_ID -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DERIVE_STORE_ID -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_derive_store_id(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_GET -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_get(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_DELETE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_delete(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_GET -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_get(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_ALL_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_ALL_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_all_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_STORE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_store(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_list(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_client_with_lnurl_auth(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_ldk_client_with_lnurl_auth(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_PUT_WITH_KEY_PREFIX -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_PUT_WITH_KEY_PREFIX -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_put_with_key_prefix(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_LDK_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_LDK_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_ldk_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_STORE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_store(void - -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_UNIFFI_CONTRACT_VERSION -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_UNIFFI_CONTRACT_VERSION -uint32_t ffi_vss_rust_client_ffi_uniffi_contract_version(void - -); -#endif - diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Info.plist b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Info.plist deleted file mode 100644 index 1ac4ab2..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - CFBundleExecutable - vss_rust_client_ffiFFI - CFBundleIdentifier - com.synonym.vss-rust-client-ffi-ffi - CFBundleName - vss_rust_client_ffiFFI - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Modules/module.modulemap b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Modules/module.modulemap deleted file mode 100644 index d55b24c..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/Modules/module.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -framework module vss_rust_client_ffiFFI { - header "vss_rust_client_ffiFFI.h" - export * - use "Darwin" - use "_Builtin_stdbool" - use "_Builtin_stdint" -} \ No newline at end of file diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI deleted file mode 100644 index 4498bb8..0000000 Binary files a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64-simulator/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI and /dev/null differ diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h deleted file mode 100644 index f5005fc..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Headers/vss_rust_client_ffiFFI.h +++ /dev/null @@ -1,730 +0,0 @@ -// This file was autogenerated by some hot garbage in the `uniffi` crate. -// Trust me, you don't want to mess with it! - -#pragma once - -#include -#include -#include - -// The following structs are used to implement the lowest level -// of the FFI, and thus useful to multiple uniffied crates. -// We ensure they are declared exactly once, with a header guard, UNIFFI_SHARED_H. -#ifdef UNIFFI_SHARED_H - // We also try to prevent mixing versions of shared uniffi header structs. - // If you add anything to the #else block, you must increment the version suffix in UNIFFI_SHARED_HEADER_V4 - #ifndef UNIFFI_SHARED_HEADER_V4 - #error Combining helper code from multiple versions of uniffi is not supported - #endif // ndef UNIFFI_SHARED_HEADER_V4 -#else -#define UNIFFI_SHARED_H -#define UNIFFI_SHARED_HEADER_V4 -// ⚠️ Attention: If you change this #else block (ending in `#endif // def UNIFFI_SHARED_H`) you *must* ⚠️ -// ⚠️ increment the version suffix in all instances of UNIFFI_SHARED_HEADER_V4 in this file. ⚠️ - -typedef struct RustBuffer -{ - uint64_t capacity; - uint64_t len; - uint8_t *_Nullable data; -} RustBuffer; - -typedef struct ForeignBytes -{ - int32_t len; - const uint8_t *_Nullable data; -} ForeignBytes; - -// Error definitions -typedef struct RustCallStatus { - int8_t code; - RustBuffer errorBuf; -} RustCallStatus; - -// ⚠️ Attention: If you change this #else block (ending in `#endif // def UNIFFI_SHARED_H`) you *must* ⚠️ -// ⚠️ increment the version suffix in all instances of UNIFFI_SHARED_HEADER_V4 in this file. ⚠️ -#endif // def UNIFFI_SHARED_H -#ifndef UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK -#define UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK -typedef void (*UniffiRustFutureContinuationCallback)(uint64_t, int8_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE -typedef void (*UniffiForeignFutureFree)(uint64_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE -#define UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE -typedef void (*UniffiCallbackInterfaceFree)(uint64_t - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE -#define UNIFFI_FFIDEF_FOREIGN_FUTURE -typedef struct UniffiForeignFuture { - uint64_t handle; - UniffiForeignFutureFree _Nonnull free; -} UniffiForeignFuture; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 -typedef struct UniffiForeignFutureStructU8 { - uint8_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU8; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 -typedef void (*UniffiForeignFutureCompleteU8)(uint64_t, UniffiForeignFutureStructU8 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 -typedef struct UniffiForeignFutureStructI8 { - int8_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI8; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 -typedef void (*UniffiForeignFutureCompleteI8)(uint64_t, UniffiForeignFutureStructI8 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 -typedef struct UniffiForeignFutureStructU16 { - uint16_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU16; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 -typedef void (*UniffiForeignFutureCompleteU16)(uint64_t, UniffiForeignFutureStructU16 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 -typedef struct UniffiForeignFutureStructI16 { - int16_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI16; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 -typedef void (*UniffiForeignFutureCompleteI16)(uint64_t, UniffiForeignFutureStructI16 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 -typedef struct UniffiForeignFutureStructU32 { - uint32_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 -typedef void (*UniffiForeignFutureCompleteU32)(uint64_t, UniffiForeignFutureStructU32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 -typedef struct UniffiForeignFutureStructI32 { - int32_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 -typedef void (*UniffiForeignFutureCompleteI32)(uint64_t, UniffiForeignFutureStructI32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 -typedef struct UniffiForeignFutureStructU64 { - uint64_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructU64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 -typedef void (*UniffiForeignFutureCompleteU64)(uint64_t, UniffiForeignFutureStructU64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 -typedef struct UniffiForeignFutureStructI64 { - int64_t returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructI64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 -typedef void (*UniffiForeignFutureCompleteI64)(uint64_t, UniffiForeignFutureStructI64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 -typedef struct UniffiForeignFutureStructF32 { - float returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructF32; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 -typedef void (*UniffiForeignFutureCompleteF32)(uint64_t, UniffiForeignFutureStructF32 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 -typedef struct UniffiForeignFutureStructF64 { - double returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructF64; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 -typedef void (*UniffiForeignFutureCompleteF64)(uint64_t, UniffiForeignFutureStructF64 - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER -typedef struct UniffiForeignFutureStructPointer { - void*_Nonnull returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructPointer; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER -typedef void (*UniffiForeignFutureCompletePointer)(uint64_t, UniffiForeignFutureStructPointer - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER -typedef struct UniffiForeignFutureStructRustBuffer { - RustBuffer returnValue; - RustCallStatus callStatus; -} UniffiForeignFutureStructRustBuffer; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER -typedef void (*UniffiForeignFutureCompleteRustBuffer)(uint64_t, UniffiForeignFutureStructRustBuffer - ); - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID -typedef struct UniffiForeignFutureStructVoid { - RustCallStatus callStatus; -} UniffiForeignFutureStructVoid; - -#endif -#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID -#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID -typedef void (*UniffiForeignFutureCompleteVoid)(uint64_t, UniffiForeignFutureStructVoid - ); - -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DELETE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_delete(RustBuffer key -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DERIVE_STORE_ID -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_DERIVE_STORE_ID -RustBuffer uniffi_vss_rust_client_ffi_fn_func_vss_derive_store_id(RustBuffer prefix, RustBuffer mnemonic, RustBuffer passphrase, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_GET -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_get(RustBuffer key -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_DELETE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_delete(RustBuffer key, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_GET -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_get(RustBuffer key, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_ALL_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_ALL_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_all_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_LIST_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_keys(RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LDK_STORE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_ldk_store(RustBuffer key, RustBuffer value, RustBuffer namespace -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_list(RustBuffer prefix -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_LIST_KEYS -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_list_keys(RustBuffer prefix -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_client(RustBuffer base_url, RustBuffer store_id -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_client_with_lnurl_auth(RustBuffer base_url, RustBuffer store_id, RustBuffer mnemonic, RustBuffer passphrase, RustBuffer lnurl_auth_server_url -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_new_ldk_client_with_lnurl_auth(RustBuffer base_url, RustBuffer store_id, RustBuffer mnemonic, RustBuffer passphrase, RustBuffer lnurl_auth_server_url -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_PUT_WITH_KEY_PREFIX -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_PUT_WITH_KEY_PREFIX -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_put_with_key_prefix(RustBuffer items -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_CLIENT -void uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_client(RustCallStatus *_Nonnull out_status - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_LDK_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_SHUTDOWN_LDK_CLIENT -void uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_ldk_client(RustCallStatus *_Nonnull out_status - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_FN_FUNC_VSS_STORE -uint64_t uniffi_vss_rust_client_ffi_fn_func_vss_store(RustBuffer key, RustBuffer value -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_ALLOC -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_ALLOC -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_alloc(uint64_t size, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FROM_BYTES -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FROM_BYTES -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FREE -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_FREE -void ffi_vss_rust_client_ffi_rustbuffer_free(RustBuffer buf, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_RESERVE -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUSTBUFFER_RESERVE -RustBuffer ffi_vss_rust_client_ffi_rustbuffer_reserve(RustBuffer buf, uint64_t additional, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U8 -void ffi_vss_rust_client_ffi_rust_future_poll_u8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U8 -void ffi_vss_rust_client_ffi_rust_future_cancel_u8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U8 -void ffi_vss_rust_client_ffi_rust_future_free_u8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U8 -uint8_t ffi_vss_rust_client_ffi_rust_future_complete_u8(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I8 -void ffi_vss_rust_client_ffi_rust_future_poll_i8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I8 -void ffi_vss_rust_client_ffi_rust_future_cancel_i8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I8 -void ffi_vss_rust_client_ffi_rust_future_free_i8(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I8 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I8 -int8_t ffi_vss_rust_client_ffi_rust_future_complete_i8(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U16 -void ffi_vss_rust_client_ffi_rust_future_poll_u16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U16 -void ffi_vss_rust_client_ffi_rust_future_cancel_u16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U16 -void ffi_vss_rust_client_ffi_rust_future_free_u16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U16 -uint16_t ffi_vss_rust_client_ffi_rust_future_complete_u16(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I16 -void ffi_vss_rust_client_ffi_rust_future_poll_i16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I16 -void ffi_vss_rust_client_ffi_rust_future_cancel_i16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I16 -void ffi_vss_rust_client_ffi_rust_future_free_i16(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I16 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I16 -int16_t ffi_vss_rust_client_ffi_rust_future_complete_i16(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U32 -void ffi_vss_rust_client_ffi_rust_future_poll_u32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U32 -void ffi_vss_rust_client_ffi_rust_future_cancel_u32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U32 -void ffi_vss_rust_client_ffi_rust_future_free_u32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U32 -uint32_t ffi_vss_rust_client_ffi_rust_future_complete_u32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I32 -void ffi_vss_rust_client_ffi_rust_future_poll_i32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I32 -void ffi_vss_rust_client_ffi_rust_future_cancel_i32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I32 -void ffi_vss_rust_client_ffi_rust_future_free_i32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I32 -int32_t ffi_vss_rust_client_ffi_rust_future_complete_i32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_U64 -void ffi_vss_rust_client_ffi_rust_future_poll_u64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_U64 -void ffi_vss_rust_client_ffi_rust_future_cancel_u64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_U64 -void ffi_vss_rust_client_ffi_rust_future_free_u64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_U64 -uint64_t ffi_vss_rust_client_ffi_rust_future_complete_u64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_I64 -void ffi_vss_rust_client_ffi_rust_future_poll_i64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_I64 -void ffi_vss_rust_client_ffi_rust_future_cancel_i64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_I64 -void ffi_vss_rust_client_ffi_rust_future_free_i64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_I64 -int64_t ffi_vss_rust_client_ffi_rust_future_complete_i64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F32 -void ffi_vss_rust_client_ffi_rust_future_poll_f32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F32 -void ffi_vss_rust_client_ffi_rust_future_cancel_f32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F32 -void ffi_vss_rust_client_ffi_rust_future_free_f32(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F32 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F32 -float ffi_vss_rust_client_ffi_rust_future_complete_f32(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_F64 -void ffi_vss_rust_client_ffi_rust_future_poll_f64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_F64 -void ffi_vss_rust_client_ffi_rust_future_cancel_f64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_F64 -void ffi_vss_rust_client_ffi_rust_future_free_f64(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F64 -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_F64 -double ffi_vss_rust_client_ffi_rust_future_complete_f64(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_POINTER -void ffi_vss_rust_client_ffi_rust_future_poll_pointer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_POINTER -void ffi_vss_rust_client_ffi_rust_future_cancel_pointer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_POINTER -void ffi_vss_rust_client_ffi_rust_future_free_pointer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_POINTER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_POINTER -void*_Nonnull ffi_vss_rust_client_ffi_rust_future_complete_pointer(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_cancel_rust_buffer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_RUST_BUFFER -void ffi_vss_rust_client_ffi_rust_future_free_rust_buffer(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_RUST_BUFFER -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_RUST_BUFFER -RustBuffer ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_POLL_VOID -void ffi_vss_rust_client_ffi_rust_future_poll_void(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_CANCEL_VOID -void ffi_vss_rust_client_ffi_rust_future_cancel_void(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_FREE_VOID -void ffi_vss_rust_client_ffi_rust_future_free_void(uint64_t handle -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_VOID -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_RUST_FUTURE_COMPLETE_VOID -void ffi_vss_rust_client_ffi_rust_future_complete_void(uint64_t handle, RustCallStatus *_Nonnull out_status -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DELETE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_delete(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DERIVE_STORE_ID -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_DERIVE_STORE_ID -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_derive_store_id(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_GET -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_get(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_DELETE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_DELETE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_delete(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_GET -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_GET -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_get(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_ALL_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_ALL_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_all_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_LIST_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LDK_STORE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_store(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_list(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST_KEYS -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_LIST_KEYS -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_CLIENT_WITH_LNURL_AUTH -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_client_with_lnurl_auth(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_NEW_LDK_CLIENT_WITH_LNURL_AUTH -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_new_ldk_client_with_lnurl_auth(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_PUT_WITH_KEY_PREFIX -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_PUT_WITH_KEY_PREFIX -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_put_with_key_prefix(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_LDK_CLIENT -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_SHUTDOWN_LDK_CLIENT -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_ldk_client(void - -); -#endif -#ifndef UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_STORE -#define UNIFFI_FFIDEF_UNIFFI_VSS_RUST_CLIENT_FFI_CHECKSUM_FUNC_VSS_STORE -uint16_t uniffi_vss_rust_client_ffi_checksum_func_vss_store(void - -); -#endif -#ifndef UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_UNIFFI_CONTRACT_VERSION -#define UNIFFI_FFIDEF_FFI_VSS_RUST_CLIENT_FFI_UNIFFI_CONTRACT_VERSION -uint32_t ffi_vss_rust_client_ffi_uniffi_contract_version(void - -); -#endif - diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Info.plist b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Info.plist deleted file mode 100644 index 1ac4ab2..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - CFBundleExecutable - vss_rust_client_ffiFFI - CFBundleIdentifier - com.synonym.vss-rust-client-ffi-ffi - CFBundleName - vss_rust_client_ffiFFI - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Modules/module.modulemap b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Modules/module.modulemap deleted file mode 100644 index d55b24c..0000000 --- a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/Modules/module.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -framework module vss_rust_client_ffiFFI { - header "vss_rust_client_ffiFFI.h" - export * - use "Darwin" - use "_Builtin_stdbool" - use "_Builtin_stdint" -} \ No newline at end of file diff --git a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI b/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI deleted file mode 100644 index 0dbbd74..0000000 Binary files a/bindings/ios/VssRustClientFfi.xcframework/ios-arm64/vss_rust_client_ffiFFI.framework/vss_rust_client_ffiFFI and /dev/null differ diff --git a/bindings/python/README.md b/bindings/python/README.md deleted file mode 100644 index af6165d..0000000 --- a/bindings/python/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# VSS Rust Client FFI Python Bindings - -Python bindings for the VSS Rust Client FFI. - -## Installation - -```bash -pip install . -``` - -## Usage - -```python -from vss_rust_client_ffi import * - -# Initialize VSS client -vss_new_client( - "https://vss.example.com", - "my-store", - None -) - -# Store data -item = vss_store("my-key", b"my-data") -print(f"Stored at version: {item.version}") -``` diff --git a/bindings/python/setup.py b/bindings/python/setup.py deleted file mode 100644 index 6b9f526..0000000 --- a/bindings/python/setup.py +++ /dev/null @@ -1,31 +0,0 @@ -from setuptools import setup, find_packages -import os - -# Try to read README.md if it exists, otherwise use a default description -try: - with open("README.md", "r") as f: - long_description = f.read() -except FileNotFoundError: - long_description = "Python bindings for the VSS Rust Client FFI" - -setup( - name="vss-rust-client-ffi", - version="0.1.0", - packages=find_packages(), - package_data={ - "vss_rust_client_ffi": ["*.so", "*.dylib", "*.dll"], - }, - install_requires=[], - author="VSS", - author_email="", - description="Python bindings for the VSS Rust Client FFI", - long_description=long_description, - long_description_content_type="text/markdown", - url="", - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - python_requires=">=3.6", -) diff --git a/bindings/python/vss_rust_client_ffi/__init__.py b/bindings/python/vss_rust_client_ffi/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/bindings/python/vss_rust_client_ffi/libvss_rust_client_ffi.dylib b/bindings/python/vss_rust_client_ffi/libvss_rust_client_ffi.dylib deleted file mode 100755 index c92e99e..0000000 Binary files a/bindings/python/vss_rust_client_ffi/libvss_rust_client_ffi.dylib and /dev/null differ diff --git a/bindings/python/vss_rust_client_ffi/vss_rust_client_ffi.py b/bindings/python/vss_rust_client_ffi/vss_rust_client_ffi.py deleted file mode 100644 index ab4d317..0000000 --- a/bindings/python/vss_rust_client_ffi/vss_rust_client_ffi.py +++ /dev/null @@ -1,2442 +0,0 @@ - - -# This file was autogenerated by some hot garbage in the `uniffi` crate. -# Trust me, you don't want to mess with it! - -# Common helper code. -# -# Ideally this would live in a separate .py file where it can be unittested etc -# in isolation, and perhaps even published as a re-useable package. -# -# However, it's important that the details of how this helper code works (e.g. the -# way that different builtin types are passed across the FFI) exactly match what's -# expected by the rust code on the other side of the interface. In practice right -# now that means coming from the exact some version of `uniffi` that was used to -# compile the rust component. The easiest way to ensure this is to bundle the Python -# helpers directly inline like we're doing here. - -from __future__ import annotations -import os -import sys -import ctypes -import enum -import struct -import contextlib -import datetime -import threading -import itertools -import traceback -import typing -import asyncio -import platform - -# Used for default argument values -_DEFAULT = object() # type: typing.Any - - -class _UniffiRustBuffer(ctypes.Structure): - _fields_ = [ - ("capacity", ctypes.c_uint64), - ("len", ctypes.c_uint64), - ("data", ctypes.POINTER(ctypes.c_char)), - ] - - @staticmethod - def default(): - return _UniffiRustBuffer(0, 0, None) - - @staticmethod - def alloc(size): - return _uniffi_rust_call(_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_alloc, size) - - @staticmethod - def reserve(rbuf, additional): - return _uniffi_rust_call(_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_reserve, rbuf, additional) - - def free(self): - return _uniffi_rust_call(_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_free, self) - - def __str__(self): - return "_UniffiRustBuffer(capacity={}, len={}, data={})".format( - self.capacity, - self.len, - self.data[0:self.len] - ) - - @contextlib.contextmanager - def alloc_with_builder(*args): - """Context-manger to allocate a buffer using a _UniffiRustBufferBuilder. - - The allocated buffer will be automatically freed if an error occurs, ensuring that - we don't accidentally leak it. - """ - builder = _UniffiRustBufferBuilder() - try: - yield builder - except: - builder.discard() - raise - - @contextlib.contextmanager - def consume_with_stream(self): - """Context-manager to consume a buffer using a _UniffiRustBufferStream. - - The _UniffiRustBuffer will be freed once the context-manager exits, ensuring that we don't - leak it even if an error occurs. - """ - try: - s = _UniffiRustBufferStream.from_rust_buffer(self) - yield s - if s.remaining() != 0: - raise RuntimeError("junk data left in buffer at end of consume_with_stream") - finally: - self.free() - - @contextlib.contextmanager - def read_with_stream(self): - """Context-manager to read a buffer using a _UniffiRustBufferStream. - - This is like consume_with_stream, but doesn't free the buffer afterwards. - It should only be used with borrowed `_UniffiRustBuffer` data. - """ - s = _UniffiRustBufferStream.from_rust_buffer(self) - yield s - if s.remaining() != 0: - raise RuntimeError("junk data left in buffer at end of read_with_stream") - -class _UniffiForeignBytes(ctypes.Structure): - _fields_ = [ - ("len", ctypes.c_int32), - ("data", ctypes.POINTER(ctypes.c_char)), - ] - - def __str__(self): - return "_UniffiForeignBytes(len={}, data={})".format(self.len, self.data[0:self.len]) - - -class _UniffiRustBufferStream: - """ - Helper for structured reading of bytes from a _UniffiRustBuffer - """ - - def __init__(self, data, len): - self.data = data - self.len = len - self.offset = 0 - - @classmethod - def from_rust_buffer(cls, buf): - return cls(buf.data, buf.len) - - def remaining(self): - return self.len - self.offset - - def _unpack_from(self, size, format): - if self.offset + size > self.len: - raise InternalError("read past end of rust buffer") - value = struct.unpack(format, self.data[self.offset:self.offset+size])[0] - self.offset += size - return value - - def read(self, size): - if self.offset + size > self.len: - raise InternalError("read past end of rust buffer") - data = self.data[self.offset:self.offset+size] - self.offset += size - return data - - def read_i8(self): - return self._unpack_from(1, ">b") - - def read_u8(self): - return self._unpack_from(1, ">B") - - def read_i16(self): - return self._unpack_from(2, ">h") - - def read_u16(self): - return self._unpack_from(2, ">H") - - def read_i32(self): - return self._unpack_from(4, ">i") - - def read_u32(self): - return self._unpack_from(4, ">I") - - def read_i64(self): - return self._unpack_from(8, ">q") - - def read_u64(self): - return self._unpack_from(8, ">Q") - - def read_float(self): - v = self._unpack_from(4, ">f") - return v - - def read_double(self): - return self._unpack_from(8, ">d") - -class _UniffiRustBufferBuilder: - """ - Helper for structured writing of bytes into a _UniffiRustBuffer. - """ - - def __init__(self): - self.rbuf = _UniffiRustBuffer.alloc(16) - self.rbuf.len = 0 - - def finalize(self): - rbuf = self.rbuf - self.rbuf = None - return rbuf - - def discard(self): - if self.rbuf is not None: - rbuf = self.finalize() - rbuf.free() - - @contextlib.contextmanager - def _reserve(self, num_bytes): - if self.rbuf.len + num_bytes > self.rbuf.capacity: - self.rbuf = _UniffiRustBuffer.reserve(self.rbuf, num_bytes) - yield None - self.rbuf.len += num_bytes - - def _pack_into(self, size, format, value): - with self._reserve(size): - # XXX TODO: I feel like I should be able to use `struct.pack_into` here but can't figure it out. - for i, byte in enumerate(struct.pack(format, value)): - self.rbuf.data[self.rbuf.len + i] = byte - - def write(self, value): - with self._reserve(len(value)): - for i, byte in enumerate(value): - self.rbuf.data[self.rbuf.len + i] = byte - - def write_i8(self, v): - self._pack_into(1, ">b", v) - - def write_u8(self, v): - self._pack_into(1, ">B", v) - - def write_i16(self, v): - self._pack_into(2, ">h", v) - - def write_u16(self, v): - self._pack_into(2, ">H", v) - - def write_i32(self, v): - self._pack_into(4, ">i", v) - - def write_u32(self, v): - self._pack_into(4, ">I", v) - - def write_i64(self, v): - self._pack_into(8, ">q", v) - - def write_u64(self, v): - self._pack_into(8, ">Q", v) - - def write_float(self, v): - self._pack_into(4, ">f", v) - - def write_double(self, v): - self._pack_into(8, ">d", v) - - def write_c_size_t(self, v): - self._pack_into(ctypes.sizeof(ctypes.c_size_t) , "@N", v) -# A handful of classes and functions to support the generated data structures. -# This would be a good candidate for isolating in its own ffi-support lib. - -class InternalError(Exception): - pass - -class _UniffiRustCallStatus(ctypes.Structure): - """ - Error runtime. - """ - _fields_ = [ - ("code", ctypes.c_int8), - ("error_buf", _UniffiRustBuffer), - ] - - # These match the values from the uniffi::rustcalls module - CALL_SUCCESS = 0 - CALL_ERROR = 1 - CALL_UNEXPECTED_ERROR = 2 - - @staticmethod - def default(): - return _UniffiRustCallStatus(code=_UniffiRustCallStatus.CALL_SUCCESS, error_buf=_UniffiRustBuffer.default()) - - def __str__(self): - if self.code == _UniffiRustCallStatus.CALL_SUCCESS: - return "_UniffiRustCallStatus(CALL_SUCCESS)" - elif self.code == _UniffiRustCallStatus.CALL_ERROR: - return "_UniffiRustCallStatus(CALL_ERROR)" - elif self.code == _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR: - return "_UniffiRustCallStatus(CALL_UNEXPECTED_ERROR)" - else: - return "_UniffiRustCallStatus()" - -def _uniffi_rust_call(fn, *args): - # Call a rust function - return _uniffi_rust_call_with_error(None, fn, *args) - -def _uniffi_rust_call_with_error(error_ffi_converter, fn, *args): - # Call a rust function and handle any errors - # - # This function is used for rust calls that return Result<> and therefore can set the CALL_ERROR status code. - # error_ffi_converter must be set to the _UniffiConverter for the error class that corresponds to the result. - call_status = _UniffiRustCallStatus.default() - - args_with_error = args + (ctypes.byref(call_status),) - result = fn(*args_with_error) - _uniffi_check_call_status(error_ffi_converter, call_status) - return result - -def _uniffi_check_call_status(error_ffi_converter, call_status): - if call_status.code == _UniffiRustCallStatus.CALL_SUCCESS: - pass - elif call_status.code == _UniffiRustCallStatus.CALL_ERROR: - if error_ffi_converter is None: - call_status.error_buf.free() - raise InternalError("_uniffi_rust_call_with_error: CALL_ERROR, but error_ffi_converter is None") - else: - raise error_ffi_converter.lift(call_status.error_buf) - elif call_status.code == _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR: - # When the rust code sees a panic, it tries to construct a _UniffiRustBuffer - # with the message. But if that code panics, then it just sends back - # an empty buffer. - if call_status.error_buf.len > 0: - msg = _UniffiConverterString.lift(call_status.error_buf) - else: - msg = "Unknown rust panic" - raise InternalError(msg) - else: - raise InternalError("Invalid _UniffiRustCallStatus code: {}".format( - call_status.code)) - -def _uniffi_trait_interface_call(call_status, make_call, write_return_value): - try: - return write_return_value(make_call()) - except Exception as e: - call_status.code = _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR - call_status.error_buf = _UniffiConverterString.lower(repr(e)) - -def _uniffi_trait_interface_call_with_error(call_status, make_call, write_return_value, error_type, lower_error): - try: - try: - return write_return_value(make_call()) - except error_type as e: - call_status.code = _UniffiRustCallStatus.CALL_ERROR - call_status.error_buf = lower_error(e) - except Exception as e: - call_status.code = _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR - call_status.error_buf = _UniffiConverterString.lower(repr(e)) -class _UniffiHandleMap: - """ - A map where inserting, getting and removing data is synchronized with a lock. - """ - - def __init__(self): - # type Handle = int - self._map = {} # type: Dict[Handle, Any] - self._lock = threading.Lock() - self._counter = itertools.count() - - def insert(self, obj): - with self._lock: - handle = next(self._counter) - self._map[handle] = obj - return handle - - def get(self, handle): - try: - with self._lock: - return self._map[handle] - except KeyError: - raise InternalError("_UniffiHandleMap.get: Invalid handle") - - def remove(self, handle): - try: - with self._lock: - return self._map.pop(handle) - except KeyError: - raise InternalError("_UniffiHandleMap.remove: Invalid handle") - - def __len__(self): - return len(self._map) -# Types conforming to `_UniffiConverterPrimitive` pass themselves directly over the FFI. -class _UniffiConverterPrimitive: - @classmethod - def lift(cls, value): - return value - - @classmethod - def lower(cls, value): - return value - -class _UniffiConverterPrimitiveInt(_UniffiConverterPrimitive): - @classmethod - def check_lower(cls, value): - try: - value = value.__index__() - except Exception: - raise TypeError("'{}' object cannot be interpreted as an integer".format(type(value).__name__)) - if not isinstance(value, int): - raise TypeError("__index__ returned non-int (type {})".format(type(value).__name__)) - if not cls.VALUE_MIN <= value < cls.VALUE_MAX: - raise ValueError("{} requires {} <= value < {}".format(cls.CLASS_NAME, cls.VALUE_MIN, cls.VALUE_MAX)) - -class _UniffiConverterPrimitiveFloat(_UniffiConverterPrimitive): - @classmethod - def check_lower(cls, value): - try: - value = value.__float__() - except Exception: - raise TypeError("must be real number, not {}".format(type(value).__name__)) - if not isinstance(value, float): - raise TypeError("__float__ returned non-float (type {})".format(type(value).__name__)) - -# Helper class for wrapper types that will always go through a _UniffiRustBuffer. -# Classes should inherit from this and implement the `read` and `write` static methods. -class _UniffiConverterRustBuffer: - @classmethod - def lift(cls, rbuf): - with rbuf.consume_with_stream() as stream: - return cls.read(stream) - - @classmethod - def lower(cls, value): - with _UniffiRustBuffer.alloc_with_builder() as builder: - cls.write(value, builder) - return builder.finalize() - -# Contains loading, initialization code, and the FFI Function declarations. -# Define some ctypes FFI types that we use in the library - -""" -Function pointer for a Rust task, which a callback function that takes a opaque pointer -""" -_UNIFFI_RUST_TASK = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int8) - -def _uniffi_future_callback_t(return_type): - """ - Factory function to create callback function types for async functions - """ - return ctypes.CFUNCTYPE(None, ctypes.c_uint64, return_type, _UniffiRustCallStatus) - -def _uniffi_load_indirect(): - """ - This is how we find and load the dynamic library provided by the component. - For now we just look it up by name. - """ - if sys.platform == "darwin": - libname = "lib{}.dylib" - elif sys.platform.startswith("win"): - # As of python3.8, ctypes does not seem to search $PATH when loading DLLs. - # We could use `os.add_dll_directory` to configure the search path, but - # it doesn't feel right to mess with application-wide settings. Let's - # assume that the `.dll` is next to the `.py` file and load by full path. - libname = os.path.join( - os.path.dirname(__file__), - "{}.dll", - ) - else: - # Anything else must be an ELF platform - Linux, *BSD, Solaris/illumos - libname = "lib{}.so" - - libname = libname.format("vss_rust_client_ffi") - path = os.path.join(os.path.dirname(__file__), libname) - lib = ctypes.cdll.LoadLibrary(path) - return lib - -def _uniffi_check_contract_api_version(lib): - # Get the bindings contract version from our ComponentInterface - bindings_contract_version = 29 - # Get the scaffolding contract version by calling the into the dylib - scaffolding_contract_version = lib.ffi_vss_rust_client_ffi_uniffi_contract_version() - if bindings_contract_version != scaffolding_contract_version: - raise InternalError("UniFFI contract version mismatch: try cleaning and rebuilding your project") - -def _uniffi_check_api_checksums(lib): - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_delete() != 13005: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_derive_store_id() != 17660: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_get() != 51694: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_delete() != 46664: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_get() != 65334: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_all_keys() != 17647: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_keys() != 49379: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_store() != 54548: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list() != 27842: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys() != 21638: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client() != 63115: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client_with_lnurl_auth() != 13999: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_ldk_client_with_lnurl_auth() != 59369: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_put_with_key_prefix() != 49391: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_client() != 44802: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_ldk_client() != 20913: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - if lib.uniffi_vss_rust_client_ffi_checksum_func_vss_store() != 42494: - raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - -# A ctypes library to expose the extern-C FFI definitions. -# This is an implementation detail which will be called internally by the public API. - -_UniffiLib = _uniffi_load_indirect() -_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK = ctypes.CFUNCTYPE(None,ctypes.c_uint64,ctypes.c_int8, -) -_UNIFFI_FOREIGN_FUTURE_FREE = ctypes.CFUNCTYPE(None,ctypes.c_uint64, -) -_UNIFFI_CALLBACK_INTERFACE_FREE = ctypes.CFUNCTYPE(None,ctypes.c_uint64, -) -class _UniffiForeignFuture(ctypes.Structure): - _fields_ = [ - ("handle", ctypes.c_uint64), - ("free", _UNIFFI_FOREIGN_FUTURE_FREE), - ] -class _UniffiForeignFutureStructU8(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_uint8), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_U8 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructU8, -) -class _UniffiForeignFutureStructI8(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_int8), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_I8 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructI8, -) -class _UniffiForeignFutureStructU16(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_uint16), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_U16 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructU16, -) -class _UniffiForeignFutureStructI16(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_int16), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_I16 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructI16, -) -class _UniffiForeignFutureStructU32(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_uint32), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_U32 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructU32, -) -class _UniffiForeignFutureStructI32(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_int32), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_I32 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructI32, -) -class _UniffiForeignFutureStructU64(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_uint64), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_U64 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructU64, -) -class _UniffiForeignFutureStructI64(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_int64), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_I64 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructI64, -) -class _UniffiForeignFutureStructF32(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_float), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_F32 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructF32, -) -class _UniffiForeignFutureStructF64(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_double), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_F64 = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructF64, -) -class _UniffiForeignFutureStructPointer(ctypes.Structure): - _fields_ = [ - ("return_value", ctypes.c_void_p), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_POINTER = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructPointer, -) -class _UniffiForeignFutureStructRustBuffer(ctypes.Structure): - _fields_ = [ - ("return_value", _UniffiRustBuffer), - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructRustBuffer, -) -class _UniffiForeignFutureStructVoid(ctypes.Structure): - _fields_ = [ - ("call_status", _UniffiRustCallStatus), - ] -_UNIFFI_FOREIGN_FUTURE_COMPLETE_VOID = ctypes.CFUNCTYPE(None,ctypes.c_uint64,_UniffiForeignFutureStructVoid, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_delete.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_delete.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_derive_store_id.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_derive_store_id.restype = _UniffiRustBuffer -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_get.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_get.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_delete.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_delete.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_get.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_get.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_all_keys.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_all_keys.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_keys.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_keys.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_store.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_store.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list_keys.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list_keys.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client_with_lnurl_auth.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client_with_lnurl_auth.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_ldk_client_with_lnurl_auth.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_ldk_client_with_lnurl_auth.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_put_with_key_prefix.argtypes = ( - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_put_with_key_prefix.restype = ctypes.c_uint64 -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_client.argtypes = ( - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_client.restype = None -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_ldk_client.argtypes = ( - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_ldk_client.restype = None -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_store.argtypes = ( - _UniffiRustBuffer, - _UniffiRustBuffer, -) -_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_store.restype = ctypes.c_uint64 -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_alloc.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_alloc.restype = _UniffiRustBuffer -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_from_bytes.argtypes = ( - _UniffiForeignBytes, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_from_bytes.restype = _UniffiRustBuffer -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_free.argtypes = ( - _UniffiRustBuffer, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_free.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_reserve.argtypes = ( - _UniffiRustBuffer, - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rustbuffer_reserve.restype = _UniffiRustBuffer -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u8.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u8.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u8.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u8.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u8.restype = ctypes.c_uint8 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i8.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i8.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i8.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i8.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i8.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i8.restype = ctypes.c_int8 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u16.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u16.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u16.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u16.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u16.restype = ctypes.c_uint16 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i16.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i16.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i16.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i16.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i16.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i16.restype = ctypes.c_int16 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u32.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u32.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u32.restype = ctypes.c_uint32 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i32.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i32.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i32.restype = ctypes.c_int32 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u64.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_u64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_u64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_u64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u64.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_u64.restype = ctypes.c_uint64 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i64.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_i64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i64.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i64.restype = ctypes.c_int64 -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_f32.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_f32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_f32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_f32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_f32.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_f32.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_f32.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_f32.restype = ctypes.c_float -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_f64.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_f64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_f64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_f64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_f64.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_f64.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_f64.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_f64.restype = ctypes.c_double -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_pointer.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_pointer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_pointer.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_pointer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_pointer.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_pointer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_pointer.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_pointer.restype = ctypes.c_void_p -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_rust_buffer.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_rust_buffer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer.restype = _UniffiRustBuffer -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_void.argtypes = ( - ctypes.c_uint64, - _UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK, - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_void.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_void.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_cancel_void.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_void.argtypes = ( - ctypes.c_uint64, -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_void.restype = None -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_void.argtypes = ( - ctypes.c_uint64, - ctypes.POINTER(_UniffiRustCallStatus), -) -_UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_void.restype = None -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_delete.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_delete.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_derive_store_id.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_derive_store_id.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_get.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_get.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_delete.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_delete.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_get.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_get.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_all_keys.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_all_keys.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_keys.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_list_keys.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_store.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_ldk_store.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_list.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_list.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_list_keys.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client_with_lnurl_auth.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_client_with_lnurl_auth.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_ldk_client_with_lnurl_auth.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_new_ldk_client_with_lnurl_auth.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_put_with_key_prefix.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_put_with_key_prefix.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_client.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_client.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_ldk_client.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_shutdown_ldk_client.restype = ctypes.c_uint16 -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_store.argtypes = ( -) -_UniffiLib.uniffi_vss_rust_client_ffi_checksum_func_vss_store.restype = ctypes.c_uint16 -_UniffiLib.ffi_vss_rust_client_ffi_uniffi_contract_version.argtypes = ( -) -_UniffiLib.ffi_vss_rust_client_ffi_uniffi_contract_version.restype = ctypes.c_uint32 - -_uniffi_check_contract_api_version(_UniffiLib) -# _uniffi_check_api_checksums(_UniffiLib) - -# Public interface members begin here. - - -class _UniffiConverterInt64(_UniffiConverterPrimitiveInt): - CLASS_NAME = "i64" - VALUE_MIN = -2**63 - VALUE_MAX = 2**63 - - @staticmethod - def read(buf): - return buf.read_i64() - - @staticmethod - def write(value, buf): - buf.write_i64(value) - -class _UniffiConverterBool: - @classmethod - def check_lower(cls, value): - return not not value - - @classmethod - def lower(cls, value): - return 1 if value else 0 - - @staticmethod - def lift(value): - return value != 0 - - @classmethod - def read(cls, buf): - return cls.lift(buf.read_u8()) - - @classmethod - def write(cls, value, buf): - buf.write_u8(value) - -class _UniffiConverterString: - @staticmethod - def check_lower(value): - if not isinstance(value, str): - raise TypeError("argument must be str, not {}".format(type(value).__name__)) - return value - - @staticmethod - def read(buf): - size = buf.read_i32() - if size < 0: - raise InternalError("Unexpected negative string length") - utf8_bytes = buf.read(size) - return utf8_bytes.decode("utf-8") - - @staticmethod - def write(value, buf): - utf8_bytes = value.encode("utf-8") - buf.write_i32(len(utf8_bytes)) - buf.write(utf8_bytes) - - @staticmethod - def lift(buf): - with buf.consume_with_stream() as stream: - return stream.read(stream.remaining()).decode("utf-8") - - @staticmethod - def lower(value): - with _UniffiRustBuffer.alloc_with_builder() as builder: - builder.write(value.encode("utf-8")) - return builder.finalize() - -class _UniffiConverterBytes(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - size = buf.read_i32() - if size < 0: - raise InternalError("Unexpected negative byte string length") - return buf.read(size) - - @staticmethod - def check_lower(value): - try: - memoryview(value) - except TypeError: - raise TypeError("a bytes-like object is required, not {!r}".format(type(value).__name__)) - - @staticmethod - def write(value, buf): - buf.write_i32(len(value)) - buf.write(value) - - -class KeyValue: - key: "str" - value: "bytes" - def __init__(self, *, key: "str", value: "bytes"): - self.key = key - self.value = value - - def __str__(self): - return "KeyValue(key={}, value={})".format(self.key, self.value) - - def __eq__(self, other): - if self.key != other.key: - return False - if self.value != other.value: - return False - return True - -class _UniffiConverterTypeKeyValue(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - return KeyValue( - key=_UniffiConverterString.read(buf), - value=_UniffiConverterBytes.read(buf), - ) - - @staticmethod - def check_lower(value): - _UniffiConverterString.check_lower(value.key) - _UniffiConverterBytes.check_lower(value.value) - - @staticmethod - def write(value, buf): - _UniffiConverterString.write(value.key, buf) - _UniffiConverterBytes.write(value.value, buf) - - -class KeyVersion: - key: "str" - version: "int" - def __init__(self, *, key: "str", version: "int"): - self.key = key - self.version = version - - def __str__(self): - return "KeyVersion(key={}, version={})".format(self.key, self.version) - - def __eq__(self, other): - if self.key != other.key: - return False - if self.version != other.version: - return False - return True - -class _UniffiConverterTypeKeyVersion(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - return KeyVersion( - key=_UniffiConverterString.read(buf), - version=_UniffiConverterInt64.read(buf), - ) - - @staticmethod - def check_lower(value): - _UniffiConverterString.check_lower(value.key) - _UniffiConverterInt64.check_lower(value.version) - - @staticmethod - def write(value, buf): - _UniffiConverterString.write(value.key, buf) - _UniffiConverterInt64.write(value.version, buf) - - -class ListKeyVersionsResponse: - key_versions: "typing.List[KeyVersion]" - def __init__(self, *, key_versions: "typing.List[KeyVersion]"): - self.key_versions = key_versions - - def __str__(self): - return "ListKeyVersionsResponse(key_versions={})".format(self.key_versions) - - def __eq__(self, other): - if self.key_versions != other.key_versions: - return False - return True - -class _UniffiConverterTypeListKeyVersionsResponse(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - return ListKeyVersionsResponse( - key_versions=_UniffiConverterSequenceTypeKeyVersion.read(buf), - ) - - @staticmethod - def check_lower(value): - _UniffiConverterSequenceTypeKeyVersion.check_lower(value.key_versions) - - @staticmethod - def write(value, buf): - _UniffiConverterSequenceTypeKeyVersion.write(value.key_versions, buf) - - -class VssItem: - key: "str" - value: "bytes" - version: "int" - def __init__(self, *, key: "str", value: "bytes", version: "int"): - self.key = key - self.value = value - self.version = version - - def __str__(self): - return "VssItem(key={}, value={}, version={})".format(self.key, self.value, self.version) - - def __eq__(self, other): - if self.key != other.key: - return False - if self.value != other.value: - return False - if self.version != other.version: - return False - return True - -class _UniffiConverterTypeVssItem(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - return VssItem( - key=_UniffiConverterString.read(buf), - value=_UniffiConverterBytes.read(buf), - version=_UniffiConverterInt64.read(buf), - ) - - @staticmethod - def check_lower(value): - _UniffiConverterString.check_lower(value.key) - _UniffiConverterBytes.check_lower(value.value) - _UniffiConverterInt64.check_lower(value.version) - - @staticmethod - def write(value, buf): - _UniffiConverterString.write(value.key, buf) - _UniffiConverterBytes.write(value.value, buf) - _UniffiConverterInt64.write(value.version, buf) - - - - - -class LdkNamespace: - def __init__(self): - raise RuntimeError("LdkNamespace cannot be instantiated directly") - - # Each enum variant is a nested class of the enum itself. - class DEFAULT: - - def __init__(self,): - pass - - def __str__(self): - return "LdkNamespace.DEFAULT()".format() - - def __eq__(self, other): - if not other.is_DEFAULT(): - return False - return True - - class MONITORS: - - def __init__(self,): - pass - - def __str__(self): - return "LdkNamespace.MONITORS()".format() - - def __eq__(self, other): - if not other.is_MONITORS(): - return False - return True - - class MONITOR_UPDATES: - monitor_id: "str" - - def __init__(self,monitor_id: "str"): - self.monitor_id = monitor_id - - def __str__(self): - return "LdkNamespace.MONITOR_UPDATES(monitor_id={})".format(self.monitor_id) - - def __eq__(self, other): - if not other.is_MONITOR_UPDATES(): - return False - if self.monitor_id != other.monitor_id: - return False - return True - - class ARCHIVED_MONITORS: - - def __init__(self,): - pass - - def __str__(self): - return "LdkNamespace.ARCHIVED_MONITORS()".format() - - def __eq__(self, other): - if not other.is_ARCHIVED_MONITORS(): - return False - return True - - - - # For each variant, we have `is_NAME` and `is_name` methods for easily checking - # whether an instance is that variant. - def is_DEFAULT(self) -> bool: - return isinstance(self, LdkNamespace.DEFAULT) - def is_default(self) -> bool: - return isinstance(self, LdkNamespace.DEFAULT) - def is_MONITORS(self) -> bool: - return isinstance(self, LdkNamespace.MONITORS) - def is_monitors(self) -> bool: - return isinstance(self, LdkNamespace.MONITORS) - def is_MONITOR_UPDATES(self) -> bool: - return isinstance(self, LdkNamespace.MONITOR_UPDATES) - def is_monitor_updates(self) -> bool: - return isinstance(self, LdkNamespace.MONITOR_UPDATES) - def is_ARCHIVED_MONITORS(self) -> bool: - return isinstance(self, LdkNamespace.ARCHIVED_MONITORS) - def is_archived_monitors(self) -> bool: - return isinstance(self, LdkNamespace.ARCHIVED_MONITORS) - - -# Now, a little trick - we make each nested variant class be a subclass of the main -# enum class, so that method calls and instance checks etc will work intuitively. -# We might be able to do this a little more neatly with a metaclass, but this'll do. -LdkNamespace.DEFAULT = type("LdkNamespace.DEFAULT", (LdkNamespace.DEFAULT, LdkNamespace,), {}) # type: ignore -LdkNamespace.MONITORS = type("LdkNamespace.MONITORS", (LdkNamespace.MONITORS, LdkNamespace,), {}) # type: ignore -LdkNamespace.MONITOR_UPDATES = type("LdkNamespace.MONITOR_UPDATES", (LdkNamespace.MONITOR_UPDATES, LdkNamespace,), {}) # type: ignore -LdkNamespace.ARCHIVED_MONITORS = type("LdkNamespace.ARCHIVED_MONITORS", (LdkNamespace.ARCHIVED_MONITORS, LdkNamespace,), {}) # type: ignore - - - - -class _UniffiConverterTypeLdkNamespace(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - variant = buf.read_i32() - if variant == 1: - return LdkNamespace.DEFAULT( - ) - if variant == 2: - return LdkNamespace.MONITORS( - ) - if variant == 3: - return LdkNamespace.MONITOR_UPDATES( - _UniffiConverterString.read(buf), - ) - if variant == 4: - return LdkNamespace.ARCHIVED_MONITORS( - ) - raise InternalError("Raw enum value doesn't match any cases") - - @staticmethod - def check_lower(value): - if value.is_DEFAULT(): - return - if value.is_MONITORS(): - return - if value.is_MONITOR_UPDATES(): - _UniffiConverterString.check_lower(value.monitor_id) - return - if value.is_ARCHIVED_MONITORS(): - return - raise ValueError(value) - - @staticmethod - def write(value, buf): - if value.is_DEFAULT(): - buf.write_i32(1) - if value.is_MONITORS(): - buf.write_i32(2) - if value.is_MONITOR_UPDATES(): - buf.write_i32(3) - _UniffiConverterString.write(value.monitor_id, buf) - if value.is_ARCHIVED_MONITORS(): - buf.write_i32(4) - - - - -# VssError -# We want to define each variant as a nested class that's also a subclass, -# which is tricky in Python. To accomplish this we're going to create each -# class separately, then manually add the child classes to the base class's -# __dict__. All of this happens in dummy class to avoid polluting the module -# namespace. -class VssError(Exception): - pass - -_UniffiTempVssError = VssError - -class VssError: # type: ignore - class ConnectionError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.ConnectionError({})".format(str(self)) - _UniffiTempVssError.ConnectionError = ConnectionError # type: ignore - class AuthError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.AuthError({})".format(str(self)) - _UniffiTempVssError.AuthError = AuthError # type: ignore - class StoreError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.StoreError({})".format(str(self)) - _UniffiTempVssError.StoreError = StoreError # type: ignore - class GetError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.GetError({})".format(str(self)) - _UniffiTempVssError.GetError = GetError # type: ignore - class ListError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.ListError({})".format(str(self)) - _UniffiTempVssError.ListError = ListError # type: ignore - class PutError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.PutError({})".format(str(self)) - _UniffiTempVssError.PutError = PutError # type: ignore - class DeleteError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.DeleteError({})".format(str(self)) - _UniffiTempVssError.DeleteError = DeleteError # type: ignore - class InvalidData(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.InvalidData({})".format(str(self)) - _UniffiTempVssError.InvalidData = InvalidData # type: ignore - class NetworkError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.NetworkError({})".format(str(self)) - _UniffiTempVssError.NetworkError = NetworkError # type: ignore - class UnknownError(_UniffiTempVssError): - def __init__(self, error_details): - super().__init__(", ".join([ - "error_details={!r}".format(error_details), - ])) - self.error_details = error_details - - def __repr__(self): - return "VssError.UnknownError({})".format(str(self)) - _UniffiTempVssError.UnknownError = UnknownError # type: ignore - -VssError = _UniffiTempVssError # type: ignore -del _UniffiTempVssError - - -class _UniffiConverterTypeVssError(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - variant = buf.read_i32() - if variant == 1: - return VssError.ConnectionError( - _UniffiConverterString.read(buf), - ) - if variant == 2: - return VssError.AuthError( - _UniffiConverterString.read(buf), - ) - if variant == 3: - return VssError.StoreError( - _UniffiConverterString.read(buf), - ) - if variant == 4: - return VssError.GetError( - _UniffiConverterString.read(buf), - ) - if variant == 5: - return VssError.ListError( - _UniffiConverterString.read(buf), - ) - if variant == 6: - return VssError.PutError( - _UniffiConverterString.read(buf), - ) - if variant == 7: - return VssError.DeleteError( - _UniffiConverterString.read(buf), - ) - if variant == 8: - return VssError.InvalidData( - _UniffiConverterString.read(buf), - ) - if variant == 9: - return VssError.NetworkError( - _UniffiConverterString.read(buf), - ) - if variant == 10: - return VssError.UnknownError( - _UniffiConverterString.read(buf), - ) - raise InternalError("Raw enum value doesn't match any cases") - - @staticmethod - def check_lower(value): - if isinstance(value, VssError.ConnectionError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.AuthError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.StoreError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.GetError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.ListError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.PutError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.DeleteError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.InvalidData): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.NetworkError): - _UniffiConverterString.check_lower(value.error_details) - return - if isinstance(value, VssError.UnknownError): - _UniffiConverterString.check_lower(value.error_details) - return - - @staticmethod - def write(value, buf): - if isinstance(value, VssError.ConnectionError): - buf.write_i32(1) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.AuthError): - buf.write_i32(2) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.StoreError): - buf.write_i32(3) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.GetError): - buf.write_i32(4) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.ListError): - buf.write_i32(5) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.PutError): - buf.write_i32(6) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.DeleteError): - buf.write_i32(7) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.InvalidData): - buf.write_i32(8) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.NetworkError): - buf.write_i32(9) - _UniffiConverterString.write(value.error_details, buf) - if isinstance(value, VssError.UnknownError): - buf.write_i32(10) - _UniffiConverterString.write(value.error_details, buf) - - - - - -class VssFilterType(enum.Enum): - PREFIX = 0 - - EXACT = 1 - - - -class _UniffiConverterTypeVssFilterType(_UniffiConverterRustBuffer): - @staticmethod - def read(buf): - variant = buf.read_i32() - if variant == 1: - return VssFilterType.PREFIX - if variant == 2: - return VssFilterType.EXACT - raise InternalError("Raw enum value doesn't match any cases") - - @staticmethod - def check_lower(value): - if value == VssFilterType.PREFIX: - return - if value == VssFilterType.EXACT: - return - raise ValueError(value) - - @staticmethod - def write(value, buf): - if value == VssFilterType.PREFIX: - buf.write_i32(1) - if value == VssFilterType.EXACT: - buf.write_i32(2) - - - - - -class _UniffiConverterOptionalString(_UniffiConverterRustBuffer): - @classmethod - def check_lower(cls, value): - if value is not None: - _UniffiConverterString.check_lower(value) - - @classmethod - def write(cls, value, buf): - if value is None: - buf.write_u8(0) - return - - buf.write_u8(1) - _UniffiConverterString.write(value, buf) - - @classmethod - def read(cls, buf): - flag = buf.read_u8() - if flag == 0: - return None - elif flag == 1: - return _UniffiConverterString.read(buf) - else: - raise InternalError("Unexpected flag byte for optional type") - - - -class _UniffiConverterOptionalTypeVssItem(_UniffiConverterRustBuffer): - @classmethod - def check_lower(cls, value): - if value is not None: - _UniffiConverterTypeVssItem.check_lower(value) - - @classmethod - def write(cls, value, buf): - if value is None: - buf.write_u8(0) - return - - buf.write_u8(1) - _UniffiConverterTypeVssItem.write(value, buf) - - @classmethod - def read(cls, buf): - flag = buf.read_u8() - if flag == 0: - return None - elif flag == 1: - return _UniffiConverterTypeVssItem.read(buf) - else: - raise InternalError("Unexpected flag byte for optional type") - - - -class _UniffiConverterSequenceTypeKeyValue(_UniffiConverterRustBuffer): - @classmethod - def check_lower(cls, value): - for item in value: - _UniffiConverterTypeKeyValue.check_lower(item) - - @classmethod - def write(cls, value, buf): - items = len(value) - buf.write_i32(items) - for item in value: - _UniffiConverterTypeKeyValue.write(item, buf) - - @classmethod - def read(cls, buf): - count = buf.read_i32() - if count < 0: - raise InternalError("Unexpected negative sequence length") - - return [ - _UniffiConverterTypeKeyValue.read(buf) for i in range(count) - ] - - - -class _UniffiConverterSequenceTypeKeyVersion(_UniffiConverterRustBuffer): - @classmethod - def check_lower(cls, value): - for item in value: - _UniffiConverterTypeKeyVersion.check_lower(item) - - @classmethod - def write(cls, value, buf): - items = len(value) - buf.write_i32(items) - for item in value: - _UniffiConverterTypeKeyVersion.write(item, buf) - - @classmethod - def read(cls, buf): - count = buf.read_i32() - if count < 0: - raise InternalError("Unexpected negative sequence length") - - return [ - _UniffiConverterTypeKeyVersion.read(buf) for i in range(count) - ] - - - -class _UniffiConverterSequenceTypeVssItem(_UniffiConverterRustBuffer): - @classmethod - def check_lower(cls, value): - for item in value: - _UniffiConverterTypeVssItem.check_lower(item) - - @classmethod - def write(cls, value, buf): - items = len(value) - buf.write_i32(items) - for item in value: - _UniffiConverterTypeVssItem.write(item, buf) - - @classmethod - def read(cls, buf): - count = buf.read_i32() - if count < 0: - raise InternalError("Unexpected negative sequence length") - - return [ - _UniffiConverterTypeVssItem.read(buf) for i in range(count) - ] - -# objects. - -# Async support# RustFuturePoll values -_UNIFFI_RUST_FUTURE_POLL_READY = 0 -_UNIFFI_RUST_FUTURE_POLL_MAYBE_READY = 1 - -# Stores futures for _uniffi_continuation_callback -_UniffiContinuationHandleMap = _UniffiHandleMap() - -_UNIFFI_GLOBAL_EVENT_LOOP = None - -""" -Set the event loop to use for async functions - -This is needed if some async functions run outside of the eventloop, for example: - - A non-eventloop thread is spawned, maybe from `EventLoop.run_in_executor` or maybe from the - Rust code spawning its own thread. - - The Rust code calls an async callback method from a sync callback function, using something - like `pollster` to block on the async call. - -In this case, we need an event loop to run the Python async function, but there's no eventloop set -for the thread. Use `uniffi_set_event_loop` to force an eventloop to be used in this case. -""" -def uniffi_set_event_loop(eventloop: asyncio.BaseEventLoop): - global _UNIFFI_GLOBAL_EVENT_LOOP - _UNIFFI_GLOBAL_EVENT_LOOP = eventloop - -def _uniffi_get_event_loop(): - if _UNIFFI_GLOBAL_EVENT_LOOP is not None: - return _UNIFFI_GLOBAL_EVENT_LOOP - else: - return asyncio.get_running_loop() - -# Continuation callback for async functions -# lift the return value or error and resolve the future, causing the async function to resume. -@_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK -def _uniffi_continuation_callback(future_ptr, poll_code): - (eventloop, future) = _UniffiContinuationHandleMap.remove(future_ptr) - eventloop.call_soon_threadsafe(_uniffi_set_future_result, future, poll_code) - -def _uniffi_set_future_result(future, poll_code): - if not future.cancelled(): - future.set_result(poll_code) - -async def _uniffi_rust_call_async(rust_future, ffi_poll, ffi_complete, ffi_free, lift_func, error_ffi_converter): - try: - eventloop = _uniffi_get_event_loop() - - # Loop and poll until we see a _UNIFFI_RUST_FUTURE_POLL_READY value - while True: - future = eventloop.create_future() - ffi_poll( - rust_future, - _uniffi_continuation_callback, - _UniffiContinuationHandleMap.insert((eventloop, future)), - ) - poll_code = await future - if poll_code == _UNIFFI_RUST_FUTURE_POLL_READY: - break - - return lift_func( - _uniffi_rust_call_with_error(error_ffi_converter, ffi_complete, rust_future) - ) - finally: - ffi_free(rust_future) -async def vss_delete(key: "str") -> "bool": - - """ - Deletes a key-value pair from the VSS server. - - This function removes the specified key and its associated data from storage. - The operation is idempotent - deleting a non-existent key will not cause an error. - - # Parameters - - `key`: The key to delete - - # Returns - `true` if the key was found and deleted, `false` if the key didn't exist, - or a VssError if the operation fails. - - # Example - ``` - let was_deleted = vss_delete("temp-data".to_string()).await?; - if was_deleted { - println!("Key was successfully deleted"); - } else { - println!("Key did not exist"); - } - ``` - """ - - _UniffiConverterString.check_lower(key) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_delete( - _UniffiConverterString.lower(key)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i8, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i8, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i8, - # lift function - _UniffiConverterBool.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) - -def vss_derive_store_id(prefix: "str",mnemonic: "str",passphrase: "typing.Optional[str]") -> "str": - """ - Derives a deterministic VSS store ID from a mnemonic and optional passphrase. - - This function creates a consistent store ID that can be used across devices for the same wallet. - The store ID is derived using BIP32 key derivation at a specific VSS path, ensuring it's - cryptographically secure and deterministic. - - # Parameters - - `prefix`: A prefix to include in the store ID (e.g., "bitkit_v1_regtest") - - `mnemonic`: BIP39 mnemonic phrase (12 or 24 words) - - `passphrase`: Optional BIP39 passphrase - - # Returns - A deterministic store ID string that combines the prefix with a derived identifier. - - # Example - ``` - let store_id = vss_derive_store_id( - "bitkit_v1_regtest".to_string(), - "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about".to_string(), - None - )?; - println!("Store ID: {}", store_id); - ``` - """ - - _UniffiConverterString.check_lower(prefix) - - _UniffiConverterString.check_lower(mnemonic) - - _UniffiConverterOptionalString.check_lower(passphrase) - - return _UniffiConverterString.lift(_uniffi_rust_call_with_error(_UniffiConverterTypeVssError,_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_derive_store_id, - _UniffiConverterString.lower(prefix), - _UniffiConverterString.lower(mnemonic), - _UniffiConverterOptionalString.lower(passphrase))) - -async def vss_get(key: "str") -> "typing.Optional[VssItem]": - - """ - Retrieves a value by key from the VSS server. - - This function fetches the current version of the data associated with the given key. - Returns None if the key does not exist. - - # Parameters - - `key`: The key to retrieve - - # Returns - An Option containing the VssItem if found, None if the key doesn't exist, - or a VssError if the operation fails. - - # Example - ``` - match vss_get("user-settings".to_string()).await? { - Some(item) => println!("Found data with version: {}", item.version), - None => println!("Key not found") - } - ``` - """ - - _UniffiConverterString.check_lower(key) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_get( - _UniffiConverterString.lower(key)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterOptionalTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_ldk_delete(key: "str",namespace: "LdkNamespace") -> "bool": - - """ - Deletes a key-value pair using the dedicated LDK client. - """ - - _UniffiConverterString.check_lower(key) - - _UniffiConverterTypeLdkNamespace.check_lower(namespace) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_delete( - _UniffiConverterString.lower(key), - _UniffiConverterTypeLdkNamespace.lower(namespace)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_i8, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_i8, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_i8, - # lift function - _UniffiConverterBool.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_ldk_get(key: "str",namespace: "LdkNamespace") -> "typing.Optional[VssItem]": - - """ - Retrieves a value by key using the dedicated LDK client. - """ - - _UniffiConverterString.check_lower(key) - - _UniffiConverterTypeLdkNamespace.check_lower(namespace) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_get( - _UniffiConverterString.lower(key), - _UniffiConverterTypeLdkNamespace.lower(namespace)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterOptionalTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_ldk_list_all_keys() -> "typing.List[KeyVersion]": - - """ - Lists all LDK keys across all namespaces using the dedicated LDK client. - """ - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_all_keys(), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterSequenceTypeKeyVersion.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_ldk_list_keys(namespace: "LdkNamespace") -> "typing.List[KeyVersion]": - - """ - Lists keys in a namespace using the dedicated LDK client. - """ - - _UniffiConverterTypeLdkNamespace.check_lower(namespace) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_list_keys( - _UniffiConverterTypeLdkNamespace.lower(namespace)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterSequenceTypeKeyVersion.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_ldk_store(key: "str",value: "bytes",namespace: "LdkNamespace") -> "VssItem": - - """ - Stores a key-value pair using the dedicated LDK client. - """ - - _UniffiConverterString.check_lower(key) - - _UniffiConverterBytes.check_lower(value) - - _UniffiConverterTypeLdkNamespace.check_lower(namespace) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_ldk_store( - _UniffiConverterString.lower(key), - _UniffiConverterBytes.lower(value), - _UniffiConverterTypeLdkNamespace.lower(namespace)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_list(prefix: "typing.Optional[str]") -> "typing.List[VssItem]": - - """ - Lists all items in the store, optionally filtered by key prefix. - - This function retrieves both keys and their associated values/versions. - It's useful for browsing stored data but can be expensive for large datasets. - - # Parameters - - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys). - If None or empty, returns all items. - - # Returns - A vector of VssItems containing all matching key-value pairs, - or a VssError if the operation fails. - - # Example - ``` - // List all items with keys starting with "config/" - let items = vss_list(Some("config/".to_string())).await?; - for item in items { - println!("Key: {}, Version: {}", item.key, item.version); - } - ``` - """ - - _UniffiConverterOptionalString.check_lower(prefix) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list( - _UniffiConverterOptionalString.lower(prefix)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterSequenceTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_list_keys(prefix: "typing.Optional[str]") -> "typing.List[KeyVersion]": - - """ - Lists keys and their versions without retrieving the actual values. - - This function is more efficient than `vss_list` when you only need to know - what keys exist and their versions, without downloading the actual data. - - # Parameters - - `prefix`: Optional key prefix filter (e.g., "user/" to get all user keys). - If None or empty, returns all keys. - - # Returns - A vector of KeyVersion structs containing key names and version numbers, - or a VssError if the operation fails. - - # Example - ``` - // List all keys starting with "temp/" - let keys = vss_list_keys(Some("temp/".to_string())).await?; - for kv in keys { - println!("Key: {} is at version: {}", kv.key, kv.version); - } - ``` - """ - - _UniffiConverterOptionalString.check_lower(prefix) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_list_keys( - _UniffiConverterOptionalString.lower(prefix)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterSequenceTypeKeyVersion.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_new_client(base_url: "str",store_id: "str") -> None: - - """ - Creates a new VSS (Versioned Storage Service) client without authentication. - - This function establishes a connection to a VSS server and initializes - the global client for subsequent VSS operations. - - # Parameters - - `base_url`: The base URL of the VSS server (e.g., "https://vss.example.com") - - `store_id`: A unique identifier for the storage namespace/keyspace - - # Returns - Ok(()) if the client was created successfully, or a VssError if the client creation fails. - - # Example - ``` - vss_new_client( - "https://vss.example.com".to_string(), - "my-app-store".to_string() - ).await?; - ``` - """ - - _UniffiConverterString.check_lower(base_url) - - _UniffiConverterString.check_lower(store_id) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client( - _UniffiConverterString.lower(base_url), - _UniffiConverterString.lower(store_id)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_void, - # lift function - lambda val: None, - - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_new_client_with_lnurl_auth(base_url: "str",store_id: "str",mnemonic: "str",passphrase: "typing.Optional[str]",lnurl_auth_server_url: "str") -> None: - - """ - Creates a new VSS (Versioned Storage Service) client with LNURL-auth using a BIP39 mnemonic. - - This function establishes a connection to a VSS server using LNURL-auth - for authentication. - - # Parameters - - `base_url`: The base URL of the VSS server - - `store_id`: A unique identifier for the storage namespace/keyspace - - `mnemonic`: BIP39 mnemonic phrase (12 or 24 words) - - `passphrase`: Optional BIP39 passphrase - - `lnurl_auth_server_url`: The LNURL-auth server URL for authentication - - # Returns - Ok(()) if the client was created successfully, or a VssError if the client creation fails. - - # Example - ``` - vss_new_client_with_lnurl_auth( - "https://vss.example.com".to_string(), - "my-app-store".to_string(), - "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about".to_string(), - None, - "https://auth.example.com/lnurl".to_string() - ).await?; - ``` - """ - - _UniffiConverterString.check_lower(base_url) - - _UniffiConverterString.check_lower(store_id) - - _UniffiConverterString.check_lower(mnemonic) - - _UniffiConverterOptionalString.check_lower(passphrase) - - _UniffiConverterString.check_lower(lnurl_auth_server_url) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_client_with_lnurl_auth( - _UniffiConverterString.lower(base_url), - _UniffiConverterString.lower(store_id), - _UniffiConverterString.lower(mnemonic), - _UniffiConverterOptionalString.lower(passphrase), - _UniffiConverterString.lower(lnurl_auth_server_url)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_void, - # lift function - lambda val: None, - - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_new_ldk_client_with_lnurl_auth(base_url: "str",store_id: "str",mnemonic: "str",passphrase: "typing.Optional[str]",lnurl_auth_server_url: "str") -> None: - - """ - Creates a new dedicated LDK VSS client with LNURL-auth. - - This client uses ONLY ldk-node's key derivation chain (full 64-byte seed), - completely separate from the app backup client. - """ - - _UniffiConverterString.check_lower(base_url) - - _UniffiConverterString.check_lower(store_id) - - _UniffiConverterString.check_lower(mnemonic) - - _UniffiConverterOptionalString.check_lower(passphrase) - - _UniffiConverterString.check_lower(lnurl_auth_server_url) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_new_ldk_client_with_lnurl_auth( - _UniffiConverterString.lower(base_url), - _UniffiConverterString.lower(store_id), - _UniffiConverterString.lower(mnemonic), - _UniffiConverterOptionalString.lower(passphrase), - _UniffiConverterString.lower(lnurl_auth_server_url)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_void, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_void, - # lift function - lambda val: None, - - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) -async def vss_put_with_key_prefix(items: "typing.List[KeyValue]") -> "typing.List[VssItem]": - - """ - Stores multiple key-value pairs in a single atomic transaction. - - This function allows batch storage of multiple items. All items will be - stored together or the entire operation will fail, ensuring data consistency. - - # Parameters - - `items`: A vector of KeyValue pairs to store - - # Returns - A vector of VssItems representing the stored data with their assigned versions, - or a VssError if the operation fails. - - # Example - ``` - let items_to_store = vec![ - KeyValue { key: "config/theme".to_string(), value: vec![1, 0] }, - KeyValue { key: "config/lang".to_string(), value: vec![2, 0] }, - ]; - let stored_items = vss_put_with_key_prefix(items_to_store).await?; - println!("Stored {} items", stored_items.len()); - ``` - """ - - _UniffiConverterSequenceTypeKeyValue.check_lower(items) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_put_with_key_prefix( - _UniffiConverterSequenceTypeKeyValue.lower(items)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterSequenceTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) - -def vss_shutdown_client() -> None: - """ - Shuts down the VSS client and clears the global client state. - - This function is optional but recommended for clean shutdown in applications - that want to explicitly release resources. - - # Example - ``` - vss_shutdown_client(); - ``` - """ - - _uniffi_rust_call(_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_client,) - - -def vss_shutdown_ldk_client() -> None: - """ - Shuts down the dedicated LDK VSS client. - """ - - _uniffi_rust_call(_UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_shutdown_ldk_client,) - -async def vss_store(key: "str",value: "bytes") -> "VssItem": - - """ - Stores a key-value pair in the VSS server. - - This function writes data to the VSS server. The server automatically - manages versioning, incrementing the version number with each update. - - # Parameters - - `key`: The unique key identifier for the data - - `value`: The binary data to store - - # Returns - A VssItem containing the stored key, value, and version number, - or a VssError if the operation fails. - - # Example - ``` - let item = vss_store( - "user-settings".to_string(), - vec![1, 2, 3, 4] - ).await?; - println!("Stored at version: {}", item.version); - ``` - """ - - _UniffiConverterString.check_lower(key) - - _UniffiConverterBytes.check_lower(value) - - return await _uniffi_rust_call_async( - _UniffiLib.uniffi_vss_rust_client_ffi_fn_func_vss_store( - _UniffiConverterString.lower(key), - _UniffiConverterBytes.lower(value)), - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_poll_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_complete_rust_buffer, - _UniffiLib.ffi_vss_rust_client_ffi_rust_future_free_rust_buffer, - # lift function - _UniffiConverterTypeVssItem.lift, - - # Error FFI converter -_UniffiConverterTypeVssError, - - ) - -__all__ = [ - "InternalError", - "LdkNamespace", - "VssError", - "VssFilterType", - "KeyValue", - "KeyVersion", - "ListKeyVersionsResponse", - "VssItem", - "vss_delete", - "vss_derive_store_id", - "vss_get", - "vss_ldk_delete", - "vss_ldk_get", - "vss_ldk_list_all_keys", - "vss_ldk_list_keys", - "vss_ldk_store", - "vss_list", - "vss_list_keys", - "vss_new_client", - "vss_new_client_with_lnurl_auth", - "vss_new_ldk_client_with_lnurl_auth", - "vss_put_with_key_prefix", - "vss_shutdown_client", - "vss_shutdown_ldk_client", - "vss_store", -] - diff --git a/build.sh b/build.sh index 3e2362b..7d08e93 100755 --- a/build.sh +++ b/build.sh @@ -8,14 +8,11 @@ case "$1" in "android") ./build_android.sh ;; - "python") - ./build_python.sh - ;; "all") - ./build_ios.sh && ./build_android.sh && ./build_python.sh + ./build_ios.sh && ./build_android.sh ;; *) - echo "Usage: $0 {ios|android|python|all}" + echo "Usage: $0 {ios|android|all}" exit 1 ;; -esac \ No newline at end of file +esac diff --git a/build_ios.sh b/build_ios.sh index c793aaa..5fb6038 100755 --- a/build_ios.sh +++ b/build_ios.sh @@ -4,17 +4,25 @@ set -e # Exit immediately if a command exits with a non-zero status. echo "Starting iOS build process..." -# Remove previous builds and ensure clean state -echo "Cleaning previous builds..." -rm -rf bindings/ios/* +# Define output directories +IOS_BINDINGS_DIR="./bindings/ios" +IOS_DIST_DIR="./dist/ios" +XCFRAMEWORK_NAME="VssRustClientFfi.xcframework" +XCFRAMEWORK_PATH="$IOS_DIST_DIR/$XCFRAMEWORK_NAME" +XCFRAMEWORK_ZIP_PATH="$IOS_DIST_DIR/$XCFRAMEWORK_NAME.zip" + +# Remove previous release artifacts and ensure clean state +echo "Cleaning previous release artifacts..." +rm -rf "$IOS_DIST_DIR" rm -rf ios/ # Create necessary directories echo "Creating build directories..." -mkdir -p bindings/ios/ +mkdir -p "$IOS_BINDINGS_DIR" +mkdir -p "$IOS_DIST_DIR" # Set iOS deployment target -export IPHONEOS_DEPLOYMENT_TARGET=13.4 +export IPHONEOS_DEPLOYMENT_TARGET=17.0 # Cargo Build echo "Building Rust libraries..." @@ -41,33 +49,30 @@ cargo build --release --target=aarch64-apple-ios # Generate Swift bindings echo "Generating Swift bindings..." # First, ensure any existing generated files are removed -rm -rf ./bindings/ios/vss_rust_client_ffi.swift -rm -rf ./bindings/ios/vss_rust_client_ffiFFI.h -rm -rf ./bindings/ios/vss_rust_client_ffiFFI.modulemap -rm -rf ./bindings/ios/Headers -rm -rf ./bindings/ios/ios-arm64 -rm -rf ./bindings/ios/ios-arm64-sim +rm -f "$IOS_BINDINGS_DIR/vss_rust_client_ffi.swift" +rm -f "$IOS_BINDINGS_DIR/vss_rust_client_ffiFFI.h" +rm -f "$IOS_BINDINGS_DIR/vss_rust_client_ffiFFI.modulemap" +rm -f "$IOS_BINDINGS_DIR/module.modulemap" +rm -rf "$IOS_BINDINGS_DIR/Headers" cargo run --bin uniffi-bindgen generate \ --library ./target/aarch64-apple-ios/release/libvss_rust_client_ffi.a \ --language swift \ - --out-dir ./bindings/ios \ + --out-dir "$IOS_BINDINGS_DIR" \ || { echo "Failed to generate Swift bindings"; exit 1; } # Handle modulemap file echo "Handling modulemap file..." -if [ -f bindings/ios/vss_rust_client_ffiFFI.modulemap ]; then - mv bindings/ios/vss_rust_client_ffiFFI.modulemap bindings/ios/module.modulemap +if [ -f "$IOS_BINDINGS_DIR/vss_rust_client_ffiFFI.modulemap" ]; then + mv "$IOS_BINDINGS_DIR/vss_rust_client_ffiFFI.modulemap" "$IOS_BINDINGS_DIR/module.modulemap" else echo "Warning: modulemap file not found" fi -# Clean up any existing XCFramework and temporary directories -echo "Cleaning up existing XCFramework..." -rm -rf "bindings/ios/VssRustClientFfi.xcframework" -rm -rf "bindings/ios/Headers" -rm -rf "bindings/ios/ios-arm64" -rm -rf "bindings/ios/ios-arm64-sim" +# Clean up any temporary directories +echo "Cleaning up temporary directories..." +rm -rf "$IOS_DIST_DIR/ios-arm64" +rm -rf "$IOS_DIST_DIR/ios-arm64-sim" # Package each static library as a framework bundle. FRAMEWORK_NAME="vss_rust_client_ffiFFI" @@ -78,8 +83,8 @@ create_framework() { mkdir -p "$framework_dir/Headers" "$framework_dir/Modules" cp "$library_path" "$framework_dir/$FRAMEWORK_NAME" - cp bindings/ios/vss_rust_client_ffiFFI.h "$framework_dir/Headers/" - sed 's/^module /framework module /' bindings/ios/module.modulemap > "$framework_dir/Modules/module.modulemap" + cp "$IOS_BINDINGS_DIR/vss_rust_client_ffiFFI.h" "$framework_dir/Headers/" + sed 's/^module /framework module /' "$IOS_BINDINGS_DIR/module.modulemap" > "$framework_dir/Modules/module.modulemap" cat > "$framework_dir/Info.plist" < @@ -103,32 +108,32 @@ EOF } echo "Creating framework bundles..." -mkdir -p "bindings/ios/ios-arm64" -mkdir -p "bindings/ios/ios-arm64-sim" -create_framework "bindings/ios/ios-arm64" "./target/aarch64-apple-ios/release/libvss_rust_client_ffi.a" -create_framework "bindings/ios/ios-arm64-sim" "./target/aarch64-apple-ios-sim/release/libvss_rust_client_ffi.a" +mkdir -p "$IOS_DIST_DIR/ios-arm64" +mkdir -p "$IOS_DIST_DIR/ios-arm64-sim" +create_framework "$IOS_DIST_DIR/ios-arm64" "./target/aarch64-apple-ios/release/libvss_rust_client_ffi.a" +create_framework "$IOS_DIST_DIR/ios-arm64-sim" "./target/aarch64-apple-ios-sim/release/libvss_rust_client_ffi.a" # Create XCFramework echo "Creating XCFramework..." xcodebuild -create-xcframework \ - -framework "bindings/ios/ios-arm64-sim/$FRAMEWORK_NAME.framework" \ - -framework "bindings/ios/ios-arm64/$FRAMEWORK_NAME.framework" \ - -output "bindings/ios/VssRustClientFfi.xcframework" \ + -framework "$IOS_DIST_DIR/ios-arm64-sim/$FRAMEWORK_NAME.framework" \ + -framework "$IOS_DIST_DIR/ios-arm64/$FRAMEWORK_NAME.framework" \ + -output "$XCFRAMEWORK_PATH" \ || { echo "Failed to create XCFramework"; exit 1; } # Clean up temporary directories echo "Cleaning up temporary directories..." -rm -rf "bindings/ios/ios-arm64" -rm -rf "bindings/ios/ios-arm64-sim" +rm -rf "$IOS_DIST_DIR/ios-arm64" +rm -rf "$IOS_DIST_DIR/ios-arm64-sim" # Create zip file for distribution and checksum calculation echo "Creating XCFramework zip file..." -rm -f ./bindings/ios/VssRustClientFfi.xcframework.zip -ditto -c -k --sequesterRsrc --keepParent ./bindings/ios/VssRustClientFfi.xcframework ./bindings/ios/VssRustClientFfi.xcframework.zip || { echo "Failed to create zip file"; exit 1; } +rm -f "$XCFRAMEWORK_ZIP_PATH" +ditto -c -k --sequesterRsrc --keepParent "$XCFRAMEWORK_PATH" "$XCFRAMEWORK_ZIP_PATH" || { echo "Failed to create zip file"; exit 1; } # Compute checksum echo "Computing checksum..." -CHECKSUM=`swift package compute-checksum ./bindings/ios/VssRustClientFfi.xcframework.zip` || { echo "Failed to compute checksum"; exit 1; } +CHECKSUM=`swift package compute-checksum "$XCFRAMEWORK_ZIP_PATH"` || { echo "Failed to compute checksum"; exit 1; } echo "New checksum: $CHECKSUM" # Update Package.swift with the new checksum using Python script diff --git a/build_python.sh b/build_python.sh deleted file mode 100755 index ba4b52a..0000000 --- a/build_python.sh +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash - -set -e # Exit immediately if a command exits with a non-zero status. - -echo "Starting Python build process..." - -# Define output directories -BASE_DIR="./bindings/python" -PACKAGE_DIR="$BASE_DIR/vss_rust_client_ffi" - -# Create output directories -mkdir -p "$BASE_DIR" -mkdir -p "$PACKAGE_DIR" - -# Remove previous build -echo "Removing previous build..." -# shellcheck disable=SC2115 -rm -rf "$PACKAGE_DIR"/* - -# Cargo Build -echo "Building Rust libraries..." -cargo build - -# Temporarily set crate-type for Python (restored at end) -cp Cargo.toml Cargo.toml.bak -if [[ "$OSTYPE" == "darwin"* ]]; then - sed -i '' 's/crate_type = .*/crate_type = ["cdylib"]/' Cargo.toml -else - sed -i 's/crate_type = .*/crate_type = ["cdylib"]/' Cargo.toml -fi -trap 'mv Cargo.toml.bak Cargo.toml' EXIT - -# Build release -echo "Building release version..." -cargo build --release - -# Generate Python bindings -echo "Generating Python bindings..." - -# Determine library name based on platform -case "$(uname)" in - "Darwin") - LIBRARY_PATH="./target/release/libvss_rust_client_ffi.dylib" - LIBRARY_NAME="libvss_rust_client_ffi.dylib" - ;; - "Linux") - LIBRARY_PATH="./target/release/libvss_rust_client_ffi.so" - LIBRARY_NAME="libvss_rust_client_ffi.so" - ;; - "MINGW"*|"MSYS"*|"CYGWIN"*) - LIBRARY_PATH="./target/release/vss_rust_client_ffi.dll" - LIBRARY_NAME="vss_rust_client_ffi.dll" - ;; - *) - echo "Unsupported platform: $(uname)" - exit 1 - ;; -esac - -# Debug information -echo "Looking for library in target/release directory..." -ls -la ./target/release/ - -# Check if the library file exists -if [ ! -f "$LIBRARY_PATH" ]; then - echo "Error: Library file not found at $LIBRARY_PATH" - echo "Available files in target/release:" - ls -l ./target/release/ - exit 1 -fi - -# Generate the Python bindings -cargo run --bin uniffi-bindgen generate \ - --library "$LIBRARY_PATH" \ - --language python \ - --out-dir "$PACKAGE_DIR" - -# Format Python code if yapf is available -if command -v yapf >/dev/null 2>&1; then - echo "Formatting Python code with yapf..." - yapf -i "$PACKAGE_DIR"/*.py -else - echo "Note: yapf not found. Skipping Python code formatting." -fi - -# Create __init__.py -touch "$PACKAGE_DIR/__init__.py" - -# Create setup.py -cat > "$BASE_DIR/setup.py" << 'EOL' -from setuptools import setup, find_packages -import os - -# Try to read README.md if it exists, otherwise use a default description -try: - with open("README.md", "r") as f: - long_description = f.read() -except FileNotFoundError: - long_description = "Python bindings for the VSS Rust Client FFI" - -setup( - name="vss-rust-client-ffi", - version="0.1.0", - packages=find_packages(), - package_data={ - "vss_rust_client_ffi": ["*.so", "*.dylib", "*.dll"], - }, - install_requires=[], - author="VSS", - author_email="", - description="Python bindings for the VSS Rust Client FFI", - long_description=long_description, - long_description_content_type="text/markdown", - url="", - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - python_requires=">=3.6", -) -EOL - -# Create README.md -cat > "$BASE_DIR/README.md" << EOL -# VSS Rust Client FFI Python Bindings - -Python bindings for the VSS Rust Client FFI. - -## Installation - -\`\`\`bash -pip install . -\`\`\` - -## Usage - -\`\`\`python -from vss_rust_client_ffi import * - -# Initialize VSS client -vss_new_client( - "https://vss.example.com", - "my-store", - None -) - -# Store data -item = vss_store("my-key", b"my-data") -print(f"Stored at version: {item.version}") -\`\`\` -EOL - -# Copy necessary library files -echo "Copying library files..." -case "$(uname)" in - "Darwin") - cp "$LIBRARY_PATH" "$PACKAGE_DIR/" - ;; - "Linux") - cp "./target/release/libvss_rust_client_ffi.so" "$PACKAGE_DIR/" - ;; - "MINGW"*|"MSYS"*|"CYGWIN"*) - cp "./target/release/vss_rust_client_ffi.dll" "$PACKAGE_DIR/" - ;; -esac - -echo "Python build process completed successfully!" -echo "To install the package, cd into $BASE_DIR and run: pip install ." \ No newline at end of file