dmsg_protocol 0.2.0

Deterministic encoding, COSE document verification, and approval helpers for dMsg
Documentation
[package]
name = "dmsg_protocol"
version = "0.2.0"
edition.workspace = true
license.workspace = true
description = "Deterministic encoding, COSE document verification, and approval helpers for dMsg"
repository.workspace = true
readme = "README.md"
keywords = ["dmsg", "icp", "cose", "signing", "protocol"]
categories = ["cryptography", "encoding"]
publish = true

[dependencies]
agent-protocols.workspace = true
serde_json.workspace = true
serde_jcs.workspace = true
ic_auth_verifier = { workspace = true, features = ["envelope"] }
ic-certification.workspace = true
dmsg_types = { path = "../dmsg_types", version = "0.2.0" }
candid.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_bytes.workspace = true
cbor2.workspace = true
cose2 = { workspace = true, features = ["crypto-ed25519-dalek"] }
sha2.workspace = true
ed25519-dalek.workspace = true
ic_bls12_381.workspace = true
icrc-ledger-types.workspace = true
url.workspace = true
mime.workspace = true

chrono = { version = "0.4", default-features = false, features = ["std"] }
num-bigint = "0.4"
num-traits.workspace = true
ic-vetkeys = { version = "=0.9.0", optional = true }
# ic-vetkeys names its key IDs with this release of the management types.
vetkd_key_id = { package = "ic-cdk-management-canister", version = "0.1.1", optional = true }

[features]
# Offline COSE master-key pins for deployment tooling.
cose-pins = ["dep:ic-vetkeys", "dep:vetkd_key_id"]

[dev-dependencies]
ic-verify-bls-signature = "0.6"
ic-canister-sig-creation.workspace = true
hex.workspace = true

[[example]]
name = "cose_pins"
required-features = ["cose-pins"]

[[bench]]
name = "validation"
harness = false