-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
95 lines (82 loc) · 2.75 KB
/
Cargo.toml
File metadata and controls
95 lines (82 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[package]
name = "plabble-codec"
version = "0.1.0"
edition = "2024"
description = "Plabble Transport Protocol codec"
license = "BSD-3-Clause"
categories = ["cryptography", "encoding", "chat", "plabble"]
repository = "https://github.com/plabble/ptp-codec"
[lib]
name = "plabble_codec"
crate-type = ["lib", "cdylib", "staticlib"]
# [[bin]]
# name = "uniffi-bindgen"
# path = "uniffi-bindgen.rs"
[dependencies]
aes = "0.9.0-rc.4"
aes-gcm = "0.11.0-rc.3"
base64 = "0.22.1"
binary-codec = "0.6.7"
# binary-codec = { path = "../Binary-Codec/binary-codec" }
blake2 = "0.10.6"
blake3 = { version = "1.8.3", optional = true }
ctr = "0.10.0-rc.4"
cipher = "0.5.1"
chacha20 = "0.10.0"
chacha20poly1305 = "0.11.0-rc.3"
chrono = { version = "^0.4", features = ["serde"] }
ed25519-dalek = "2.2.0"
ed448-goldilocks = { version = "0.14.0-pre.11", features = ["signing"] }
log = "^0.4"
toml = { version = "^1.0", optional = true }
ml-dsa = { version = "0.1.0-rc.7", optional = true }
ml-kem = { version = "0.3.0-rc.0", optional = true, features = ["getrandom"]}
rand = "0.10.0"
serde = { version = "^1.0", features = ["derive"] }
serde-value = "^0.7"
serde_json = { version = "^1.0", optional = true }
serde_with = { version = "^3.17", features = ["base64", "hex"] }
x25519-dalek = { version = "3.0.0-pre.6", features = ["static_secrets", "getrandom"] }
poly1305 = "0.8.0"
# WASM dependencies
wasm-bindgen = { version = "0.2.110", optional = true }
js-sys = { version = "0.3.87", optional = true }
console_error_panic_hook = { version = "0.1.7", optional = true }
wasm-bindgen-futures = { version = "0.4.63", optional = true }
console_log = { version = "1.0.0", optional = true }
getrandom = { version = "^0.4", optional = true, features = ["wasm_js"] }
# Protocol implementation dependencies
# hints: async-broadcast?
async-channel = { version = "2.5.0", optional = true }
# FFI dependencies
futures = { version = "0.3.32", optional = true }
uniffi = { version = "0.29.4", optional = true }
[features]
default = ["blake-3", "pqc-lite", "pqc-heavy", "blockchain", "ffi", "wasm", "use-toml", "implementation", "protocol", "server", "client"]
# Crypto settings
blake-3 = ["blake3"]
pqc-lite = ["ml-dsa", "ml-kem"]
pqc-heavy = []
# Input/output format
use-json = ["serde_json"]
use-toml = ["toml"]
# Protocol
protocol = ["async-channel"]
server = ["protocol"]
client = ["protocol"]
implementation = []
blockchain = []
# Bindings
wasm = ["wasm-bindgen", "js-sys", "console_error_panic_hook", "console_log", "getrandom", "wasm-bindgen-futures", "client"]
ffi = ["uniffi", "client", "server", "futures"]
[dev-dependencies]
toml = "^1.0"
hex = "^0.4"
serde_json = "^1.0"
env_logger = "^0.11"
[profile.release]
panic = "abort"
# Tell `rustc` to optimize for small code size.
# s: 676.46 KB z: 638.50 KB
opt-level = "z"
lto = true