[package]
name = "ssi"
version = "0.7.0"
authors = ["Spruce Systems, Inc."]
edition = "2021"
license = "Apache-2.0"
description = "Core library for Verifiable Credentials and Decentralized Identifiers."
repository = "https://github.com/spruceid/ssi/"
documentation = "https://docs.rs/ssi/"
keywords = ["ssi", "did", "vc", "vp", "jsonld"]
exclude = ["json-ld-api/*", "json-ld-normalization/*", "vc-test-suite/*"]
[features]
default = ["w3c", "ripemd-160", "eip", "tezos"]
w3c = ["ssi-ldp/w3c", "secp256k1", "ed25519", "secp256r1", "rsa"]
secp256k1 = ["ssi-ldp/secp256k1"]
secp256r1 = ["ssi-ldp/secp256r1"]
secp384r1 = ["ssi-ldp/secp384r1"]
ed25519 = ["ssi-ldp/ed25519", "ssi-jwk/ed25519", "ssi-jws/ed25519"]
rsa = ["ssi-ldp/rsa"]
ripemd-160 = ["ssi-jwk/ripemd-160"]
bbs = ["ssi-crypto/bbs"]
aleo = ["ssi-ldp/aleo", "ssi-caips/aleo", "ssi-jws/aleo"]
eip = ["ssi-caips/eip", "ssi-jwk/eip", "ssi-ldp/eip", "ssi-crypto/keccak"]
tezos = ["ssi-caips/tezos", "ssi-jwk/tezos", "ssi-jws/tezos", "ssi-ldp/tezos"]
solana = ["ssi-ldp/solana"]
ring = ["ssi-jwk/ring", "ssi-jws/ring", "ssi-crypto/ring"]
http-did = ["ssi-dids/http"]
example-http-issuer = ["ssi-ldp/example-http-issuer"]
ed25519-dalek = ["ed25519"]
keccak = ["eip"]
sha = ["rsa"]
[dependencies]
ssi-jwk = { path = "./ssi-jwk", version = "0.1.1", default-features = false }
ssi-json-ld = { path = "./ssi-json-ld", version = "0.2.2", default-features = false }
ssi-core = { path = "./ssi-core", version = "0.1" }
ssi-dids = { path = "./ssi-dids", version = "0.1" }
ssi-crypto = { path = "./ssi-crypto", version = "0.1", default-features = false }
ssi-jws = { path = "./ssi-jws", version = "0.1", default-features = false }
ssi-jwt = { path = "./ssi-jwt", version = "0.1", default-features = false }
ssi-tzkey = { path = "./ssi-tzkey", version = "0.1", default-features = false }
ssi-ldp = { path = "./ssi-ldp", version = "0.3.0", default-features = false }
ssi-ssh = { path = "./ssi-ssh", version = "0.1", default-features = false }
ssi-ucan = { path = "./ssi-ucan", version = "0.1" }
ssi-vc = { path = "./ssi-vc", version = "0.2.0" }
ssi-zcap-ld = { path = "./ssi-zcap-ld", version = "0.1.2" }
ssi-caips = { path = "./ssi-caips", version = "0.1", default-features = false }
[workspace]
members = [
"did-tezos",
"did-jwk",
"did-key",
"did-web",
"did-ethr",
"did-sol",
"did-pkh",
"did-onion",
"did-ion",
"did-webkey",
"vc-test",
"did-test",
"ssi-caips",
"ssi-jwk",
"ssi-core",
"ssi-crypto",
"ssi-json-ld",
"ssi-dids",
"ssi-jws",
"ssi-jwt",
"ssi-tzkey",
"ssi-ssh",
"ssi-ldp",
"ssi-ucan",
"ssi-vc",
"ssi-zcap-ld"
]
[dev-dependencies]
async-std = { version = "1.9", features = ["attributes"] }
uuid = { version = "0.8", features = ["v4", "serde"] }
serde_json = "1.0"
ssi-dids = { path = "./ssi-dids", version = "0.1", features = ["example"] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[workspace.metadata.release]
sign-tag = true
tag-prefix = "{{crate_name}}/"
tag-message = "Release {{crate_name}} version {{version}}."
pre-release-commit-message = "Release"
[workspace.metadata.git-cliff.changelog]
header = """
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
"""
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [Unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}\
{% for commit in commits %}
- [{{ commit.id | truncate(length=7, end="") }}] {{ commit.message }}\
{% endfor %}
{% endfor %}\n
"""
trim = true
[workspace.metadata.git-cliff.git]
commit_preprocessors = [
{ pattern = "\\n.*", replace = ""},
]
conventional_commits = false
filter_unconventional = false
commit_parsers = [
{ message = "^[aA]dd( |ed)", group = "Added"},
{ message = "^[fF]ix", group = "Fixed"},
{ message = "^[cC]hange", group = "Changed"},
{ message = "^[mM]ove", group = "Changed"},
{ message = "^[rR]estructure", group = "Changed"},
{ message = "^[rR]efactor", group = "Changed"},
{ message = "^[rR]emove", group = "Removed"},
{ message = ".*", group = "Other"},
]
tag_pattern = "v[0-9]*"