[package]
name = "sumchain-primitives"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
description = "Core primitive types and on-chain wire formats for SUM Chain (an L1 blockchain): addresses, hashes, blocks, transactions, receipts, and subprotocol payloads including the OmniNode InferenceAttestation suite."
keywords = ["sumchain", "blockchain", "primitives", "l1", "wire"]
categories = ["cryptography::cryptocurrencies", "data-structures", "encoding"]

[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
bincode = { workspace = true }
hex = { workspace = true }
bs58 = { workspace = true }
blake3 = { workspace = true }
thiserror = { workspace = true }
derive_more = { workspace = true }
serde-big-array = "0.5"
# Used only by `inference_attestation::verify_attestation_signature` to verify
# the inner OmniNode Stage 6 attestation signature without taking a circular
# dependency on `sumchain-crypto` (which depends on primitives).
ed25519-dalek = { workspace = true }

[dev-dependencies]
rand = { workspace = true }
