[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 } serde_tuple = { 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 = "1.0.0", features = ["full"] } replace_with = "0.1.7" filecoin-proofs-api = { version = "18", 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.3.0" 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 = [] # Use this feature to keep `verify_signature` syscall that is supposed to be removed by FIP-0079, # The current implementation keeps it by default for backward compatibility reason. # See verify-signature = []