# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "sbo3l-core"
version = "1.2.1"
authors = ["Daniel Babjak <babjak_daniel@hotmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SBO3L core: protocol types, request hashing, error model, signed receipts."
homepage = "https://github.com/B2JK-Industry/SBO3L-ethglobal-openagents-2026"
documentation = "https://docs.rs/sbo3l-core"
readme = "README.md"
keywords = [
    "sbo3l",
    "ed25519",
    "audit",
    "policy",
    "agent",
]
categories = [
    "cryptography",
    "data-structures",
]
license = "MIT"
repository = "https://github.com/B2JK-Industry/SBO3L-ethglobal-openagents-2026"

[package.metadata.wasm-pack.profile.release]
wasm-opt = false

[features]
aws_kms = []
default = []
eth_kms_aws = [
    "eth_signer",
    "dep:aws-sdk-kms",
    "dep:aws-config",
    "dep:aws-smithy-types",
    "dep:aws-smithy-mocks",
    "dep:aws-smithy-runtime-api",
    "dep:tokio",
    "dep:async-trait",
]
eth_kms_gcp = [
    "eth_signer",
    "dep:google-cloud-kms",
    "dep:google-cloud-auth",
    "dep:google-cloud-googleapis",
    "dep:async-trait",
    "dep:tokio",
    "dep:base64",
]
eth_signer = [
    "dep:k256",
    "dep:tiny-keccak",
]
gcp_kms = []
phala_tee = []

[lib]
name = "sbo3l_core"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[test]]
name = "adversarial_capsule_fixtures"
path = "tests/adversarial_capsule_fixtures.rs"

[[test]]
name = "aws_kms_live"
path = "tests/aws_kms_live.rs"

[[test]]
name = "eth_signer_integration"
path = "tests/eth_signer_integration.rs"

[[test]]
name = "gcp_kms_live"
path = "tests/gcp_kms_live.rs"

[[test]]
name = "proptest_invariants"
path = "tests/proptest_invariants.rs"

[[test]]
name = "sdk_conformance"
path = "tests/sdk_conformance.rs"

[dependencies.async-trait]
version = "0.1"
optional = true

[dependencies.aws-config]
version = "1"
features = [
    "rt-tokio",
    "rustls",
]
optional = true
default-features = false

[dependencies.aws-sdk-kms]
version = "1"
features = [
    "rt-tokio",
    "rustls",
]
optional = true
default-features = false

[dependencies.aws-smithy-mocks]
version = "0.2"
optional = true

[dependencies.aws-smithy-runtime-api]
version = "1"
optional = true

[dependencies.aws-smithy-types]
version = "1"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.blake3]
version = "1.8.5"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.curve25519-dalek]
version = "4.1.3"
features = [
    "rand_core",
    "digest",
]

[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]

[dependencies.frost-ed25519]
version = "3"
features = ["serialization"]

[dependencies.google-cloud-auth]
version = "0.17"
features = ["rustls-tls"]
optional = true
default-features = false

[dependencies.google-cloud-googleapis]
version = "0.16"
optional = true

[dependencies.google-cloud-kms]
version = "0.6"
features = [
    "rustls-tls",
    "auth",
]
optional = true
default-features = false

[dependencies.hex]
version = "0.4"

[dependencies.jsonschema]
version = "0.17"
default-features = false

[dependencies.k256]
version = "0.13"
features = ["ecdsa"]
optional = true

[dependencies.rand]
version = "0.8"

[dependencies.rust_decimal]
version = "1"
features = ["serde-with-str"]

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_json_canonicalizer]
version = "0.3"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "1"

[dependencies.tiny-keccak]
version = "2"
features = ["keccak"]
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
]
optional = true

[dependencies.ulid]
version = "1"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.tempfile]
version = "3"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
