-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
81 lines (76 loc) · 2.87 KB
/
Cargo.toml
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
[package]
name = "selfsign"
version = "0.6.0"
authors = ["Victor Dods <victor.dods@gmail.com>"]
edition = "2021"
[features]
# This feature provides impls of selfsign traits for ed25519-dalek crate types
# ed25519_dalek::{Signature, SigningKey, VerifyingKey}.
ed25519-dalek = ["dep:ed25519-dalek", "selfhash/sha-512", "dep:sha2"]
# This provides the default implementation of the SelfSelfsignable::write_digest_data method for when a
# SelfSelfsignable implements Clone and the desired serialization format is JSON Canonicalization Scheme (JCS).
jcs = ["selfhash/jcs", "dep:serde_json_canonicalizer"]
# This feature provides impls of selfsign traits for k256 crate types (k256 is also called secp256k1)
# k256::ecdsa::{Signature, SigningKey, VerifyingKey}.
k256 = ["dep:k256", "dep:sha2", "selfhash/sha-256", "dep:signature"]
# This enables support for self-signable serde_json::Value-s.
self-signable-json = [
"jcs",
"selfhash/self-hashable-json",
"dep:serde",
"dep:serde_json",
]
# This enables serde support for for KERISignature, KERIVerifier, NamedSignatureAlgorithm, SignatureBytes,
# and VerifierBytes types.
serde = ["selfhash/serde", "dep:serde", "dep:serde_with"]
[dependencies]
base64 = { version = "0.21.4", default-features = false }
derive_more = { version = "0.99.17", default-features = false, features = [
"deref",
"display",
"from",
"into",
] }
digest = "0.10.7"
ed25519-dalek = { version = "2.1.1", optional = true, default-features = false, features = [
"digest",
] }
k256 = { version = "0.13.1", optional = true, default-features = false, features = [
"alloc",
"ecdsa",
] }
pneutype = "0.5.1"
selfhash = "0.4.0"
serde = { version = "1.0", optional = true, default-features = false, features = [
"alloc",
"derive",
] }
serde_json = { version = "1.0.106", optional = true }
serde_json_canonicalizer = { version = "0.2.0", optional = true }
serde_with = { version = "3.3.0", optional = true, default-features = false, features = [
"macros",
] }
# Maybe not needed because ed25519-dalek exposes sha2, though it wouldn't do to depend on ed25519-dalek
# in order to use sha2 for other things.
sha2 = { version = "0.10.7", optional = true, default-features = false }
signature = { version = "2", optional = true, default-features = false }
[dev-dependencies]
ed25519-dalek = { version = "2.1.1", features = ["rand_core"] }
k256 = { version = "0.13.1" }
time = { version = "0.3.29", features = ["serde"] }
rand = { version = "0.8" }
selfhash = { version = "0.4.0", features = [
"blake3",
"jcs",
"serde",
"sha-256",
"sha-512",
] }
serde_json = "1.0.106"
serde_json_canonicalizer = "0.2.0"
serial_test = "2.0.0"
[patch.crates-io]
pneutype = { git = "https://github.com/vdods/pneutype", rev = "pneutype-v0.5.1" }
selfhash = { git = "https://github.com/LedgerDomain/selfhash", rev = "selfhash-v0.4.0" }
[workspace]
members = [".", "selfsign-bin"]