[build-dependencies.prost-build]
version = "0.13.5"
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
optional = true
version = "0.1"
[dependencies.borsh]
features = ["derive"]
optional = true
version = "1.5.7"
[dependencies.cainome]
features = ["abigen-rs"]
optional = true
version = "0.7"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.indexmap]
optional = true
version = "2.2"
[dependencies.num-bigint]
features = ["serde"]
optional = true
version = "0.4.6"
[dependencies.opentelemetry]
features = ["metrics", "logs"]
optional = true
version = "0.26.0"
[dependencies.opentelemetry-appender-tracing]
default-features = false
optional = true
version = "0.26.0"
[dependencies.opentelemetry-otlp]
features = ["tonic", "metrics", "logs"]
optional = true
version = "0.26.0"
[dependencies.opentelemetry-semantic-conventions]
optional = true
version = "0.26.0"
[dependencies.opentelemetry_sdk]
features = ["rt-tokio", "logs"]
optional = true
version = "0.26.0"
[dependencies.prost]
optional = true
version = "0.13"
[dependencies.rust_decimal]
features = ["serde"]
optional = true
version = "1.37.1"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"
[dependencies.serde_json]
optional = true
version = "1.0"
[dependencies.starknet]
optional = true
version = "0.15.1"
[dependencies.starknet-crypto]
optional = true
version = "0.7.4"
[dependencies.strum]
features = ["derive"]
version = "0.27.1"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
features = ["rt", "macros", "time"]
optional = true
version = "1"
[dependencies.tokio-util]
optional = true
version = "0.7"
[dependencies.tracing]
optional = true
version = "0.1"
[dependencies.tracing-opentelemetry]
optional = true
version = "0.27.0"
[dependencies.tracing-subscriber]
features = ["env-filter", "registry", "std"]
optional = true
version = "0.3.18"
[dependencies.utoipa]
features = ["axum_extras", "chrono", "uuid"]
optional = true
version = "5.0.0"
[dev-dependencies.rstest]
version = "0.25.0"
[features]
borsh = ["dep:borsh"]
proto = ["dep:prost"]
serde = ["dep:serde"]
services = ["dep:async-trait", "dep:futures", "dep:tokio", "dep:tokio-util"]
starknet = ["dep:async-trait", "dep:starknet", "dep:serde", "dep:starknet-crypto", "dep:cainome", "dep:indexmap", "dep:serde_json", "dep:num-bigint", "dep:rust_decimal", "dep:tokio"]
task-group = ["dep:tokio", "dep:futures"]
telemetry = ["dep:tracing", "dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:opentelemetry-semantic-conventions", "dep:opentelemetry-appender-tracing", "dep:tracing-subscriber", "dep:tracing-opentelemetry"]
utoipa = ["dep:utoipa"]
[lib]
name = "pragma_common"
path = "src/lib.rs"
[package]
authors = ["Pragma <support@pragma.build>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["finance", "api-bindings"]
description = "Pragma Common types for Rust"
edition = "2021"
keywords = ["pragma", "common", "utils"]
license = "MIT"
name = "pragma-common"
readme = "README.md"
repository = "https://github.com/astraly-labs/pragma-common"
rust-version = "1.81"
version = "0.3.21"
[[test]]
name = "test_fallback_provider"
path = "tests/test_fallback_provider.rs"
[[test]]
name = "test_proto"
path = "tests/test_proto.rs"
[[test]]
name = "test_services"
path = "tests/test_services.rs"