[package]
edition = "2024"
name = "perpl-sdk"
version = "0.2.4"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for the Perpl decentralized perpetuals exchange"
readme = "README.md"
license = "MIT"
repository = "https://github.com/PerplFoundation/dex-sdk"
[package.metadata.cargo-machete]
ignored = ["alloy-sol-types"]
[features]
default = [
"display",
"testing",
]
display = [
"tabled",
"colored",
]
test-utils = []
testing = ["alloy/node-bindings"]
[lib]
name = "perpl_sdk"
path = "src/lib.rs"
[[test]]
name = "all_positions_snapshot_and_updates"
path = "tests/all_positions_snapshot_and_updates.rs"
[[test]]
name = "events"
path = "tests/events.rs"
[[test]]
name = "maintenance_margin_fraction_update"
path = "tests/maintenance_margin_fraction_update.rs"
[[test]]
name = "maker_close_order_implicit_removal"
path = "tests/maker_close_order_implicit_removal.rs"
[[test]]
name = "order_book"
path = "tests/order_book.rs"
[[test]]
name = "sc_upgrade"
path = "tests/sc_upgrade.rs"
[[test]]
name = "sc_v1173"
path = "tests/sc_v1173.rs"
[[test]]
name = "sc_v1174"
path = "tests/sc_v1174.rs"
[[test]]
name = "snapshot"
path = "tests/snapshot.rs"
[dependencies.alloy]
version = "2.0.4"
features = [
"contract",
"eips",
"provider-http",
"reqwest",
"reqwest-rustls-tls",
"rpc",
"rpc-client",
"rpc-types",
"transport-throttle",
]
default-features = false
[dependencies.alloy-sol-types]
version = "1.5.7"
features = ["more-tuple-impls"]
default-features = false
[dependencies.chrono]
version = "0.4.44"
features = ["alloc"]
default-features = false
[dependencies.colored]
version = "3.1.1"
optional = true
[dependencies.dashmap]
version = "6.1.0"
[dependencies.derive_more]
version = "2.1.1"
features = ["debug"]
default-features = false
[dependencies.fastnum]
version = "0.7.4"
[dependencies.futures]
version = "0.3.32"
[dependencies.itertools]
version = "0.14.0"
[dependencies.tabled]
version = "0.20.0"
features = ["ansi"]
optional = true
[dependencies.thiserror]
version = "2.0.18"
[dev-dependencies.alloy]
version = "2.0.4"
features = [
"contract",
"eips",
"provider-http",
"reqwest",
"reqwest-rustls-tls",
"rpc",
"rpc-client",
"rpc-types",
"transport-throttle",
"node-bindings",
]
default-features = false
[dev-dependencies.tabled]
version = "0.20.0"
features = ["ansi"]
[dev-dependencies.tokio]
version = "1.52.2"
features = [
"sync",
"rt-multi-thread",
"macros",
"time",
]