mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-23 20:19:24 +00:00
b9983bf133
reqwest was replaced with hyper and hyper-rustls within monero-serai due to reqwest *solely* offering a connection pool API. In the process, it was demonstrated how quickly we can achieve equivalent functionality to reqwest for our use cases with a fraction of the code. This adds our own reqwest alternative to the tree, applying it to both bitcoin-serai and message-queue. By doing so, bitcoin-serai decreases its tree by 21 packages and the processor by 18. Cargo.lock decreases by 8 dependencies, solely adding simple-request. Notably removed is openssl-sys and openssl. One noted decrease functionality is the requirement on the system having installed CA certificates. While we could fallback to the rustls certificates if the system doesn't have any, that's blocked by https://github.com/rustls/hyper-rustls/pulls/228.
110 lines
4 KiB
TOML
110 lines
4 KiB
TOML
[package]
|
|
name = "monero-serai"
|
|
version = "0.1.4-alpha"
|
|
description = "A modern Monero transaction library"
|
|
license = "MIT"
|
|
repository = "https://github.com/serai-dex/serai/tree/develop/coins/monero"
|
|
authors = ["Luke Parker <lukeparker5132@gmail.com>"]
|
|
edition = "2021"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[dependencies]
|
|
std-shims = { path = "../../common/std-shims", version = "^0.1.1", default-features = false }
|
|
|
|
async-trait = { version = "0.1", default-features = false }
|
|
thiserror = { version = "1", default-features = false, optional = true }
|
|
|
|
zeroize = { version = "^1.5", default-features = false, features = ["zeroize_derive"] }
|
|
subtle = { version = "^2.4", default-features = false }
|
|
|
|
rand_core = { version = "0.6", default-features = false }
|
|
# Used to send transactions
|
|
rand = { version = "0.8", default-features = false }
|
|
rand_chacha = { version = "0.3", default-features = false }
|
|
# Used to select decoys
|
|
rand_distr = { version = "0.4", default-features = false }
|
|
|
|
sha3 = { version = "0.10", default-features = false }
|
|
pbkdf2 = { version = "0.12", features = ["simple"], default-features = false }
|
|
|
|
curve25519-dalek = { version = "4", default-features = false, features = ["alloc", "zeroize", "precomputed-tables"] }
|
|
|
|
# Used for the hash to curve, along with the more complicated proofs
|
|
group = { version = "0.13", default-features = false }
|
|
dalek-ff-group = { path = "../../crypto/dalek-ff-group", version = "0.4", default-features = false }
|
|
multiexp = { path = "../../crypto/multiexp", version = "0.4", default-features = false, features = ["batch"] }
|
|
|
|
# Needed for multisig
|
|
transcript = { package = "flexible-transcript", path = "../../crypto/transcript", version = "0.3", default-features = false, features = ["recommended"], optional = true }
|
|
dleq = { path = "../../crypto/dleq", version = "0.4", default-features = false, features = ["serialize"], optional = true }
|
|
frost = { package = "modular-frost", path = "../../crypto/frost", version = "0.8", default-features = false, features = ["ed25519"], optional = true }
|
|
|
|
monero-generators = { path = "generators", version = "0.4", default-features = false }
|
|
|
|
futures = { version = "0.3", default-features = false, features = ["alloc"], optional = true }
|
|
|
|
hex-literal = "0.4"
|
|
hex = { version = "0.4", default-features = false, features = ["alloc"] }
|
|
serde = { version = "1", default-features = false, features = ["derive", "alloc"] }
|
|
serde_json = { version = "1", default-features = false, features = ["alloc"] }
|
|
|
|
base58-monero = { version = "2", default-features = false, features = ["check"] }
|
|
|
|
# Used for the provided HTTP RPC
|
|
digest_auth = { version = "0.3", default-features = false, optional = true }
|
|
# Deprecated here means to enable deprecated warnings, not to restore deprecated APIs
|
|
hyper = { version = "0.14", default-features = false, features = ["http1", "tcp", "client", "backports", "deprecated"], optional = true }
|
|
hyper-rustls = { version = "0.24", default-features = false, features = ["http1", "native-tokio"], optional = true }
|
|
tokio = { version = "1", default-features = false, optional = true }
|
|
|
|
[build-dependencies]
|
|
dalek-ff-group = { path = "../../crypto/dalek-ff-group", version = "0.4", default-features = false }
|
|
monero-generators = { path = "generators", version = "0.4", default-features = false }
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["sync", "macros"] }
|
|
|
|
frost = { package = "modular-frost", path = "../../crypto/frost", features = ["tests"] }
|
|
|
|
[features]
|
|
std = [
|
|
"std-shims/std",
|
|
|
|
"thiserror",
|
|
|
|
"zeroize/std",
|
|
"subtle/std",
|
|
|
|
"rand_core/std",
|
|
"rand/std",
|
|
"rand_chacha/std",
|
|
"rand_distr/std",
|
|
|
|
"sha3/std",
|
|
"pbkdf2/std",
|
|
|
|
"multiexp/std",
|
|
|
|
"transcript/std",
|
|
"dleq/std",
|
|
|
|
"monero-generators/std",
|
|
|
|
"futures/std",
|
|
|
|
"hex/std",
|
|
"serde/std",
|
|
"serde_json/std",
|
|
|
|
"base58-monero/std",
|
|
]
|
|
|
|
http-rpc = ["digest_auth", "hyper", "hyper-rustls", "tokio/time", "tokio/rt"]
|
|
multisig = ["transcript", "frost", "dleq", "std"]
|
|
binaries = ["tokio/rt-multi-thread", "tokio/macros", "http-rpc"]
|
|
experimental = []
|
|
|
|
default = ["std", "http-rpc"]
|