[package]
name = "rust_lib_twonly"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib", "staticlib", "rlib"]

[dependencies]
flutter_rust_bridge = "=2.12.0"
thiserror = "2.0.18"
sqlx = { version = "0.9.0-alpha.1", default-features = false, features = [
    "runtime-tokio",
    "sqlite",
    "migrate",
    "macros",
    "chrono",
    "derive",
    "json",
] }
libsqlite3-sys = { version = "0.35.0", features = [
    "bundled-sqlcipher-vendored-openssl",
] }
tokio = { version = "1.44", features = ["full", "macros"] }
tracing = "0.1.44"
prost = "0.14.1"
blahaj = "0.6.0"
serde_json = "1.0"
base64 = "0.22.1"
hmac = "0.13.0"
hkdf = "0.12.4"
sha2 = "0.10.8"
aes-gcm = "0.10.3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "0.2.5"
paste = "1.0.15"
serde = { version = "1.0", features = ["derive"] }
zeroize = { version = "1.8", features = ["derive"] }
hex = "0.4.3"
keyring-core = "1"
postcard = { version = "1.0", features = ["alloc"] }
chrono = { version = "0.4", features = ["serde"] }
zip = { version = "2.2.2", default-features = false, features = ["deflate"] }
scrypt = { version = "0.12", default-features = false }
walkdir = "2.5.0"
libsignal-protocol = { git = "https://github.com/signalapp/libsignal", version = "0.1.0", rev = "44a6dd8fc9f9d6903b32842b80b3894a75678418" }
rand08 = { version = "0.8.5", package = "rand" }
rand = "0.9.4"
async-trait = "0.1.91"
[target.'cfg(target_os = "ios")'.dependencies]
# iOS backend: Requires the 'protected' feature for Data Protection Keychain
apple-native-keyring-store = { version = "1", features = ["protected"] }
[target.'cfg(target_os = "android")'.dependencies]
# Android backend: Interfaces with the Android Keystore
android-native-keyring-store = "1"

[dev-dependencies]
pretty_env_logger = "0.5.0"
tempfile = "3.27.0"


[build-dependencies]
prost-build = "0.14.1"
