[package] name = "avalanche-proto" # must be consistent with "protocolVersion" in "avalanchego/vms/rpcchainvm" # ref. https://github.com/ava-labs/avalanchego/blob/v1.8.6/vms/rpcchainvm/vm.go#L21 version = "0.19.0" edition = "2021" rust-version = "1.65" publish = true description = "Protobuf generated client and server resources for Avalanche gRPC in rust" license = "BSD-3-Clause" homepage = "https://avax.network" repository = "https://github.com/ava-labs/avalanche-rust/tree/main/crates/avalanche-proto" readme = "README.md" [dependencies] bytes = "1.2.1" chrono = "0.4.22" prost = "0.11.2" tonic = { version = "0.8.2", features = ["gzip"] } # https://github.com/hyperium/tonic/tags [dev-dependencies] tokio = { version = "1.21.2", features = ["fs", "rt-multi-thread"] } # https://github.com/tokio-rs/tokio/releases tokio-stream = { version = "0.1.11", features = ["net"] } tonic-reflection = "0.5.0" [build-dependencies] protoc-gen-prost = "0.2.0" protoc-gen-tonic = "0.2.0" [features] default = ["proto_full"] proto_full = [ "aliasreader", "appsender", "google_protobuf", "http", "http_responsewriter", "io_prometheus_client", "io_reader", "io_writer", "keystore", "messenger", "net_conn", "p2p", "plugin", "rpcdb", "sharedmemory", "subnetlookup", "validatorstate", "vm" ] aliasreader = [] appsender = ["google_protobuf"] google_protobuf = [] helloworld = [] http = [] http_responsewriter = ["google_protobuf"] io_prometheus_client = [] io_reader = [] io_writer = [] keystore = [] messenger = [] net_conn = ["google_protobuf"] p2p = [] plugin = ["google_protobuf"] rpcdb = ["google_protobuf"] sharedmemory = [] subnetlookup = [] validatorstate = ["google_protobuf"] vm = ["io_prometheus_client", "google_protobuf"] [[example]] name = "client" required-features = ["helloworld"] [[example]] name = "server" required-features = ["helloworld"] # Prevent cargo-udeps failing with the build dependencies. Without the protoc # plugins it will fail to compile tonic-health and possibly others. [package.metadata.cargo-udeps.ignore] development = ["tonic-reflection"] build = ["protoc-gen-prost", "protoc-gen-tonic"] # Disable doc tests # Docs included with generated files results in failed unit tests. [lib] doctest = false