forked from consensus-shipyard/fendermint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
106 lines (94 loc) · 3.8 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[workspace]
members = [
"fendermint/abci",
"fendermint/app",
"fendermint/eth/*",
"fendermint/rocksdb",
"fendermint/rpc",
"fendermint/storage",
"fendermint/testing",
"fendermint/testing/*-test",
"fendermint/vm/*",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[workspace.package]
authors = ["Protocol Labs"]
edition = "2021"
license = "MIT OR Apache-2.0"
license-file = "LICENSE-APACHE"
[workspace.dependencies]
anyhow = "1"
arbitrary = {version = "1", features = ["derive"]}
arbtest = "0.2"
async-stm = "0.2"
async-trait = "0.1"
axum = {version = "0.6", features = ["ws"]}
base64 = "0.21"
blake2b_simd = "1.0"
bytes = "1.4"
clap = {version = "4.1", features = ["derive", "env"]}
config = "0.13"
dirs = "5.0"
ethers = {version = "2.0", features = ["abigen", "ws"]}
ethers-core = {version = "2.0"}
fnv = "1.0"
futures = "0.3"
hex = "0.4"
jsonrpc-v2 = {version = "0.11", default-features = false, features = ["bytes-v10"]}
k256 = "0.11" # Same as tendermint-rs
lazy_static = "1.4"
libsecp256k1 = "0.7"
multihash = {version = "0.16.1", default-features = false}
num-traits = "0.2"
paste = "1"
prost = {version = "0.11"}
quickcheck = "1"
quickcheck_macros = "1"
rand = "0.8"
rand_chacha = "0.3"
regex = "1"
serde = {version = "1", features = ["derive"]}
serde_json = {version = "1"}
serde_tuple = "0.5"
serde_with = "2.3"
tempfile = "3.3"
thiserror = "1"
tokio = {version = "1", features = ["rt-multi-thread", "macros"]}
tracing = "0.1"
tracing-subscriber = "0.3"
# Stable FVM dependencies from crates.io
# Using the 3.3 version of the FVM because the newer ones update the IPLD dependencies
# to version which are different than the ones in the builtin-actors project, and since
# they are 0.x cargo cannot upgrade them automatically, which leads to version conflicts.
fvm = { version = "~3.2", default-features = false } # no opencl feature or it fails on CI
fvm_shared = { version = "~3.2", features = ["crypto"] }
fvm_ipld_blockstore = "0.1"
fvm_ipld_car = "0.6"
fvm_ipld_encoding = "0.3"
fvm_ipld_hamt = "0.6"
# Local FVM debugging
# fvm = { path = "../ref-fvm/fvm", default-features = false }
# fvm_ipld_blockstore = { path = "../ref-fvm/ipld/blockstore" }
# fvm_ipld_encoding = { path = "../ref-fvm/ipld/encoding" }
# fvm_ipld_car = { path = "../ref-fvm/ipld/car" }
# fvm_ipld_hamt = { path = "../ref-fvm/ipld/hamt" }
# fvm_shared = { path = "../ref-fvm/shared", features = ["crypto"] }
# We are using the bundle for the builtin-actors dependency, and repeating DTO classes on our side,
# to cut down the time it takes to compile everything. However, some projects have a "shared" part,
# and this copy-paste is clunky, so at least for those that have it, we should use it.
# Keep the version here in sync with the Makefile!
fil_actors_evm_shared = { git = "https://github.com/filecoin-project/builtin-actors", tag = "v11.0.0" }
# Using 0.8 because of ref-fvm.
# 0.9 would be better because of its updated quickcheck dependency.
# 0.10 breaks some API.
cid = {version = "0.8", features = ["serde-codec", "std"]}
# Depending on the release cycle, this dependency might want an earlier version of the FVM.
# We can work around it by hardcoding the method hashes; currently there is only one.
# frc42_dispatch = "3.2"
# Using the same tendermint-rs dependency as tower-abci. From both we are interested in v037 modules.
tower-abci = { version = "0.7" }
tendermint = { version = "0.31", features = ["secp256k1"] }
tendermint-rpc = { version = "0.31", features = ["secp256k1", "http-client", "websocket-client"] }
tendermint-proto = { version = "0.31" }
# Using the IPC SDK without the `fil-actor` feature so as not to depend on the actor `Runtime`.
ipc-sdk = { git = "https://github.com/consensus-shipyard/ipc-actors.git", default-features = false, branch = "main" }