[package]
name = "sov-modules-api"
description = "Defines the interface of the Sovereign SDK module system"
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
version = { workspace = true }
readme = "README.md"
resolver = "2"
[dependencies]
jsonrpsee = { workspace = true, optional = true }
anyhow = { workspace = true }
arbitrary = { workspace = true, optional = true }
sov-first-read-last-write-cache = { path = "../utils/sov-first-read-last-write-cache", version = "0.3" }
sov-state = { path = "../sov-state", version = "0.3" }
sov-rollup-interface = { path = "../../rollup-interface", version = "0.3" }
sov-modules-macros = { path = "../sov-modules-macros", version = "0.3", optional = true }
serde = { workspace = true }
borsh = { workspace = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }
thiserror = { workspace = true }
sha2 = { workspace = true }
bech32 = { workspace = true }
derive_more = { workspace = true }
jmt = { workspace = true }
serde_json = { workspace = true, optional = true }
hex = { workspace = true }
clap = { workspace = true, optional = true }
schemars = { workspace = true, optional = true, features = [] }
ed25519-dalek = { version = "2.0.0", default-features = false, features = ["serde"] }
rand = { version = "0.8", optional = true }
sov-zk-cycle-macros = { path = "../../utils/zk-cycle-macros", version = "0.3", optional = true }
risc0-zkvm = { workspace = true, default-features = false, features = ["std"], optional = true }
risc0-zkvm-platform = { workspace = true, optional = true }
[dev-dependencies]
bincode = { workspace = true }
sov-modules-api = { path = ".", features = ["native"] }
sov-bank = { path = "../module-implementations/sov-bank", features = ["native"] }
tempfile = { workspace = true }
[features]
arbitrary = [
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
"sov-state/arbitrary",
]
bench = ["sov-zk-cycle-macros", "risc0-zkvm", "risc0-zkvm-platform"]
default = ["macros"]
native = [
"serde_json",
"rand",
"schemars",
"ed25519-dalek/default",
"ed25519-dalek/rand_core",
"clap",
"jsonrpsee",
"macros",
"sov-modules-macros/native",
"sov-state/native",
]
macros = ["sov-modules-macros"]