diff --git a/.circleci/config.yml b/.circleci/config.yml index 825179ac7a..52a47badde 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -50,12 +50,20 @@ commands: command: | env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install -s << pipeline.parameters.python_version >> pyenv global << pipeline.parameters.python_version >> - HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp + HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp patchelf - save_cache: key: mac-python-gmp-<< pipeline.parameters.python_version >> paths: - ~/.pyenv/versions/<< pipeline.parameters.python_version >> - /opt/homebrew/opt/gmp + - /opt/homebrew/opt/patchelf + + install_linux_patchelf: + description: "Install patchelf using pip" + steps: + - run: + name: Install patchelf + command: pip install patchelf ensure_poetry_version: description: "Install poetry" @@ -120,6 +128,7 @@ commands: - run: name: Get submodule and protostar-rust hashes command: | + git rev-parse HEAD:./blockifier > /tmp/blockifier-submodule-hash git rev-parse HEAD:./cairo > /tmp/cairo-submodule-hash shasum scripts/install_all_bindings.sh > /tmp/scripts-hash shasum scripts/install_cairo_bindings.sh >> /tmp/scripts-hash @@ -135,7 +144,7 @@ commands: enum: ["linux", "mac"] steps: - restore_cache: - key: bindings-<< parameters.platform >>-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }}-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-{{ checksum "poetry.lock" }} + key: bindings-<< parameters.platform >>-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/blockifier-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }}-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-{{ checksum "poetry.lock" }} - run: name: Install bindings and compile cairo-compile command: | @@ -151,7 +160,7 @@ commands: popd fi - save_cache: - key: bindings-<< parameters.platform >>-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }}-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-{{ checksum "poetry.lock" }} + key: bindings-<< parameters.platform >>-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/blockifier-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }}-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-{{ checksum "poetry.lock" }} paths: - ./cairo/target/debug/cairo-compile - ./cairo/target/wheels @@ -181,6 +190,11 @@ commands: equal: ["mac", << parameters.platform >>] steps: - install_python_and_gmp_mac + - when: + condition: + equal: ["linux", << parameters.platform >>] + steps: + - install_linux_patchelf - ensure_poetry_version - install_rust - install_scarb @@ -202,7 +216,7 @@ commands: enum: ["linux", "mac"] steps: - restore_cache: - key: poetry-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-<< parameters.platform >>-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }} + key: poetry-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-<< parameters.platform >>-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/blockifier-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }} save_poetry_cache: parameters: @@ -211,7 +225,7 @@ commands: enum: ["linux", "mac"] steps: - save_cache: - key: poetry-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-<< parameters.platform >>-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }} + key: poetry-<< pipeline.parameters.poetry_version >>-py<< pipeline.parameters.python_version >>-<< parameters.platform >>-{{ checksum "poetry.lock" }}-{{ checksum "/tmp/scripts-hash" }}-{{ checksum "/tmp/cairo-submodule-hash" }}-{{ checksum "/tmp/blockifier-submodule-hash" }}-{{ checksum "/tmp/protostar-rust-hashes" }} paths: - ~/.cache/pypoetry - ~/Library/Caches/pypoetry diff --git a/.gitmodules b/.gitmodules index 5c347af171..71eb8e6441 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "cairo"] path = cairo url = https://github.com/software-mansion-labs/cairo +[submodule "blockifier"] + path = blockifier + url = https://github.com/karol-bisztyga/blockifier.git diff --git a/blockifier b/blockifier new file mode 160000 index 0000000000..5a4c4874a0 --- /dev/null +++ b/blockifier @@ -0,0 +1 @@ +Subproject commit 5a4c4874a0bef4e2a3b24243eb095c589f2c2802 diff --git a/cairo b/cairo index a8ca26f2c5..dc30da3ee6 160000 --- a/cairo +++ b/cairo @@ -1 +1 @@ -Subproject commit a8ca26f2c50cab560c2e2ac98c6a8deabb332996 +Subproject commit dc30da3ee68a0ca978fc072cced2df72da8b30cc diff --git a/protostar-rust/Cargo.lock b/protostar-rust/Cargo.lock index 156ced2ea8..77403113f5 100644 --- a/protostar-rust/Cargo.lock +++ b/protostar-rust/Cargo.lock @@ -77,26 +77,54 @@ version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits 0.2.15", + "paste 1.0.12", + "rustc_version 0.3.3", + "zeroize", +] + [[package]] name = "ark-ff" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", "ark-std 0.4.0", "derivative", - "digest", + "digest 0.10.6", "itertools", "num-bigint", "num-traits 0.2.15", "paste 1.0.12", - "rustc_version", + "rustc_version 0.4.0", "zeroize", ] +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "ark-ff-asm" version = "0.4.2" @@ -107,6 +135,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits 0.2.15", + "quote", + "syn 1.0.109", +] + [[package]] name = "ark-ff-macros" version = "0.4.2" @@ -120,6 +160,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + [[package]] name = "ark-serialize" version = "0.4.2" @@ -127,7 +177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ "ark-std 0.4.0", - "digest", + "digest 0.10.6", "num-bigint", ] @@ -151,6 +201,12 @@ dependencies = [ "rand", ] +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "ascii-canvas" version = "3.0.0" @@ -183,6 +239,29 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bigdecimal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits 0.2.15", +] + [[package]] name = "bincode" version = "2.0.0-rc.3" @@ -213,16 +292,38 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty 1.1.0", + "radium 0.6.2", + "tap", + "wyz 0.2.0", +] + [[package]] name = "bitvec" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "funty", - "radium", + "funty 2.0.0", + "radium 0.7.0", "tap", - "wyz", + "wyz 0.5.1", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "block-padding", + "generic-array", ] [[package]] @@ -234,12 +335,64 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "blockifier" +version = "0.1.0" +dependencies = [ + "cairo-felt", + "cairo-lang-casm 1.1.0", + "cairo-lang-runner 1.1.0", + "cairo-lang-starknet 1.1.0", + "cairo-vm", + "ctor 0.2.0", + "derive_more", + "indexmap", + "itertools", + "log", + "num-bigint", + "num-integer", + "num-traits 0.2.15", + "phf", + "serde", + "serde_json", + "sha3 0.10.8", + "starknet-crypto 0.2.0", + "starknet_api", + "strum", + "strum_macros", + "thiserror", +] + [[package]] name = "bumpalo" version = "3.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + [[package]] name = "cairo-felt" version = "0.3.0-rc1" @@ -257,7 +410,21 @@ dependencies = [ name = "cairo-lang-casm" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-utils", + "cairo-lang-utils 1.0.0-rc0", + "indoc 2.0.1", + "num-bigint", + "num-traits 0.2.15", + "serde", + "thiserror", +] + +[[package]] +name = "cairo-lang-casm" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "609d537551d96f322307b63863025e939ea87463dc3bb216a9d12dfb6bb4ceea" +dependencies = [ + "cairo-lang-utils 1.1.0", "indoc 2.0.1", "num-bigint", "num-traits 0.2.15", @@ -270,18 +437,44 @@ name = "cairo-lang-compiler" version = "1.0.0-rc0" dependencies = [ "anyhow", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-parser", - "cairo-lang-plugins", - "cairo-lang-project", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-sierra-generator", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-plugins 1.0.0-rc0", + "cairo-lang-project 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-generator 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "clap", + "log", + "salsa", + "smol_str", + "thiserror", +] + +[[package]] +name = "cairo-lang-compiler" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aac8f0065a777d7b6591956dc238108b873f5c8155c6daa36808679b8407a08" +dependencies = [ + "anyhow", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-lowering 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-plugins 1.1.0", + "cairo-lang-project 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-sierra-generator 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "clap", "log", "salsa", @@ -293,16 +486,40 @@ dependencies = [ name = "cairo-lang-debug" version = "1.0.0-rc0" +[[package]] +name = "cairo-lang-debug" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65999f741e714e9b3605bae54fbf3816bcc085a68c365132dc944cf3b9603c82" + [[package]] name = "cairo-lang-defs" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-parser", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "indexmap", + "itertools", + "salsa", + "smol_str", +] + +[[package]] +name = "cairo-lang-defs" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1905ad17cd5bdc511ec64767bd3b1e187bfd428c8a62928e8c5e87ee3b0bad70" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "indexmap", "itertools", "salsa", @@ -313,8 +530,20 @@ dependencies = [ name = "cairo-lang-diagnostics" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-filesystem", - "cairo-lang-utils", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "itertools", + "salsa", +] + +[[package]] +name = "cairo-lang-diagnostics" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12338363df11e798507658e7de4d0e9afe7c45db6c411fa7390bad8a12456d83" +dependencies = [ + "cairo-lang-filesystem 1.1.0", + "cairo-lang-utils 1.1.0", "itertools", "salsa", ] @@ -323,7 +552,19 @@ dependencies = [ name = "cairo-lang-eq-solver" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-utils", + "cairo-lang-utils 1.0.0-rc0", + "good_lp", + "indexmap", + "itertools", +] + +[[package]] +name = "cairo-lang-eq-solver" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6de967ad85f599670b636ee955e1554597fba178b133b0dbe38f45d7c477456c" +dependencies = [ + "cairo-lang-utils 1.1.0", "good_lp", "indexmap", "itertools", @@ -333,8 +574,22 @@ dependencies = [ name = "cairo-lang-filesystem" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "path-clean", + "salsa", + "serde", + "smol_str", +] + +[[package]] +name = "cairo-lang-filesystem" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8697f7ada715a7eb2ffbec70ffdeccaa50b37231931c430467d12de0d1d5bf98" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-utils 1.1.0", "path-clean", "salsa", "serde", @@ -345,15 +600,40 @@ dependencies = [ name = "cairo-lang-lowering" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-parser", - "cairo-lang-proc-macros", - "cairo-lang-semantic", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-proc-macros 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "id-arena", + "indexmap", + "itertools", + "log", + "num-bigint", + "num-traits 0.2.15", + "salsa", + "smol_str", +] + +[[package]] +name = "cairo-lang-lowering" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4f386695a21ba59a3ed2bb9871e946936d67cd1f0493b6b7e336a47cbdc031d" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-proc-macros 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "id-arena", "indexmap", "itertools", @@ -368,11 +648,32 @@ dependencies = [ name = "cairo-lang-parser" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-syntax", - "cairo-lang-syntax-codegen", - "cairo-lang-utils", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-syntax-codegen 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "colored", + "itertools", + "log", + "num-bigint", + "num-traits 0.2.15", + "salsa", + "smol_str", + "unescaper", +] + +[[package]] +name = "cairo-lang-parser" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85d617fd0b9e85d66ba8cec10ddbfb6842495355f6086f84ae3bb5cacbe6cb35" +dependencies = [ + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-syntax-codegen 1.1.0", + "cairo-lang-utils 1.1.0", "colored", "itertools", "log", @@ -387,13 +688,32 @@ dependencies = [ name = "cairo-lang-plugins" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-parser", - "cairo-lang-semantic", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "indoc 2.0.1", + "itertools", + "salsa", + "smol_str", +] + +[[package]] +name = "cairo-lang-plugins" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5daa572e1689c89d889040cda5a1ee769a859d1d30199ec098228eec890d8c" +dependencies = [ + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "indoc 2.0.1", "itertools", "salsa", @@ -404,7 +724,18 @@ dependencies = [ name = "cairo-lang-proc-macros" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", + "cairo-lang-debug 1.0.0-rc0", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "cairo-lang-proc-macros" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2de917c241cf3b9043490412ec4d93c471def7f86fcc72c4f2a06f4f9c2a37b8" +dependencies = [ + "cairo-lang-debug 1.1.0", "quote", "syn 1.0.109", ] @@ -413,7 +744,20 @@ dependencies = [ name = "cairo-lang-project" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-filesystem", + "cairo-lang-filesystem 1.0.0-rc0", + "serde", + "smol_str", + "thiserror", + "toml", +] + +[[package]] +name = "cairo-lang-project" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2db21302fa5f00c1951e2e9c14c57ac1f1fa925d1853efdfc43095ae77674daa" +dependencies = [ + "cairo-lang-filesystem 1.1.0", "serde", "smol_str", "thiserror", @@ -426,26 +770,26 @@ version = "1.0.0-rc0" dependencies = [ "anyhow", "cairo-felt", - "cairo-lang-casm", - "cairo-lang-compiler", - "cairo-lang-debug", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-plugins", - "cairo-lang-project", - "cairo-lang-runner", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-sierra-ap-change", - "cairo-lang-sierra-gas", - "cairo-lang-sierra-generator", - "cairo-lang-sierra-to-casm", - "cairo-lang-starknet", - "cairo-lang-syntax", + "cairo-lang-casm 1.0.0-rc0", + "cairo-lang-compiler 1.0.0-rc0", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-plugins 1.0.0-rc0", + "cairo-lang-project 1.0.0-rc0", + "cairo-lang-runner 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-ap-change 1.0.0-rc0", + "cairo-lang-sierra-gas 1.0.0-rc0", + "cairo-lang-sierra-generator 1.0.0-rc0", + "cairo-lang-sierra-to-casm 1.0.0-rc0", + "cairo-lang-starknet 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", "cairo-lang-test-runner", - "cairo-lang-utils", + "cairo-lang-utils 1.0.0-rc0", "cairo-vm", "clap", "colored", @@ -467,23 +811,63 @@ name = "cairo-lang-runner" version = "1.0.0-rc0" dependencies = [ "anyhow", - "ark-ff", + "ark-ff 0.4.2", + "ark-std 0.3.0", + "blockifier", + "cairo-felt", + "cairo-lang-casm 1.0.0-rc0", + "cairo-lang-compiler 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-project 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-ap-change 1.0.0-rc0", + "cairo-lang-sierra-gas 1.0.0-rc0", + "cairo-lang-sierra-generator 1.0.0-rc0", + "cairo-lang-sierra-to-casm 1.0.0-rc0", + "cairo-lang-starknet 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "cairo-vm", + "clap", + "itertools", + "keccak", + "num-bigint", + "num-integer", + "num-traits 0.2.15", + "salsa", + "serde_json", + "smol_str", + "starknet_api", + "thiserror", +] + +[[package]] +name = "cairo-lang-runner" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a16a321b85c0541bc03526aa16970694196df969be932140323a09ecaca1864" +dependencies = [ + "anyhow", + "ark-ff 0.4.2", "ark-std 0.3.0", "cairo-felt", - "cairo-lang-casm", - "cairo-lang-compiler", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-sierra-ap-change", - "cairo-lang-sierra-gas", - "cairo-lang-sierra-generator", - "cairo-lang-sierra-to-casm", - "cairo-lang-starknet", - "cairo-lang-utils", + "cairo-lang-casm 1.1.0", + "cairo-lang-compiler 1.1.0", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-lowering 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-sierra-ap-change 1.1.0", + "cairo-lang-sierra-gas 1.1.0", + "cairo-lang-sierra-generator 1.1.0", + "cairo-lang-sierra-to-casm 1.1.0", + "cairo-lang-starknet 1.1.0", + "cairo-lang-utils 1.1.0", "cairo-vm", "clap", "itertools", @@ -499,14 +883,37 @@ dependencies = [ name = "cairo-lang-semantic" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-parser", - "cairo-lang-proc-macros", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-proc-macros 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "id-arena", + "itertools", + "log", + "num-bigint", + "num-traits 0.2.15", + "salsa", + "smol_str", +] + +[[package]] +name = "cairo-lang-semantic" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1a77a240188ac3ef5139a7f8f10fd879dcacf205c26ba7708999d8728f0d17d" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-proc-macros 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "id-arena", "itertools", "log", @@ -520,9 +927,32 @@ dependencies = [ name = "cairo-lang-sierra" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-utils", + "cairo-lang-utils 1.0.0-rc0", + "const-fnv1a-hash", + "convert_case 0.6.0", + "derivative", + "itertools", + "lalrpop", + "lalrpop-util", + "num-bigint", + "num-traits 0.2.15", + "regex", + "salsa", + "serde", + "sha3 0.10.8", + "smol_str", + "thiserror", +] + +[[package]] +name = "cairo-lang-sierra" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b170053511656c68ce4a1947d3736d7e1008e8031559727017d70661ab9d779" +dependencies = [ + "cairo-lang-utils 1.1.0", "const-fnv1a-hash", - "convert_case", + "convert_case 0.6.0", "derivative", "itertools", "lalrpop", @@ -532,7 +962,7 @@ dependencies = [ "regex", "salsa", "serde", - "sha3", + "sha3 0.10.8", "smol_str", "thiserror", ] @@ -541,9 +971,22 @@ dependencies = [ name = "cairo-lang-sierra-ap-change" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-eq-solver", - "cairo-lang-sierra", - "cairo-lang-utils", + "cairo-lang-eq-solver 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "itertools", + "thiserror", +] + +[[package]] +name = "cairo-lang-sierra-ap-change" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ec23f4d6d05e79262873758b09cdcabb323ae4f4ae0dfd6749237a9aee435c7" +dependencies = [ + "cairo-lang-eq-solver 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-utils 1.1.0", "itertools", "thiserror", ] @@ -552,9 +995,22 @@ dependencies = [ name = "cairo-lang-sierra-gas" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-eq-solver", - "cairo-lang-sierra", - "cairo-lang-utils", + "cairo-lang-eq-solver 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "itertools", + "thiserror", +] + +[[package]] +name = "cairo-lang-sierra-gas" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "757224b576923627d60c74b14993c0d4a9d84118aee5fbcdbd1602a4ec532986" +dependencies = [ + "cairo-lang-eq-solver 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-utils 1.1.0", "itertools", "thiserror", ] @@ -563,18 +1019,44 @@ dependencies = [ name = "cairo-lang-sierra-generator" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-parser", - "cairo-lang-plugins", - "cairo-lang-proc-macros", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-plugins 1.0.0-rc0", + "cairo-lang-proc-macros 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "id-arena", + "indexmap", + "itertools", + "num-bigint", + "salsa", + "smol_str", +] + +[[package]] +name = "cairo-lang-sierra-generator" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab0598f66d5866853512ab8e64abc745892d0a1002940845adf132ea2b9b126" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-lowering 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-plugins 1.1.0", + "cairo-lang-proc-macros 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", "id-arena", "indexmap", "itertools", @@ -590,11 +1072,34 @@ dependencies = [ "anyhow", "assert_matches", "cairo-felt", - "cairo-lang-casm", - "cairo-lang-sierra", - "cairo-lang-sierra-ap-change", - "cairo-lang-sierra-gas", - "cairo-lang-utils", + "cairo-lang-casm 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-ap-change 1.0.0-rc0", + "cairo-lang-sierra-gas 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "clap", + "indoc 2.0.1", + "itertools", + "log", + "num-bigint", + "num-traits 0.2.15", + "thiserror", +] + +[[package]] +name = "cairo-lang-sierra-to-casm" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abba31b7e9b78dd2d891b5f12954882ad8080fd9071fd346f8720050e00d0588" +dependencies = [ + "anyhow", + "assert_matches", + "cairo-felt", + "cairo-lang-casm 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-sierra-ap-change 1.1.0", + "cairo-lang-sierra-gas 1.1.0", + "cairo-lang-utils 1.1.0", "clap", "indoc 2.0.1", "itertools", @@ -610,24 +1115,24 @@ version = "1.0.0-rc0" dependencies = [ "anyhow", "cairo-felt", - "cairo-lang-casm", - "cairo-lang-compiler", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-parser", - "cairo-lang-plugins", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-sierra-ap-change", - "cairo-lang-sierra-gas", - "cairo-lang-sierra-generator", - "cairo-lang-sierra-to-casm", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-casm 1.0.0-rc0", + "cairo-lang-compiler 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-parser 1.0.0-rc0", + "cairo-lang-plugins 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-ap-change 1.0.0-rc0", + "cairo-lang-sierra-gas 1.0.0-rc0", + "cairo-lang-sierra-generator 1.0.0-rc0", + "cairo-lang-sierra-to-casm 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", "clap", - "convert_case", + "convert_case 0.6.0", "genco", "indoc 2.0.1", "itertools", @@ -638,7 +1143,48 @@ dependencies = [ "once_cell", "serde", "serde_json", - "sha3", + "sha3 0.10.8", + "smol_str", + "thiserror", +] + +[[package]] +name = "cairo-lang-starknet" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b08babd653ecad37e051ad0812b1a7e035cb8dd9e1ae07a2470378ee73acd84" +dependencies = [ + "anyhow", + "cairo-felt", + "cairo-lang-casm 1.1.0", + "cairo-lang-compiler 1.1.0", + "cairo-lang-defs 1.1.0", + "cairo-lang-diagnostics 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-lowering 1.1.0", + "cairo-lang-parser 1.1.0", + "cairo-lang-plugins 1.1.0", + "cairo-lang-semantic 1.1.0", + "cairo-lang-sierra 1.1.0", + "cairo-lang-sierra-ap-change 1.1.0", + "cairo-lang-sierra-gas 1.1.0", + "cairo-lang-sierra-generator 1.1.0", + "cairo-lang-sierra-to-casm 1.1.0", + "cairo-lang-syntax 1.1.0", + "cairo-lang-utils 1.1.0", + "clap", + "convert_case 0.6.0", + "genco", + "indoc 2.0.1", + "itertools", + "log", + "num-bigint", + "num-integer", + "num-traits 0.2.15", + "once_cell", + "serde", + "serde_json", + "sha3 0.10.8", "smol_str", "thiserror", ] @@ -647,9 +1193,26 @@ dependencies = [ name = "cairo-lang-syntax" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-debug", - "cairo-lang-filesystem", - "cairo-lang-utils", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", + "num-bigint", + "num-traits 0.2.15", + "salsa", + "smol_str", + "thiserror", + "unescaper", +] + +[[package]] +name = "cairo-lang-syntax" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d41c12845b03cb80e99cd6738da254bb504b03acafd1cfa6e32c246ada73358" +dependencies = [ + "cairo-lang-debug 1.1.0", + "cairo-lang-filesystem 1.1.0", + "cairo-lang-utils 1.1.0", "num-bigint", "num-traits 0.2.15", "salsa", @@ -662,7 +1225,19 @@ dependencies = [ name = "cairo-lang-syntax-codegen" version = "1.0.0-rc0" dependencies = [ - "cairo-lang-utils", + "cairo-lang-utils 1.0.0-rc0", + "genco", + "log", + "xshell", +] + +[[package]] +name = "cairo-lang-syntax-codegen" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c7cab29886a9473ede4d07e779597e0892644b85884ce7e419b59b5b4ccd48" +dependencies = [ + "cairo-lang-utils 1.1.0", "genco", "log", "xshell", @@ -674,23 +1249,23 @@ version = "1.0.0-rc0" dependencies = [ "anyhow", "cairo-felt", - "cairo-lang-casm", - "cairo-lang-compiler", - "cairo-lang-debug", - "cairo-lang-defs", - "cairo-lang-diagnostics", - "cairo-lang-filesystem", - "cairo-lang-lowering", - "cairo-lang-plugins", - "cairo-lang-project", - "cairo-lang-runner", - "cairo-lang-semantic", - "cairo-lang-sierra", - "cairo-lang-sierra-generator", - "cairo-lang-sierra-to-casm", - "cairo-lang-starknet", - "cairo-lang-syntax", - "cairo-lang-utils", + "cairo-lang-casm 1.0.0-rc0", + "cairo-lang-compiler 1.0.0-rc0", + "cairo-lang-debug 1.0.0-rc0", + "cairo-lang-defs 1.0.0-rc0", + "cairo-lang-diagnostics 1.0.0-rc0", + "cairo-lang-filesystem 1.0.0-rc0", + "cairo-lang-lowering 1.0.0-rc0", + "cairo-lang-plugins 1.0.0-rc0", + "cairo-lang-project 1.0.0-rc0", + "cairo-lang-runner 1.0.0-rc0", + "cairo-lang-semantic 1.0.0-rc0", + "cairo-lang-sierra 1.0.0-rc0", + "cairo-lang-sierra-generator 1.0.0-rc0", + "cairo-lang-sierra-to-casm 1.0.0-rc0", + "cairo-lang-starknet 1.0.0-rc0", + "cairo-lang-syntax 1.0.0-rc0", + "cairo-lang-utils 1.0.0-rc0", "cairo-vm", "clap", "colored", @@ -717,6 +1292,23 @@ dependencies = [ "time", ] +[[package]] +name = "cairo-lang-utils" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36a6e61704fd937cfffe8536cf13739ae772fc0afe118c4105ce2de5780505ae" +dependencies = [ + "env_logger", + "indexmap", + "itertools", + "log", + "num-bigint", + "num-integer", + "num-traits 0.2.15", + "serde", + "time", +] + [[package]] name = "cairo-take_until_unbalanced" version = "0.24.2-rc1" @@ -734,7 +1326,7 @@ checksum = "9f4af8c3e7be5ac46b7da4a3ab551ee4c8c8e2fdb501a4dda4dceef4c66dbcde" dependencies = [ "anyhow", "bincode", - "bitvec", + "bitvec 1.0.1", "cairo-felt", "cairo-take_until_unbalanced", "generic-array", @@ -751,9 +1343,9 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "sha2", - "sha3", - "starknet-crypto", + "sha2 0.10.6", + "sha3 0.10.8", + "starknet-crypto 0.4.3", "thiserror", "thiserror-no-std", ] @@ -850,6 +1442,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + [[package]] name = "convert_case" version = "0.6.0" @@ -859,6 +1457,22 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + [[package]] name = "cpufeatures" version = "0.2.7" @@ -917,6 +1531,18 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + [[package]] name = "crypto-bigint" version = "0.4.9" @@ -947,6 +1573,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "ctor" version = "0.1.26" @@ -957,121 +1593,350 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ctor" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4056f63fce3b82d852c3da92b08ea59959890813a7f4ce9c0ff85b10cf301b" +dependencies = [ + "quote", + "syn 2.0.15", +] + [[package]] name = "derivative" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case 0.4.0", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 1.0.109", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "ena" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +dependencies = [ + "log", +] + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "ethabi" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c98847055d934070b90e806e12d3936b787d0a115068981c1d8dfd5dfef5a5" +dependencies = [ + "ethereum-types", + "hex", + "serde", + "serde_json", + "sha3 0.9.1", + "thiserror", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb684ac8fa8f6c5759f788862bb22ec6fe3cb392f6bfd08e3c64b603661e3f8" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-rlp", + "impl-serde", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05136f7057fe789f06e6d41d07b34e6f70d8c86e5693b60f97aaa6553553bdaf" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "foreign-types-shared", ] [[package]] -name = "diff" -version = "0.1.13" +name = "foreign-types-shared" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] -name = "digest" -version = "0.10.6" +name = "form_urlencoded" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "block-buffer", - "crypto-common", - "subtle", + "percent-encoding", ] [[package]] -name = "dirs-next" +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "funty" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "futures-channel" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ - "libc", - "redox_users", - "winapi", + "futures-core", + "futures-sink", ] [[package]] -name = "either" -version = "1.8.1" +name = "futures-core" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] -name = "ena" -version = "0.14.2" +name = "futures-executor" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ - "log", + "futures-core", + "futures-task", + "futures-util", ] [[package]] -name = "env_logger" -version = "0.9.3" +name = "futures-io" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] -name = "errno" -version = "0.3.1" +name = "futures-macro" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", + "proc-macro2", + "quote", + "syn 2.0.15", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "futures-sink" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "futures-task" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] -name = "fnv" -version = "1.0.7" +name = "futures-timer" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] -name = "funty" -version = "2.0.0" +name = "futures-util" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] [[package]] name = "genco" @@ -1139,6 +2004,25 @@ dependencies = [ "minilp", ] +[[package]] +name = "h2" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util 0.7.8", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1155,6 +2039,31 @@ dependencies = [ "serde", ] +[[package]] +name = "headers" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +dependencies = [ + "base64 0.13.1", + "bitflags", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http", +] + [[package]] name = "heck" version = "0.3.3" @@ -1200,27 +2109,167 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.6", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", ] +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "id-arena" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -1276,7 +2325,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4" dependencies = [ - "ctor", + "ctor 0.1.26", "ghost", "inventory-impl", ] @@ -1303,6 +2352,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ipnet" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" + [[package]] name = "is-terminal" version = "0.4.7" @@ -1339,6 +2394,21 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpc-core" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" +dependencies = [ + "futures", + "futures-executor", + "futures-util", + "log", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "keccak" version = "0.1.4" @@ -1438,6 +2508,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + [[package]] name = "matrixmultiply" version = "0.2.4" @@ -1471,6 +2547,12 @@ dependencies = [ "libmimalloc-sys", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "minilp" version = "0.2.2" @@ -1487,6 +2569,35 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +[[package]] +name = "mio" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebffdb73fe72e917997fad08bdbf31ac50b0fa91cec93e69a0662e4264d454c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "ndarray" version = "0.13.1" @@ -1589,13 +2700,89 @@ dependencies = [ name = "once_cell" version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] [[package]] -name = "oorandom" -version = "11.1.3" +name = "parity-scale-codec-derive" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "parking_lot" @@ -1700,6 +2887,22 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pest" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" +dependencies = [ + "thiserror", + "ucd-trie", +] + [[package]] name = "petgraph" version = "0.6.3" @@ -1710,6 +2913,39 @@ dependencies = [ "indexmap", ] +[[package]] +name = "phf" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" +dependencies = [ + "phf_macros", + "phf_shared 0.11.1", +] + +[[package]] +name = "phf_generator" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" +dependencies = [ + "phf_shared 0.11.1", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66" +dependencies = [ + "phf_generator", + "phf_shared 0.11.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "phf_shared" version = "0.10.0" @@ -1719,6 +2955,53 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phf_shared" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1731,6 +3014,29 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -1793,6 +3099,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + [[package]] name = "radium" version = "0.7.0" @@ -1805,6 +3117,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", "rand_chacha", "rand_core", ] @@ -1824,6 +3137,9 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] [[package]] name = "rawpointer" @@ -1868,6 +3184,15 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -1908,6 +3233,54 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698" +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "rfc6979" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +dependencies = [ + "crypto-bigint 0.3.2", + "hmac 0.11.0", + "zeroize", +] + [[package]] name = "rfc6979" version = "0.3.1" @@ -1915,18 +3288,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint 0.4.9", - "hmac", + "hmac 0.12.1", "zeroize", ] +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + [[package]] name = "rust_test_runner_bindings" version = "1.0.0" dependencies = [ "anyhow", "cairo-lang-protostar", - "cairo-lang-runner", - "cairo-lang-sierra-to-casm", + "cairo-lang-runner 1.0.0-rc0", + "cairo-lang-sierra-to-casm 1.0.0-rc0", "cairo-lang-test-runner", "pyo3", ] @@ -1937,13 +3320,28 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.17", ] [[package]] @@ -2001,18 +3399,86 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + [[package]] name = "scopeguard" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "secp256k1" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" +dependencies = [ + "cc", +] + +[[package]] +name = "security-framework" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + [[package]] name = "serde" version = "1.0.162" @@ -2053,6 +3519,55 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.6", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha2" version = "0.10.6" @@ -2061,7 +3576,19 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest", + "digest 0.10.6", +] + +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug", ] [[package]] @@ -2070,16 +3597,34 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest", + "digest 0.10.6", "keccak", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + [[package]] name = "siphasher" version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + [[package]] name = "smallvec" version = "1.10.0" @@ -2095,6 +3640,31 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.1", + "bytes", + "futures", + "httparse", + "log", + "rand", + "sha-1", +] + [[package]] name = "spin" version = "0.5.2" @@ -2105,11 +3675,32 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" name = "sprs" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec63571489873d4506683915840eeb1bb16b3198ee4894cc6f2fe3013d505e56" +checksum = "ec63571489873d4506683915840eeb1bb16b3198ee4894cc6f2fe3013d505e56" +dependencies = [ + "ndarray", + "num-complex", + "num-traits 0.1.43", +] + +[[package]] +name = "starknet-crypto" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be7d6b2c959fde2a10dbc31d54bdd0307eecb7ef6c05c23a0263e65b57b3e18a" dependencies = [ - "ndarray", - "num-complex", - "num-traits 0.1.43", + "crypto-bigint 0.3.2", + "hex", + "hmac 0.11.0", + "num-bigint", + "num-integer", + "num-traits 0.2.15", + "rfc6979 0.1.0", + "sha2 0.9.9", + "starknet-crypto-codegen 0.1.0", + "starknet-curve 0.1.0", + "starknet-ff 0.2.0", + "thiserror", + "zeroize", ] [[package]] @@ -2120,18 +3711,29 @@ checksum = "8802a516a2556b2ddb9630898d2c8387d928a3e603799b8b2a7dc4018b852c8f" dependencies = [ "crypto-bigint 0.4.9", "hex", - "hmac", + "hmac 0.12.1", "num-bigint", "num-integer", "num-traits 0.2.15", - "rfc6979", - "sha2", - "starknet-crypto-codegen", + "rfc6979 0.3.1", + "sha2 0.10.6", + "starknet-crypto-codegen 0.3.1", "starknet-curve 0.2.1", - "starknet-ff", + "starknet-ff 0.3.2", "zeroize", ] +[[package]] +name = "starknet-crypto-codegen" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6569d70430f0f6edc41f6820d00acf63356e6308046ca01e57eeac22ad258c47" +dependencies = [ + "starknet-curve 0.1.0", + "starknet-ff 0.2.0", + "syn 1.0.109", +] + [[package]] name = "starknet-crypto-codegen" version = "0.3.1" @@ -2139,17 +3741,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6dc88f1f470d9de1001ffbb90d2344c9dd1a615f5467daf0574e2975dfd9ebd" dependencies = [ "starknet-curve 0.3.0", - "starknet-ff", + "starknet-ff 0.3.2", "syn 2.0.15", ] +[[package]] +name = "starknet-curve" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84be6079d3060fdbd8b5335574fef3d3783fa2f7ee6474d08ae0c1e4b0a29ba4" +dependencies = [ + "starknet-ff 0.2.0", +] + [[package]] name = "starknet-curve" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe0dbde7ef14d54c2117bc6d2efb68c2383005f1cd749b277c11df874d07b7af" dependencies = [ - "starknet-ff", + "starknet-ff 0.3.2", ] [[package]] @@ -2158,7 +3769,23 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "252610baff59e4c4332ce3569f7469c5d3f9b415a2240d698fb238b2b4fc0942" dependencies = [ - "starknet-ff", + "starknet-ff 0.3.2", +] + +[[package]] +name = "starknet-ff" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5874510620214ebeac50915b01d67437d8ca10a6682b1de85b93cd01157b58eb" +dependencies = [ + "ark-ff 0.3.0", + "bigdecimal", + "crypto-bigint 0.3.2", + "getrandom", + "hex", + "num-bigint", + "serde", + "thiserror", ] [[package]] @@ -2167,12 +3794,35 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f5e4d14a7e5a93027baa42f514459acd1e07799f886604d8bf5d30a0d28111f" dependencies = [ - "ark-ff", + "ark-ff 0.4.2", "crypto-bigint 0.5.2", "getrandom", "hex", ] +[[package]] +name = "starknet_api" +version = "0.1.0" +source = "git+https://github.com/starkware-libs/starknet-api?rev=24a7249#24a7249f907fb3f3194bad23a2342874e27dc575" +dependencies = [ + "cairo-lang-starknet 1.1.0", + "derive_more", + "hex", + "indexmap", + "once_cell", + "serde", + "serde_json", + "starknet-crypto 0.2.0", + "thiserror", + "web3", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "string_cache" version = "0.8.7" @@ -2182,7 +3832,7 @@ dependencies = [ "new_debug_unreachable", "once_cell", "parking_lot 0.12.1", - "phf_shared", + "phf_shared 0.10.0", "precomputed-hash", ] @@ -2192,6 +3842,25 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + [[package]] name = "subtle" version = "2.4.1" @@ -2226,6 +3895,19 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tempfile" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +dependencies = [ + "cfg-if 1.0.0", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.45.0", +] + [[package]] name = "term" version = "0.7.0" @@ -2324,6 +4006,101 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +dependencies = [ + "autocfg", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot 0.12.1", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "log", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + [[package]] name = "toml" version = "0.4.10" @@ -2333,12 +4110,79 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" + +[[package]] +name = "toml_edit" +version = "0.19.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if 1.0.0", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + [[package]] name = "typenum" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +[[package]] +name = "ucd-trie" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unescaper" version = "0.1.1" @@ -2348,12 +4192,27 @@ dependencies = [ "thiserror", ] +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + [[package]] name = "unicode-ident" version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-segmentation" version = "1.10.1" @@ -2372,18 +4231,45 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna 0.3.0", + "percent-encoding", +] + [[package]] name = "utf8parse" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2415,6 +4301,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.84" @@ -2444,6 +4342,64 @@ version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web3" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44f258e254752d210b84fe117b31f1e3cc9cbf04c0d747eb7f8cf7cf5e370f6d" +dependencies = [ + "arrayvec", + "base64 0.13.1", + "bytes", + "derive_more", + "ethabi", + "ethereum-types", + "futures", + "futures-timer", + "headers", + "hex", + "idna 0.2.3", + "jsonrpc-core", + "log", + "once_cell", + "parking_lot 0.12.1", + "pin-project", + "reqwest", + "rlp", + "secp256k1", + "serde", + "serde_json", + "soketto", + "tiny-keccak", + "tokio", + "tokio-stream", + "tokio-util 0.6.10", + "url", + "web3-async-native-tls", +] + +[[package]] +name = "web3-async-native-tls" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f6d8d1636b2627fe63518d5a9b38a569405d9c9bc665c43c9c341de57227ebb" +dependencies = [ + "native-tls", + "thiserror", + "tokio", + "url", +] + [[package]] name = "winapi" version = "0.3.9" @@ -2475,6 +4431,21 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -2607,6 +4578,30 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +[[package]] +name = "winnow" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + [[package]] name = "wyz" version = "0.5.1" diff --git a/protostar-rust/src/lib.rs b/protostar-rust/src/lib.rs index 149bd0b500..1638f518d4 100644 --- a/protostar-rust/src/lib.rs +++ b/protostar-rust/src/lib.rs @@ -32,6 +32,8 @@ fn internal_run_tests(input_path: &str) -> anyhow::Result<()> { &[], config.available_gas, Default::default(), + None, + None, ) .with_context(|| format!("Failed to run the function `{}`.", config.name.as_str()))?; let name = config.name.clone(); diff --git a/protostar/__init__.py b/protostar/__init__.py index 6c91cb1e47..6696d4e130 100644 --- a/protostar/__init__.py +++ b/protostar/__init__.py @@ -51,6 +51,7 @@ def shallow_copy(self: Any, memo: Any): # pylint: disable=unused-argument InstallCommand, RemoveCommand, TestCommand, + TestRustCommand, UpdateCommand, UpgradeCommand, ) diff --git a/protostar/commands/__init__.py b/protostar/commands/__init__.py index ef41c67804..2043f17ee4 100644 --- a/protostar/commands/__init__.py +++ b/protostar/commands/__init__.py @@ -3,6 +3,7 @@ DeclareCommand, TestCommand, InitCommand, + TestRustCommand, ) from .legacy_commands import ( BuildCairo0Command, diff --git a/protostar/commands/cairo1_commands/__init__.py b/protostar/commands/cairo1_commands/__init__.py index 2ff6b6c302..bd8bdbc848 100644 --- a/protostar/commands/cairo1_commands/__init__.py +++ b/protostar/commands/cairo1_commands/__init__.py @@ -2,3 +2,4 @@ from .init_command import InitCommand from .test_command import TestCommand from .declare_command import DeclareCommand +from .test_rust_command import TestRustCommand diff --git a/protostar/commands/cairo1_commands/test_rust_command.py b/protostar/commands/cairo1_commands/test_rust_command.py new file mode 100644 index 0000000000..8fd5088228 --- /dev/null +++ b/protostar/commands/cairo1_commands/test_rust_command.py @@ -0,0 +1,40 @@ +from argparse import Namespace +from pathlib import Path +from typing import Optional + +from protostar.cli import ProtostarArgument, ProtostarCommand +from protostar.protostar_exception import ProtostarException + +from protostar.cairo.bindings import protostar_rust_bindings + + +class TestRustCommand(ProtostarCommand): + @property + def name(self) -> str: + return "test-rust" + + @property + def description(self) -> str: + return "Executes Cairo 1 tests with Rust implementation of Protostar." + + @property + def example(self) -> Optional[str]: + return "$ protostar test-rust" + + @property + def arguments(self): + return [ + ProtostarArgument( + name="path", + description="A path to the file with tests that will be run", + type="str", + is_positional=True, + ), + ] + + async def run(self, args: Namespace): + if args.path is None: + raise ProtostarException("No tests provided") + test_path = Path(str(args.path)) + assert test_path.exists(), f"no such test: { test_path }" + protostar_rust_bindings.run_tests(str(test_path)) diff --git a/protostar/composition_root.py b/protostar/composition_root.py index b95ccffeed..45e31b556c 100644 --- a/protostar/composition_root.py +++ b/protostar/composition_root.py @@ -27,6 +27,7 @@ RemoveCommand, TestCommand, TestCairo0Command, + TestRustCommand, UpdateCommand, UpgradeCommand, MulticallCommand, @@ -216,6 +217,7 @@ def build_di_container( cwd=cwd, messenger_factory=messenger_factory, ), + TestRustCommand(), DeployCommand( gateway_facade_factory=gateway_facade_factory, messenger_factory=messenger_factory, diff --git a/pyproject.toml b/pyproject.toml index 4040ac9b48..0d00e46c9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,6 +105,9 @@ shell = "pytest -n auto protostar/*" target-version = [ "py39", ] +exclude = ''' +starknet_in_rust +''' [tool.isort] profile = "black" diff --git a/pyrightconfig.json b/pyrightconfig.json new file mode 100644 index 0000000000..d7523cdedf --- /dev/null +++ b/pyrightconfig.json @@ -0,0 +1,3 @@ +{ + "ignore": ["./starknet_in_rust/", "./blockifier/"] +} diff --git a/tests/e2e/cairo1/test_cairo1_testing_rust.py b/tests/e2e/cairo1/test_cairo1_testing_rust.py new file mode 100644 index 0000000000..fc9e7521db --- /dev/null +++ b/tests/e2e/cairo1/test_cairo1_testing_rust.py @@ -0,0 +1,45 @@ +import os +import pytest + +from tests.e2e.conftest import CopyFixture, ProtostarFixture + + +def test_cairo1_rust_test(protostar: ProtostarFixture, copy_fixture: CopyFixture): + copy_fixture("cairo1_project", "./cairo1_project") + copy_fixture("cairo1/test_a.cairo", "./cairo1_project/tests/test_a.cairo") + os.chdir("./cairo1_project") + + result = protostar(["test-rust", "tests/test_a.cairo"]) + + assert "test_A: Success" in result + assert "test_B: Success" in result + assert "test_C: Success" in result + + +def test_no_tests_provided(protostar: ProtostarFixture): + with pytest.raises(Exception) as ex: + protostar(["test-rust"]) + assert "No tests provided" in str(ex) + + +def test_no_tests_found(protostar: ProtostarFixture): + with pytest.raises(Exception) as ex: + protostar(["test-rust", "tests"]) + + assert "no such test: tests" in str(ex.value) + + +def test_failing_tests(protostar: ProtostarFixture, copy_fixture: CopyFixture): + copy_fixture("cairo1_project", "./cairo1_project") + copy_fixture( + "cairo1/failing_test.cairo", "./cairo1_project/tests/failing_test.cairo" + ) + os.chdir("./cairo1_project") + + result = protostar(["test-rust", "tests/failing_test.cairo"]) + assert "test_ok: Success" in result + assert "test_panic_single_value: Panic [21]" in result + assert ( + "test_panic_multiple_values: Panic [1870930782904301745253, 482670963043, 31066316372818838395891839589]" + in result + ) diff --git a/tests/integration/_conftest/protostar_fixture.py b/tests/integration/_conftest/protostar_fixture.py index 5076763500..f9f686fce3 100644 --- a/tests/integration/_conftest/protostar_fixture.py +++ b/tests/integration/_conftest/protostar_fixture.py @@ -21,6 +21,7 @@ MulticallCommand, DeclareCairo0Command, TestCairo0Command, + TestRustCommand, BuildCairo0Command, InitCairo0Command, ) @@ -61,6 +62,7 @@ def __init__( declare_cairo0_command: DeclareCairo0Command, deploy_command: DeployCommand, test_command: TestCommand, + test_rust_command: TestRustCommand, test_cairo0_command: TestCairo0Command, invoke_command: InvokeCommand, call_command: CallCommand, @@ -82,6 +84,7 @@ def __init__( self._declare_cairo0_command = declare_cairo0_command self._deploy_command = deploy_command self._test_command = test_command + self._test_rust_command = test_rust_command self._test_cairo0_command = test_cairo0_command self._invoke_command = invoke_command self._calculate_account_address_command = calculate_account_address_command diff --git a/tests/integration/_conftest/protostar_fixture_factory.py b/tests/integration/_conftest/protostar_fixture_factory.py index 7ab32b32fb..d2fb40300b 100644 --- a/tests/integration/_conftest/protostar_fixture_factory.py +++ b/tests/integration/_conftest/protostar_fixture_factory.py @@ -20,6 +20,7 @@ InvokeCommand, MulticallCommand, TestCairo0Command, + TestRustCommand, DeclareCairo0Command, ) from protostar.commands.deploy_account_command import DeployAccountCommand @@ -182,6 +183,8 @@ def request_input(message: str) -> str: messenger_factory=messenger_factory, ) + test_rust_command = TestRustCommand() + invoke_command = InvokeCommand( gateway_facade_factory=gateway_facade_factory, messenger_factory=messenger_factory, @@ -222,6 +225,7 @@ def request_input(message: str) -> str: declare_cairo0_command=declare_cairo0_command, deploy_command=deploy_command, test_command=test_command, + test_rust_command=test_rust_command, test_cairo0_command=test_cairo0_command, invoke_command=invoke_command, deploy_account_command=deploy_account_command, diff --git a/website/docs/cli-reference.md b/website/docs/cli-reference.md index 51e814acb4..d3d224200c 100644 --- a/website/docs/cli-reference.md +++ b/website/docs/cli-reference.md @@ -481,6 +481,13 @@ Print slowest tests at the end. Use Cairo compiler for test collection. #### `--seed INT` Set a seed to use for all fuzz tests. +### `test-rust` +```shell +$ protostar test-rust +``` +Executes Cairo 1 tests with Rust implementation of Protostar. +#### `path STRING` +A path to the file with tests that will be run ### `update` ```shell $ protostar update cairo-contracts