Files

126 lines
3.1 KiB
TOML
Raw Permalink Normal View History

2025-07-24 20:29:10 -04:00
[package]
name = "polyfill-rs"
2026-06-30 21:11:47 -04:00
version = "0.4.3"
2025-07-24 20:29:10 -04:00
edition = "2021"
2026-01-22 18:14:03 -05:00
authors = ["Julius Tranquilli <jtranqs@gmail.com>"]
2025-12-05 19:11:49 -05:00
description = "The Fastest Polymarket Client On The Market."
2025-07-24 20:29:10 -04:00
license = "MIT OR Apache-2.0"
2025-12-04 02:51:40 -05:00
repository = "https://github.com/floor-licker/polyfill-rs"
2025-07-24 20:29:10 -04:00
readme = "README.md"
keywords = ["polymarket", "clob", "trading", "prediction-market", "crypto"]
categories = ["api-bindings", "network-programming"]
2025-12-04 02:41:58 -05:00
documentation = "https://docs.rs/polyfill-rs"
2025-12-04 02:51:40 -05:00
homepage = "https://github.com/floor-licker/polyfill-rs"
2025-07-24 20:29:10 -04:00
[dependencies]
# Pin base64ct to avoid Edition 2024 requirement
base64ct = "=1.6.0"
2025-07-24 20:29:10 -04:00
# Async runtime and futures
tokio = { version = "1.41", features = ["full"] }
futures = "0.3"
futures-util = "0.3"
# HTTP client
2026-06-19 14:42:23 -03:00
reqwest = { version = "0.13", default-features = false, features = ["json", "query", "stream", "gzip", "rustls", "http2"] }
2025-07-24 20:29:10 -04:00
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
simd-json = "0.13"
2025-12-18 13:52:33 -05:00
dotenvy = "0.15"
2025-07-24 20:29:10 -04:00
# Ethereum and crypto
2026-02-15 09:38:17 -05:00
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"] }
2025-07-24 20:29:10 -04:00
# 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"
2026-02-03 19:48:16 -05:00
bytes = "1.11.1"
2025-07-24 20:29:10 -04:00
rand = "0.8"
2026-06-22 13:58:39 -04:00
parking_lot = "0.12"
2025-07-24 20:29:10 -04:00
# Optional WebSocket support for streaming
tokio-tungstenite = { version = "0.21", optional = true, features = ["native-tls"] }
2026-06-19 14:42:23 -03:00
# Optional benchmark-only dependency for comparing against Polymarket's active Rust SDK.
2026-06-30 20:12:55 -04:00
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 }
2026-06-19 14:42:23 -03:00
2025-07-24 20:29:10 -04:00
[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"]
2026-02-15 09:38:17 -05:00
side-by-side-benchmark = []
2026-06-19 14:42:23 -03:00
official-client-benchmark = ["dep:polymarket_client_sdk_v2"]
2026-02-15 09:38:17 -05:00
[[example]]
name = "side_by_side_benchmark"
required-features = ["side-by-side-benchmark"]
2025-07-24 20:29:10 -04:00
2026-06-19 14:42:23 -03:00
[[example]]
name = "official_client_side_by_side_benchmark"
required-features = ["official-client-benchmark"]
2025-07-24 20:29:10 -04:00
[[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
2025-07-24 20:29:10 -04:00
[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
2026-01-29 18:26:54 -05:00
debug = true