[package]
edition = "2024"
rust-version = "1.95.0"
name = "chainfold"
version = "0.3.0"
build = false
include = [
"src/**/*.rs",
"benches/**/*.rs",
"examples/**/*.rs",
"tests/**/*.rs",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "event-sourced chain fold engine: total order, fork recovery, durable snapshots"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ethsystems/works"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
docs = ["dep:include-utils"]
serde = ["dep:serde"]
std = [
"serde?/std",
"wincode?/std",
"dep:crc-fast",
"crc-fast/std",
]
storage = [
"std",
"wincode",
]
test-helpers = []
tokio = [
"std",
"dep:tokio",
]
wincode = [
"dep:wincode",
"dep:crc",
]
[lib]
name = "chainfold"
path = "src/lib.rs"
[[example]]
name = "replay"
path = "examples/replay.rs"
required-features = [
"tokio",
"storage",
"test-helpers",
]
[[test]]
name = "apply_alloc"
path = "tests/apply_alloc.rs"
[[test]]
name = "restart_identity"
path = "tests/restart_identity.rs"
[[test]]
name = "storage_crash"
path = "tests/storage_crash.rs"
[[bench]]
name = "apply"
path = "benches/apply.rs"
harness = false
required-features = [
"std",
"test-helpers",
]
[[bench]]
name = "snapshot"
path = "benches/snapshot.rs"
harness = false
required-features = [
"std",
"wincode",
"test-helpers",
]
[dependencies.crc]
version = "3.4"
optional = true
default-features = false
[dependencies.crc-fast]
version = "1.10"
optional = true
default-features = false
[dependencies.include-utils]
version = "0.2.4"
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = [
"sync",
"rt",
]
optional = true
default-features = false
[dependencies.wincode]
version = "0.6"
features = [
"alloc",
"derive",
]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.8"
features = [
"cargo_bench_support",
"html_reports",
"plotters",
]
default-features = false
[dev-dependencies.proptest]
version = "1"
features = [
"std",
"fork",
"timeout",
"bit-set",
]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"sync",
"rt",
"macros",
"time",
]
default-features = false