[package]
name = "powdr-riscv-runtime"
description = "powdr runtime provider for RISCV programs"
version = "0.1.4"
edition = "2021"
license = "MIT"
homepage = "https://powdr.org"
repository = "https://github.com/powdr-labs/powdr"

[dependencies]
serde = { version = "1.0", default-features = false, features = [
    "alloc",
    "derive",
    "rc",
] }
serde_cbor = { version = "0.11.2", default-features = false, features = [
    "alloc",
] }
powdr-syscalls = { path = "../syscalls", version = "0.1.4" }
getrandom = { version = "0.2", features = ["custom"], optional = true }
spin = "0.9"

[features]
std = ["serde/std", "serde_cbor/std"]
getrandom = ["dep:getrandom"]

# It is hard to even make sense of what a random number means in the context of
# a ZK program. So, by default, any attempt of using the entropy source will
# panic at runtime. This includes the usage through `getrandom` or `std`
# features (e.g. HashMap).
#
# If you want the runtime to not panic, you must explicitly enable the
# `allow_fake_rand` feature to get a deterministic value instead.
allow_fake_rand = []

[workspace]

[lints.clippy]
uninlined_format_args = "deny"
