-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathCargo.toml
273 lines (236 loc) · 14.4 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
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
[workspace]
resolver = "2"
members = [
"cli",
"blueprints/*",
"crates/*",
]
[workspace.package]
authors = ["Tangle Network"]
edition = "2021"
license = "MIT OR Apache-2.0"
homepage = "https://tangle.tools"
repository = "https://github.com/tangle-network/gadget"
[workspace.lints.rust]
rust_2018_idioms = { level = "deny", priority = -1 }
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unused_import_braces = "deny"
[workspace.lints.clippy]
pedantic = { level = "deny", priority = -1 }
all = { level = "deny", priority = -1 }
single_match_else = "allow"
uninlined_format_args = "allow"
needless_late_init = "allow"
[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
[workspace.dependencies]
# SDKs (overarching crates that include all other crates)
blueprint-sdk = { version = "0.1.0", path = "./crates/sdk", default-features = false }
# Blueprint Examples
incredible-squaring-blueprint = { version = "0.1.1", path = "./blueprints/incredible-squaring", default-features = false }
incredible-squaring-blueprint-eigenlayer = { version = "0.1.1", path = "./blueprints/incredible-squaring-eigenlayer", default-features = false }
# Blueprint utils
blueprint-util-meta = { version = "0.1.0", path = "./crates/blueprint", default-features = false }
blueprint-manager = { version = "0.2.2", path = "./crates/blueprint/manager", default-features = false }
blueprint-metadata = { version = "0.2.1", path = "./crates/blueprint/metadata", default-features = false }
blueprint-build-utils = { version = "0.1.0", path = "./crates/blueprint/build-utils", default-features = false }
gadget-blueprint-serde = { version = "0.3.1", path = "./crates/blueprint/serde", default-features = false }
# Crypto
gadget-crypto-core = { version = "0.1.0", path = "./crates/crypto/core", default-features = false }
gadget-crypto-k256 = { version = "0.1.0", path = "./crates/crypto/k256", default-features = false }
gadget-crypto-sr25519 = { version = "0.1.0", path = "./crates/crypto/sr25519", default-features = false }
gadget-crypto-ed25519 = { version = "0.1.0", path = "./crates/crypto/ed25519", default-features = false }
gadget-crypto-hashing = { version = "0.1.0", path = "./crates/crypto/hashing", default-features = false }
gadget-crypto-bls = { version = "0.1.0", path = "./crates/crypto/bls", default-features = false }
gadget-crypto-bn254 = { version = "0.1.0", path = "./crates/crypto/bn254", default-features = false }
gadget-crypto-sp-core = { version = "0.1.0", path = "./crates/crypto/sp-core", default-features = false }
gadget-crypto = { version = "0.1.0", path = "./crates/crypto", default-features = false }
gadget-crypto-tangle-pair-signer = { version = "0.1.0", path = "./crates/crypto/tangle-pair-signer", default-features = false }
# Clients
gadget-clients = { version = "0.1.0", path = "./crates/clients", default-features = false }
gadget-client-core = { version = "0.1.0", path = "./crates/clients/core", default-features = false }
gadget-client-eigenlayer = { version = "0.1.0", path = "./crates/clients/eigenlayer", default-features = false }
gadget-client-evm = { version = "0.1.0", path = "./crates/clients/evm", default-features = false }
gadget-client-networking = { version = "0.1.0", path = "./crates/clients/networking", default-features = false }
gadget-client-tangle = { version = "0.1.0", path = "./crates/clients/tangle", default-features = false }
gadget-contexts = { version = "0.1.0", path = "./crates/contexts", default-features = false }
# Event listeners
gadget-event-listeners = { version = "0.1.0", path = "./crates/event-listeners", default-features = false }
gadget-event-listeners-core = { version = "0.1.0", path = "./crates/event-listeners/core", default-features = false }
gadget-event-listeners-evm = { version = "0.1.0", path = "./crates/event-listeners/evm", default-features = false }
gadget-event-listeners-cronjob = { version = "0.1.0", path = "./crates/event-listeners/cronjob", default-features = false }
gadget-event-listeners-tangle = { version = "0.1.0", path = "./crates/event-listeners/tangle", default-features = false }
# Executor
gadget-executor = { version = "0.1.0", path = "./crates/executor", default-features = false }
# Macros
gadget-macros = { version = "0.1.0", path = "./crates/macros", default-features = false }
gadget-blueprint-proc-macro-core = { version = "0.3.1", path = "./crates/macros/core", default-features = false }
gadget-blueprint-proc-macro = { version = "0.5.1", path = "./crates/macros/blueprint-proc-macro", default-features = false }
gadget-blueprint-proc-macro-playground = { version = "0.1.1", path = "./crates/macros/playground", default-features = false }
gadget-context-derive = { version = "0.3.1", path = "./crates/macros/context-derive", default-features = false }
# Stores
gadget-stores = { version = "0.1.0", path = "./crates/stores", default-features = false }
gadget-store-local-database = { version = "0.1.0", path = "./crates/stores/local-database", default-features = false }
# Runners
gadget-runners = { version = "0.1.0", path = "./crates/runners", default-features = false }
gadget-runner-core = { version = "0.1.0", path = "./crates/runners/core", default-features = false }
gadget-runner-eigenlayer = { version = "0.1.0", path = "./crates/runners/eigenlayer", default-features = false }
gadget-runner-tangle = { version = "0.1.0", path = "./crates/runners/tangle", default-features = false }
gadget-runner-symbiotic = { version = "0.1.0", path = "./crates/runners/symbiotic", default-features = false }
# SDK
gadget-config = { version = "0.1.0", path = "./crates/config", default-features = false }
gadget-keystore = { version = "0.1.0", path = "./crates/keystore", default-features = false }
gadget-logging = { version = "0.1.0", path = "./crates/logging", default-features = false }
gadget-networking = { version = "0.1.0", path = "./crates/networking", default-features = false }
gadget-std = { version = "0.1.0", path = "./crates/std", default-features = false }
# Utilities
gadget-utils = { version = "0.1.0", path = "./crates/utils", default-features = false }
gadget-utils-evm = { version = "0.1.0", path = "./crates/utils/evm", default-features = false }
gadget-utils-eigenlayer = { version = "0.1.0", path = "./crates/utils/eigenlayer", default-features = false }
gadget-utils-tangle = { version = "0.1.0", path = "./crates/utils/tangle", default-features = false }
# Testing utilities
gadget-testing-utils = { version = "0.1.0", path = "./crates/testing-utils", default-features = false }
gadget-core-testing-utils = { version = "0.1.0", path = "./crates/testing-utils/core", default-features = false }
gadget-anvil-testing-utils = { version = "0.1.0", path = "./crates/testing-utils/anvil", default-features = false }
gadget-tangle-testing-utils = { version = "0.1.0", path = "./crates/testing-utils/tangle", default-features = false }
gadget-eigenlayer-testing-utils = { version = "0.1.0", path = "./crates/testing-utils/eigenlayer", default-features = false }
# Metrics
gadget-metrics = { version = "0.1.0", path = "./crates/metrics", default-features = false }
gadget-rpc-calls = { version = "0.1.0", path = "./crates/metrics/rpc-calls", default-features = false }
cargo-tangle = { version = "0.1.0", path = "./cli", default-features = false }
cargo_metadata = { version = "0.18.1" }
tnt-core-bytecode = { git = "https://github.com/tangle-network/tnt-core.git", default-features = false, branch = "donovan/bytecode" }
# Tangle-related dependencies
tangle-subxt = { version = "0.9.0", default-features = false }
subxt = { version = "0.38.0", default-features = false }
subxt-core = { version = "0.38.0", default-features = false }
round-based = { version = "0.3.0", default-features = false }
# Substrate dependencies
sp-core = { version = "34.0.0", default-features = false }
sp-io = { version = "38.0.0", default-features = false }
sp-runtime = { version = "39.0.0", default-features = false }
sp-runtime-interface = { version = "28.0.0", default-features = false }
# Async & Runtime
async-trait = { version = "0.1.82", default-features = false }
futures = { version = "0.3.30", default-features = false }
futures-util = { version = "0.3.31", default-features = false }
tokio = { version = "1.40", default-features = false }
tokio-util = { version = "0.7.12", default-features = false }
tokio-cron-scheduler = "0.13.0"
# CLI & Configuration
cargo-generate = { version = "0.22.1", default-features = false }
clap = { version = "4.5.16" }
clap-cargo = { version = "0.14", default-features = false }
toml = { version = "0.8.19", default-features = false }
# Cryptography & Blockchain
bip39 = { version = "2.1.0", default-features = false }
ed25519-zebra = { version = "4", default-features = false }
ethereum-types = { version = "0.14.1", default-features = false }
hex = { version = "0.4.3", default-features = false }
k256 = { version = "0.13.3", default-features = false }
rand = { version = "0.8.5", default-features = false }
schnorrkel = { version = "0.11.4", default-features = false }
sha2 = { version = "0.10.8", default-features = false }
sha3 = { version = "0.10.8", default-features = false }
w3f-bls = { git = "https://github.com/drewstone/bls.git", branch = "drew/bump-ark-versions", default-features = false }
# Data Structures & Serialization
bincode = { version = "1.3.3", default-features = false }
cid = { version = "0.11.1", default-features = false }
indexmap = { version = "2.5.0", default-features = false }
lazy_static = { version = "1.5.0", default-features = false }
serde = { version = "1.0.208", default-features = false }
serde_bytes = { version = "0.11.15", default-features = false }
serde_json = { version = "1.0", default-features = false }
serde_test = { version = "1.0.177", default-features = false }
# Error Handling & Logging
anyhow = { version = "1.0.93", default-features = false }
color-eyre = { version = "0.6", default-features = false }
colored = { version = "3.0.0", default-features = false }
log = { version = "0.4.22", default-features = false }
thiserror = { version = "2.0.6", default-features = false }
tracing = { version = "0.1", default-features = false }
tracing-core = { version = "0.1.33", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
# Networking & HTTP
jsonrpc-core = { version = "18.0.0", default-features = false }
jsonrpc-http-server = { version = "18.0.0", default-features = false }
libp2p = { version = "0.54", default-features = false }
reqwest = { version = "0.12.7", default-features = false }
url = { version = "2.5.2", default-features = false }
# System & OS
fs2 = { version = "0.4", default-features = false }
lock_api = { version = "0.4.12", default-features = false }
nix = { version = "0.29.0", default-features = false }
parking_lot = { version = "0.12.3", default-features = false }
sysinfo = { version = "0.31.2", default-features = false }
tempfile = { version = "3.13.0", default-features = false }
uuid = { version = "1.10.0", default-features = false }
blake3 = { version = "1.5.5", default-features = false }
# Development & Testing
auto_impl = { version = "1.2.0", default-features = false }
cargo_toml = { version = "0.21.0", default-features = false }
escargot = { version = "0.5.12", default-features = false }
itertools = { version = "0.13.0", default-features = false }
paste = { version = "1.0.15", default-features = false }
proc-macro2 = { version = "1.0", default-features = false }
quote = { version = "1.0", default-features = false }
rustdoc-types = { version = "0.33.0", default-features = false }
syn = { version = "2.0.75", default-features = false }
trybuild = { version = "1.0", default-features = false }
typed-builder = { version = "0.19", default-features = false }
dirs = { version = "5.0.1", default-features = false }
serial_test = { version = "3.2.0", default-features = false }
# Alloy (EVM)
alloy = { version = "0.9", default-features = false }
alloy-primitives = { version = "0.8", default-features = false }
alloy-json-abi = { version = "0.8", default-features = false }
alloy-json-rpc = { version = "0.9", default-features = false }
alloy-sol-types = { version = "0.8", default-features = false }
alloy-rlp = { version = "0.3", default-features = false }
alloy-rpc-client = { version = "0.9", default-features = false }
alloy-rpc-types = { version = "0.9", default-features = false }
alloy-rpc-types-eth = { version = "0.9", default-features = false }
alloy-provider = { version = "0.9", default-features = false, features = ["reqwest", "ws"] }
alloy-pubsub = { version = "0.9", default-features = false }
alloy-signer = { version = "0.9", default-features = false }
alloy-signer-local = { version = "0.9", default-features = false }
alloy-network = { version = "0.9", default-features = false }
alloy-node-bindings = { version = "0.9", default-features = false }
alloy-contract = { version = "0.9", default-features = false }
alloy-consensus = { version = "0.9", default-features = false }
alloy-transport = { version = "0.9", default-features = false }
alloy-transport-http = { version = "0.9", default-features = false }
ripemd = { version = "0.1.3", default-features = false }
# Remote signing
alloy-signer-aws = { version = "0.9", default-features = false }
alloy-signer-gcp = { version = "0.9", default-features = false }
alloy-signer-ledger = { version = "0.9", default-features = false, features = ["eip712"] }
aws-config = { version = "1", default-features = false }
aws-sdk-kms = { version = "1", default-features = false }
gcloud-sdk = { version = "0.25", default-features = false }
# Arkworks
ark-bn254 = { version = "0.5.0", default-features = false }
ark-ec = { version = "0.5.0", default-features = false }
ark-ff = { version = "0.5.0", default-features = false }
ark-serialize = { version = "0.5.0", default-features = false, features = ["derive"] }
num-bigint = { version = "0.4.6", default-features = false }
num-traits = { version = "0.2.19", default-features = false }
rayon = { version = "1", default-features = false }
zeroize = { version = "1.8.1", default-features = false }
# Eigenlayer
eigensdk = { git = "https://github.com/Layr-Labs/eigensdk-rs.git", rev = "6ab2674cf19e2f2c78218de706975af1244dad9c", default-features = false }
rust-bls-bn254 = { version = "0.2.1", default-features = false }
testcontainers = { version = "0.23.1", default-features = false }
# Symbiotic
symbiotic-rs = { version = "0.1.1" }
dashmap = { version = "6.1.0", default-features = false }
lru-mem = { version = "0.3.0", default-features = false }
# Metrics
metrics = { version = "0.24.1", default-features = false }
[profile.dev.package.backtrace]
opt-level = 3
# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"