[package]
name = "fvm_shared"
description = "Filecoin Virtual Machine shared types and functions"
version.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
authors = ["ChainSafe Systems <info@chainsafe.io>", "Protocol Labs", "Filecoin Core Devs"]
[dependencies]
blake2b_simd = "1.0.3"
thiserror = "2.0"
num-traits = "0.2"
num-derive = "0.4"
num-bigint = "0.4"
num-integer = "0.1"
data-encoding = "2.8.0"
data-encoding-macro = "0.1.17"
lazy_static = "1.5.0"
cid = { workspace = true, features = ["serde", "std"] }
multihash = { workspace = true }
unsigned-varint = "0.8.0"
anyhow = "1.0.97"
fvm_ipld_encoding = { workspace = true }
serde = { version = "1", default-features = false }
serde_tuple = "0.5"
arbitrary = { version = "1.4", optional = true, features = ["derive"] }
quickcheck = { version = "1", optional = true }
bitflags = { version = "2.9.0", features = ["serde"] }
filecoin-proofs-api = { version = "19", default-features = false, optional = true }
k256 = { version = "0.13.4", features = ["ecdsa"], default-features = false, optional = true }
bls-signatures = { version = "0.15", default-features = false, optional = true }
[dev-dependencies]
rand = "0.8"
rand_chacha = "0.3"
serde_json = "1.0.140"
multihash-codetable = { workspace = true, features = ["sha2", "sha3", "ripemd"] }
quickcheck_macros = "1"
fvm_shared = { path = ".", features = ["arb"] }
hex = "0.4.3"
[features]
default = []
crypto = ["secp256k1", "blst", "proofs"]
proofs = ["filecoin-proofs-api"]
secp256k1 = ["k256"]
blst = ["bls-signatures/blst"]
testing = []
arb = ["arbitrary", "dep:quickcheck", "num-bigint/quickcheck"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage,coverage_nightly)'] }