[package]
name = "casper-types"
version = "0.9.4" # when updating, also update 'html_root_url' in lib.rs
authors = ["Fraser Hutchison <fraser@casperlabs.io>"]
edition = "2018"
description = "Types used to allow creation of Wasm contracts and tests for use on the Casper network."
readme = "README.md"
documentation = "https://docs.rs/casper-types"
homepage = "https://casperlabs.io"
repository = "https://github.com/CasperLabs/casper-node/tree/master/types"
license-file = "../LICENSE"

[dependencies]
base16 = { version = "0.2.1", default-features = false }
base64 = { version = "0.13.0", default-features = false }
bitflags = "1"
blake2 = { version = "0.9.0", default-features = false }
datasize = { version = "0.2.4", default-features = false }
ed25519-dalek = { version = "1.0.0", default-features = false, features = ["rand", "u64_backend"] }
thiserror = { version = "1.0.20", default-features = false, optional = true }
hex = { version = "0.4.2", default-features = false }
hex_fmt = "0.3.0"
k256 = { version = "0.7.2", default-features = false, features = ["ecdsa", "zeroize"] }
num-derive = { version = "0.3.0", default-features = false }
num-integer = { version = "0.1.42", default-features = false }
num-rational = { version = "0.3.0", default-features = false }
num-traits = { version = "0.2.10", default-features = false }
proptest = { version = "0.10.0", optional = true }
rand = { version = "0.8.3", default-features = false, features = ["small_rng"] }
schemars = { version = "0.8.0", features = ["preserve_order"], optional = true }
serde = { version = "1", default-features = false, features = ["derive"] }
serde_json = { version = "1.0.59", default-features = false }
uint = { version = "0.8.3", default-features = false }
once_cell = "1.5.2"
displaydoc = { version = "0.1", default-features = false, optional = true }

[dev-dependencies]
bincode = "1.3.1"
criterion = "0.3.3"
getrandom = { version = "0.2.0", features = ["rdrand"] }
proptest = "0.10.0"
serde_json = "1.0.55"
version-sync = "0.9"
serde_test = "1.0.117"

[features]
default = ["base16/alloc", "hex/alloc", "serde/alloc", "serde_json/alloc", "displaydoc"]
std = [
    "base16/std",
    "base64/std",
    "ed25519-dalek/std",
    "ed25519-dalek/serde",
    "hex/std",
    "k256/std",
    "serde/std",
    "serde_json/std",
    "schemars",
    "thiserror"
]
gens = ["std", "proptest/std"]

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

