/ 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