-
Notifications
You must be signed in to change notification settings - Fork 619
/
Cargo.toml
78 lines (68 loc) · 2.87 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[package]
name = "near-vm-runner"
version = "3.0.0"
authors = ["Near Inc <hello@nearprotocol.com>"]
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
categories = ["wasm"]
repository = "https://github.com/nearprotocol/nearcore"
homepage = "https://github.com/nearprotocol/nearcore"
description = """
This crate implements the specification of the interface that Near blockchain exposes to the smart contracts.
"""
[dependencies]
borsh = "0.8.1"
serde = { version = "1", features = ["derive"] }
wasmer-runtime = { version="0.17.1", features = ["default-backend-singlepass"], default-features = false, package = "wasmer-runtime-near", optional = true }
# Always used even for wasmer 1.0 for validating wasm, will be replaced when refactor prepare.rs
wasmer-runtime-core = {version = "0.17.4", package = "wasmer-runtime-core-near" }
wasmer = { version = "1.0.2", optional = true }
wasmer-types = { version = "1.0.2", optional = true }
wasmer-compiler-singlepass = { version = "1.0.2", optional = true, default-features = false, features = ["std", "enable-serde"] } # disable `rayon` feature.
wasmer-compiler-cranelift = { version = "1.0.2", optional = true }
wasmer-engine-native = { version = "1.0.2", optional = true }
wasmer-vm = "1.0.2"
pwasm-utils = "0.12"
parity-wasm = "0.41"
wasmtime = { version = "0.25.0", default-features = false, optional = true }
anyhow = { version = "1.0.19", optional = true }
near-vm-logic = { path = "../near-vm-logic", version = "3.0.0", default-features = false, features = [] }
near-vm-errors = { path = "../near-vm-errors", version = "3.0.0" }
near-primitives = { path = "../../core/primitives" }
near-evm-runner = { path = "../near-evm-runner", optional = true }
cached = "0.23.0"
tracing = { version = "0.1", default-features = false }
threadpool = "1.8.1"
[dev-dependencies]
near-test-contracts = { path = "../near-test-contracts" }
assert_matches = "1.3"
wabt = "0.9"
bencher = "^0.1.5"
base64 = "0.13"
[features]
# all vms enabled for tests, but only one default vm, specified by runtime crate
default = ["wasmer0_vm", "wasmtime_vm", "wasmer1_vm"]
wasmer0_vm = [ "wasmer-runtime" ]
wasmtime_vm = [ "wasmtime", "anyhow"]
wasmer1_vm = [ "wasmer", "wasmer-types", "wasmer-compiler-singlepass", "wasmer-compiler-cranelift", "wasmer-engine-native", ]
wasmer0_default = []
wasmtime_default = []
wasmer1_default = []
lightbeam = ["wasmtime/lightbeam"]
no_cpu_compatibility_checks = []
protocol_feature_evm = ["near-primitives/protocol_feature_evm", "near-evm-runner/protocol_feature_evm"]
no_cache = []
protocol_feature_alt_bn128 = [
"near-vm-logic/protocol_feature_alt_bn128",
"near-primitives/protocol_feature_alt_bn128",
"near-vm-errors/protocol_feature_alt_bn128"
]
[package.metadata.cargo-udeps.ignore]
# `no_cache` feature leads to an unused `cached` crate
normal = ["cached"]
[[bench]]
name = "bench"
harness = false
[package.metadata.workspaces]
independent = true