[package]
name = "fvm"
description = "Filecoin Virtual Machine reference implementation"
version.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
authors = ["Protocol Labs", "Filecoin Core Devs"]
keywords = ["filecoin", "web3", "wasm"]
[lib]
crate-type = ["lib"]
[dependencies]
anyhow = { workspace = true, features = ["backtrace"] }
thiserror = { workspace = true }
num-traits = { workspace = true }
cid = { workspace = true, features = ["serde-codec"] }
multihash-codetable = { workspace = true, features = ["sha2", "sha3", "ripemd"] }
multihash-derive = { workspace = true }
fvm_shared = { workspace = true, features = ["crypto"] }
fvm_ipld_hamt = { workspace = true }
fvm_ipld_amt = { workspace = true }
fvm_ipld_blockstore = { workspace = true }
fvm_ipld_encoding = { workspace = true }
wasmtime = { workspace = true }
wasmtime-environ = { workspace = true }
serde = { workspace = true }
lazy_static = { workspace = true }
log = { workspace = true }
arbitrary = { workspace = true, optional = true, features = ["derive"] }
rand = { workspace = true }
quickcheck = { workspace = true, optional = true }
minstant = { workspace = true }
ambassador = { workspace = true }
derive_more = { version = "2.0.1", features = ["full"] }
replace_with = "0.1.7"
filecoin-proofs-api = { version = "19", default-features = false }
rayon = "1"
fvm-wasm-instrument = "0.4.0"
yastl = "0.1.2"
static_assertions = "1.1.0"
[dev-dependencies]
pretty_assertions = "1.4.1"
fvm = { path = ".", features = ["testing"], default-features = false }
coverage-helper = { workspace = true }
[features]
default = ["opencl", "verify-signature"]
opencl = ["filecoin-proofs-api/opencl"]
cuda = ["filecoin-proofs-api/cuda"]
cuda-supraseal = ["filecoin-proofs-api/cuda-supraseal"]
testing = []
arb = ["arbitrary", "quickcheck", "fvm_shared/arb"]
m2-native = []
upgrade-actor = []
gas_calibration = []
verify-signature = []
nv29-dev = []
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage,coverage_nightly)'] }