[package]
name = "serai-in-instructions-primitives"
version = "0.1.0"
description = "Serai instructions library, enabling encoding and decoding"
license = "MIT"
authors = ["Luke Parker <lukeparker5132@gmail.com>"]
edition = "2021"
rust-version = "1.74"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true

[dependencies]
zeroize = { version = "^1.5", features = ["derive"], optional = true }

borsh = { version = "1", default-features = false, features = ["derive", "de_strict_order"], optional = true }
serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
scale-info = { version = "2", default-features = false, features = ["derive"] }

sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false }
sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false }
sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false }

serai-primitives = { path = "../../primitives", default-features = false }
coins-primitives = { package = "serai-coins-primitives", path = "../../coins/primitives", default-features = false }

[features]
std = [
  "zeroize",

  "borsh?/std",
  "serde?/std",

  "scale/std",
  "scale-info/std",

  "sp-std/std",
  "sp-application-crypto/std",
  "sp-runtime/std",

  "serai-primitives/std",
  "coins-primitives/std",
]
borsh = ["dep:borsh", "serai-primitives/borsh", "coins-primitives/borsh"]
serde = ["dep:serde", "serai-primitives/serde", "coins-primitives/serde"]
default = ["std"]
