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