From d571715a87359e239fe97d3f734fabc5768a30b5 Mon Sep 17 00:00:00 2001 From: meship-starkware Date: Wed, 5 Feb 2025 17:34:20 +0200 Subject: [PATCH] chore(cairo_native): update native version --- Cargo.lock | 281 ++++++++-------- Cargo.toml | 2 +- crates/bin/starknet-native-compile/Cargo.lock | 317 ++++++++---------- crates/bin/starknet-native-compile/Cargo.toml | 2 +- .../bin/starknet-native-compile/src/main.rs | 13 +- .../bin/starknet-native-compile/src/utils.rs | 49 ++- .../blockifier/src/test_utils/struct_impls.rs | 1 + .../src/test_utils/test_templates.rs | 5 + crates/starknet_api/src/contract_class.rs | 16 + .../src/command_line_compiler.rs | 2 +- 10 files changed, 366 insertions(+), 322 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b374b6b2bc2..1b7ce422203 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -69,11 +69,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.15", "once_cell", "serde", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -1498,29 +1498,6 @@ dependencies = [ "syn 2.0.95", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.10.5", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.95", - "which", -] - [[package]] name = "bindgen" version = "0.70.1" @@ -1728,31 +1705,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bon" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7acc34ff59877422326db7d6f2d845a582b16396b6b08194942bf34c6528ab" -dependencies = [ - "bon-macros", - "rustversion", -] - -[[package]] -name = "bon-macros" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4159dd617a7fbc9be6a692fe69dc2954f8e6bb6bb5e4d7578467441390d77fd0" -dependencies = [ - "darling 0.20.10", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.95", -] - [[package]] name = "bs58" version = "0.5.1" @@ -2424,8 +2376,9 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.2.9" -source = "git+https://github.com/lambdaclass/cairo_native?rev=981093a#981093aad3a69e010874d45136fb45ec5e8a0a19" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01ce46c44afe1ce76d24b753c304f71fa055267326588d3b750665e68859ddb2" dependencies = [ "anyhow", "aquamarine", @@ -2447,12 +2400,11 @@ dependencies = [ "cairo-lang-starknet-classes", "cairo-lang-test-plugin", "cairo-lang-utils", - "cairo-native-runtime", "cc", "clap", "colored", "educe 0.5.11", - "itertools 0.13.0", + "itertools 0.14.0", "keccak", "lazy_static", "libc", @@ -2463,32 +2415,20 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", + "rand 0.9.0", "serde", "serde_json", "sha2", + "starknet-curve 0.5.1", "starknet-types-core", "stats_alloc", "tempfile", - "thiserror 2.0.9", + "thiserror 2.0.11", "tracing", "tracing-subscriber", "utf8_iter", ] -[[package]] -name = "cairo-native-runtime" -version = "0.2.9" -source = "git+https://github.com/lambdaclass/cairo_native?rev=981093a#981093aad3a69e010874d45136fb45ec5e8a0a19" -dependencies = [ - "cairo-lang-sierra-gas", - "itertools 0.14.0", - "lazy_static", - "num-traits", - "rand 0.8.5", - "starknet-curve 0.5.1", - "starknet-types-core", -] - [[package]] name = "cairo-vm" version = "1.0.2" @@ -2575,9 +2515,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "jobserver", "libc", @@ -2807,7 +2747,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2841,16 +2781,13 @@ dependencies = [ [[package]] name = "comrak" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ae8f3e7e3f3d424cbb33354fc36943d507327d210aa5794b0192f4be726c6d" +checksum = "39bff2cbb80102771ca62bd2375bc6f6611dc1493373440b23aa08a155538708" dependencies = [ - "bon", "caseless", "entities", "memchr", - "once_cell", - "regex", "slug", "typed-arena", "unicode_categories", @@ -2943,6 +2880,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cookie" version = "0.17.0" @@ -3723,7 +3669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4503,10 +4449,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "ghash" version = "0.5.1" @@ -5868,7 +5826,7 @@ dependencies = [ "clap", "fancy-regex", "fraction", - "getrandom", + "getrandom 0.2.15", "iso8601", "itoa", "memchr", @@ -6073,7 +6031,7 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom", + "getrandom 0.2.15", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -6180,7 +6138,7 @@ dependencies = [ "fnv", "futures", "futures-ticker", - "getrandom", + "getrandom 0.2.15", "hex_fmt", "instant", "libp2p-core", @@ -6674,9 +6632,9 @@ dependencies = [ [[package]] name = "melior" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfcb398e6571361b6f54fd0057066d9b47a822bcb797bf5867e5412e9e6f387" +checksum = "f2af6454b7bcd7edc8c2060a3726a18ceaed60e25c34d9f8de9c6b44e82eb647" dependencies = [ "melior-macro", "mlir-sys", @@ -6684,17 +6642,17 @@ dependencies = [ [[package]] name = "melior-macro" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3086e8c12eb1999d636595cc3c2aee82a28d4bb80163267d51bd66a617cdaefc" +checksum = "a99671327250df8e24e56d8304474a970e7a2c6bb8f6dc71382d188136fe4d1b" dependencies = [ "comrak", - "convert_case 0.6.0", + "convert_case 0.7.1", "proc-macro2", "quote", "regex", "syn 2.0.95", - "tblgen-alt", + "tblgen", "unindent 0.2.3", ] @@ -6872,7 +6830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -7021,7 +6979,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -7413,7 +7371,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 2.0.95", @@ -8250,7 +8208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 2.0.9", + "thiserror 2.0.11", "ucd-trie", ] @@ -8497,7 +8455,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -8736,7 +8694,7 @@ checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", "heck 0.5.0", - "itertools 0.10.5", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -8756,7 +8714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.95", @@ -8804,7 +8762,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38" dependencies = [ "cfg-if", - "hashbrown 0.13.2", + "hashbrown 0.14.5", "indoc 1.0.9", "libc", "memoffset 0.9.1", @@ -8881,7 +8839,7 @@ dependencies = [ "mach2", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -8941,7 +8899,7 @@ dependencies = [ "rustc-hash 2.1.0", "rustls 0.23.20", "socket2 0.5.8", - "thiserror 2.0.9", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -8953,14 +8911,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand 0.8.5", "ring 0.17.8", "rustc-hash 2.1.0", "rustls 0.23.20", "rustls-pki-types", "slab", - "thiserror 2.0.9", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -8977,7 +8935,7 @@ dependencies = [ "once_cell", "socket2 0.5.8", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -9026,6 +8984,17 @@ dependencies = [ "serde", ] +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.0", + "zerocopy 0.8.16", +] + [[package]] name = "rand_chacha" version = "0.1.1" @@ -9046,6 +9015,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.0", +] + [[package]] name = "rand_core" version = "0.3.1" @@ -9067,7 +9046,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +dependencies = [ + "getrandom 0.3.1", + "zerocopy 0.8.16", ] [[package]] @@ -9222,7 +9211,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] @@ -9448,7 +9437,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -9703,7 +9692,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -10529,7 +10518,7 @@ dependencies = [ "ark-ff 0.4.2", "bigdecimal", "crypto-bigint", - "getrandom", + "getrandom 0.2.15", "hex", "serde", ] @@ -11366,15 +11355,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] -name = "tblgen-alt" -version = "0.4.0" +name = "tblgen" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ecbc9175dd38627cd01d546e7b41c9a115e5773f4c98f64e2185c81ec5f45ab" +checksum = "c155c9310c9e11e6f642b4c8a30ae572ea0cad013d5c9e28bb264b52fa8163bb" dependencies = [ - "bindgen 0.69.5", + "bindgen 0.71.1", "cc", "paste", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -11385,10 +11374,10 @@ checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.2.15", "once_cell", "rustix 0.38.42", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11483,11 +11472,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.9", + "thiserror-impl 2.0.11", ] [[package]] @@ -11503,9 +11492,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -12200,7 +12189,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom", + "getrandom 0.2.15", "serde", ] @@ -12319,6 +12308,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.99" @@ -12443,18 +12441,6 @@ dependencies = [ "cc", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.42", -] - [[package]] name = "widestring" version = "1.1.0" @@ -12483,7 +12469,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12813,6 +12799,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "workspace_tests" version = "0.14.0-rc.0" @@ -13014,7 +13009,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8c07a70861ce02bad1607b5753ecb2501f67847b9f9ada7c160fff0ec6300c" +dependencies = [ + "zerocopy-derive 0.8.16", ] [[package]] @@ -13028,6 +13032,17 @@ dependencies = [ "syn 2.0.95", ] +[[package]] +name = "zerocopy-derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5226bc9a9a9836e7428936cde76bb6b22feea1a8bfdbc0d241136e4d13417e25" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + [[package]] name = "zerofrom" version = "0.1.5" diff --git a/Cargo.toml b/Cargo.toml index 352ef86cd6a..9a395b0bce6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -102,7 +102,7 @@ cairo-lang-sierra = "=2.10.0-rc.1" cairo-lang-sierra-to-casm = "2.10.0-rc.1" cairo-lang-starknet-classes = "2.10.0-rc.1" cairo-lang-utils = "2.10.0-rc.1" -cairo-native = { git = "https://github.com/lambdaclass/cairo_native", rev = "981093a" } +cairo-native = "0.3.0" cairo-vm = "=1.0.2" camelpaste = "0.1.0" chrono = "0.4.26" diff --git a/crates/bin/starknet-native-compile/Cargo.lock b/crates/bin/starknet-native-compile/Cargo.lock index 56c5dc8b992..dc8349cea5d 100644 --- a/crates/bin/starknet-native-compile/Cargo.lock +++ b/crates/bin/starknet-native-compile/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -365,7 +365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -375,7 +375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -420,29 +420,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.10.5", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.95", - "which", -] - [[package]] name = "bindgen" version = "0.71.1" @@ -505,31 +482,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bon" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7acc34ff59877422326db7d6f2d845a582b16396b6b08194942bf34c6528ab" -dependencies = [ - "bon-macros", - "rustversion", -] - -[[package]] -name = "bon-macros" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4159dd617a7fbc9be6a692fe69dc2954f8e6bb6bb5e4d7578467441390d77fd0" -dependencies = [ - "darling", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.95", -] - [[package]] name = "bstr" version = "1.11.3" @@ -838,7 +790,7 @@ dependencies = [ "num-bigint", "num-integer", "num-traits", - "rand", + "rand 0.8.5", "sha2", "smol_str", "starknet-types-core", @@ -881,7 +833,7 @@ dependencies = [ "anyhow", "cairo-lang-utils", "const-fnv1a-hash", - "convert_case", + "convert_case 0.6.0", "derivative", "itertools 0.12.1", "lalrpop", @@ -1026,7 +978,7 @@ dependencies = [ "cairo-lang-sierra", "cairo-lang-sierra-to-casm", "cairo-lang-utils", - "convert_case", + "convert_case 0.6.0", "itertools 0.12.1", "num-bigint", "num-integer", @@ -1123,8 +1075,9 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.2.9" -source = "git+https://github.com/lambdaclass/cairo_native?rev=981093a#981093aad3a69e010874d45136fb45ec5e8a0a19" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01ce46c44afe1ce76d24b753c304f71fa055267326588d3b750665e68859ddb2" dependencies = [ "anyhow", "aquamarine", @@ -1146,12 +1099,11 @@ dependencies = [ "cairo-lang-starknet-classes", "cairo-lang-test-plugin", "cairo-lang-utils", - "cairo-native-runtime", "cc", "clap", "colored", "educe 0.5.11", - "itertools 0.13.0", + "itertools 0.14.0", "keccak", "lazy_static", "libc", @@ -1162,32 +1114,20 @@ dependencies = [ "num-bigint", "num-integer", "num-traits", + "rand 0.9.0", "serde", "serde_json", "sha2", + "starknet-curve 0.5.1", "starknet-types-core", "stats_alloc", "tempfile", - "thiserror 2.0.9", + "thiserror 2.0.11", "tracing", "tracing-subscriber", "utf8_iter", ] -[[package]] -name = "cairo-native-runtime" -version = "0.2.9" -source = "git+https://github.com/lambdaclass/cairo_native?rev=981093a#981093aad3a69e010874d45136fb45ec5e8a0a19" -dependencies = [ - "cairo-lang-sierra-gas", - "itertools 0.14.0", - "lazy_static", - "num-traits", - "rand", - "starknet-curve 0.5.1", - "starknet-types-core", -] - [[package]] name = "cairo-vm" version = "1.0.1" @@ -1207,7 +1147,7 @@ dependencies = [ "num-integer", "num-prime", "num-traits", - "rand", + "rand 0.8.5", "rust_decimal", "serde", "serde_json", @@ -1230,9 +1170,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "jobserver", "libc", @@ -1333,16 +1273,13 @@ dependencies = [ [[package]] name = "comrak" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ae8f3e7e3f3d424cbb33354fc36943d507327d210aa5794b0192f4be726c6d" +checksum = "39bff2cbb80102771ca62bd2375bc6f6611dc1493373440b23aa08a155538708" dependencies = [ - "bon", "caseless", "entities", "memchr", - "once_cell", - "regex", "slug", "typed-arena", "unicode_categories", @@ -1389,6 +1326,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cpufeatures" version = "0.2.16" @@ -1459,41 +1405,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.95", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.95", -] - [[package]] name = "deranged" version = "0.3.11" @@ -1735,10 +1646,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets", +] + [[package]] name = "glob" version = "0.3.2" @@ -1832,27 +1755,12 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys", -] - [[package]] name = "id-arena" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "ignore" version = "0.4.23" @@ -2089,12 +1997,6 @@ dependencies = [ "spin", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.169" @@ -2187,9 +2089,9 @@ dependencies = [ [[package]] name = "melior" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfcb398e6571361b6f54fd0057066d9b47a822bcb797bf5867e5412e9e6f387" +checksum = "f2af6454b7bcd7edc8c2060a3726a18ceaed60e25c34d9f8de9c6b44e82eb647" dependencies = [ "melior-macro", "mlir-sys", @@ -2197,17 +2099,17 @@ dependencies = [ [[package]] name = "melior-macro" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3086e8c12eb1999d636595cc3c2aee82a28d4bb80163267d51bd66a617cdaefc" +checksum = "a99671327250df8e24e56d8304474a970e7a2c6bb8f6dc71382d188136fe4d1b" dependencies = [ "comrak", - "convert_case", + "convert_case 0.7.1", "proc-macro2", "quote", "regex", "syn 2.0.95", - "tblgen-alt", + "tblgen", "unindent", ] @@ -2248,7 +2150,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21b598f9c0fa7a453eeaa9fe419ae93759c94a66eb6f8a496d195ba596ae3c4d" dependencies = [ - "bindgen 0.71.1", + "bindgen", ] [[package]] @@ -2300,7 +2202,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", - "rand", + "rand 0.8.5", "serde", ] @@ -2352,7 +2254,7 @@ dependencies = [ "num-integer", "num-modular", "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -2438,7 +2340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2530,7 +2432,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -2620,8 +2522,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.0", + "zerocopy 0.8.16", ] [[package]] @@ -2631,7 +2544,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.0", ] [[package]] @@ -2640,7 +2563,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +dependencies = [ + "getrandom 0.3.1", + "zerocopy 0.8.16", ] [[package]] @@ -2684,7 +2617,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] @@ -3100,7 +3033,7 @@ checksum = "7abf1b44ec5b18d87c1ae5f54590ca9d0699ef4dd5b2ffa66fc97f24613ec585" dependencies = [ "ark-ff 0.4.2", "crypto-bigint", - "getrandom", + "getrandom 0.2.15", "hex", ] @@ -3190,15 +3123,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] -name = "tblgen-alt" -version = "0.4.0" +name = "tblgen" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ecbc9175dd38627cd01d546e7b41c9a115e5773f4c98f64e2185c81ec5f45ab" +checksum = "c155c9310c9e11e6f642b4c8a30ae572ea0cad013d5c9e28bb264b52fa8163bb" dependencies = [ - "bindgen 0.69.5", + "bindgen", "cc", "paste", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -3209,7 +3142,7 @@ checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", - "getrandom", + "getrandom 0.2.15", "once_cell", "rustix", "windows-sys", @@ -3237,11 +3170,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.9", + "thiserror-impl 2.0.11", ] [[package]] @@ -3257,9 +3190,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -3557,6 +3490,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.99" @@ -3611,18 +3553,6 @@ version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - [[package]] name = "winapi" version = "0.3.9" @@ -3736,6 +3666,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + [[package]] name = "wyz" version = "0.5.1" @@ -3773,7 +3712,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8c07a70861ce02bad1607b5753ecb2501f67847b9f9ada7c160fff0ec6300c" +dependencies = [ + "zerocopy-derive 0.8.16", ] [[package]] @@ -3787,6 +3735,17 @@ dependencies = [ "syn 2.0.95", ] +[[package]] +name = "zerocopy-derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5226bc9a9a9836e7428936cde76bb6b22feea1a8bfdbc0d241136e4d13417e25" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + [[package]] name = "zeroize" version = "1.8.1" diff --git a/crates/bin/starknet-native-compile/Cargo.toml b/crates/bin/starknet-native-compile/Cargo.toml index d7bc7e34638..5f49c1d9188 100644 --- a/crates/bin/starknet-native-compile/Cargo.toml +++ b/crates/bin/starknet-native-compile/Cargo.toml @@ -10,6 +10,6 @@ license = "Apache-2.0" # TODO(Avi, 01/02/2025): Check consistency with the blockifier. cairo-lang-sierra = "2.10.0-rc.1" cairo-lang-starknet-classes = "2.10.0-rc.1" -cairo-native = { git = "https://github.com/lambdaclass/cairo_native", rev = "981093a" } +cairo-native = "0.3.0" clap = { version = "4.5.4", features = ["derive"] } serde_json = "1.0.116" diff --git a/crates/bin/starknet-native-compile/src/main.rs b/crates/bin/starknet-native-compile/src/main.rs index 6e6990d4214..66780b1579f 100644 --- a/crates/bin/starknet-native-compile/src/main.rs +++ b/crates/bin/starknet-native-compile/src/main.rs @@ -6,7 +6,6 @@ use cairo_native::OptLevel; use clap::Parser; use crate::utils::load_sierra_program_from_file; - mod utils; #[derive(Parser, Debug)] @@ -24,20 +23,22 @@ fn main() { let path = args.path; let output = args.output; - let (contract_class, sierra_program) = load_sierra_program_from_file(&path); + let (contract_class, sierra_program, sierra_version) = load_sierra_program_from_file(&path); // TODO(Avi, 01/12/2024): Test different optimization levels for best performance. - let mut contract_executor = AotContractExecutor::new( + AotContractExecutor::new_into( &sierra_program, &contract_class.entry_points_by_type, + sierra_version.clone(), + output.clone(), OptLevel::default(), ) .unwrap_or_else(|err| { eprintln!("Error compiling Sierra program: {}", err); process::exit(1); - }); - contract_executor.save(output.clone()).unwrap_or_else(|err| { - eprintln!("Error saving compiled program: {}", err); + }) + .unwrap_or_else(|| { + eprintln!("Failed to take lock on path {} ", output.display()); process::exit(1); }); } diff --git a/crates/bin/starknet-native-compile/src/utils.rs b/crates/bin/starknet-native-compile/src/utils.rs index 728f547a019..fd2533a9275 100644 --- a/crates/bin/starknet-native-compile/src/utils.rs +++ b/crates/bin/starknet-native-compile/src/utils.rs @@ -2,23 +2,70 @@ use std::path::PathBuf; use std::process; use cairo_lang_sierra::program::Program; +use cairo_lang_starknet_classes::compiler_version::VersionId; use cairo_lang_starknet_classes::contract_class::ContractClass; -pub(crate) fn load_sierra_program_from_file(path: &PathBuf) -> (ContractClass, Program) { +// TODO(Meshi): Find a way to avoid this code duplication. +fn get_sierra_version_from_program(sierra_program: &[F]) -> VersionId +where + F: TryInto + std::fmt::Display + Clone, + >::Error: std::fmt::Display, +{ + if sierra_program.len() < 3 { + eprintln!("Sierra program length must be at least 3 Felts.",); + process::exit(1); + } + + let version_components: Vec = sierra_program + .iter() + .take(3) + .enumerate() + .map(|(index, felt)| { + felt.clone().try_into().map_err(|err| { + eprintln!( + "Failed to parse Sierra program to Sierra version. Index: {}, Felt: {}, \ + Error: {}", + index, felt, err + ); + process::exit(1); + }) + }) + .collect::>() + .unwrap_or_else(|_| { + eprintln!("Error parsing Sierra program to Sierra version"); + process::exit(1); + }); + VersionId { + major: version_components[0], + minor: version_components[1], + patch: version_components[2], + } +} + +pub(crate) fn load_sierra_program_from_file(path: &PathBuf) -> (ContractClass, Program, VersionId) { let raw_contract_class = std::fs::read_to_string(path).unwrap_or_else(|err| { eprintln!("Error reading Sierra file: {}", err); process::exit(1); }); + let contract_class: ContractClass = serde_json::from_str(&raw_contract_class).unwrap_or_else(|err| { eprintln!("Error deserializing Sierra file into contract class: {}", err); process::exit(1); }); + let raw_sierra_program: Vec<_> = contract_class + .sierra_program + .iter() + .map(|big_uint_as_hex| big_uint_as_hex.value.clone()) + .collect(); + + let sierra_version = get_sierra_version_from_program(&raw_sierra_program); ( contract_class.clone(), contract_class.extract_sierra_program().unwrap_or_else(|err| { eprintln!("Error extracting Sierra program from contract class: {}", err); process::exit(1); }), + sierra_version, ) } diff --git a/crates/blockifier/src/test_utils/struct_impls.rs b/crates/blockifier/src/test_utils/struct_impls.rs index 9c2e12c08cc..e2ce6f92456 100644 --- a/crates/blockifier/src/test_utils/struct_impls.rs +++ b/crates/blockifier/src/test_utils/struct_impls.rs @@ -263,6 +263,7 @@ impl NativeCompiledClassV1 { let executor = AotContractExecutor::new( &sierra_program, &sierra_contract_class.entry_points_by_type, + sierra_version.clone().into(), cairo_native::OptLevel::Default, ) .expect("Cannot compile sierra into native"); diff --git a/crates/blockifier/src/test_utils/test_templates.rs b/crates/blockifier/src/test_utils/test_templates.rs index 9235ce51e5e..33d32d30295 100644 --- a/crates/blockifier/src/test_utils/test_templates.rs +++ b/crates/blockifier/src/test_utils/test_templates.rs @@ -83,3 +83,8 @@ fn test_cairo_version(cairo_version: CairoVersion) { fn test_two_cairo_version(cairo_version1: CairoVersion, cairo_version2: CairoVersion) { println!("test {:?} {:?}", cairo_version1, cairo_version2); } + +#[apply(runnable_version)] +fn test_runnable_version(runnable_version: RunnableCairo1) { + println!("test {:?}", runnable_version); +} diff --git a/crates/starknet_api/src/contract_class.rs b/crates/starknet_api/src/contract_class.rs index 4d4b742883f..f9da6e47fa3 100644 --- a/crates/starknet_api/src/contract_class.rs +++ b/crates/starknet_api/src/contract_class.rs @@ -2,6 +2,7 @@ use std::fmt::Display; use std::str::FromStr; use cairo_lang_starknet_classes::casm_contract_class::CasmContractClass; +use cairo_lang_starknet_classes::compiler_version::VersionId; use derive_more::Deref; use semver::Version; use serde::{Deserialize, Serialize}; @@ -30,6 +31,11 @@ pub enum EntryPointType { L1Handler, } +// TODO(Meshi): Share this code with the blockifier crate. +fn u64_to_usize(val: u64) -> usize { + val.try_into().expect("Failed to convert u64 version tag to usize.") +} + pub type VersionedCasm = (CasmContractClass, SierraVersion); /// Represents a raw Starknet contract class. @@ -53,6 +59,16 @@ impl ContractClass { #[derive(Deref, Serialize, Deserialize, Clone, Debug, Eq, PartialEq, PartialOrd)] pub struct SierraVersion(Version); +impl From for VersionId { + fn from(val: SierraVersion) -> Self { + VersionId { + major: u64_to_usize(val.0.major), + minor: u64_to_usize(val.0.minor), + patch: u64_to_usize(val.0.patch), + } + } +} + impl SierraVersion { /// Version of deprecated contract class (Cairo 0). pub const DEPRECATED: Self = Self(Version::new(0, 0, 0)); diff --git a/crates/starknet_sierra_multicompile/src/command_line_compiler.rs b/crates/starknet_sierra_multicompile/src/command_line_compiler.rs index 638547845e6..7ad4ad10861 100644 --- a/crates/starknet_sierra_multicompile/src/command_line_compiler.rs +++ b/crates/starknet_sierra_multicompile/src/command_line_compiler.rs @@ -92,7 +92,7 @@ impl SierraToNativeCompiler for CommandLineCompiler { resource_limits, )?; - Ok(AotContractExecutor::load(Path::new(&output_file_path))?) + Ok(AotContractExecutor::from_path(Path::new(&output_file_path))?.unwrap()) } }