[package]
name = "mx-proto"
version = "0.1.0"
edition.workspace = true
license.workspace = true
description = "Protobuf and gRPC bindings for MultiversX network protocols."
readme = "README.md"
documentation = "https://docs.rs/mx-proto"
keywords = ["multiversx", "protobuf", "grpc", "prost", "blockchain"]
categories = ["encoding", "network-programming", "api-bindings"]
include = [
    "Cargo.toml",
    "README.md",
    "build.rs",
    "examples/**/*.rs",
    "src/**/*.rs",
    "generated/**/*.rs",
]

[lib]
path = "src/lib.rs"

[dependencies]
prost = { workspace = true }
prost-types = { workspace = true }
tonic = { workspace = true }
tonic-prost = "0.14.5"
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
base64 = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
num-bigint = { workspace = true, optional = true }
blake2 = "0.10.6"
bech32 = "0.11"

[build-dependencies]
prost-build = { workspace = true }
tonic-prost-build = { workspace = true }
regex = { workspace = true }
serde_json = { workspace = true }
protoc-bin-vendored = "3.2.0"

[dev-dependencies]
hex = { workspace = true }

[lints]
workspace = true

[features]
default = []
serde = ["dep:serde", "dep:serde_json", "dep:base64", "dep:hex", "dep:num-bigint"]

[package.metadata.docs.rs]
all-features = true
