avalanche-types 0.0.15

Avalanche types
Documentation
[package]
name = "avalanche-types"
version = "0.0.15" # https://crates.io/crates/avalanche-types
edition = "2021"
rust-version = "1.61"
publish = true
description = "Avalanche types"
license = "BSD-3-Clause"
homepage = "https://avax.network"
repository = "https://github.com/ava-labs/avalanche-rust/tree/main/crates/avalanche-types"
readme = "README.md"

[dependencies]
avalanche-utils = { version = "0.0.4", features = ["big_int", "prometheus", "rfc3339"] }
bech32 = "0.9.0"
bitcoin = "0.28.1"
bytes = "1.1.0"
chrono = "0.4.19"
hex = "0.4.3"
lazy_static = "1.4.0"
log = "0.4.17"
num-bigint = "0.4.3"
ring = "0.16.20"
rust-embed = "6.4.0"
rustls-pemfile = "1.0.0"
serde = { version = "1.0.137", features = ["derive"] }
serde_json = "1.0.82"
serde_yaml = "0.8.24"
thiserror = "1.0.31"
zerocopy = "0.6.1"

# for "address"
ethereum-types = { version = "0.13.1" }
ripemd = { version = "0.1.1" }
sha3 = { version = "0.10.1" }

# for "address" + "hot"
secp256k1 = { version = "0.22.1", features = ["global-context", "rand-std", "recovery"] }

# [OPTIONAL] for "cert"
rand = { version = "0.8.5", optional = true }
rcgen = { version = "0.9.2", optional = true }
rsa = { version = "0.6.1", features = ["pem"], optional = true }
rustls = { version = "0.20.6", optional = true } # https://github.com/rustls/rustls/tags

# [OPTIONAL] for "message_compress_gzip"
flate2 = { version = "1.0.24", optional = true }

# [OPTIONAL] for "mnemonic"
bip32 = { version = "0.4.0", optional = true }
rand_core = { version = "0.6.3", features = ["std"], optional = true }

# [OPTIONAL] for "proto"
avalanche-proto = { version = "0.15.1", features = ["aliasreader", "keystore", "sharedmemory", "subnetlookup"], optional = true }
jsonrpc-http-server = {version = "18.0", optional = true}
tokio = { version = "1.19.2", features = ["fs", "rt-multi-thread"], optional = true }
tokio-stream = { version = "0.1.9", features = ["net"], optional = true }
tonic = { version = "0.7.2", features = ["compression"], optional = true }
tonic-health = { version = "0.6.0", optional = true }
tonic-reflection = { version = "0.4.0", optional = true }

[dev-dependencies]
env_logger = "0.9.0"
tempfile = "3.3.0"

[features]
default = ["cert", "jsonrpc", "metrics", "message_compress_gzip", "mnemonic"]
cert = ["rand", "rcgen", "rsa", "rustls"]
message_compress_gzip = ["flate2"]
metrics = []
mnemonic = ["bip32", "rand_core"]
proto = ["avalanche-proto", "jsonrpc-http-server", "tokio", "tokio-stream", "tonic", "tonic-health", "tonic-reflection"]
jsonrpc = []

[[example]]
name = "key_cert"
required-features = ["cert"]

[[example]]
name = "key_hot_mnemonic_derive_load"
required-features = ["mnemonic"]

[[example]]
name = "key_hot_mnemonic_gen_test_data"
required-features = ["mnemonic"]

[[example]]
name = "key_hot_mnemonic_gen"
required-features = ["mnemonic"]

[package.metadata.cargo-udeps.ignore]
normal = ["rsa"]