-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathCargo.toml
243 lines (217 loc) · 8.56 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
[workspace]
members = [
"bin/angstrom",
"bin/testnet",
"crates/angstrom-net",
"crates/consensus",
"crates/types",
"crates/utils",
"crates/validation",
"crates/order-pool",
"crates/rpc",
"crates/eth/",
"testing-tools",
"crates/matching-engine",
"crates/metrics",
"crates/uniswap-v4",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
rust-version = "1.80"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/SorellaLabs/angstrom"
repository = "https://github.com/SorellaLabs/angstrom"
exclude = [".github/"]
[profile.release]
lto = "fat"
opt-level = 3
codegen-units = 15
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
incremental = false
[workspace.dependencies]
consensus = { path = "./crates/consensus/" }
angstrom-types = { path = "./crates/types/" }
uniswap-v4 = { path = "./crates/uniswap-v4/" }
angstrom-utils = { path = "./crates/utils/" }
validation = { path = "./crates/validation/" }
order-pool = { path = "./crates/order-pool/" }
angstrom-eth = { path = "./crates/eth/" }
angstrom-rpc = { path = "./crates/rpc/" }
angstrom-network = { path = "./crates/angstrom-net/" }
angstrom-metrics = { path = "./crates/metrics/" }
testing-tools = { path = "./testing-tools/" }
angstrom = { path = "./bin/angstrom/" }
matching-engine = { path = "./crates/matching-engine/" }
contract-bindings = { path = "./crates/contract-bindings/" }
eyre = "0.6.12"
# pade
pade = { git = "https://github.com/SorellaLabs/pade", version = "0.1.0" }
pade-macro = { git = "https://github.com/SorellaLabs/pade", version = "0.1.0" }
## async
async-trait = "0.1.68"
futures = "0.3.26"
pin-project = "1.1.3"
futures-util = "0.3.29"
## bitmaps
bitmaps = "3.2.1"
# revm
revm = { version = "18.0.0", features = [
"std",
"secp256k1",
"optional_balance_check",
"optional_block_gas_limit",
], default-features = false }
# reth
reth = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-db = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-rlp = { git = "https://github.com/paradigmxyz/reth", version = "1.1.0", tag = "v1.1.0", features = [
"alloc",
] }
reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
#reth-rpc-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-blockchain-tree = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-beacon-consensus = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-network = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" }
# alloy
alloy = { version = "0.7.3", features = [
"rlp",
"full",
# "eip712",
"node-bindings",
"rpc-types-debug",
"rpc-types-trace",
"json-rpc",
"rpc-client",
"signer-keystore",
"signer-ledger",
"signer-mnemonic",
"signer-trezor",
"signer-yubihsm",
"sol-types",
"contract",
] }
alloy-chains = "0.1.32"
alloy-primitives = "0.8.11"
alloy-sol-macro = "0.8.11"
alloy-dyn-abi = "0.8.11"
alloy-sol-types = "0.8.11"
alloy-rlp = "0.3.10"
alloy-rlp-derive = "0.3.8"
alloy-trie = "0.7"
alloy-rpc-types = { version = "0.7.3", default-features = false, features = [
"eth",
] }
alloy-rpc-types-anvil = { version = "0.7.3", default-features = false }
alloy-rpc-types-beacon = { version = "0.7.3", default-features = false }
alloy-rpc-types-admin = { version = "0.7.3", default-features = false }
alloy-rpc-types-txpool = { version = "0.7.3", default-features = false }
alloy-serde = { version = "0.7.3", default-features = false }
alloy-rpc-types-engine = { version = "0.7.3", default-features = false }
alloy-rpc-types-eth = { version = "0.7.3", default-features = false }
alloy-genesis = { version = "0.7.3", default-features = false }
alloy-node-bindings = { version = "0.7.3", default-features = false }
alloy-provider = { version = "0.7.3", default-features = false, features = [
"reqwest",
] }
alloy-eips = { version = "0.7.3", default-features = false }
alloy-signer = { version = "0.7.3", default-features = false }
alloy-signer-local = { version = "0.7.3", default-features = false }
alloy-network = { version = "0.7.3", default-features = false }
alloy-consensus = { version = "0.7.3", default-features = false }
alloy-transport = { version = "0.7.3" }
alloy-transport-http = { version = "0.7.3", features = [
"reqwest-rustls-tls",
], default-features = false }
alloy-transport-ws = { version = "0.7.3", default-features = false }
alloy-transport-ipc = { version = "0.7.3", default-features = false }
alloy-pubsub = { version = "0.7.3", default-features = false }
alloy-json-rpc = { version = "0.7.3", default-features = false }
alloy-rpc-client = { version = "0.7.3", default-features = false }
# Uniswap math helpers
uniswap_v3_math = { git = "https://github.com/0xKitsune/uniswap-v3-math.git", version = "0.5.3" }
hex-literal = "0.4.1"
## misc
bytes = "1.4"
bincode = "1.3.3"
bitflags = "2.3"
tracing = "0.1.0"
tracing-appender = "0.2"
tracing-subscriber = "0.3.18"
thiserror = "1.0"
serde_json = "1.0.94"
serde = { version = "1.0", default-features = false, features = ["derive"] }
rand = "0.8.5"
rand_distr = "0.4.3"
num-traits = "0.2.19"
strum = "0.26.2"
rayon = "1.7"
itertools = "0.12.1"
parking_lot = "0.12"
metrics = "0.21.1"
anyhow = "1.0.85"
url = "2.4.1"
auto_impl = "1.1.0"
toml = "0.8.19"
k256 = { version = "0.13", default-features = false }
### proc-macros
proc-macro2 = "1.0"
quote = "1.0"
## tokio
tokio-stream = "0.1.11"
tokio = { version = "1.21", features = [
"full",
"tracing",
], default-features = false }
tokio-util = { version = "0.7.4", features = ["codec"] }
## json
jsonrpsee = "0.24"
jsonrpsee-core = "0.24"
jsonrpsee-http-client = "0.24"
jsonrpsee-types = "0.24"
## crypto
secp256k1 = { version = "0.29.0", default-features = false, features = [
"global-context",
"rand-std",
"recovery",
] }
enr = { version = "=0.10.0", default-features = false, features = ["k256"] }
aquamarine = "0.5.0"
# misc-testing
arbitrary = "1.1"
assert_matches = "1.5.0"
tempfile = "3.8"
criterion = "0.5"
pprof = "0.13"
proptest = "1.0"
proptest-derive = "0.4"
serial_test = "3.0.0"