mirror of
https://github.com/floor-licker/polyfill-rs.git
synced 2026-07-27 20:47:46 +00:00
126 lines
3.1 KiB
TOML
126 lines
3.1 KiB
TOML
[package]
|
|
name = "polyfill-rs"
|
|
version = "0.4.3"
|
|
edition = "2021"
|
|
authors = ["Julius Tranquilli <jtranqs@gmail.com>"]
|
|
description = "The Fastest Polymarket Client On The Market."
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/floor-licker/polyfill-rs"
|
|
readme = "README.md"
|
|
keywords = ["polymarket", "clob", "trading", "prediction-market", "crypto"]
|
|
categories = ["api-bindings", "network-programming"]
|
|
documentation = "https://docs.rs/polyfill-rs"
|
|
homepage = "https://github.com/floor-licker/polyfill-rs"
|
|
[dependencies]
|
|
# Pin base64ct to avoid Edition 2024 requirement
|
|
base64ct = "=1.6.0"
|
|
# Async runtime and futures
|
|
tokio = { version = "1.41", features = ["full"] }
|
|
futures = "0.3"
|
|
futures-util = "0.3"
|
|
|
|
# HTTP client
|
|
reqwest = { version = "0.13", default-features = false, features = ["json", "query", "stream", "gzip", "rustls", "http2"] }
|
|
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
simd-json = "0.13"
|
|
dotenvy = "0.15"
|
|
|
|
# Ethereum and crypto
|
|
alloy-primitives = "1"
|
|
alloy-sol-types = { version = "1", features = ["eip712-serde", "json"] }
|
|
alloy-signer = { version = "1", features = ["eip712"] }
|
|
alloy-signer-local = { version = "1", features = ["eip712"] }
|
|
|
|
# Numeric types
|
|
rust_decimal = { version = "1.36", features = ["serde-with-str"] }
|
|
rust_decimal_macros = "1.36"
|
|
|
|
# Error handling
|
|
anyhow = "1.0"
|
|
thiserror = "1.0"
|
|
|
|
# Crypto and encoding
|
|
base64 = "0.22"
|
|
hmac = "0.12"
|
|
sha2 = "0.10"
|
|
|
|
# Logging
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# Time handling
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Utilities
|
|
uuid = { version = "1.0", features = ["v4", "serde"] }
|
|
url = "2.5"
|
|
bytes = "1.11.1"
|
|
rand = "0.8"
|
|
parking_lot = "0.12"
|
|
|
|
# Optional WebSocket support for streaming
|
|
tokio-tungstenite = { version = "0.21", optional = true, features = ["native-tls"] }
|
|
|
|
# Optional benchmark-only dependency for comparing against Polymarket's active Rust SDK.
|
|
polymarket_client_sdk_v2 = { version = "0.6.0-canary.1", git = "https://github.com/Polymarket/rs-clob-client-v2", rev = "8ba5008733c3c03e92041eef8b1cb8495dbed718", features = ["clob"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
tokio-test = "0.4"
|
|
mockito = "1.0"
|
|
proptest = "1.0"
|
|
env_logger = "0.10"
|
|
|
|
[features]
|
|
default = ["stream"]
|
|
stream = ["tokio-tungstenite"]
|
|
side-by-side-benchmark = []
|
|
official-client-benchmark = ["dep:polymarket_client_sdk_v2"]
|
|
|
|
[[example]]
|
|
name = "side_by_side_benchmark"
|
|
required-features = ["side-by-side-benchmark"]
|
|
|
|
[[example]]
|
|
name = "official_client_side_by_side_benchmark"
|
|
required-features = ["official-client-benchmark"]
|
|
|
|
[[bench]]
|
|
name = "book_updates"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "fill_processing"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "comparison_benchmarks"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "network_benchmarks"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "ws_hot_path"
|
|
harness = false
|
|
|
|
[profile.release]
|
|
# Optimizations for HFT performance
|
|
opt-level = 3
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
|
|
[profile.dev]
|
|
# Faster compilation for development
|
|
opt-level = 1
|
|
|
|
[profile.test]
|
|
# Optimizations for test performance
|
|
opt-level = 2
|
|
debug = true
|