[package]
name = "fuel-core-client"
version = { workspace = true }
authors = { workspace = true }
categories = ["concurrency", "cryptography::cryptocurrencies", "emulators"]
edition = { workspace = true }
homepage = { workspace = true }
keywords = ["blockchain", "cryptocurrencies", "fuel-vm", "vm"]
license = { workspace = true }
repository = { workspace = true }
description = "Tx client and schema specification."

[dependencies]
anyhow = { workspace = true }
base64 = { version = "0.22.1", optional = true }
cynic = { workspace = true }
derive_more = { workspace = true }
eventsource-client = { version = "0.13.0", optional = true }
fuel-core-types = { workspace = true, features = ["alloc", "serde"] }
futures = { workspace = true, optional = true }
hex = { workspace = true }
# Included to enable webpki in the eventsource client
hyper-rustls = { version = "0.24", features = [
  "webpki-tokio",
], optional = true }
itertools = { workspace = true }
reqwest = { version = "0.11.16", default-features = false, features = [
  "rustls-tls",
  "cookies",
] }
serde = { workspace = true, features = ["derive"] }
serde_json = { version = "1.0", features = ["raw_value"] }
# We force the version because 4.1.0 update leap seconds that breaks our timestamps
tai64 = { version = "=4.0.0", features = ["serde"] }
thiserror = "1.0"
tracing = "0.1"

[dev-dependencies]
fuel-core-types = { workspace = true, features = [
  "serde",
  "std",
  "test-helpers",
] }
insta = { workspace = true }

[build-dependencies]
schemafy_lib = { version = "0.5" }
serde_json = { version = "1.0", features = ["raw_value"] }

[features]
std = ["fuel-core-types/std"]
default = ["subscriptions", "std"]
test-helpers = []
subscriptions = ["base64", "eventsource-client", "futures", "hyper-rustls"]
