rhyperliquid 0.2.0

Rust SDK and client for the Hyperliquid exchange API
Documentation
[badges.maintenance]
status = "actively-developed"

[[bin]]
name = "cli"
path = "src/bin/cli.rs"
required-features = ["cli"]

[dependencies.alloy]
features = ["full"]
version = "1"

[dependencies.alloy-primitives]
features = ["serde"]
version = "0.8.0"

[dependencies.anyhow]
version = "1.0"

[dependencies.async-trait]
version = "0.1"

[dependencies.clap]
features = ["derive"]
version = "4.5.53"

[dependencies.futures]
version = "0.3.31"

[dependencies.futures-util]
features = ["sink"]
version = "0.3.31"

[dependencies.once_cell]
version = "1.19"

[dependencies.reqwest]
features = ["json", "rustls-tls"]
version = "=0.12.23"

[dependencies.rmp-serde]
version = "1.3.0"

[dependencies.rust_decimal]
features = ["serde", "serde-float", "serde-str", "serde-with-str"]
version = "1.35"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
features = ["preserve_order"]
version = "1.0"

[dependencies.serde_with]
version = "3"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
features = ["full"]
version = "1.38"

[dependencies.tokio-tungstenite]
features = ["native-tls"]
version = "0.28.0"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3.22"

[dependencies.url]
version = "2.5"

[dev-dependencies.tokio-test]
version = "0.4"

[[example]]
name = "account_status"
path = "examples/account_status.rs"

[[example]]
name = "account_transfers"
path = "examples/account_transfers.rs"

[[example]]
name = "advanced_order"
path = "examples/advanced_order.rs"

[[example]]
name = "aligned_quote_token_status"
path = "examples/aligned_quote_token_status.rs"

[[example]]
name = "basic_order"
path = "examples/basic_order.rs"

[[example]]
name = "leverage_position"
path = "examples/leverage_position.rs"

[[example]]
name = "perp_market_data"
path = "examples/perp_market_data.rs"

[[example]]
name = "spot_market_data"
path = "examples/spot_market_data.rs"

[[example]]
name = "subscriptions"
path = "examples/subscriptions.rs"

[[example]]
name = "twap_order"
path = "examples/twap_order.rs"

[[example]]
name = "vault_details"
path = "examples/vault_details.rs"

[features]
cli = []
default = []

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

[lints.clippy]
absolute_paths = "allow"
arbitrary_source_item_ordering = "allow"
arithmetic_side_effects = "deny"
as_conversions = "warn"
blanket_clippy_restriction_lints = "allow"
cast_possible_truncation = "deny"
cast_precision_loss = "deny"
dbg_macro = "deny"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
exhaustive_enums = "allow"
exhaustive_structs = "allow"
expect_used = "allow"
float_cmp = "deny"
float_cmp_const = "deny"
implicit_return = "allow"
inconsistent_struct_constructor = "allow"
indexing_slicing = "deny"
lossy_float_literal = "deny"
map_unwrap_or = "allow"
match_same_arms = "allow"
min_ident_chars = "allow"
missing_const_for_fn = "allow"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_inline_in_public_items = "allow"
missing_panics_doc = "allow"
mod_module_files = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
needless_borrow = "allow"
panic = "deny"
print_stderr = "allow"
print_stdout = "allow"
pub_use = "allow"
pub_with_shorthand = "allow"
question_mark_used = "allow"
redundant_closure_for_method_calls = "allow"
redundant_pub_crate = "allow"
shadow_reuse = "allow"
shadow_unrelated = "deny"
similar_names = "allow"
single_match_else = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "allow"
str_to_string = "allow"
struct_field_names = "allow"
todo = "deny"
unimplemented = "deny"
uninlined_format_args = "allow"
unreachable = "deny"
unwrap_used = "deny"
use_self = "deny"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.restriction]
level = "allow"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.rust]
dead_code = "allow"
missing_docs = "allow"
unused_imports = "deny"

[package]
authors = ["Elijah Hampton <elijahhamptonj@proton.me>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["cryptography", "api-bindings"]
description = "Rust SDK and client for the Hyperliquid exchange API"
edition = "2021"
homepage = "https://github.com/elijahhampton/rhyperliquid"
keywords = ["hyperliquid", "exchange", "sdk", "rust", "perp-dex"]
license = "MIT"
name = "rhyperliquid"
readme = "README.md"
repository = "https://github.com/elijahhampton/rhyperliquid"
rust-version = "1.75"
version = "0.2.0"

[profile.release]
codegen-units = 1
lto = true
panic = "abort"