[package] name = "fuel-vm" version = { workspace = true } authors = { workspace = true } categories = { workspace = true } edition = { workspace = true } homepage = { workspace = true } keywords = ["blockchain", "cryptocurrencies", "fuel", "fuel-vm"] license = "BUSL-1.1" repository = { workspace = true } description = "FuelVM interpreter." [[bench]] name = "execution" harness = false required-features = ["std"] [dependencies] anyhow = { version = "1.0", optional = true } async-trait = "0.1" backtrace = { version = "0.3", optional = true } # requires debug symbols to work bitflags = { workspace = true } derivative = "2.2" derive_more = { version = "0.99", default-features = false, features = [ "display", ] } dyn-clone = { version = "1.0", optional = true } ethnum = "1.3" fuel-asm = { workspace = true, default-features = false } fuel-crypto = { workspace = true, default-features = false } fuel-merkle = { workspace = true, default-features = false } fuel-storage = { workspace = true } fuel-tx = { workspace = true, default-features = false } fuel-types = { workspace = true, default-features = false } hashbrown = "0.14" itertools = { version = "0.10", default-features = false } libm = { version = "0.2", default-features = false } paste = "1.0" percent-encoding = { version = "2.3", features = [ "alloc", ], default-features = false } primitive-types = { version = "0.12", default-features = false } rand = { version = "0.8", optional = true } serde = { version = "1.0", features = ["derive", "rc"], optional = true } serde_with = { version = "3.7", optional = true } sha3 = { version = "0.10", default-features = false } static_assertions = "1.1" strum = { version = "0.24", features = ["derive"], default-features = false } tai64 = { version = "4.0", default-features = false, optional = true } [dev-dependencies] criterion = "0.4" ed25519-dalek = { version = "2.0.0", features = ["rand_core"] } fuel-crypto = { workspace = true, features = ["test-helpers"] } fuel-tx = { workspace = true, features = ["test-helpers"] } fuel-vm = { path = ".", default-features = false, features = [ "test-helpers", "serde", "profile-coverage", "profile-gas", "random", ] } futures = "0.3.28" ntest = "0.9.2" num-integer = "0.1.45" p256 = "0.13" quickcheck = "1.0" quickcheck_macros = "1.0" rayon = "1.7" rstest = "0.17" serde_json = "1.0" test-case = "2.2" tokio = { version = "1.27", features = ["full"] } tokio-rayon = "2.1.0" [features] default = ["std"] std = [ "alloc", "fuel-crypto/std", "fuel-types/std", "fuel-asm/std", "fuel-tx/std", "itertools/use_std", ] alloc = ["fuel-asm/alloc", "fuel-tx/alloc", "fuel-tx/alloc"] arbitrary = ["fuel-asm/arbitrary"] profile-gas = ["profile-any"] profile-coverage = ["profile-any"] profile-any = ["dyn-clone"] # All profiling features should depend on this random = ["fuel-crypto/random", "fuel-types/random", "fuel-tx/random", "rand"] serde = [ "dep:serde", "dep:serde_with", "hashbrown/serde", "fuel-asm/serde", "fuel-types/serde", "fuel-tx/serde", "fuel-merkle/serde", "backtrace?/serde", ] test-helpers = [ "fuel-tx/test-helpers", "alloc", "random", "dep:anyhow", "tai64", "fuel-crypto/test-helpers", ]