2019-08-29 14:46:54 -07:00
|
|
|
[package]
|
|
|
|
name = "zebra-rpc"
|
2024-10-11 10:21:07 -07:00
|
|
|
version = "1.0.0-beta.40"
|
2019-10-08 09:25:59 -07:00
|
|
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
2023-06-13 01:46:01 -07:00
|
|
|
description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface"
|
2019-10-08 09:25:59 -07:00
|
|
|
license = "MIT OR Apache-2.0"
|
2023-06-13 01:46:01 -07:00
|
|
|
repository = "https://github.com/ZcashFoundation/zebra"
|
Enforce Rust edition 2021 (#3332)
* Rust edition 2021: zebra-network, cargo fix --edition and clippy --fix
* Rust edition 2021: zebra-chain, cargo fix --edition
* Rust edition 2021: tower-batch, cargo fix --edition
* Rust edition 2021: tower-fallback, cargo fix --edition
* Rust edition 2021: zebra-client, cargo fix --edition
* Rust edition 2021: zebra-consensus, cargo fix --edition
* Rust edition 2021: zebra-rpc, cargo fix --edition
* Rust edition 2021: zebra-state, cargo fix --edition
* Rust edition 2021: zebra-state, cargo fix --edition
* Rust edition 2021: zebra-test, cargo fix --edition
* Rust edition 2021: zebra-utils, cargo fix --edition
* Rust edition 2021: zebrad, cargo fix --edition
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-14 04:10:18 -08:00
|
|
|
edition = "2021"
|
2019-08-29 14:46:54 -07:00
|
|
|
|
2023-06-13 01:46:01 -07:00
|
|
|
readme = "../README.md"
|
|
|
|
homepage = "https://zfnd.org/zebra/"
|
|
|
|
# crates.io is limited to 5 keywords and categories
|
|
|
|
keywords = ["zebra", "zcash"]
|
|
|
|
# Must be one of <https://crates.io/category_slugs>
|
2024-07-16 05:25:31 -07:00
|
|
|
categories = [
|
|
|
|
"asynchronous",
|
|
|
|
"cryptography::cryptocurrencies",
|
|
|
|
"encoding",
|
|
|
|
"network-programming",
|
|
|
|
]
|
2019-08-29 14:46:54 -07:00
|
|
|
|
2022-03-30 11:23:55 -07:00
|
|
|
[features]
|
2022-11-08 23:36:10 -08:00
|
|
|
|
2024-07-16 05:25:31 -07:00
|
|
|
indexer-rpcs = [
|
|
|
|
"tonic-build",
|
|
|
|
"tonic",
|
|
|
|
"tonic-reflection",
|
|
|
|
"prost",
|
|
|
|
"tokio-stream",
|
|
|
|
]
|
|
|
|
|
2022-11-08 23:36:10 -08:00
|
|
|
# Production features that activate extra dependencies, or extra features in dependencies
|
|
|
|
|
2024-01-11 06:41:01 -08:00
|
|
|
# Mining RPC support
|
2022-11-08 23:36:10 -08:00
|
|
|
getblocktemplate-rpcs = [
|
2023-02-02 18:26:58 -08:00
|
|
|
"zcash_address",
|
2022-11-08 23:36:10 -08:00
|
|
|
"zebra-consensus/getblocktemplate-rpcs",
|
|
|
|
"zebra-state/getblocktemplate-rpcs",
|
|
|
|
"zebra-node-services/getblocktemplate-rpcs",
|
|
|
|
"zebra-chain/getblocktemplate-rpcs",
|
|
|
|
]
|
2022-11-02 20:25:01 -07:00
|
|
|
|
2024-01-11 06:41:01 -08:00
|
|
|
# Experimental internal miner support
|
|
|
|
internal-miner = []
|
|
|
|
|
2022-11-02 20:25:01 -07:00
|
|
|
# Test-only features
|
2022-11-08 23:36:10 -08:00
|
|
|
proptest-impl = [
|
|
|
|
"proptest",
|
|
|
|
"zebra-consensus/proptest-impl",
|
|
|
|
"zebra-state/proptest-impl",
|
2023-01-19 01:12:31 -08:00
|
|
|
"zebra-network/proptest-impl",
|
2022-11-08 23:36:10 -08:00
|
|
|
"zebra-chain/proptest-impl",
|
|
|
|
]
|
2022-03-30 11:23:55 -07:00
|
|
|
|
2019-08-29 14:46:54 -07:00
|
|
|
[dependencies]
|
2024-07-16 05:25:31 -07:00
|
|
|
chrono = { version = "0.4.38", default-features = false, features = [
|
|
|
|
"clock",
|
|
|
|
"std",
|
|
|
|
] }
|
2024-01-01 17:26:54 -08:00
|
|
|
futures = "0.3.30"
|
2022-02-22 03:26:29 -08:00
|
|
|
|
|
|
|
jsonrpc-core = "18.0.0"
|
|
|
|
jsonrpc-derive = "18.0.0"
|
|
|
|
jsonrpc-http-server = "18.0.0"
|
2022-09-03 22:03:15 -07:00
|
|
|
|
2022-03-25 05:25:31 -07:00
|
|
|
# zebra-rpc needs the preserve_order feature in serde_json, which is a dependency of jsonrpc-core
|
2024-10-07 13:11:13 -07:00
|
|
|
serde_json = { version = "1.0.128", features = ["preserve_order"] }
|
|
|
|
indexmap = { version = "2.5.0", features = ["serde"] }
|
2022-02-22 03:26:29 -08:00
|
|
|
|
2024-10-22 02:45:26 -07:00
|
|
|
# RPC endpoint basic auth
|
|
|
|
base64 = "0.22.1"
|
|
|
|
rand = "0.8.5"
|
|
|
|
|
|
|
|
# Error handling
|
|
|
|
color-eyre = "0.6.3"
|
|
|
|
|
2024-10-07 13:11:13 -07:00
|
|
|
tokio = { version = "1.40.0", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"time",
|
|
|
|
"rt-multi-thread",
|
|
|
|
"macros",
|
|
|
|
"tracing",
|
|
|
|
] }
|
2022-06-21 10:12:19 -07:00
|
|
|
tower = "0.4.13"
|
2022-02-22 03:26:29 -08:00
|
|
|
|
2024-07-16 05:25:31 -07:00
|
|
|
# indexer-rpcs dependencies
|
2024-10-07 13:11:13 -07:00
|
|
|
tonic = { version = "0.12.3", optional = true }
|
|
|
|
tonic-reflection = { version = "0.12.3", optional = true }
|
|
|
|
prost = { version = "0.13.3", optional = true }
|
|
|
|
tokio-stream = { version = "0.1.16", optional = true }
|
2024-07-16 05:25:31 -07:00
|
|
|
|
2023-10-16 13:13:38 -07:00
|
|
|
tracing = "0.1.39"
|
2022-02-22 03:26:29 -08:00
|
|
|
|
2022-03-08 01:14:21 -08:00
|
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
2024-10-07 13:11:13 -07:00
|
|
|
serde = { version = "1.0.210", features = ["serde_derive"] }
|
2022-02-28 19:32:32 -08:00
|
|
|
|
2024-09-18 13:14:41 -07:00
|
|
|
# For the `stop` RPC method.
|
|
|
|
nix = { version = "0.29.0", features = ["signal"] }
|
2024-07-16 05:25:31 -07:00
|
|
|
|
2024-08-23 17:55:57 -07:00
|
|
|
zcash_primitives = { workspace = true, features = ["transparent-inputs"] }
|
2024-05-22 06:31:52 -07:00
|
|
|
|
2023-02-02 18:26:58 -08:00
|
|
|
# ECC deps used by getblocktemplate-rpcs feature
|
2024-08-23 17:55:57 -07:00
|
|
|
zcash_address = { workspace = true, optional = true}
|
2022-12-01 13:57:22 -08:00
|
|
|
|
|
|
|
# Test-only feature proptest-impl
|
2023-11-14 17:03:57 -08:00
|
|
|
proptest = { version = "1.4.0", optional = true }
|
2022-03-30 11:23:55 -07:00
|
|
|
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"json-conversion",
|
|
|
|
] }
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.40" }
|
|
|
|
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.40" }
|
|
|
|
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"rpc-client",
|
|
|
|
] }
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.40" }
|
|
|
|
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.40" }
|
2022-08-28 10:08:27 -07:00
|
|
|
|
2024-07-16 05:25:31 -07:00
|
|
|
[build-dependencies]
|
2024-10-07 13:11:13 -07:00
|
|
|
tonic-build = { version = "0.12.3", optional = true }
|
2024-07-16 05:25:31 -07:00
|
|
|
|
2022-02-28 19:32:32 -08:00
|
|
|
[dev-dependencies]
|
2024-10-07 13:11:13 -07:00
|
|
|
insta = { version = "1.40.0", features = ["redactions", "json", "ron"] }
|
2022-12-15 07:33:00 -08:00
|
|
|
|
2023-11-14 17:03:57 -08:00
|
|
|
proptest = "1.4.0"
|
2022-06-14 23:43:20 -07:00
|
|
|
|
2024-10-07 13:11:13 -07:00
|
|
|
thiserror = "1.0.64"
|
|
|
|
tokio = { version = "1.40.0", features = ["full", "tracing", "test-util"] }
|
2022-02-28 19:32:32 -08:00
|
|
|
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"proptest-impl",
|
|
|
|
] }
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"proptest-impl",
|
|
|
|
] }
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"proptest-impl",
|
|
|
|
] }
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.40", features = [
|
2024-07-16 05:25:31 -07:00
|
|
|
"proptest-impl",
|
|
|
|
] }
|
2023-01-19 01:12:31 -08:00
|
|
|
|
2024-10-11 10:21:07 -07:00
|
|
|
zebra-test = { path = "../zebra-test", version = "1.0.0-beta.40" }
|