/ Cargo.toml
Cargo.toml
  1  [package]
  2  name = "alphavm"
  3  version = "0.2.0"
  4  authors = [ "The Alpha Team <hello@alpha.org>" ]
  5  description = "A decentralized virtual machine"
  6  homepage = "https://alpha.org"
  7  repository = "https://github.com/ProvableHQ/alphavm"
  8  keywords = [
  9    "alpha",
 10    "cryptography",
 11    "blockchain",
 12    "decentralized",
 13    "zero-knowledge"
 14  ]
 15  categories = [
 16    "compilers",
 17    "cryptography",
 18    "mathematics",
 19    "wasm",
 20    "web-programming"
 21  ]
 22  include = [ "Cargo.toml", "vm", "README.md", "LICENSE.md" ]
 23  license = "Apache-2.0"
 24  edition = "2024"
 25  rust-version = "1.88.0" # Attention - Change the MSRV in rust-toolchain and in .circleci/config.yml as well
 26  
 27  [workspace]
 28  members = [
 29    "algorithms",
 30    "algorithms/cuda",
 31    "circuit",
 32    "circuit/account",
 33    "circuit/algorithms",
 34    "circuit/collections",
 35    "circuit/environment",
 36    "circuit/environment/witness",
 37    "circuit/network",
 38    "circuit/program",
 39    "circuit/types",
 40    "circuit/types/address",
 41    "circuit/types/boolean",
 42    "circuit/types/field",
 43    "circuit/types/group",
 44    "circuit/types/integers",
 45    "circuit/types/scalar",
 46    "circuit/types/string",
 47    "console",
 48    "console/account",
 49    "console/algorithms",
 50    "console/collections",
 51    "console/network",
 52    "console/network/environment",
 53    "console/program",
 54    "console/types",
 55    "console/types/address",
 56    "console/types/boolean",
 57    "console/types/field",
 58    "console/types/group",
 59    "console/types/integers",
 60    "console/types/scalar",
 61    "console/types/string",
 62    "curves",
 63    "fields",
 64    "ledger",
 65    "ledger/authority",
 66    "ledger/block",
 67    "ledger/committee",
 68    "ledger/narwhal",
 69    "ledger/narwhal/batch-certificate",
 70    "ledger/narwhal/batch-header",
 71    "ledger/narwhal/data",
 72    "ledger/narwhal/subdag",
 73    "ledger/narwhal/transmission",
 74    "ledger/narwhal/transmission-id",
 75    "ledger/puzzle",
 76    "ledger/puzzle/epoch",
 77    "ledger/query",
 78    "ledger/store",
 79    "ledger/test-helpers",
 80    "ledger/testchain-generator",
 81    "metrics",
 82    "parameters",
 83    "synthesizer",
 84    "synthesizer/process",
 85    "synthesizer/program",
 86    "synthesizer/snark",
 87    "utilities",
 88    "utilities/derives",
 89    "wasm"
 90  ]
 91  
 92  [lib]
 93  path = "vm/lib.rs"
 94  
 95  [features]
 96  default = [
 97    "algorithms",
 98    "circuit",
 99    "console",
100    "ledger",
101    "parameters",
102    "synthesizer",
103    "utilities",
104    "package",
105    "file",
106  ]
107  full = [
108    "default",
109    "curves",
110    "fields",
111  ]
112  file = [
113    "console",
114    "synthesizer",
115    "dep:serde_json"
116  ]
117  package = [
118    "algorithms",
119    "circuit",
120    "file",
121    "ledger",
122    "alphavm-console/filesystem",
123    "dep:ureq",
124    "dep:dotenvy"
125  ]
126  
127  async = [ "alphavm-ledger/async", "alphavm-synthesizer/async" ]
128  cuda = [ "alphavm-algorithms/cuda" ]
129  history = [ "alphavm-synthesizer/history" ]
130  parameters_no_std_out = [ "alphavm-parameters/no_std_out" ]
131  locktick = [
132    "alphavm-algorithms?/locktick",
133    "alphavm-ledger?/locktick",
134    "alphavm-parameters?/locktick",
135    "alphavm-synthesizer?/locktick"
136  ]
137  noconfig = [ ]
138  rocks = [ "alphavm-ledger/rocks", "alphavm-synthesizer/rocks" ]
139  test = [ "alphavm-ledger/test" ]
140  test-helpers = [ "alphavm-ledger/test-helpers" ]
141  timer = [ "alphavm-ledger/timer" ]
142  algorithms = [ "alphavm-algorithms" ]
143  circuit = [ "alphavm-circuit" ]
144  console = [ "alphavm-console" ]
145  curves = [ "alphavm-curves" ]
146  fields = [ "alphavm-fields" ]
147  ledger = [ "alphavm-ledger" ]
148  metrics = [ "alphavm-metrics", "alphavm-ledger/metrics" ]
149  parameters = [ "alphavm-parameters" ]
150  synthesizer = [ "alphavm-synthesizer" ]
151  utilities = [ "alphavm-utilities" ]
152  wasm = [ "alphavm-wasm" ]
153  serial = [
154    "alphavm-algorithms?/serial",
155    "alphavm-console?/serial",
156    "alphavm-curves?/serial",
157    "alphavm-fields?/serial",
158    "alphavm-utilities/serial",
159    "alphavm-ledger?/serial"
160  ]
161  
162  dev-print = [ 
163    "alphavm-utilities/dev-print",
164    "alphavm-algorithms/dev-print",
165    "alphavm-circuit/dev-print",
166    "alphavm-curves/dev-print",
167    "alphavm-fields/dev-print",
168    "alphavm-parameters/dev-print",
169    "alphavm-synthesizer/dev-print",
170  ]
171  dev_skip_checks = [
172    "alphavm-console/dev_skip_checks",
173    "alphavm-synthesizer/dev_skip_checks"
174  ]
175  save_r1cs_hashes = [ "alphavm-circuit/save_r1cs_hashes" ]
176  test_exports = [ "alphavm-algorithms/test_exports" ]
177  test_targets = [ "alphavm-console/test_targets" ]
178  test_consensus_heights = [ "alphavm-console/test_consensus_heights", "alphavm-synthesizer/test_consensus_heights" ]
179  
180  [workspace.dependencies.alphavm-algorithms]
181  path = "algorithms"
182  version = "=0.2.0"
183  default-features = false
184  
185  [workspace.dependencies.alphavm-algorithms-cuda]
186  path = "algorithms/cuda"
187  version = "=0.2.0"
188  
189  [workspace.dependencies.alphavm-circuit]
190  path = "circuit"
191  version = "=0.2.0"
192  
193  [workspace.dependencies.alphavm-circuit-account]
194  path = "circuit/account"
195  version = "=0.2.0"
196  
197  [workspace.dependencies.alphavm-circuit-algorithms]
198  path = "circuit/algorithms"
199  version = "=0.2.0"
200  
201  [workspace.dependencies.alphavm-circuit-collections]
202  path = "circuit/collections"
203  version = "=0.2.0"
204  
205  [workspace.dependencies.alphavm-circuit-environment]
206  path = "circuit/environment"
207  version = "=0.2.0"
208  
209  [workspace.dependencies.alphavm-circuit-environment-witness]
210  path = "circuit/environment/witness"
211  version = "=0.2.0"
212  default-features = false
213  
214  [workspace.dependencies.alphavm-circuit-network]
215  path = "circuit/network"
216  version = "=0.2.0"
217  
218  [workspace.dependencies.alphavm-circuit-program]
219  path = "circuit/program"
220  version = "=0.2.0"
221  
222  [workspace.dependencies.alphavm-circuit-types]
223  path = "circuit/types"
224  version = "=0.2.0"
225  
226  [workspace.dependencies.alphavm-circuit-types-address]
227  path = "circuit/types/address"
228  version = "=0.2.0"
229  
230  [workspace.dependencies.alphavm-circuit-types-boolean]
231  path = "circuit/types/boolean"
232  version = "=0.2.0"
233  
234  [workspace.dependencies.alphavm-circuit-types-field]
235  path = "circuit/types/field"
236  version = "=0.2.0"
237  
238  [workspace.dependencies.alphavm-circuit-types-scalar]
239  path = "circuit/types/scalar"
240  version = "=0.2.0"
241  
242  [workspace.dependencies.alphavm-circuit-types-string]
243  path = "circuit/types/string"
244  version = "=0.2.0"
245  
246  [workspace.dependencies.alphavm-console]
247  path = "console"
248  version = "=0.2.0"
249  default-features = false
250  
251  [workspace.dependencies.alphavm-console-account]
252  path = "console/account"
253  version = "=0.2.0"
254  
255  [workspace.dependencies.alphavm-console-algorithms]
256  path = "console/algorithms"
257  version = "=0.2.0"
258  
259  [workspace.dependencies.alphavm-console-collections]
260  path = "console/collections"
261  version = "=0.2.0"
262  
263  [workspace.dependencies.alphavm-console-network]
264  path = "console/network"
265  version = "=0.2.0"
266  
267  [workspace.dependencies.alphavm-console-network-environment]
268  path = "console/network/environment"
269  version = "=0.2.0"
270  
271  [workspace.dependencies.alphavm-console-program]
272  path = "console/program"
273  version = "=0.2.0"
274  
275  [workspace.dependencies.alphavm-console-types]
276  path = "console/types"
277  version = "=0.2.0"
278  default-features = false
279  
280  [workspace.dependencies.alphavm-console-types-address]
281  path = "console/types/address"
282  version = "=0.2.0"
283  
284  [workspace.dependencies.alphavm-console-types-boolean]
285  path = "console/types/boolean"
286  version = "=0.2.0"
287  
288  [workspace.dependencies.alphavm-console-types-field]
289  path = "console/types/field"
290  version = "=0.2.0"
291  
292  [workspace.dependencies.alphavm-console-types-group]
293  path = "console/types/group"
294  version = "=0.2.0"
295  
296  [workspace.dependencies.alphavm-console-types-integers]
297  path = "console/types/integers"
298  version = "=0.2.0"
299  
300  [workspace.dependencies.alphavm-console-types-scalar]
301  path = "console/types/scalar"
302  version = "=0.2.0"
303  
304  [workspace.dependencies.alphavm-console-types-string]
305  path = "console/types/string"
306  version = "=0.2.0"
307  
308  [workspace.dependencies.alphavm-circuit-types-group]
309  path = "circuit/types/group"
310  version = "=0.2.0"
311  
312  [workspace.dependencies.alphavm-circuit-types-integers]
313  path = "circuit/types/integers"
314  version = "=0.2.0"
315  
316  [workspace.dependencies.alphavm-curves]
317  path = "curves"
318  version = "=0.2.0"
319  default-features = false
320  
321  [workspace.dependencies.alphavm-fields]
322  path = "fields"
323  version = "=0.2.0"
324  default-features = false
325  
326  [workspace.dependencies.alphavm-ledger]
327  path = "ledger"
328  version = "=0.2.0"
329  
330  [workspace.dependencies.alphavm-ledger-authority]
331  path = "ledger/authority"
332  version = "=0.2.0"
333  
334  [workspace.dependencies.alphavm-ledger-block]
335  path = "ledger/block"
336  version = "=0.2.0"
337  
338  [workspace.dependencies.alphavm-ledger-committee]
339  path = "ledger/committee"
340  version = "=0.2.0"
341  default-features = false
342  
343  [workspace.dependencies.alphavm-ledger-narwhal]
344  path = "ledger/narwhal"
345  version = "=0.2.0"
346  
347  [workspace.dependencies.alphavm-ledger-narwhal-data]
348  path = "ledger/narwhal/data"
349  version = "=0.2.0"
350  
351  [workspace.dependencies.alphavm-ledger-narwhal-batch-header]
352  path = "ledger/narwhal/batch-header"
353  version = "=0.2.0"
354  
355  [workspace.dependencies.alphavm-ledger-narwhal-batch-certificate]
356  path = "ledger/narwhal/batch-certificate"
357  version = "=0.2.0"
358  
359  [workspace.dependencies.alphavm-ledger-narwhal-subdag]
360  path = "ledger/narwhal/subdag"
361  version = "=0.2.0"
362  
363  [workspace.dependencies.alphavm-ledger-narwhal-transmission]
364  path = "ledger/narwhal/transmission"
365  version = "=0.2.0"
366  
367  [workspace.dependencies.alphavm-ledger-narwhal-transmission-id]
368  path = "ledger/narwhal/transmission-id"
369  version = "=0.2.0"
370  
371  [workspace.dependencies.alphavm-ledger-puzzle]
372  path = "ledger/puzzle"
373  version = "=0.2.0"
374  
375  [workspace.dependencies.alphavm-ledger-puzzle-epoch]
376  path = "ledger/puzzle/epoch"
377  version = "=0.2.0"
378  
379  [workspace.dependencies.alphavm-ledger-query]
380  path = "ledger/query"
381  version = "=0.2.0"
382  default-features = false
383  
384  [workspace.dependencies.alphavm-ledger-store]
385  path = "ledger/store"
386  version = "=0.2.0"
387  
388  [workspace.dependencies.alphavm-ledger-test-helpers]
389  path = "ledger/test-helpers"
390  version = "=0.2.0"
391  
392  [workspace.dependencies.alphavm-metrics]
393  path = "metrics"
394  version = "=0.2.0"
395  
396  [workspace.dependencies.alphavm-parameters]
397  path = "parameters"
398  version = "=0.2.0"
399  
400  [workspace.dependencies.alphavm-synthesizer]
401  path = "synthesizer"
402  version = "=0.2.0"
403  
404  [workspace.dependencies.alphavm-synthesizer-process]
405  path = "synthesizer/process"
406  version = "=0.2.0"
407  
408  [workspace.dependencies.alphavm-synthesizer-program]
409  path = "synthesizer/program"
410  version = "=0.2.0"
411  
412  [workspace.dependencies.alphavm-synthesizer-snark]
413  path = "synthesizer/snark"
414  version = "=0.2.0"
415  
416  [workspace.dependencies.alphavm-utilities]
417  path = "utilities"
418  version = "=0.2.0"
419  
420  [workspace.dependencies.alphavm-utilities-derives]
421  path = "utilities/derives"
422  version = "=0.2.0"
423  
424  [workspace.dependencies.alphavm-wasm]
425  path = "wasm"
426  version = "=0.2.0"
427  
428  [workspace.dependencies.alphastd]
429  path = "../acdc-core"
430  
431  [workspace.dependencies.alphastd-storage]
432  default-features=false
433  path = "../acdc-core/storage"
434  
435  [workspace.dependencies.anyhow]
436  version = "1.0.73"
437  features = ["backtrace"]
438  
439  [workspace.dependencies.bincode]
440  version = "1.3.3"
441  
442  [workspace.dependencies.bytes]
443  version = "1"
444  
445  [workspace.dependencies.cfg-if]
446  version = "1.0.0"
447  
448  [workspace.dependencies.criterion]
449  version = "0.7"
450  
451  [workspace.dependencies.colored]
452  version = "3"
453  
454  [workspace.dependencies.dotenvy]
455  version = "0.15"
456  
457  [workspace.dependencies.enum-iterator]
458  version = "2.1"
459  
460  [workspace.dependencies.expect-test]
461  version = "1.4.1"
462  
463  [workspace.dependencies.hex]
464  version = "0.4.3"
465  
466  [workspace.dependencies.indexmap]
467  version = "2.0"
468  
469  [workspace.dependencies.itertools]
470  version = "0.14"
471  
472  [workspace.dependencies.lazy_static]
473  version = "1.4"
474  
475  [workspace.dependencies.locktick]
476  version = "0.4"
477  
478  [workspace.dependencies.lru]
479  version = "0.16"
480  
481  [workspace.dependencies.num-traits]
482  version = "0.2"
483  
484  [workspace.dependencies.nom]
485  version = "7.1"
486  
487  [workspace.dependencies.parking_lot]
488  version = "0.12"
489  
490  [workspace.dependencies.paste]
491  version = "1"
492  
493  [workspace.dependencies.rand]
494  version = "0.8"
495  
496  [workspace.dependencies.rand_chacha]
497  version = "0.3.1"
498  
499  [workspace.dependencies.rayon]
500  version = "1"
501  
502  [workspace.dependencies.serde]
503  version = "1.0.188"
504  
505  [workspace.dependencies.serde_json]
506  version = "1.0"
507  
508  [workspace.dependencies.serial_test]
509  version = "2.0"
510  
511  [workspace.dependencies.sha2]
512  version = "0.10"
513  default-features = false
514  
515  [workspace.dependencies.smallvec]
516  version = "1.14"
517  
518  [workspace.dependencies.tempfile]
519  version = "3.15"
520  
521  [workspace.dependencies.thiserror]
522  version = "2.0.11"
523  
524  [workspace.dependencies.time]
525  version = "0.3"
526  
527  [workspace.dependencies.tracing]
528  version = "0.1"
529  
530  [workspace.dependencies.tracing-test]
531  version = "0.2.5"
532  
533  [workspace.dependencies.ureq]
534  version = "3"
535  default-features = false
536  
537  [workspace.dependencies.zeroize]
538  version = "1"
539  
540  [dependencies.alphavm-algorithms]
541  workspace = true
542  optional = true
543  
544  [dependencies.alphavm-circuit]
545  workspace = true
546  optional = true
547  
548  [dependencies.alphavm-console]
549  workspace = true
550  optional = true
551  features = [ "default" ]
552  
553  [dependencies.alphavm-curves]
554  workspace = true
555  optional = true
556  
557  [dependencies.alphavm-fields]
558  workspace = true
559  optional = true
560  
561  [dependencies.alphavm-ledger]
562  workspace = true
563  optional = true
564  
565  [dependencies.alphavm-metrics]
566  workspace = true
567  optional = true
568  
569  [dependencies.alphavm-parameters]
570  workspace = true
571  optional = true
572  
573  [dependencies.alphavm-synthesizer]
574  workspace = true
575  optional = true
576  
577  [dependencies.alphavm-utilities]
578  workspace = true
579  optional = true
580  
581  [dependencies.alphavm-wasm]
582  workspace = true
583  optional = true
584  
585  [dependencies.anyhow]
586  workspace = true
587  
588  [dependencies.dotenvy]
589  version = "0.15"
590  optional = true
591  
592  [dependencies.rand]
593  workspace = true
594  
595  [dependencies.serde_json]
596  workspace = true
597  optional = true
598  features = [ "preserve_order" ]
599  
600  [dependencies.ureq]
601  workspace = true
602  optional = true
603  features = [ "json" ]
604  default-features = true
605  
606  [dev-dependencies.alphavm]
607  path = "."
608  
609  [dev-dependencies.bincode]
610  workspace = true
611  
612  [dev-dependencies.rusty-hook]
613  version = "0.11.2"
614  
615  [dev-dependencies.tempfile]
616  workspace = true
617  
618  [build-dependencies.walkdir]
619  version = "2"
620  
621  [profile.release]
622  opt-level = 3
623  lto = "thin"
624  incremental = true
625  
626  [profile.bench]
627  opt-level = 3
628  debug = false
629  rpath = false
630  lto = "thin"
631  incremental = true
632  debug-assertions = false
633  
634  [profile.dev]
635  opt-level = 3
636  lto = "off"
637  incremental = true
638  
639  [profile.test]
640  opt-level = 3
641  lto = "thin"
642  incremental = true
643  debug = true
644  debug-assertions = true
645