This repository has been archived by the owner on Aug 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 293
/
Cargo.toml
271 lines (249 loc) · 14.5 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
[workspace]
resolver = "2"
members = [
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/snos-output",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/starknet-inherent",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-rpc-test",
"madara-test-runner",
"starknet-test-utils",
]
# All previous except for `starknet-rpc-test`
# We don't want `cargo test` to trigger its tests
default-members = [
"crates/node",
"crates/runtime",
"crates/pallets/starknet/runtime_api/",
"crates/pallets/starknet",
"crates/primitives/genesis-config/",
"crates/primitives/digest-log",
"crates/primitives/transactions",
"crates/primitives/felt",
"crates/primitives/hashers",
"crates/primitives/block",
"crates/primitives/starknet-inherent",
"crates/primitives/storage",
"crates/primitives/chain-id",
"crates/primitives/messages",
"crates/primitives/program-hash",
"crates/client/genesis-data-provider",
"crates/client/db",
"crates/client/rpc-core",
"crates/client/rpc",
"crates/client/mapping-sync",
"crates/client/storage",
"crates/client/commitment-state-diff",
"crates/client/eth-client",
"crates/client/starknet-block-import",
"starknet-test-utils",
]
[profile.release]
panic = "unwind"
[profile.production]
inherits = "release"
codegen-units = 1 # Setting this to 1 allows for more optimizations at the cost of slower compile time
lto = true # Enables Link Time Optimization, enabling more aggressive optimizations across the entire codebase
opt-level = 3 # Optimize for speed regardless of binary size or compile time
rpath = false # Disables adding rpath to the binary
[profile.dev]
incremental = true
[workspace.package]
authors = ["Abdelhamid Bakhta <@abdelhamidbakhta>"]
edition = "2021"
repository = "https://github.com/keep-starknet-strange/madara/"
version = "0.8.0"
[workspace.dependencies]
# Substrate frame dependencies
frame-executive = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-support = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-benchmarking = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-benchmarking-cli = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-system = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-system-benchmarking = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-system-rpc-runtime-api = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
frame-try-runtime = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
substrate-frame-rpc-system = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# Substrate primitives dependencies
sp-core = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-std = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-io = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-runtime = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-consensus-aura = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-consensus = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-consensus-grandpa = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-timestamp = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-inherents = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-keyring = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-api = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-blockchain = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-block-builder = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-offchain = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-session = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-transaction-pool = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-version = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-database = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-arithmetic = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-storage = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-state-machine = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-statement-store = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-trie = { version = "22.0.0", git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sp-tracing = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# Substrate client dependencies
sc-client-db = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-network = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-network-common = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-network-sync = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-consensus = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# For integration tests in order to create blocks on demand
sc-consensus-manual-seal = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-consensus-grandpa = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-rpc = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-rpc-api = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-basic-authorship = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-client-api = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-cli = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-executor = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-service = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-telemetry = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-keystore = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-transaction-pool = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-transaction-pool-api = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-offchain = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-consensus-aura = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-block-builder = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-proposer-metrics = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
sc-utils = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
substrate-test-runtime-client = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# Substrate build & tools dependencies
substrate-build-script-utils = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.10.0-dev", git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# Substrate Frame pallet
pallet-aura = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
pallet-grandpa = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
pallet-timestamp = { git = "https://github.com/massalabs/polkadot-sdk", branch = "release-polkadot-v1.3.0-std" }
# Madara pallets
pallet-starknet = { path = "crates/pallets/starknet" }
pallet-starknet-runtime-api = { path = "crates/pallets/starknet/runtime_api" }
# Madara primtitives
mp-genesis-config = { path = "crates/primitives/genesis-config" }
mp-digest-log = { path = "crates/primitives/digest-log" }
mp-block = { path = "crates/primitives/block" }
mp-fee = { path = "crates/primitives/fee" }
mp-felt = { path = "crates/primitives/felt" }
mp-hashers = { path = "crates/primitives/hashers" }
mp-starknet-inherent = { path = "crates/primitives/starknet-inherent" }
mp-snos-output = { path = "crates/primitives/snos-output" }
mp-storage = { path = "crates/primitives/storage" }
mp-transactions = { path = "crates/primitives/transactions" }
mp-chain-id = { path = "crates/primitives/chain-id" }
mp-simulations = { path = "crates/primitives/simulations" }
mp-program-hash = { path = "crates/primitives/program-hash" }
mp-messages = { path = "crates/primitives/messages" }
# test utils
starknet-test-utils = { path = "starknet-test-utils" }
# Madara client
mc-genesis-data-provider = { path = "crates/client/genesis-data-provider" }
mc-mapping-sync = { path = "crates/client/mapping-sync" }
mc-db = { path = "crates/client/db" }
mc-storage = { path = "crates/client/storage" }
mc-rpc = { path = "crates/client/rpc" }
mc-rpc-core = { path = "crates/client/rpc-core" }
mc-commitment-state-diff = { path = "crates/client/commitment-state-diff" }
mc-l1-messages = { path = "crates/client/l1-messages" }
mc-l1-gas-price = { path = "crates/client/l1-gas-price" }
mc-eth-client = { path = "crates/client/eth-client" }
mc-starknet-block-import = { path = "crates/client/starknet-block-import" }
# Madara runtime
madara-runtime = { path = "crates/runtime" }
# Madara test runner
madara-test-runner = { path = "madara-test-runner" }
# Starknet dependencies
# Cairo Virtual Machine
cairo-vm = { git = "https://github.com/bidzyyys/cairo-vm", branch = "feature/scale-codec", features = [
"cairo-1-hints",
"parity-scale-codec",
] }
starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-providers = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-ff = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-signers = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "2d59636911628260fa460179010bbd00e89de06e" }
blockifier = { git = "https://github.com/bidzyyys/blockifier", branch = "feature/scale-codec" }
starknet_api = { git = "https://github.com/bidzyyys/starknet-api", branch = "feature/scale-codec", features = [
"testing",
"parity-scale-codec",
] }
# Cairo lang
cairo-lang-starknet = { git = "https://github.com/bidzyyys/cairo.git", branch = "feature/scale-codec" }
cairo-lang-starknet-classes = { git = "https://github.com/bidzyyys/cairo.git", branch = "feature/scale-codec" }
cairo-lang-casm = { git = "https://github.com/bidzyyys/cairo.git", branch = "feature/scale-codec" }
cairo-lang-utils = { git = "https://github.com/bidzyyys/cairo.git", branch = "feature/scale-codec" }
# Ethers: using the same versions as in Anvil
ethers = { git = "https://github.com/gakonst/ethers-rs", rev = "f0e5b194f09c533feb10d1a686ddb9e5946ec107" }
ethers-solc = { git = "https://github.com/gakonst/ethers-rs", rev = "f0e5b194f09c533feb10d1a686ddb9e5946ec107" }
# Zaun
starknet-core-contract-client = { git = "https://github.com/keep-starknet-strange/zaun", package = "starknet-core-contract-client", branch = "main" }
# Other third party dependencies
anyhow = "1.0.80"
flate2 = "1.0.28"
parity-scale-codec = { version = "3.2.2" }
scale-info = { version = "2.10.0" }
lazy_static = { version = "1.4.0" }
log = { version = "0.4.20" }
hex = { version = "0.4.3" }
safe-mix = { version = "1.0" }
jsonrpsee = { version = "0.16.3" }
clap = { version = "4.4.8" }
futures = { version = "0.3.29" }
futures-timer = { version = "3.0.3" }
sha3 = { version = "0.10.8" }
reqwest = { version = "0.11.22" }
serde = { version = "1.0.192" }
serde_json = { version = "1.0.108" }
serde_with = { version = "2.3.3" }
bitvec = { version = "1" }
thiserror = "1.0.50"
derive_more = { version = "0.99.17" }
rstest = "0.18.1"
pretty_assertions = "1.4.0"
linked-hash-map = { version = "0.5.6" }
parking_lot = "0.12.1"
async-trait = "0.1.74"
indexmap = "2.2.5"
num-traits = "0.2.17"
num-bigint = "0.4.4"
phf = { version = "0.11" }
url = "2.4.1"
hashbrown = "0.14.2"
tokio = "1.36.0"
openssl = { version = "0.10", features = ["vendored"] }
subxt = "0.29"
assert_matches = "1.5.0"
async-lock = "3.1.0"
rustc-hex = { version = "2.0.0" }
itertools = "0.12.0"
tempfile = "3.2"