-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCargo.toml
More file actions
93 lines (86 loc) · 2.97 KB
/
Cargo.toml
File metadata and controls
93 lines (86 loc) · 2.97 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
[package]
name = "accumulators"
version = "0.5.1"
edition = "2021"
license-file = "LICENSE"
description = "Complete package of multiple Accumulators with Stores and hashing functions (Hashers)"
homepage = "https://herodotus.dev/"
repository = "https://github.com/HerodotusDev/rust-accumulators"
documentation = "https://github.com/HerodotusDev/rust-accumulators/blob/main/README.md"
readme = "README.md"
keywords = ["accumulators", "mmr", "merkle", "tree", "incremental"]
categories = ["cryptography", "data-structures", "database"]
exclude = [".github", ".vscode"]
[dependencies]
thiserror = "2" # Error handling
async-trait = "0.1.88" # Async traits
hex = "0.4.3" # Hex encoding
tiny-keccak = "2.0.2" # Keccak hashing
starknet = "0.16.0" # StarkNet pedersen
starknet-crypto = "0.7.4" # StarkNet poseidon
parking_lot = "0.12.4" # Sync mutex
num-bigint = "0.4.6" # Bigints in hashers (TODO: double check if needed)
num-traits = "0.2.19" # Bigints in hashers (TODO: double check if needed)
indexmap = "2.10.0"
strum = "0.27.2" # better enums
strum_macros = "0.27.2" # better enums
blake2 = { version = "0.10.6", default-features = false } # Blake2 hashing
[target.'cfg(not(target_family = "wasm"))'.dependencies]
tokio = { version = "1", features = ["full"] }
uuid = { version = "1.17.0", features = ["v4"] } # UUID
sqlx = { version = "0.8", optional = true, features = [
"runtime-tokio",
"sqlite",
] } # SQLite for rust
[target.'cfg(target_family = "wasm")'.dependencies]
# remember to use: export RUSTFLAGS='--cfg getrandom_backend="wasm_js"'
getrandom = { version = "0.3", features = ["wasm_js"] }
tokio = { version = "1", default-features = false, features = [
"rt",
"macros",
"sync",
"io-util",
"time",
] }
uuid = { version = "1.17.0", features = ["v4", "js"] } # UUID
[dev-dependencies]
criterion = { version = "0.7", features = [
"html_reports",
"async",
] } # Benchmarking
[[bench]]
name = "mmr_benchmark"
harness = false
[[bench]]
name = "incremental_benchmark"
harness = false
[features]
default = ["store", "hasher"]
all = [
"store",
"sqlite",
"memory",
"hasher",
"keccak",
"poseidon",
"pedersen",
"blake",
"mmr",
"stacked_mmr",
"draft_mmr",
"merkle_tree",
"incremental_merkle_tree",
]
store = []
sqlite = ["store", "dep:sqlx", "sqlx/sqlite", "sqlx/runtime-tokio"]
memory = ["store"]
hasher = []
keccak = ["hasher"]
poseidon = ["hasher"]
pedersen = ["hasher"]
blake = ["hasher"]
mmr = ["hasher", "store"]
stacked_mmr = ["mmr"]
draft_mmr = ["stacked_mmr"]
merkle_tree = ["hasher", "store"]
incremental_merkle_tree = ["merkle_tree"]