/ 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