From 8ed9912db87b600fcb0c17c368181524fec24d6a Mon Sep 17 00:00:00 2001 From: glihm Date: Mon, 18 Mar 2024 23:41:11 -0600 Subject: [PATCH 1/2] feat: bump cairo lang to 2.6.3 and related dependencies --- Cargo.lock | 203 ++++++++++-------- Cargo.toml | 16 +- .../contract_address/casm_contract_address.rs | 2 +- .../sierra_contract_address.rs | 6 +- src/execution/execution_entry_point.rs | 6 +- src/lib.rs | 2 +- src/runner/mod.rs | 2 +- .../api/contract_classes/compiled_class.rs | 15 +- src/transaction/declare.rs | 11 +- src/transaction/invoke_function.rs | 2 +- 10 files changed, 151 insertions(+), 114 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0211fd6e..25991e2da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -513,7 +513,7 @@ dependencies = [ "serde_json", "sha3", "starknet-crypto 0.5.2", - "starknet_api", + "starknet_api 0.7.0-dev.0", "strum", "strum_macros", "thiserror", @@ -615,9 +615,9 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ceb71a4cbf5b474bd671c79b2c05e8168a97199bfea1c01ef63b1bdaac3db03" +checksum = "10d9c31baeb6b52586b5adc88f01e90f86389d63d94363c562de5c79352e545b" dependencies = [ "cairo-lang-utils", "indoc", @@ -629,9 +629,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95c1aab3213462c5b7c21508f1a4330bdf0766c90e6dd4ed79b0002c2b96a715" +checksum = "7148cb2d72a3db24a6d2ef2b2602102cc5099cb9f6b913e5047fb009cb3a22a1" dependencies = [ "anyhow", "cairo-lang-defs", @@ -646,23 +646,24 @@ dependencies = [ "cairo-lang-syntax", "cairo-lang-utils", "salsa", + "smol_str", "thiserror", ] [[package]] name = "cairo-lang-debug" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03623ba892200c6b3c55fab260d4aa0bff833d6bcecdb1fb022565ac00d5a683" +checksum = "5a761eb8e31ea65a2dd45f729c74f1770315f97124dad93d1f6853a10d460c6b" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09131755b08a485322656e061ad05602215a198dd4a2daf3897e64dc76e7544e" +checksum = "f6d60bc5d72fe7a95ba34e041dcbdf1cf3bfccb87008a515514b74913fa8ff05" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -677,9 +678,9 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8185cc9472c648ac9db970ce558595c71259eebd55d25a502fe569cb871448" +checksum = "356089e1b0a0ba9e115566191745613b3806a20259ad76764df82ab534d5412a" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -689,9 +690,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae71750096b64d4dd54dd2c39ef50651bb4aff4bc829e3d07549a5035620e0a" +checksum = "fc43246cc2e5afd5a028bcdd63876ac3f8b1f4fb3ff785daaa0f0fbb51c9d906" dependencies = [ "cairo-lang-utils", "good_lp", @@ -699,9 +700,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1819ef5a5396df695dcec993500c46bc44c309590b503da26965c873dfe8a84a" +checksum = "6bcb9a4a40e53fa099774bd08bbcc3430f51213cc7fb1b50c2e9d01155731798" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -713,9 +714,9 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0968f0da6117dca1a70d6ac7d2e252d8b1710f333458c54ce08dbef1c0323881" +checksum = "1ba60e1e2477aa0f610ccf29189097d580464607c94b51741e1c18e64d6cee5f" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -738,9 +739,9 @@ dependencies = [ [[package]] name = "cairo-lang-parser" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae556e49c0a90d30e52f068b0fb5ed4d419766661d3713a1644f3894a9255a5a" +checksum = "7f16ba1535e0cc5e79c2eff6592859bbdac03dc53d4dcdd26dbdbc04a77c3f5c" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -758,9 +759,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d319f3e84ff679159f97e3baa1d918d369ba9e3ade5ad490e0a9e4eca19591" +checksum = "81c8cf6e0ee3d6b19429cc1663738b22f1ecea7d51bf7452e8e1086f08798baf" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -777,9 +778,9 @@ dependencies = [ [[package]] name = "cairo-lang-proc-macros" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef002aac874d76492eb9577dab663f9a84fe4584b4215c7ebfda7d025fcadae" +checksum = "67f9da66325ce7ed6c002360f26106fe79deb9f8a2fca30abdbb8d388da7bb46" dependencies = [ "cairo-lang-debug", "quote", @@ -788,9 +789,9 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f384c26e6907de9c94b44051e386498159e8c9e1567b9b1eae9c22e16ff17e5" +checksum = "e198af1ab3d05c7fb8b6a9a7a2e9bce245a6c855df5f770b751d29874a23b152" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", @@ -832,9 +833,9 @@ dependencies = [ [[package]] name = "cairo-lang-semantic" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311434caae9542b7c442ac69a04e3c8eaa477654f215abe0bd7dfd3c0de70669" +checksum = "6d7df81521c2125e3e95b683cc99374db1aebd7ddb317c5ca3dd92a235a9eb13" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -857,9 +858,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c00c34fcaf97bbc4111d1631af8c65838841a38b3502b5bbc04355b7d46982" +checksum = "07da3ca1434c62a7cc7cd77d2941ef47a1c23b37325781b59407b78d8c61d863" dependencies = [ "anyhow", "cairo-felt", @@ -883,9 +884,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c99a0be021b359c51383cce4372cb1061f7d53438d80f208c56af2154583c98e" +checksum = "122c9055eb609a511178e3dce577de061819fd4c4c6b7452804557f76ca43bbf" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -898,9 +899,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f273d4de9d30e556e72ebe2751f9ed6bf3d84a70f6c76f52b178c24cddb12e43" +checksum = "cf049d9aea65c6e38da219a3700c72f78795d11449d9adcec28047ef8d63bd23" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -913,9 +914,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734f72e9e8b1ec7a96208aa8dfba87ca1614188e3646ae67c519afe707569490" +checksum = "3e1d75e0830279ca1bd0189e3326720d6e081225f7d81ed060bbd22c6b37e980" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -928,7 +929,7 @@ dependencies = [ "cairo-lang-syntax", "cairo-lang-utils", "itertools 0.11.0", - "num-bigint", + "num-traits 0.2.18", "once_cell", "salsa", "smol_str", @@ -936,9 +937,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "842ae37ee3f1cd06b926aceb480fd70b84300aae82e9606b876678d30c21649a" +checksum = "6a3c3be88c8562fbf93b0803c186e7282f6daad93576c07f61b04a591fde468f" dependencies = [ "assert_matches", "cairo-felt", @@ -957,9 +958,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f969cbaf81f3beb1dc693674fc792a815bf8fc13471227020a5faf309d5faf80" +checksum = "a38da6f98c6b16945c89d2ae351c82d636ed38d3e6eb02f7c8679e3e03a63988" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -967,13 +968,12 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cd2d120f39369c7bd7d124dee638c250495054030d01d4e1d1b88f0063bd80" +checksum = "2c9ffa8b3b8c47138c36b1907cebb5047dfc4de29ec10ece5bd6d6853243ec50" dependencies = [ "anyhow", "cairo-felt", - "cairo-lang-casm", "cairo-lang-compiler", "cairo-lang-defs", "cairo-lang-diagnostics", @@ -983,14 +983,33 @@ dependencies = [ "cairo-lang-semantic", "cairo-lang-sierra", "cairo-lang-sierra-generator", - "cairo-lang-sierra-to-casm", + "cairo-lang-starknet-classes", "cairo-lang-syntax", "cairo-lang-utils", "const_format", - "convert_case 0.6.0", "indent", "indoc", "itertools 0.11.0", + "once_cell", + "serde", + "serde_json", + "smol_str", + "thiserror", +] + +[[package]] +name = "cairo-lang-starknet-classes" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c64ae2bb00173e3a88760128bf72de356fa80eb19fa47602479063648b4003" +dependencies = [ + "cairo-felt", + "cairo-lang-casm", + "cairo-lang-sierra", + "cairo-lang-sierra-to-casm", + "cairo-lang-utils", + "convert_case 0.6.0", + "itertools 0.11.0", "num-bigint", "num-integer", "num-traits 0.2.18", @@ -1005,9 +1024,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552d3438fec55832976bc7c7d7490100e8ce7385d3f3f1539f9a46fffa2197c6" +checksum = "8262c426a57e1e5ec297db24278464841500613445e2cb1c43d5f71ad91ee8d6" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1021,9 +1040,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dab4d07bd78658f0fdc3fd20f1236bc3e6ebdd8a8fc72ece95a5dd03b7a09da" +checksum = "70e2d692eae4bb4179a4a1148fd5eb738a91653d86750c813658ffad4a99fa97" dependencies = [ "genco", "xshell", @@ -1058,9 +1077,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.5.4" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12d0939f42d40fb1d975cae073d7d4f82d83de4ba2149293115525245425f909" +checksum = "bf733a7cdc4166d0baf0ed8a98d9ada827daee6653b37d9326e334e53481c6d3" dependencies = [ "hashbrown 0.14.3", "indexmap 2.2.3", @@ -1162,7 +1181,7 @@ dependencies = [ [[package]] name = "cairo-vm" version = "1.0.0-rc1" -source = "git+https://github.com/lambdaclass/cairo-vm?rev=3547089579dd74f815edbc2d1caa91e00fc8a2f7#3547089579dd74f815edbc2d1caa91e00fc8a2f7" +source = "git+https://github.com/glihm/cairo-vm?branch=feat/bump-cairo-263#7710f0c3099fb4ddee42cd0321d8f78105a2c5dc" dependencies = [ "anyhow", "ark-ff", @@ -1171,6 +1190,7 @@ dependencies = [ "bitvec", "cairo-lang-casm", "cairo-lang-starknet", + "cairo-lang-starknet-classes", "generic-array", "hashbrown 0.14.3", "hex", @@ -2035,7 +2055,7 @@ dependencies = [ "honggfuzz", "num-traits 0.2.18", "serde_json", - "starknet_api", + "starknet_api 0.10.0", "starknet_in_rust", "tempfile", ] @@ -3582,7 +3602,7 @@ dependencies = [ "clap", "indicatif", "rpc_state_reader", - "starknet_api", + "starknet_api 0.10.0", "starknet_in_rust", "tracing", "tracing-subscriber", @@ -3680,7 +3700,7 @@ dependencies = [ "serde_json", "serde_with 3.6.1", "starknet", - "starknet_api", + "starknet_api 0.7.0-dev.0", "starknet_in_rust", "test-case", "thiserror", @@ -4207,13 +4227,13 @@ dependencies = [ [[package]] name = "starknet" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "351ffff1bcf6a1dc569a1b330dfd85779e16506e7d4a87baa8be3744cb5415a6" +checksum = "36f8002bf3d750dd2c0434aca8b5e88e2438cd6c452f4c18f34d0a8a9f42cb1a" dependencies = [ "starknet-accounts", "starknet-contract", - "starknet-core 0.7.2", + "starknet-core", "starknet-crypto 0.6.1", "starknet-ff", "starknet-macros", @@ -4223,13 +4243,13 @@ dependencies = [ [[package]] name = "starknet-accounts" -version = "0.6.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7062b020f65d9da7f9dd9f1d97bfb644e881cda8ddb999799a799e6f2e408dd" +checksum = "e8e39a5807a735343493781dd5e640c4af838de470b0a73f420bed642fdc2ff1" dependencies = [ "async-trait", "auto_impl", - "starknet-core 0.7.2", + "starknet-core", "starknet-providers", "starknet-signers", "thiserror", @@ -4237,37 +4257,19 @@ dependencies = [ [[package]] name = "starknet-contract" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d858efc93d85de95065a5732cb3e94d0c746674964c0859aab442ffbb9de76b4" +checksum = "b4996991356cd0e9499c663680eba7e77de4109e4995f652c1608899a65c09ee" dependencies = [ "serde", "serde_json", "serde_with 2.3.3", "starknet-accounts", - "starknet-core 0.7.2", + "starknet-core", "starknet-providers", "thiserror", ] -[[package]] -name = "starknet-core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f1683ca7c63f0642310eddedb7d35056d8306084dff323d440711065c63ed87" -dependencies = [ - "base64 0.21.7", - "flate2", - "hex", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with 2.3.3", - "sha3", - "starknet-crypto 0.6.1", - "starknet-ff", -] - [[package]] name = "starknet-core" version = "0.9.0" @@ -4376,15 +4378,15 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c5d2964612f0ccd0a700279e33cfc98d6db04f64645ff834f3b7ec422142d7a" dependencies = [ - "starknet-core 0.9.0", + "starknet-core", "syn 2.0.51", ] [[package]] name = "starknet-providers" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52072c2d258bf692affeccd602613d5f6c61a6ffc84da8f191ab4a1b0a5e24d1" +checksum = "6a4bd1c262936543d6d14d299f476585e8c9625a4e284d9255b54f1c2e68e64a" dependencies = [ "async-trait", "auto_impl", @@ -4395,23 +4397,23 @@ dependencies = [ "serde", "serde_json", "serde_with 2.3.3", - "starknet-core 0.7.2", + "starknet-core", "thiserror", "url", ] [[package]] name = "starknet-signers" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347b1bfc09846aafe16d2b3a5bc2d8a2f845e2958602442182d265fbd6011c2e" +checksum = "8c5eb659e66b56ceafb9025cd601226d8f34d273f1b826cd4053ab6333ff0898" dependencies = [ "async-trait", "auto_impl", "crypto-bigint", "eth-keystore", "rand", - "starknet-core 0.7.2", + "starknet-core", "starknet-crypto 0.6.1", "thiserror", ] @@ -4454,6 +4456,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "starknet_api" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e6aeb260177f5ca6dde788e844825d8d83782905dbac1b24c0c620743284475" +dependencies = [ + "cairo-lang-starknet-classes", + "derive_more", + "hex", + "indexmap 2.2.3", + "once_cell", + "primitive-types", + "serde", + "serde_json", + "starknet-crypto 0.5.2", + "strum", + "strum_macros", + "thiserror", +] + [[package]] name = "starknet_in_rust" version = "0.4.0" @@ -4464,6 +4486,7 @@ dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", "cairo-lang-starknet", + "cairo-lang-starknet-classes", "cairo-lang-utils", "cairo-native", "cairo-vm 1.0.0-rc1", @@ -4489,7 +4512,7 @@ dependencies = [ "sha3", "starknet", "starknet-crypto 0.6.1", - "starknet_api", + "starknet_api 0.10.0", "thiserror", "tracing", "tracing-subscriber", diff --git a/Cargo.toml b/Cargo.toml index 7b58a9e18..e0c5d9332 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,14 +23,15 @@ members = [ ] [workspace.dependencies] -cairo-lang-casm = "=2.5.4" -cairo-lang-sierra = "=2.5.4" -cairo-lang-starknet = "=2.5.4" -cairo-lang-utils = "=2.5.4" -cairo-vm = { git = "https://github.com/lambdaclass/cairo-vm", rev = "3547089579dd74f815edbc2d1caa91e00fc8a2f7", features = ["cairo-1-hints"] } +cairo-lang-casm = "=2.6.3" +cairo-lang-sierra = "=2.6.3" +cairo-lang-starknet = "=2.6.3" +cairo-lang-starknet-classes = "=2.6.3" +cairo-lang-utils = "=2.6.3" +cairo-vm = { git = "https://github.com/glihm/cairo-vm", branch = "feat/bump-cairo-263", features = ["cairo-1-hints"] } num-traits = "0.2.15" -starknet = "0.7.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ -starknet_api = "0.7.0-dev.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ +starknet = "0.9.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ +starknet_api = "0.10.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ thiserror = "1.0.32" [dependencies] @@ -39,6 +40,7 @@ base64 = { version = "0.21.0", default-features = false, features = ["alloc"] } cairo-lang-casm = { workspace = true } cairo-lang-sierra = { workspace = true } cairo-lang-starknet = { workspace = true } +cairo-lang-starknet-classes = { workspace = true } cairo-lang-utils = { workspace = true } cairo-native = { git = "https://github.com/lambdaclass/cairo_native", rev = "baf57d2dde0036ac4848fc40c672826fb7ffcde4", optional = true } k256 = "0.13.3" diff --git a/src/core/contract_address/casm_contract_address.rs b/src/core/contract_address/casm_contract_address.rs index 74a0c9921..92a076189 100644 --- a/src/core/contract_address/casm_contract_address.rs +++ b/src/core/contract_address/casm_contract_address.rs @@ -1,6 +1,6 @@ use crate::core::errors::contract_address_errors::ContractAddressError; use crate::services::api::contract_classes::deprecated_contract_class::EntryPointType; -use cairo_lang_starknet::casm_contract_class::{CasmContractClass, CasmContractEntryPoint}; +use cairo_lang_starknet_classes::casm_contract_class::{CasmContractClass, CasmContractEntryPoint}; use cairo_vm::Felt252; use starknet_crypto::{poseidon_hash_many, FieldElement}; diff --git a/src/core/contract_address/sierra_contract_address.rs b/src/core/contract_address/sierra_contract_address.rs index 0a6b5f2a7..0c28c9d78 100644 --- a/src/core/contract_address/sierra_contract_address.rs +++ b/src/core/contract_address/sierra_contract_address.rs @@ -1,8 +1,8 @@ use crate::{core::errors::contract_address_errors::ContractAddressError, EntryPointType}; -use cairo_lang_starknet::{ - contract::starknet_keccak, - contract_class::{ContractClass as SierraContractClass, ContractEntryPoint}, +use cairo_lang_starknet_classes::contract_class::{ + ContractClass as SierraContractClass, ContractEntryPoint, }; +use cairo_lang_starknet_classes::keccak::starknet_keccak; use cairo_vm::Felt252; use serde_json::ser::Formatter; use starknet_crypto::{poseidon_hash_many, FieldElement, PoseidonHasher}; diff --git a/src/execution/execution_entry_point.rs b/src/execution/execution_entry_point.rs index f6a651081..7fbbd6292 100644 --- a/src/execution/execution_entry_point.rs +++ b/src/execution/execution_entry_point.rs @@ -27,8 +27,10 @@ use crate::{ }, }; use cairo_lang_sierra::program::Program as SierraProgram; -use cairo_lang_starknet::casm_contract_class::{CasmContractClass, CasmContractEntryPoint}; -use cairo_lang_starknet::contract_class::ContractEntryPoints; +use cairo_lang_starknet_classes::{ + casm_contract_class::{CasmContractClass, CasmContractEntryPoint}, + contract_class::ContractEntryPoints, +}; use cairo_vm::{ types::{ program::Program, diff --git a/src/lib.rs b/src/lib.rs index 2697bb1b1..e3d64e3fb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ extern crate assert_matches; pub use crate::services::api::contract_classes::deprecated_contract_class::{ ContractEntryPoint, EntryPointType, }; -pub use cairo_lang_starknet::{ +pub use cairo_lang_starknet_classes::{ casm_contract_class::CasmContractClass, contract_class::ContractClass, contract_class::ContractClass as SierraContractClass, }; diff --git a/src/runner/mod.rs b/src/runner/mod.rs index 0d0a98256..2c746acf1 100644 --- a/src/runner/mod.rs +++ b/src/runner/mod.rs @@ -1,7 +1,7 @@ use crate::execution::CallResult; use crate::syscalls::syscall_handler::HintProcessorPostRun; use crate::transaction::error::TransactionError; -use cairo_lang_starknet::casm_contract_class::CasmContractClass; +use cairo_lang_starknet_classes::casm_contract_class::CasmContractClass; use cairo_vm::hint_processor::hint_processor_definition::HintProcessor; use cairo_vm::serde::deserialize_program::BuiltinName; use cairo_vm::types::errors::math_errors::MathError; diff --git a/src/services/api/contract_classes/compiled_class.rs b/src/services/api/contract_classes/compiled_class.rs index a6145624d..2b620f995 100644 --- a/src/services/api/contract_classes/compiled_class.rs +++ b/src/services/api/contract_classes/compiled_class.rs @@ -9,10 +9,10 @@ use crate::{ContractEntryPoint, EntryPointType}; use super::deprecated_contract_class::ContractClass; use cairo_lang_sierra::program::Program as SierraProgram; -use cairo_lang_starknet::abi::Contract; -use cairo_lang_starknet::casm_contract_class::CasmContractClass; -use cairo_lang_starknet::contract_class::{ - ContractClass as SierraContractClass, ContractEntryPoints, +use cairo_lang_starknet_classes::{ + abi::Contract, + casm_contract_class::CasmContractClass, + contract_class::{ContractClass as SierraContractClass, ContractEntryPoints}, }; use cairo_lang_utils::bigint::BigUintAsHex; use cairo_vm::types::program::Program; @@ -87,7 +87,12 @@ impl From for CompiledClass { sierra_cc.extract_sierra_program().unwrap(), sierra_cc.entry_points_by_type.clone(), )); - let casm_cc = CasmContractClass::from_contract_class(sierra_cc, true).unwrap(); + + // TODO: from where this value must be passed? Constant? + let max_bytecode_size = 4_089_446; + let casm_cc = + CasmContractClass::from_contract_class(sierra_cc, true, max_bytecode_size) + .unwrap(); CompiledClass::Casm { casm: Arc::new(casm_cc), diff --git a/src/transaction/declare.rs b/src/transaction/declare.rs index 4431dc3c3..aff885dcc 100644 --- a/src/transaction/declare.rs +++ b/src/transaction/declare.rs @@ -32,8 +32,9 @@ use crate::{ }, utils::calculate_tx_resources, }; -use cairo_lang_starknet::casm_contract_class::CasmContractClass; -use cairo_lang_starknet::contract_class::ContractClass as SierraContractClass; +use cairo_lang_starknet_classes::{ + casm_contract_class::CasmContractClass, contract_class::ContractClass as SierraContractClass, +}; use cairo_vm::Felt252; use num_traits::Zero; use std::fmt::Debug; @@ -440,12 +441,16 @@ impl Declare { &self, state: &mut S, ) -> Result<(), TransactionError> { + // TODO: from where this value must be passed? Constant? + let max_bytecode_size = 4_089_446; + let casm_class = match &self.casm_class { None => CasmContractClass::from_contract_class( self.sierra_contract_class .clone() .ok_or(TransactionError::DeclareNoSierraOrCasm)?, true, + max_bytecode_size, ) .map_err(|e| TransactionError::SierraCompileError(e.to_string()))?, Some(casm_contract_class) => casm_contract_class.clone(), @@ -612,7 +617,7 @@ mod tests { }, transaction::{Address, ClassHash}, }; - use cairo_lang_starknet::casm_contract_class::CasmContractClass; + use cairo_lang_starknet_classes::casm_contract_class::CasmContractClass; use cairo_vm::Felt252; use std::{fs::File, io::BufReader, path::PathBuf, sync::Arc}; diff --git a/src/transaction/invoke_function.rs b/src/transaction/invoke_function.rs index a5b69a8ea..0db7187df 100644 --- a/src/transaction/invoke_function.rs +++ b/src/transaction/invoke_function.rs @@ -659,7 +659,7 @@ mod tests { transaction::ClassHash, utils::calculate_sn_keccak, }; - use cairo_lang_starknet::casm_contract_class::CasmContractClass; + use cairo_lang_starknet_classes::casm_contract_class::CasmContractClass; use pretty_assertions_sorted::{assert_eq, assert_eq_sorted}; use starknet_api::{ From 6d217fe617b5cf06efcbd406818ae185299b0e6c Mon Sep 17 00:00:00 2001 From: glihm Date: Mon, 18 Mar 2024 23:47:29 -0600 Subject: [PATCH 2/2] fix: remove comment --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e0c5d9332..da62646dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,8 +30,8 @@ cairo-lang-starknet-classes = "=2.6.3" cairo-lang-utils = "=2.6.3" cairo-vm = { git = "https://github.com/glihm/cairo-vm", branch = "feat/bump-cairo-263", features = ["cairo-1-hints"] } num-traits = "0.2.15" -starknet = "0.9.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ -starknet_api = "0.10.0" # todo: update to 0.9.0+ once cairo-lang is 2.6.0+ +starknet = "0.9.0" +starknet_api = "0.10.0" thiserror = "1.0.32" [dependencies]