/ 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