# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" name = "near-vm-runner" version = "0.28.0" authors = ["Near Inc "] build = false publish = true autobins = false autoexamples = false autotests = false autobenches = false description = "This crate implements the specification of the interface that Near blockchain exposes to the smart contracts." readme = "README.md" categories = ["wasm"] license = "MIT OR Apache-2.0" repository = "https://github.com/near/nearcore" [package.metadata.cargo-udeps.ignore] normal = ["cached"] [lib] name = "near_vm_runner" path = "src/lib.rs" [dependencies.anyhow] version = "1.0.62" optional = true [dependencies.base64] version = "0.21" optional = true [dependencies.blst] version = "0.3.11" features = ["portable"] [dependencies.bn] version = "0.5.11" default-features = false package = "zeropool-bn" [dependencies.borsh] version = "1.0.0" features = [ "derive", "rc", ] [dependencies.bytesize] version = "1.1" features = ["serde"] [dependencies.ed25519-dalek] version = "2.1.0" default-features = false [dependencies.enum-map] version = "2.1.0" [dependencies.finite-wasm] version = "0.5.0" features = ["instrument"] optional = true [dependencies.lru] version = "0.12.3" [dependencies.memoffset] version = "0.8" optional = true [dependencies.near-crypto] version = "0.28.0" default-features = false [dependencies.near-o11y] version = "0.28.0" optional = true [dependencies.near-parameters] version = "0.28.0" [dependencies.near-primitives-core] version = "0.28.0" [dependencies.near-schema-checker-lib] version = "0.28.0" [dependencies.num-rational] version = "0.3.1" features = ["serde"] [dependencies.parity-wasm] version = "0.42" optional = true default-features = false [dependencies.parity-wasm_41] version = "0.41" optional = true package = "parity-wasm" [dependencies.prefix-sum-vec] version = "0.1.2" optional = true [dependencies.prometheus] version = "0.13.1" optional = true [dependencies.pwasm-utils_12] version = "0.12" optional = true package = "pwasm-utils" [dependencies.rayon] version = "1.5" [dependencies.ripemd] version = "0.1.1" [dependencies.rustix] version = "0.38" features = ["fs"] [dependencies.serde] version = "1.0.136" features = [ "alloc", "derive", "rc", ] [dependencies.serde_repr] version = "0.1.8" [dependencies.sha2] version = "0.10" [dependencies.sha3] version = "0.10" [dependencies.stdx] version = "0.28.0" package = "near-stdx" [dependencies.strum] version = "0.24" features = ["derive"] [dependencies.tempfile] version = "3.3" [dependencies.thiserror] version = "2.0" [dependencies.tracing] version = "0.1.40" features = ["std"] [dependencies.wasm-encoder] version = "0.27.0" optional = true [dependencies.wasmparser] version = "0.78" optional = true [dependencies.wasmtime] version = "14.0.4" features = ["cranelift"] optional = true default-features = false [dev-dependencies.arbitrary] version = "1.2.3" features = ["derive"] [dev-dependencies.ark-bls12-381] version = "0.4.0" [dev-dependencies.ark-ec] version = "0.4.0" [dev-dependencies.ark-ff] version = "0.4.0" [dev-dependencies.ark-serialize] version = "0.4.0" [dev-dependencies.ark-std] version = "0.4.0" [dev-dependencies.assert_matches] version = "1.5.0" [dev-dependencies.bolero] version = "0.10.0" features = ["arbitrary"] [dev-dependencies.cov-mark] version = "2.0.0-pre.1" [dev-dependencies.csv] version = "1.2.1" [dev-dependencies.expect-test] version = "1.3.0" [dev-dependencies.hex] version = "0.4.2" features = ["serde"] [dev-dependencies.rand] version = "0.8.5" [dev-dependencies.serde_json] version = "1.0.68" features = ["preserve_order"] [dev-dependencies.wasm-smith] version = "0.10" [dev-dependencies.wasmprinter] version = "0.2" [dev-dependencies.wat] version = "1.0.40" [features] costs_counting = [] io_trace = ["base64"] metrics = [ "prometheus", "near-o11y", ] near_vm = [ "near-vm-compiler", "near-vm-compiler-singlepass", "near-vm-engine", "near-vm-types", "near-vm-vm", "memoffset", "prepare", ] nightly = [ "near-o11y/nightly", "near-parameters/nightly", "near-primitives-core/nightly", "nightly_protocol", "protocol_feature_fix_contract_loading_cost", ] nightly_protocol = [ "near-o11y/nightly_protocol", "near-parameters/nightly_protocol", "near-primitives-core/nightly_protocol", ] no_cache = [] no_cpu_compatibility_checks = [] prepare = [ "finite-wasm", "wasm-encoder", "wasmparser", "parity-wasm", "parity-wasm_41", "pwasm-utils_12", "prefix-sum-vec", "metrics", ] protocol_feature_fix_contract_loading_cost = ["near-primitives-core/protocol_feature_fix_contract_loading_cost"] protocol_schema = [ "near-crypto/protocol_schema", "near-parameters/protocol_schema", "near-primitives-core/protocol_schema", "near-schema-checker-lib/protocol_schema", ] sandbox = ["near-o11y/sandbox"] test_features = [] wasmer0_vm = [ "wasmer-runtime", "wasmer-runtime-core", "prepare", ] wasmer2_vm = [ "wasmer-compiler", "wasmer-compiler-singlepass", "wasmer-engine", "wasmer-engine-universal", "wasmer-types", "wasmer-vm", "memoffset", "prepare", ] wasmtime_vm = [ "wasmtime", "anyhow", "prepare", ] [target.'cfg(target_arch = "x86_64")'.dependencies.near-vm-compiler] version = "0.28.0" optional = true [target.'cfg(target_arch = "x86_64")'.dependencies.near-vm-compiler-singlepass] version = "0.28.0" optional = true [target.'cfg(target_arch = "x86_64")'.dependencies.near-vm-engine] version = "0.28.0" optional = true [target.'cfg(target_arch = "x86_64")'.dependencies.near-vm-types] version = "0.28.0" optional = true [target.'cfg(target_arch = "x86_64")'.dependencies.near-vm-vm] version = "0.28.0" optional = true [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-compiler] version = "=2.4.1" optional = true package = "wasmer-compiler-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-compiler-singlepass] version = "=2.4.1" optional = true package = "wasmer-compiler-singlepass-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-engine] version = "=2.4.1" optional = true package = "wasmer-engine-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-engine-universal] version = "=2.4.1" features = ["compiler"] optional = true package = "wasmer-engine-universal-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-runtime] version = "0.18.0" features = ["default-backend-singlepass"] optional = true default-features = false package = "wasmer-runtime-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-runtime-core] version = "0.18.2" optional = true package = "wasmer-runtime-core-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-types] version = "=2.4.1" optional = true package = "wasmer-types-near" [target.'cfg(target_arch = "x86_64")'.dependencies.wasmer-vm] version = "=2.4.1" optional = true package = "wasmer-vm-near" [lints.clippy] clone_on_copy = "deny" derivable_impls = "deny" len_zero = "deny" or_fun_call = "deny" redundant_clone = "deny" single_char_pattern = "allow" unnecessary_lazy_evaluations = "deny" [lints.clippy.all] level = "allow" priority = -100 [lints.clippy.correctness] level = "deny" priority = -50 [lints.clippy.perf] level = "deny" priority = -50 [lints.clippy.suspicious] level = "deny" priority = -50 [lints.rust.unexpected_cfgs] level = "allow" priority = 0 check-cfg = ["cfg(enable_const_type_id)"]