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