This repository has been archived by the owner on Jan 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Cargo.toml
159 lines (142 loc) · 5.55 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
[workspace]
resolver = "2"
members = [
"fendermint/abci",
"fendermint/app",
"fendermint/app/options",
"fendermint/crypto",
"fendermint/app/settings",
"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.4"
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"
dircpy = "0.3"
dirs = "5.0"
erased-serde = "0.3"
ethers = { version = "2.0", features = ["abigen", "ws"] }
ethers-core = { version = "2.0" }
fnv = "1.0"
futures = "0.3"
futures-core = "0.3"
futures-util = "0.3"
hex = "0.4"
im = "15.1.0"
jsonrpc-v2 = { version = "0.11", default-features = false, features = ["bytes-v10"] }
k256 = "0.11" # Same as tendermint-rs
lazy_static = "1.4"
libipld = { version = "0.14", default-features = false, features = ["dag-cbor"] }
libp2p = "0.50"
libp2p-bitswap = "0.25.1"
lru_time_cache = "0.11"
merkle-tree-rs = "0.1.0"
multiaddr = "0.16"
multihash = { version = "0.16.1", default-features = false }
num-bigint = "0.4"
num-traits = "0.2"
paste = "1"
pin-project = "1.1.2"
prost = { version = "0.11" }
quickcheck = "1"
quickcheck_macros = "1"
rand = "0.8"
rand_chacha = "0.3"
regex = "1"
sha2 = "0.10"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1" }
serde_tuple = "0.5"
serde_with = "2.3"
tempfile = "3.7"
thiserror = "1"
tokio = { version = "1", features = [
"rt-multi-thread",
"macros",
"fs",
"io-util",
"io-std",
"sync",
] }
tokio-stream = "0.1.14"
tokio-util = { version = "0.7.8", features = ["compat"] }
tracing = "0.1"
tracing-subscriber = "0.3"
url = "2.4.1"
zeroize = "1.6"
trace4rs = "0.5.1"
literally = "0.1.3"
# Vendored for cross-compilation, see https://github.com/cross-rs/cross/wiki/Recipes#openssl
openssl = { version = "0.10", features = ["vendored"] }
# 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"] }
primitives = { git = "https://github.com/consensus-shipyard/fvm-utils" }
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-config = "0.33.0"
tendermint-rpc = { version = "0.31", features = ["secp256k1", "http-client", "websocket-client"] }
tendermint-proto = { version = "0.31" }
ipc_ipld_resolver = { git = "https://github.com/consensus-shipyard/ipc-ipld-resolver.git", branch = "pre-audit" }
ipc-sdk = { git = "https://github.com/consensus-shipyard/ipc.git", branch = "pre-audit" }
ipc-provider = { git = "https://github.com/consensus-shipyard/ipc.git", branch = "pre-audit" }
# NOTE: If you change the branch here make sure to change IPC_ACTORS_TAG in the Makefile as well.
ipc_actors_abis = { git = "https://github.com/consensus-shipyard/ipc-solidity-actors.git", branch = "pre-audit" }
[patch.crates-io]
# Use stable-only features.
gcra = { git = "https://github.com/consensus-shipyard/gcra-rs.git", branch = "main" }
# Contains some API changes that the upstream has not merged.
merkle-tree-rs = { git = "https://github.com/consensus-shipyard/merkle-tree-rs.git", branch = "dev" }
# Uncomment to point to your local versions
# [patch."https://github.com/consensus-shipyard/ipc"]
# ipc-sdk = { path = "../ipc/ipc/sdk" }
# ipc-provider = { path = "../ipc/ipc/provider" }
# [patch."https://github.com/consensus-shipyard/ipc-solidity-actors.git"]
# ipc_actors_abis = { path = "../ipc-solidity-actors/binding" }