[package]
name = "avalanche-types"
version = "0.0.229"
edition = "2021"
rust-version = "1.66"
publish = true
description = "Avalanche primitive types in Rust"
license = "BSD-3-Clause"
homepage = "https://avax.network"
repository = "https://github.com/ava-labs/avalanche-types-rs"
readme = "README.md"
[dependencies]
async-trait = "0.1.63"
bech32 = "0.9.1"
bs58 = "0.4.0"
bytes = "1.3.0"
chrono = "0.4.23"
cmp-manager = "0.0.1"
ethers-core = { version = "1.0.2", features = ["eip712"] }
hex = "0.4.3"
hmac = "0.12.1"
k256 = "0.12.0"
lazy_static = "1.4.0"
log = "0.4.17"
prefix-manager = "0.0.2"
primitive-types = { version = "0.12.1", features = ["impl-serde"] }
rand = "0.8.5"
ring = "0.16.20"
ripemd = "0.1.3"
rust-embed = "6.4.2"
rustls-pemfile = "1.0.2"
serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0.91"
serde_with = { version = "2.2.0", features = ["hex"] }
serde_yaml = "0.9.17"
sha2 = "0.10.6"
sha3 = "0.10.6"
spki = "0.6.0"
thiserror = "1.0.38"
zerocopy = "0.6.1"
secp256k1 = { version = "0.26.0", features = ["global-context", "rand-std", "recovery"], optional = true }
aws-manager = { version = "0.23.2", features = ["kms"], optional = true }
aws-sdk-kms = { version = "0.23.0", optional = true }
aws-smithy-types = { version = "0.53.1", optional = true }
rcgen = { version = "0.10.0", optional = true }
rsa = { version = "0.8.1", features = ["pem"], optional = true }
rustls = { version = "0.20.8", optional = true }
flate2 = { version = "1.0.25", optional = true }
bip32 = { version = "0.4.0", optional = true }
rand_core = { version = "0.6.4", features = ["std"], optional = true }
http-manager = { version = "0.0.8", optional = true }
tokio = { version = "1.24.2", features = ["full"], optional = true }
url = { version = "2.3.1", optional = true }
rlp = { version = "0.5.2", default-features = false, features = ["std"], optional = true }
ethers = { version = "1.0.2", features = ["eip712"], optional = true }
ethers-providers = { version = "1.0.2", optional = true }
ethers-signers = { version = "1.0.2", optional = true }
futures = { version = "0.3.25", optional = true }
http = { version = "0.2.8", optional = true }
hyper = { version = "0.14.23", optional = true }
jsonrpc-core = { version = "18.0.0", optional = true }
jsonrpc-http-server = { version = "18.0.0", optional = true }
num-derive = { version = "0.3.3", optional = true }
num-traits = { version = "0.2.15", optional = true }
prost = { version = "0.11.6", optional = true }
semver = { version = "1.0.16", optional = true }
tokio-stream = { version = "0.1.11", features = ["net"], optional = true }
tonic = { version = "0.8.3", features = ["gzip"], optional = true }
tonic-health = { version = "0.8.0", optional = true }
tonic-reflection = { version = "0.6.0", optional = true }
tower-service = { version = "0.3.2", optional = true }
prometheus = { version = "0.13.3", default-features = false, features = ["process"], optional = true }
base64 = { version = "0.21.0", optional = true }
num-bigint = { version = "0.4.3", optional = true }
[build-dependencies]
protoc-gen-prost = "0.2.1"
protoc-gen-tonic = "0.2.1"
[dev-dependencies]
env_logger = "0.10.0"
id-manager = "0.0.2"
random-manager = "0.0.2"
tempfile = "3.3.0"
tokio-stream = { version = "0.1.11", features = ["net"] }
tokio-test = "0.4.2"
[package.metadata.docs.rs]
features = ["subnet", "subnet_metrics"]
[features]
default = [
]
avalanchego = []
cert = ["rcgen", "rsa", "rustls"]
codec_base64 = ["base64"]
codec_big_int = ["num-bigint"]
evm = ["ethers", "ethers-signers", "rlp"]
jsonrpc_client = ["http-manager", "ethers-providers", "tokio"]
kms_aws = ["aws-manager", "aws-sdk-kms", "aws-smithy-types", "ethers-signers"]
libsecp256k1 = ["secp256k1"]
mnemonic = ["bip32", "rand_core"]
subnet_evm = []
wallet = ["http-manager", "tokio", "url"]
wallet_evm = ["ethers", "ethers-providers", "ethers-signers", "tokio", "jsonrpc_client"]
xsvm = []
proto = [
"prost",
"tonic",
]
message = [
"flate2",
"proto",
]
subnet = [
"futures",
"http",
"hyper",
"jsonrpc-core",
"num-derive",
"num-traits",
"prost",
"semver",
"tokio",
"tokio-stream",
"tonic",
"tonic-health",
"tonic-reflection",
"tower-service",
"proto",
]
subnet_metrics = [
"prometheus",
"subnet"
]
[[example]]
name = "evm_contract_abi_calldata"
required-features = ["evm"]
[[example]]
name = "evm_eip712_gsn_domain_separator"
required-features = ["evm"]
[[example]]
name = "evm_eip712_gsn_request_type_hash"
required-features = ["evm"]
[[example]]
name = "evm_contract_counter_increment"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_counter_increment_append_calldata"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_forwarder_proxy_call_counter_increment"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_forwarder_proxy_call_counter_increment_append_calldata"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_forwarder_execute_counter_increment"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_counter_relay_eip712"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_registry"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_contract_registry_relay_eip712"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_send_raw_transaction_eip1559_hot_key"
required-features = ["jsonrpc_client", "evm"]
[[example]]
name = "evm_send_raw_transaction_eip1559_kms_aws"
required-features = ["jsonrpc_client", "evm", "kms_aws"]
[[example]]
name = "wallet_evm_send_transaction_hot_key"
required-features = ["jsonrpc_client", "wallet", "wallet_evm"]
[[example]]
name = "jsonrpc_client_evm"
required-features = ["jsonrpc_client", "wallet", "wallet_evm"]
[[example]]
name = "jsonrpc_client_info"
required-features = ["jsonrpc_client"]
[[example]]
name = "jsonrpc_client_p"
required-features = ["jsonrpc_client"]
[[example]]
name = "jsonrpc_client_x"
required-features = ["jsonrpc_client"]
[[example]]
name = "key_cert"
required-features = ["cert"]
[[example]]
name = "key_secp256k1_kms_aws"
required-features = ["kms_aws"]
[[example]]
name = "key_secp256k1_mnemonic_derive_load"
required-features = ["mnemonic"]
[[example]]
name = "proto_client"
required-features = ["proto", "subnet"]
[[example]]
name = "proto_server"
required-features = ["proto", "subnet"]
[[test]]
name = "integration"
path = "tests/integration_tests.rs"
required-features = ["subnet"]
[lib]
doctest = false
[package.metadata.cargo-udeps.ignore]
build = ["protoc-gen-prost", "protoc-gen-tonic"]
development = ["id-manager", "tokio-test", "tonic-reflection", "tempfile"]
normal = ["rsa", "rustls-pemfile"]