-
Notifications
You must be signed in to change notification settings - Fork 2
/
Cargo.toml
256 lines (246 loc) · 9.94 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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
[workspace]
members = [
"crates/bridge-exec",
"crates/bridge-relay",
"crates/bridge-sig-manager",
"crates/bridge-tx-builder",
"crates/btcio",
"crates/chaintsn",
"crates/common",
"crates/consensus-logic",
"crates/crypto",
"crates/db",
"crates/eectl",
"crates/evmexec",
"crates/key-derivation",
"crates/primitives",
"crates/zkvm/adapters/risc0",
"crates/zkvm/adapters/sp1",
"crates/zkvm/adapters/native",
"crates/proof-impl/btc-blockspace",
"crates/proof-impl/checkpoint",
"crates/proof-impl/cl-agg",
"crates/proof-impl/cl-stf",
"crates/proof-impl/evm-ee-stf",
"crates/proof-impl/l1-batch",
"crates/zkvm/zkvm",
"crates/zkvm/hosts",
"crates/reth/db",
"crates/reth/evm",
"crates/reth/exex",
"crates/reth/node",
"crates/reth/rpc",
"crates/rpc/api",
"crates/rpc/bridge-api",
"crates/rpc/prover-client-api",
"crates/rpc/types",
"crates/rpc/utils",
"crates/state",
"crates/status",
"crates/storage",
"crates/sync",
"crates/tasks",
"crates/test-utils",
"crates/tx-parser",
"crates/util/mmr",
"crates/util/shrex",
"crates/vtxjmt",
"provers/risc0",
"provers/sp1",
"provers/tests",
# binaries listed separately
"bin/bridge-client",
"bin/datatool",
"bin/strata-cli",
"bin/strata-client",
"bin/strata-reth",
"bin/prover-client",
# integration tests
"tests",
"crates/util/python-utils",
]
default-members = [
"bin/bridge-client",
"bin/datatool",
"bin/prover-client",
"bin/strata-reth",
"bin/strata-client",
]
resolver = "2"
[workspace.dependencies]
strata-bridge-exec = { path = "crates/bridge-exec" }
strata-bridge-relay = { path = "crates/bridge-relay" }
strata-bridge-rpc-api = { path = "crates/rpc/bridge-api" }
strata-bridge-sig-manager = { path = "crates/bridge-sig-manager" }
strata-bridge-tx-builder = { path = "crates/bridge-tx-builder" }
strata-btcio = { path = "crates/btcio" }
strata-chaintsn = { path = "crates/chaintsn" }
strata-common = { path = "crates/common" }
strata-consensus-logic = { path = "crates/consensus-logic" }
strata-crypto = { path = "crates/crypto", default-features = false }
strata-db = { path = "crates/db" }
strata-eectl = { path = "crates/eectl" }
strata-evmexec = { path = "crates/evmexec" }
strata-key-derivation = { path = "crates/key-derivation" }
strata-mmr = { path = "crates/util/mmr" }
strata-native-zkvm-adapter = { path = "crates/zkvm/adapters/native" }
strata-primitives = { path = "crates/primitives" }
strata-proofimpl-btc-blockspace = { path = "crates/proof-impl/btc-blockspace" }
strata-proofimpl-checkpoint = { path = "crates/proof-impl/checkpoint" }
strata-proofimpl-cl-agg = { path = "crates/proof-impl/cl-agg" }
strata-proofimpl-cl-stf = { path = "crates/proof-impl/cl-stf" }
strata-proofimpl-evm-ee-stf = { path = "crates/proof-impl/evm-ee-stf" }
strata-proofimpl-l1-batch = { path = "crates/proof-impl/l1-batch" }
strata-prover-client-rpc-api = { path = "crates/rpc/prover-client-api" }
strata-reth-db = { path = "crates/reth/db" }
strata-reth-evm = { path = "crates/reth/evm" }
strata-reth-exex = { path = "crates/reth/exex" }
strata-reth-node = { path = "crates/reth/node" }
strata-reth-primitives = { path = "crates/reth/primitives" }
strata-reth-rpc = { path = "crates/reth/rpc" }
strata-risc0-adapter = { path = "crates/zkvm/adapters/risc0" }
strata-rocksdb = { path = "crates/rocksdb-store" }
strata-rpc-api = { path = "crates/rpc/api" }
strata-rpc-types = { path = "crates/rpc/types" }
strata-rpc-utils = { path = "crates/rpc/utils" }
strata-sp1-adapter = { path = "crates/zkvm/adapters/sp1" }
strata-state = { path = "crates/state" }
strata-status = { path = "crates/status" }
strata-storage = { path = "crates/storage" }
strata-sync = { path = "crates/sync" }
strata-tasks = { path = "crates/tasks" }
strata-test-utils = { path = "crates/test-utils" }
strata-tx-parser = { path = "crates/tx-parser" }
strata-zkvm = { path = "crates/zkvm/zkvm" }
strata-zkvm-hosts = { path = "crates/zkvm/hosts" }
# IMPORTANT: ensure alloy-* and revm packages are of the same version as inside reth dependency
# reth dependencies:
alloy-consensus = { version = "0.4.2", default-features = false }
alloy-eips = { version = "0.4.2", default-features = false }
alloy-genesis = { version = "0.4.2", default-features = false }
alloy-network = { version = "0.4.2", default-features = false }
alloy-primitives = { version = "0.8.7", default-features = false }
alloy-rlp = "0.3.4"
alloy-rlp-derive = "0.3.4"
alloy-rpc-types = { version = "0.4.2", features = [
"eth",
], default-features = false }
alloy-rpc-types-eth = { version = "0.4.2", default-features = false, features = [
"serde",
] }
alloy-serde = { version = "0.4.2", default-features = false }
alloy-sol-types = "0.8.0"
revm = { version = "14.0.3", features = ["std"], default-features = false }
revm-primitives = { version = "10.0.0", features = [
"std",
], default-features = false }
# reth itself:
reth = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-chain-state = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-cli = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-cli-commands = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-db = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-errors = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-ethereum-forks = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-ethereum-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-evm = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-exex = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-ipc = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-network-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0", default-features = false, features = [
"std",
] }
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0", default-features = false }
reth-provider = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-revm = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0", default-features = false }
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc-server-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-tasks = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-trie = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
reth-trie-common = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.1.0" }
anyhow = "1.0.86"
arbitrary = { version = "1.3.2", features = ["derive"] }
argh = "0.1"
async-trait = "0.1.80"
base64 = "0.22.1"
bincode = "1.3"
bitcoin = { version = "=0.32.5", features = ["serde"] }
borsh = { version = "1.5.0", features = ["derive"] }
bytes = "1.6.0"
chrono = "0.4.38"
clap = "4"
digest = "0.10"
ethnum = "1.5.0"
eyre = "0.6"
format_serde_error = { git = "https://github.com/AlexanderThaller/format_serde_error" }
futures = "0.3"
futures-util = "0.3"
hex = { version = "0.4", features = ["serde"] }
http = "1.0.0"
hyper = "0.14.25"
jmt = "0.10.0"
jsonrpsee = "0.24"
jsonrpsee-http-client = "0.24"
jsonrpsee-types = "0.24"
lru = "0.12"
miniscript = "12.2.0"
mockall = "0.11"
musig2 = { version = "0.1.0", features = ["serde"] }
num_enum = "0.7"
opentelemetry = "0.26"
opentelemetry-otlp = { version = "0.26", features = ["grpc-tonic"] }
opentelemetry_sdk = { version = "0.26", features = ["rt-tokio"] }
parking_lot = "0.12.3"
paste = "1.0"
rand = "0.8.5"
rand_chacha = { version = "0.3.1", default-features = false }
rand_core = { version = "0.6", default-features = false }
reqwest = { version = "0.12.7", default-features = false, features = [
"http2",
"rustls-tls",
"charset",
"zstd",
"json",
] }
rockbound = { git = "https://github.com/alpenlabs/rockbound", rev = "v2.0.1-alpen.2" }
secp256k1 = { version = "0.29.1", features = ["global-context", "std"] }
serde = { version = "1.0", features = ["derive"] }
serde-hex = "0.1.0"
serde_json = "1.0.94"
serde_with = "3.3.0"
sha2 = "0.10"
tempfile = "3.10.1"
terrors = "0.3.0"
thiserror = "1.0"
threadpool = "1.8"
tokio = { version = "1.37", features = ["full"] }
toml = "0.5"
tower = "0.4"
tracing = "0.1"
tracing-opentelemetry = "0.27"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
zeroize = { version = "1.8.1", features = ["derive"] }
# This is needed for custom build of SP1
[profile.release.build-override]
opt-level = 3
# This shall be used only in the CI for the prover to optimize the build time.
[profile.prover-ci]
inherits = "release"
lto = "off"
opt-level = 0
strip = true