diff --git a/Cargo.lock b/Cargo.lock index fdb57caed53..ed64c878ac7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1835,9 +1835,9 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "cairo-lang-casm" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151375fd72f8765eb3ca78b4aa8f71269179169d4a8d3d03f4d8a80ff062d1e5" +checksum = "8ff11aec4eb39d670efa69d8a6bda5803661578e9dc1be54ea948fe82fb39995" dependencies = [ "cairo-lang-utils", "indoc 2.0.5", @@ -1850,9 +1850,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b013e303a3b2c67599cbb020d1ae3b96ceef19ed522625b32a1f4f8904bdc2d0" +checksum = "7f704af3ba7499d63a695688d2f5b40109820f8ca38d78092a4aa4a64ec600d2" dependencies = [ "anyhow", "cairo-lang-defs", @@ -1876,18 +1876,18 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e397d9e5f085d04f9251c3e8c6bba2c0aeb39cb41de532977f08bc8dd0dffa" +checksum = "8b22020eb5184ceab861f249ca9fb5d17dbc1278fa88216663e1711da64fbe5a" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e293692f3db2fdc2ab72ced7c1a31de9c7ba6f7202dfa67c4596a42fca5255e5" +checksum = "2322f996ea69a064a9cbad43b996e0352bf0218c6a27b8ff1423ad7942faaa29" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -1902,9 +1902,9 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2fad7dcf507f01810038b3879310514e238c92c9e86cf66ed898e53dadc273" +checksum = "b3d4751c8b3835df963f9aed56a2dba2bb000af824809b2694c0876e3e9f7dee" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1914,9 +1914,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bbbd955110dc35770c77f5f4e420ea963a175a70199c8d95777b1e53da40a8" +checksum = "ed621df2fcc246a81a71ace26fd1be34bbd19aeb60535c85d8e794710a2bef5e" dependencies = [ "cairo-lang-utils", "good_lp", @@ -1924,9 +1924,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff86b7145e376eb7787da47d214583482944f8b40335947804466211e1b5f3a0" +checksum = "0baa53250acf692f7214e997ec864a529d4aad7392f5a7798805659c195ac321" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -1940,9 +1940,9 @@ dependencies = [ [[package]] name = "cairo-lang-formatter" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1b8abd7b170b48b9eadb758b4fdab7e9f03bad8b2cbe23ad8b6e38232311da0" +checksum = "cb00211393a7f992bcf33a17bbe189e1a9dbe247a2de04fe22a313d6b684f746" dependencies = [ "anyhow", "cairo-lang-diagnostics", @@ -1960,9 +1960,9 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d907f52244a34208ee2e5232602aa213ae190c8c015a9ab0e378b695ca9cc1b0" +checksum = "949be6b96044de47aaa2ecf99167a5ffa893de2ca21b1a869cb726cf90f37eec" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -1985,9 +1985,9 @@ dependencies = [ [[package]] name = "cairo-lang-parser" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5c844ec8e284ed1e423d40bd5d4baf98d6415986c3d4065d2c1ff8a09b5934" +checksum = "b3dcc5e85867b0f715b30d62585ac750a4c7ab1f92813599ba17cc29e1d0a1d1" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -2005,9 +2005,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c84c57c6291f1e072fedd12eb0458eb40a3ea16a17d02e8ccf895924b9ea1" +checksum = "239cebcb9024d9e8eb26496055ffa325e5c2d868f798637fc69f25ac3b2ab5ca" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -2030,9 +2030,9 @@ checksum = "123ac0ecadf31bacae77436d72b88fa9caef2b8e92c89ce63a125ae911a12fae" [[package]] name = "cairo-lang-proc-macros" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7afa5c9bb8be0c3654792caec70ca51587667665e667c2250b4fa79df901d3" +checksum = "3a98a058656493f4ef4b7fc51ed4fa46cc9b2834262815959746bf1696f1c50f" dependencies = [ "cairo-lang-debug", "quote", @@ -2041,9 +2041,9 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e557bbf5fc153203622f4fd66d8de23c35c39fe92672ba90c0a3b33766f016f" +checksum = "1d111a3ffe3b463e79af5d6049a6e23fc5c7048e0bacea5ebd268107ded21012" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", @@ -2054,9 +2054,9 @@ dependencies = [ [[package]] name = "cairo-lang-runnable-utils" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb5aea4258a0fcc52a8ac3848c4916a81f2601ebebdd462b4a7c6123cc20589" +checksum = "8dae123904bb7831433868377bb6e7d0a054504b6ea00535cc192abb1a364950" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -2072,9 +2072,9 @@ dependencies = [ [[package]] name = "cairo-lang-runner" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b0e437bbaa58d41c1215451ef50aa914a49780a0af886e55862576aff6c19f" +checksum = "8b00e638356ca1b6073fad36d95131ebe62ee8bc0cc2cb31880e0b17f5e38c39" dependencies = [ "ark-ff 0.4.2", "ark-secp256k1 0.4.0", @@ -2102,9 +2102,9 @@ dependencies = [ [[package]] name = "cairo-lang-semantic" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c82e765f784f4175232f51be0bd81551c48fcf64d8e9ae2e88f15c7130ca549" +checksum = "e5aedc89a6324b3dbdd6cf6827258c50035b7459cf818d88296d6d88c1a46cfd" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2129,9 +2129,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eda99022545ec4ec1b255f05c40d498d7040e3c60ecc942009368462448686b" +checksum = "c6cfdac5d0a0be84e9247414b552905967e06feaef48633af4ca6e80240acb09" dependencies = [ "anyhow", "cairo-lang-utils", @@ -2156,9 +2156,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13db868ea56fc7c109a21260355ef5380e8d4426ce9781a00cc7d2d18a0aada" +checksum = "5a923105c63704b7371f4ee92a17b3037c8be88f0c7021eb764d8f974a397ff5" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -2172,9 +2172,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e26fbde40815352ff18f2e341a9792c651be0597bfb8e63deb0f4dd484782d" +checksum = "1fa8dc62dfa49f57dcdb092f551bcba42d0123f4d0f0763087b3b41142543ecf" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -2188,9 +2188,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2a09730000a75c143d940e0e4906cf35dd0b607b0902223dc73ff5786abb7b" +checksum = "4526593827287b39af72c0d12698007a9fe693d8a8e9fc4e481885634e9c1601" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2212,9 +2212,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b3af3dee351045e063fea341f242c6eab9c0f5eca90ee8b960ddcefa799142" +checksum = "e4357f1cadb6a713c85560aacba92a794eac1f5c82021c0f28ce3a6810c4e334" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -2233,9 +2233,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed52ed8acd957e71139e3dde782aad04946bd1e4d979a2a0b46bd09dd200348" +checksum = "c2963c5eea0778ba7f00e41916dc347b988ca73458edc3e460954e597484bc95" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -2243,9 +2243,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d156a22ebdca8041506c0ae2be765a7bc81907003e588ee643f7e64c7788fbf" +checksum = "07a18683311c0976fbff8ac237e1f0940707695efee77438b56c1604d1db9b5e" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -2273,9 +2273,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a5b4adb80238064a7294c43d8edcc18d908c0872848063682b5c0a458a77af" +checksum = "467bf061c5a43844880d5566931d6d2866b714b4451c61072301ce40b484cda4" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -2296,9 +2296,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "621c6dbf1cbda7d40f4dc78ea2363d3b565e4c7e9edfdcb08e2be61bfbbaf819" +checksum = "36a45ff877463d52565f056a6e9f4689c3a2cea59fde66f9853f2f7ce9e44dc3" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -2313,9 +2313,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd79262096fbbd618c52d01964f5ed36e693f9dc1113a0d217e1b3825bd85822" +checksum = "983e0ab5783bcb1ed70e7401c4c845762f7e033c0e213886f913b5dc875cbf08" dependencies = [ "genco", "xshell", @@ -2323,9 +2323,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-plugin" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe07acbac1f6f31e0b422833174e0a5220370542b47d9ceb6f4e4c7e33ffe61" +checksum = "ea61348e6f51d666bf82ec8c536c9f5be22bd86f18a3b357ec3014223df01c81" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -2350,9 +2350,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-utils" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7df411c00d122de3941dc8cb78d216e2414b2bbb713c006613b98113c35861" +checksum = "97a4f3e42fc818474f3767308159548ddbedc95a6fb857a04ebb95da725203ca" dependencies = [ "cairo-lang-formatter", "cairo-lang-utils", @@ -2363,9 +2363,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.10.0-rc.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d72369877bade85ecfef9bc13cbd0c66fdaa3e8cd9686833f0db65eacaa833" +checksum = "e6d000fa1b86f07587b9dcabdaed00878464944b96c8c1f3f5006e890a5a8870" dependencies = [ "hashbrown 0.14.5", "indexmap 2.7.1", @@ -2379,8 +2379,8 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.3.0" -source = "git+https://github.com/lambdaclass/cairo_native.git?rev=066cda5153ee258e8011c4ee81dd5d3d3bcdb580#066cda5153ee258e8011c4ee81dd5d3d3bcdb580" +version = "0.3.1" +source = "git+https://github.com/lambdaclass/cairo_native.git?rev=b90af8ce28dee144c53d0f8090af98a01c1f54e7#b90af8ce28dee144c53d0f8090af98a01c1f54e7" dependencies = [ "anyhow", "aquamarine", @@ -2749,7 +2749,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -3672,7 +3672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5568,7 +5568,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5999,7 +5999,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -7383,7 +7383,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.98", @@ -8958,7 +8958,7 @@ dependencies = [ "once_cell", "socket2 0.5.8", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9715,7 +9715,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -10216,7 +10216,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "sierra-emu" version = "0.1.0" -source = "git+https://github.com/lambdaclass/sierra-emu?rev=d82044b6c21d9d53d9b931bc35360c168374ff50#d82044b6c21d9d53d9b931bc35360c168374ff50" +source = "git+https://github.com/lambdaclass/sierra-emu?rev=f15e0e688009903491463fd71cd11d5b1329ed90#f15e0e688009903491463fd71cd11d5b1329ed90" dependencies = [ "cairo-lang-compiler", "cairo-lang-filesystem", @@ -11433,7 +11433,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix 0.38.44", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -12529,7 +12529,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ae137c38c22..4315a976935 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -96,14 +96,14 @@ byteorder = "1.4.3" bytes = "1" cached = "0.44.0" cairo-felt = "0.9.1" -cairo-lang-casm = "2.10.0-rc.1" -cairo-lang-runner = "2.10.0-rc.1" -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.git", rev = "066cda5153ee258e8011c4ee81dd5d3d3bcdb580" } -sierra-emu = { git = "https://github.com/lambdaclass/sierra-emu", rev = "d82044b6c21d9d53d9b931bc35360c168374ff50" } +cairo-lang-casm = "2.10.0" +cairo-lang-runner = "2.10.0" +cairo-lang-sierra = "=2.10.0" +cairo-lang-sierra-to-casm = "2.10.0" +cairo-lang-starknet-classes = "2.10.0" +cairo-lang-utils = "2.10.0" +cairo-native = { git = "https://github.com/lambdaclass/cairo_native.git", rev = "b90af8ce28dee144c53d0f8090af98a01c1f54e7" } +sierra-emu = { git = "https://github.com/lambdaclass/sierra-emu", rev = "f15e0e688009903491463fd71cd11d5b1329ed90" } cairo-vm = "=1.0.1" camelpaste = "0.1.0" chrono = "0.4.26" diff --git a/crates/bin/starknet-native-compile/Cargo.toml b/crates/bin/starknet-native-compile/Cargo.toml index 02631152868..b3a1d59ef67 100644 --- a/crates/bin/starknet-native-compile/Cargo.toml +++ b/crates/bin/starknet-native-compile/Cargo.toml @@ -8,8 +8,8 @@ license = "Apache-2.0" [dependencies] # 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-lang-sierra = "2.10.0" +cairo-lang-starknet-classes = "2.10.0" cairo-native = "0.2.9" clap = { version = "4.5.4", features = ["derive"] } serde_json = "1.0.116" diff --git a/crates/blockifier/src/execution/native/executor.rs b/crates/blockifier/src/execution/native/executor.rs index 70955b8ce43..43009c6cd26 100644 --- a/crates/blockifier/src/execution/native/executor.rs +++ b/crates/blockifier/src/execution/native/executor.rs @@ -1,6 +1,7 @@ use std::sync::Arc; use cairo_lang_sierra::program::Program; +use cairo_lang_starknet_classes::compiler_version::VersionId; use cairo_lang_starknet_classes::contract_class::ContractEntryPoints; use cairo_native::execution_result::ContractExecutionResult; use cairo_native::executor::AotContractExecutor; @@ -15,7 +16,7 @@ use super::syscall_handler::NativeSyscallHandler; #[derive(Debug)] pub enum ContractExecutor { Aot(AotContractExecutor), - Emu((Arc, ContractEntryPoints)), + Emu((Arc, ContractEntryPoints, VersionId)), } impl From for ContractExecutor { @@ -23,8 +24,8 @@ impl From for ContractExecutor { Self::Aot(value) } } -impl From<(Arc, ContractEntryPoints)> for ContractExecutor { - fn from(value: (Arc, ContractEntryPoints)) -> Self { +impl From<(Arc, ContractEntryPoints, VersionId)> for ContractExecutor { + fn from(value: (Arc, ContractEntryPoints, VersionId)) -> Self { Self::Emu(value) } } @@ -42,9 +43,9 @@ impl ContractExecutor { ContractExecutor::Aot(aot_contract_executor) => { aot_contract_executor.run(selector, args, gas, builtin_costs, syscall_handler) } - ContractExecutor::Emu((program, entrypoints)) => { + ContractExecutor::Emu((program, entrypoints, version)) => { let mut virtual_machine = - VirtualMachine::new_starknet(program.to_owned(), entrypoints); + VirtualMachine::new_starknet(program.to_owned(), entrypoints, *version); let builtin_costs = builtin_costs.map(|builtin_costs| sierra_emu::BuiltinCosts { r#const: builtin_costs.r#const,