[package]
name = "transact"
version = "0.4.1"
authors = ["Bitwise IO, Inc.", "Cargill Incorporated"]
edition = "2018"
license = "Apache-2.0"
readme = "../README.md"
description = """\
Transact is a transaction execution platform designed to be used as \
a library or component when implementing distributed ledgers, including \
blockchains.
"""
repository = "http://github.com/hyperledger/transact"
[dependencies]
bzip2 = { version = "0.4", optional = true }
cbor-codec = { version = "0.7", optional = true }
chrono = { version = "0.4", optional = true }
cylinder = { version = "0.2", optional = true }
diesel = { version = "~1.4.7", features = ["r2d2"], optional = true }
diesel_migrations = { version = "1.4", optional = true }
glob = { version = "0.3", optional = true }
hex = "0.4"
lazy_static = { version = "1.4.0", optional = true }
libc = ">=0.2.35"
lmdb-zero = { version = ">=0.4.1", optional = true }
log = { version = "0.4", optional = true, features = ["std"] }
protobuf = "2.23"
rand = { version = "0.8", optional = true }
reqwest = { version = "0.11", features = ["blocking", "json"], optional = true}
sabre-sdk = { version ="0.7.1", optional = true }
sawtooth-sdk = { version = "0.5", optional = true }
semver = { version = "1", optional = true }
serde = { version = "1.0", optional = true }
serde_derive = { version = "1.0", optional = true }
serde_json = { version = "1", optional = true }
serde_yaml = { version = "0.8", optional = true }
sha2 = "0.9"
tar = { version = "0.4", optional = true }
uuid = { version = "0.8", optional = true, features = ["v4"] }
yaml-rust = { version = "0.4", optional = true }
[dev-dependencies]
rusty-fork = "0.3"
sawtooth-xo = "0.5"
serial_test = "0.5"
tempdir = "0.3"
[build-dependencies]
protoc-rust = "2.14"
[features]
default = [
"context",
"database-lmdb",
"execution",
"handler",
"protocol-batch",
"protocol-batch-builder",
"protocol-transaction",
"protocol-transaction-builder",
"scheduler",
"state-merkle",
]
stable = [
"default",
"contract-archive",
"family-command",
"family-command-workload",
"family-smallbank",
"postgres",
"protocol-sabre",
"sqlite",
"state-merkle-sql",
"workload",
"workload-batch-gen",
"workload-runner"
]
experimental = [
"stable",
"contract",
"contract-address",
"contract-address-double-key-hash",
"contract-address-key-hash",
"contract-address-triple-key-hash",
"contract-context",
"contract-context-key-value",
"family-smallbank-workload",
"family-xo",
"key-value-state"
]
wasm = [
"sabre-compat",
]
wasm-experimental = [
"wasm",
]
nightly = []
context = ["uuid"]
contract = []
contract-address = ["contract"]
contract-address-key-hash = ["contract-address"]
contract-address-double-key-hash = ["contract-address"]
contract-address-triple-key-hash = ["contract-address"]
contract-archive = ["bzip2", "contract", "glob", "semver", "serde", "serde_derive", "serde_yaml", "tar"]
contract-context = ["contract", "contract-address"]
contract-context-key-value = ["contract-context", "key-value-state"]
database-lmdb = ["lmdb-zero"]
execution = ["context", "handler", "log", "protocol-transaction", "scheduler"]
family-command = ["handler"]
family-command-workload = [
"cylinder",
"family-command",
"protocol-sabre",
"protocol-transaction-builder",
"workload",
]
family-smallbank = ["handler"]
family-smallbank-workload = [
"family-smallbank",
"protocol-sabre",
"rand",
"yaml-rust",
"workload",
"workload-runner"
]
family-xo = ["handler", "workload"]
handler = ["protocol-transaction"]
key-value-state = []
postgres = ["diesel/postgres"]
protocol-batch = ["protocol-transaction"]
protocol-batch-builder = ["cylinder", "protocol-batch"]
protocol-transaction = []
protocol-transaction-builder = ["cylinder", "protocol-transaction", "protocol-batch-builder", "rand"]
protocol-sabre = []
sabre-compat = ["sabre-sdk"]
sawtooth-compat = ["sawtooth-sdk"]
scheduler = ["context", "log", "protocol-batch"]
sqlite = ["diesel/sqlite", "serde", "serde_derive", "serde_json"]
state-merkle = ["cbor-codec", "log"]
state-merkle-sql = ["diesel", "diesel_migrations"]
state-merkle-sql-postgres-tests = ["postgres", "lazy_static"]
workload = []
workload-batch-gen = ["workload"]
workload-runner = [
"chrono",
"reqwest",
"serde",
"serde_derive"
]
[package.metadata.docs.rs]
features = [
"default",
"nightly",
"experimental",
"sawtooth-compat",
"stable",
]