[package]
name = "cairo-lang-casm"
version.workspace = true
edition.workspace = true
repository.workspace = true
license-file.workspace = true
description = "Cairo assembly encoding."

[dependencies]
cairo-lang-utils = { path = "../cairo-lang-utils", version = "~2.12.0", default-features = false }
indoc.workspace = true
num-bigint = { workspace = true }
num-traits = { workspace = true }

# Optional
serde = { workspace = true, optional = true }
schemars = { workspace = true, features = ["preserve_order"], optional = true }
parity-scale-codec = { workspace = true, optional = true }

[dev-dependencies]
env_logger.workspace = true
itertools = { workspace = true, default-features = true }
pretty_assertions.workspace = true
test-case.workspace = true
test-log.workspace = true

[features]
default = ["std"]
std = ["cairo-lang-utils/std", "num-bigint/std", "num-traits/std", "serde?/std", "parity-scale-codec?/std"]
serde = ["dep:serde", "cairo-lang-utils/serde" ]
schemars = [ "std", "dep:schemars", "cairo-lang-utils/schemars"]
parity-scale-codec = ["dep:parity-scale-codec", "cairo-lang-utils/parity-scale-codec"]
