From f620d68a5a34568de61bfc03ead8953ae426be80 Mon Sep 17 00:00:00 2001 From: Wojciech Szymczyk Date: Tue, 25 Feb 2025 12:30:54 +0100 Subject: [PATCH] Bump dependencies for new scarb and snfoundry (#146) --- CHANGELOG.md | 3 + Cargo.lock | 92 +-- Cargo.toml | 8 +- .../resources/versioned_constants_0_13_4.json | 564 ++++++++++++++++++ .../src/versioned_constants_reader.rs | 2 +- .../data/invalid_versioned_constants.json | 9 + .../tests/data/test_versioned_constants.json | 9 + crates/cairo-profiler/tests/e2e.rs | 30 +- 8 files changed, 661 insertions(+), 56 deletions(-) create mode 100644 crates/cairo-profiler/resources/versioned_constants_0_13_4.json diff --git a/CHANGELOG.md b/CHANGELOG.md index df3cfcd..21745c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Chore +- Bumped dependencies to ensure compatibility with scarb 2.10 and newest snfoundry + ## [0.8.0] - 2025-01-13 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index a5fce7e..4ce34df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -198,9 +198,9 @@ checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "cairo-annotations" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b5f3d9342fdd0a21e3d66f32322142d826e2fd6b56300d5c16ab291de387f9" +checksum = "5e6d7624764c83e33a4eb0d581cc126232d42c878a187ffa6372bea038dc9ee6" dependencies = [ "cairo-lang-sierra", "cairo-lang-sierra-to-casm", @@ -211,14 +211,14 @@ dependencies = [ "serde_json", "strum", "strum_macros", - "thiserror", + "thiserror 2.0.11", ] [[package]] name = "cairo-lang-casm" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3cdc3f120e19e7ba5be0b2c2b80ff8907024fafd29915cc85794be4b8609d9" +checksum = "e3670c7c84c310dfc96667b6f10c37e275ed750761058e8052cace1d1853a03b" dependencies = [ "cairo-lang-utils", "indoc", @@ -230,9 +230,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104e4dbeddd622c63d5b7b1c67e2d14b5ec653941fa441c14fae3f182d464d74" +checksum = "d81fe837084f841398225eba8ae50759d7ff64fb64a5af0b4b42f1fed4e2c351" dependencies = [ "cairo-lang-utils", "good_lp", @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92187261771e2eaccc33550a88df171e26a042ffaee14e32068069352a7ee3" +checksum = "8daba1806b75e032be1c5d5975f975a7c11777d6d9f5a8e2df61dab290bd08c6" dependencies = [ "anyhow", "cairo-lang-utils", @@ -262,14 +262,14 @@ dependencies = [ "sha3", "smol_str", "starknet-types-core", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d35f4a25e5f405c7970bd4b63c440c6f29d3b20afff1e18d3e9ac666f3aa15a" +checksum = "dc9fdbd7418950ebc9781c93ad4b435ee4ed0f920d6a9b44063359da957bd8cd" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -278,14 +278,14 @@ dependencies = [ "itertools 0.12.1", "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cairo-lang-sierra-gas" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e694178d079761e2acd6c7164b36d88abf2f8ad82645799cd0b421fd68c9b59" +checksum = "2e15d759696fdff96d7fbebf34a4dfb520791cd1cddb5805804e1493110e4443" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -294,14 +294,14 @@ dependencies = [ "itertools 0.12.1", "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e781b5edb27e843a627d63bab35d81710b37272a2a3e9bc94a8cd87205611b" +checksum = "5dd3e7e61a3af0bc8a26a2134707878bcc974c5b69151247f16744d97f45dd88" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -315,14 +315,14 @@ dependencies = [ "num-bigint", "num-traits", "starknet-types-core", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cairo-lang-sierra-type-size" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b728595e502f502d49d4c1a7426b26270ee58110df104026713b55fb3d6a8" +checksum = "04e94db2e8faaab9fcfcf658e33743017b4e548cb93103b3a106605fb8693de6" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cdece035b1efa76c7a0dbac607ab1f9f559221bf02b94eb141b4d763e3704f8" +checksum = "c31a18f0718547e2ea2dfac3bf394b822e81cac9fd3b2585abd429a7ba45d607" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -348,14 +348,14 @@ dependencies = [ "sha3", "smol_str", "starknet-types-core", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cairo-lang-utils" -version = "2.8.5" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b938ccc0ce8e8623ab099c6027484bc03c093439fff2912235c6b37c5bc3759" +checksum = "cc13c3f9b93451df0011bf5ae11804ebaac4b85c8555aa01679a25d4a3e64da5" dependencies = [ "hashbrown 0.14.5", "indexmap 2.6.0", @@ -564,18 +564,18 @@ dependencies = [ [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", @@ -1405,7 +1405,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1704,15 +1704,15 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.3" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" [[package]] name = "strum_macros" -version = "0.26.4" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -1819,7 +1819,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -1833,6 +1842,17 @@ dependencies = [ "syn 2.0.89", ] +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", +] + [[package]] name = "tiny-keccak" version = "2.0.2" diff --git a/Cargo.toml b/Cargo.toml index ed4035d..c65fb51 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,9 +29,9 @@ test-case = "3.3.1" itertools = "0.12.1" tempfile = "3.16.0" indoc = "2" -cairo-annotations = "0.2.1" +cairo-annotations = "0.2.2" prettytable-rs = "0.10.0" -cairo-lang-sierra = "2.8.5" -cairo-lang-sierra-to-casm = "2.8.5" -cairo-lang-starknet-classes = "2.8.5" +cairo-lang-sierra = "2.10.1" +cairo-lang-sierra-to-casm = "2.10.1" +cairo-lang-starknet-classes = "2.10.1" diff --git a/crates/cairo-profiler/resources/versioned_constants_0_13_4.json b/crates/cairo-profiler/resources/versioned_constants_0_13_4.json new file mode 100644 index 0000000..77e4099 --- /dev/null +++ b/crates/cairo-profiler/resources/versioned_constants_0_13_4.json @@ -0,0 +1,564 @@ +{ + "tx_event_limits": { + "max_data_length": 300, + "max_keys_length": 50, + "max_n_emitted_events": 1000 + }, + "gateway": { + "max_calldata_length": 5000, + "max_contract_bytecode_size": 81920 + }, + "invoke_tx_max_n_steps": 10000000, + "deprecated_l2_resource_gas_costs": { + "gas_per_data_felt": [ + 128, + 1000 + ], + "event_key_factor": [ + 2, + 1 + ], + "gas_per_code_byte": [ + 32, + 1000 + ] + }, + "archival_data_gas_costs": { + "gas_per_data_felt": [ + 5120, + 1 + ], + "event_key_factor": [ + 2, + 1 + ], + "gas_per_code_byte": [ + 1280, + 1 + ] + }, + "disable_cairo0_redeclaration": true, + "enable_stateful_compression": true, + "comprehensive_state_diff": true, + "allocation_cost": { + "blob_cost": { + "l1_gas": 0, + "l1_data_gas": 32, + "l2_gas": 0 + }, + "gas_cost": { + "l1_gas": 551, + "l1_data_gas": 0, + "l2_gas": 0 + } + }, + "ignore_inner_event_resources": false, + "enable_reverts": true, + "max_recursion_depth": 50, + "segment_arena_cells": false, + "os_constants": { + "constructor_entry_point_selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "default_entry_point_selector": 0, + "entry_point_initial_budget": { + "step_gas_cost": 100 + }, + "entry_point_type_constructor": 2, + "entry_point_type_external": 0, + "entry_point_type_l1_handler": 1, + "error_block_number_out_of_range": "Block number out of range", + "error_invalid_input_len": "Invalid input length", + "error_invalid_argument": "Invalid argument", + "error_out_of_gas": "Out of gas", + "error_entry_point_failed": "ENTRYPOINT_FAILED", + "error_entry_point_not_found": "ENTRYPOINT_NOT_FOUND", + "execute_entry_point_selector": "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad", + "execute_max_sierra_gas": 1000000000, + "default_initial_gas_cost": { + "step_gas_cost": 100000000 + }, + "l1_gas": "L1_GAS", + "l1_gas_index": 0, + "l1_handler_version": 0, + "l2_gas": "L2_GAS", + "l1_data_gas": "L1_DATA", + "l1_data_gas_index": 2, + "l2_gas_index": 1, + "memory_hole_gas_cost": 10, + "nop_entry_point_offset": -1, + "os_contract_addresses": { + "block_hash_contract_address": 1, + "alias_contract_address": 2, + "reserved_contract_address": 3 + }, + "builtin_gas_costs": { + "range_check": 70, + "range_check96": 56, + "keccak": 136189, + "pedersen": 4050, + "bitwise": 583, + "ecop": 4085, + "poseidon": 491, + "add_mod": 230, + "mul_mod": 604, + "ecdsa": 10561 + }, + "sierra_array_len_bound": 4294967296, + "step_gas_cost": 100, + "stored_block_hash_buffer": 10, + "syscall_base_gas_cost": { + "step_gas_cost": 100 + }, + "transfer_entry_point_selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e", + "validate_declare_entry_point_selector": "0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3", + "validate_deploy_entry_point_selector": "0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895", + "validate_entry_point_selector": "0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775", + "validate_max_sierra_gas": 100000000, + "validate_rounding_consts": { + "validate_block_number_rounding": 100, + "validate_timestamp_rounding": 3600 + }, + "validated": "VALID", + "v1_bound_accounts_cairo0": [], + "v1_bound_accounts_cairo1": [] + }, + "os_resources": { + "execute_syscalls": { + "CallContract": { + "n_steps": 866, + "builtin_instance_counter": { + "range_check_builtin": 15 + }, + "n_memory_holes": 0 + }, + "DelegateCall": { + "n_steps": 713, + "builtin_instance_counter": { + "range_check_builtin": 19 + }, + "n_memory_holes": 0 + }, + "DelegateL1Handler": { + "n_steps": 692, + "builtin_instance_counter": { + "range_check_builtin": 15 + }, + "n_memory_holes": 0 + }, + "Deploy": { + "n_steps": 1132, + "builtin_instance_counter": { + "pedersen_builtin": 7, + "range_check_builtin": 18 + }, + "n_memory_holes": 0 + }, + "EmitEvent": { + "n_steps": 61, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetBlockHash": { + "n_steps": 104, + "builtin_instance_counter": { + "range_check_builtin": 2 + }, + "n_memory_holes": 0 + }, + "GetBlockNumber": { + "n_steps": 40, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "GetBlockTimestamp": { + "n_steps": 38, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "GetCallerAddress": { + "n_steps": 64, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetContractAddress": { + "n_steps": 64, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetExecutionInfo": { + "n_steps": 64, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetSequencerAddress": { + "n_steps": 34, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "GetTxInfo": { + "n_steps": 64, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetTxSignature": { + "n_steps": 44, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "KeccakRound": { + "n_steps": 281, + "builtin_instance_counter": { + "bitwise_builtin": 6, + "keccak_builtin": 1, + "range_check_builtin": 56 + }, + "n_memory_holes": 0 + }, + "Keccak": { + "n_steps": 100, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "LibraryCall": { + "n_steps": 842, + "builtin_instance_counter": { + "range_check_builtin": 15 + }, + "n_memory_holes": 0 + }, + "LibraryCallL1Handler": { + "n_steps": 659, + "builtin_instance_counter": { + "range_check_builtin": 15 + }, + "n_memory_holes": 0 + }, + "ReplaceClass": { + "n_steps": 104, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "Secp256k1Add": { + "n_steps": 410, + "builtin_instance_counter": { + "range_check_builtin": 29 + }, + "n_memory_holes": 0 + }, + "Secp256k1GetPointFromX": { + "n_steps": 395, + "builtin_instance_counter": { + "range_check_builtin": 30 + }, + "n_memory_holes": 0 + }, + "Secp256k1GetXy": { + "n_steps": 207, + "builtin_instance_counter": { + "range_check_builtin": 11 + }, + "n_memory_holes": 0 + }, + "Secp256k1Mul": { + "n_steps": 76505, + "builtin_instance_counter": { + "range_check_builtin": 7045 + }, + "n_memory_holes": 0 + }, + "Secp256k1New": { + "n_steps": 461, + "builtin_instance_counter": { + "range_check_builtin": 35 + }, + "n_memory_holes": 0 + }, + "Secp256r1Add": { + "n_steps": 593, + "builtin_instance_counter": { + "range_check_builtin": 57 + }, + "n_memory_holes": 0 + }, + "Secp256r1GetPointFromX": { + "n_steps": 514, + "builtin_instance_counter": { + "range_check_builtin": 44 + }, + "n_memory_holes": 0 + }, + "Secp256r1GetXy": { + "n_steps": 209, + "builtin_instance_counter": { + "range_check_builtin": 11 + }, + "n_memory_holes": 0 + }, + "Secp256r1Mul": { + "n_steps": 125344, + "builtin_instance_counter": { + "range_check_builtin": 13961 + }, + "n_memory_holes": 0 + }, + "Secp256r1New": { + "n_steps": 580, + "builtin_instance_counter": { + "range_check_builtin": 49 + }, + "n_memory_holes": 0 + }, + "SendMessageToL1": { + "n_steps": 141, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "Sha256ProcessBlock": { + "n_steps": 1865, + "builtin_instance_counter": { + "range_check_builtin": 65, + "bitwise_builtin": 1115 + }, + "n_memory_holes": 0 + }, + "StorageRead": { + "n_steps": 87, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "StorageWrite": { + "n_steps": 93, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + }, + "GetClassHashAt": { + "n_steps": 89, + "builtin_instance_counter": { + "range_check_builtin": 1 + }, + "n_memory_holes": 0 + } + }, + "execute_txs_inner": { + "Declare": { + "deprecated_resources": { + "constant": { + "n_steps": 3203, + "builtin_instance_counter": { + "pedersen_builtin": 16, + "range_check_builtin": 56, + "poseidon_builtin": 4 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 0, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + } + }, + "resources": { + "constant": { + "n_steps": 3346, + "builtin_instance_counter": { + "pedersen_builtin": 4, + "range_check_builtin": 64, + "poseidon_builtin": 14 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 0, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + } + } + }, + "DeployAccount": { + "deprecated_resources": { + "constant": { + "n_steps": 4161, + "builtin_instance_counter": { + "pedersen_builtin": 23, + "range_check_builtin": 72 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 21, + "builtin_instance_counter": { + "pedersen_builtin": 2 + }, + "n_memory_holes": 0 + } + }, + "resources": { + "constant": { + "n_steps": 4321, + "builtin_instance_counter": { + "pedersen_builtin": 11, + "range_check_builtin": 80, + "poseidon_builtin": 10 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 21, + "builtin_instance_counter": { + "pedersen_builtin": 2 + }, + "n_memory_holes": 0 + } + } + }, + "InvokeFunction": { + "deprecated_resources": { + "constant": { + "n_steps": 3918, + "builtin_instance_counter": { + "pedersen_builtin": 14, + "range_check_builtin": 69 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 8, + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0 + } + }, + "resources": { + "constant": { + "n_steps": 4102, + "builtin_instance_counter": { + "pedersen_builtin": 4, + "range_check_builtin": 77, + "poseidon_builtin": 11 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 8, + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0 + } + } + }, + "L1Handler": { + "deprecated_resources": { + "constant": { + "n_steps": 1279, + "builtin_instance_counter": { + "pedersen_builtin": 11, + "range_check_builtin": 16 + }, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 13, + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0 + } + }, + "resources": { + "constant": { + "n_steps": 0, + "builtin_instance_counter": {}, + "n_memory_holes": 0 + }, + "calldata_factor": { + "n_steps": 13, + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0 + } + } + } + }, + "compute_os_kzg_commitment_info": { + "n_steps": 113, + "builtin_instance_counter": { + "range_check_builtin": 17 + }, + "n_memory_holes": 0 + } + }, + "validate_max_n_steps": 1000000, + "min_sierra_version_for_sierra_gas": "1.7.0", + "vm_resource_fee_cost": { + "builtins": { + "add_mod_builtin": [ + 4, + 100 + ], + "bitwise_builtin": [ + 16, + 100 + ], + "ec_op_builtin": [ + 256, + 100 + ], + "ecdsa_builtin": [ + 512, + 100 + ], + "keccak_builtin": [ + 512, + 100 + ], + "mul_mod_builtin": [ + 4, + 100 + ], + "output_builtin": [ + 0, + 1 + ], + "pedersen_builtin": [ + 8, + 100 + ], + "poseidon_builtin": [ + 8, + 100 + ], + "range_check_builtin": [ + 4, + 100 + ], + "range_check96_builtin": [ + 4, + 100 + ] + }, + "n_steps": [ + 25, + 10000 + ] + } +} diff --git a/crates/cairo-profiler/src/versioned_constants_reader.rs b/crates/cairo-profiler/src/versioned_constants_reader.rs index b2cbddc..8d993cf 100644 --- a/crates/cairo-profiler/src/versioned_constants_reader.rs +++ b/crates/cairo-profiler/src/versioned_constants_reader.rs @@ -18,7 +18,7 @@ pub fn read_and_parse_versioned_constants_file(path: Option<&Utf8PathBuf>) -> Re Some(path) => fs::read_to_string(path).with_context(|| { format!("Cannot read versioned constants file at specified path {path}") })?, - None => include_str!("../resources/versioned_constants_0_13_3.json").to_string(), + None => include_str!("../resources/versioned_constants_0_13_4.json").to_string(), }; let json_value: Value = serde_json::from_str(&file_content) .context("Failed to parse versioned constants file content")?; diff --git a/crates/cairo-profiler/tests/data/invalid_versioned_constants.json b/crates/cairo-profiler/tests/data/invalid_versioned_constants.json index 4b472ee..1466ac7 100644 --- a/crates/cairo-profiler/tests/data/invalid_versioned_constants.json +++ b/crates/cairo-profiler/tests/data/invalid_versioned_constants.json @@ -94,6 +94,15 @@ }, "n_memory_holes": 0 }, + "KeccakRound": { + "n_steps": 281, + "builtin_instance_counter": { + "bitwise_builtin": 6, + "keccak_builtin": 1, + "range_check_builtin": 56 + }, + "n_memory_holes": 0 + }, "LibraryCall": { "n_steps": 10, "builtin_instance_counter": { diff --git a/crates/cairo-profiler/tests/data/test_versioned_constants.json b/crates/cairo-profiler/tests/data/test_versioned_constants.json index 87138cd..eb624ba 100644 --- a/crates/cairo-profiler/tests/data/test_versioned_constants.json +++ b/crates/cairo-profiler/tests/data/test_versioned_constants.json @@ -101,6 +101,15 @@ }, "n_memory_holes": 0 }, + "KeccakRound": { + "n_steps": 281, + "builtin_instance_counter": { + "bitwise_builtin": 6, + "keccak_builtin": 1, + "range_check_builtin": 56 + }, + "n_memory_holes": 0 + }, "LibraryCall": { "n_steps": 10, "builtin_instance_counter": { diff --git a/crates/cairo-profiler/tests/e2e.rs b/crates/cairo-profiler/tests/e2e.rs index 7b395de..22298a6 100644 --- a/crates/cairo-profiler/tests/e2e.rs +++ b/crates/cairo-profiler/tests/e2e.rs @@ -170,25 +170,25 @@ fn view_steps() { .stdout_eq(indoc!( r#" - Showing nodes accounting for 1371 steps, 100.00% of 1371 steps total + Showing nodes accounting for 1410 steps, 100.00% of 1410 steps total Showing top 14 nodes out of 14 flat | flat% | sum% | cum | cum% | -----------+--------+---------+------------+---------+----------------------------------------------------------------------------------------------- - 827 steps | 60.32% | 60.32% | 827 steps | 60.32% | "CallContract" - 91 steps | 6.64% | 66.96% | 168 steps | 12.25% | "core::result::ResultSerde::::deserialize" - 87 steps | 6.35% | 73.30% | 87 steps | 6.35% | "StorageRead" - 75 steps | 5.47% | 78.77% | 75 steps | 5.47% | "snforge_std::_cheatcode::handle_cheatcode" - 53 steps | 3.87% | 82.64% | 1246 steps | 90.88% | "balance_simple_integrationtest::test_contract::test_cannot_increase_balance_with_zero_value" - 39 steps | 2.84% | 85.49% | 39 steps | 2.84% | "core::array::SpanFelt252Serde::deserialize" - 38 steps | 2.77% | 88.26% | 38 steps | 2.77% | "snforge_std::cheatcodes::contract_class::DeclareResultSerde::deserialize" - 36 steps | 2.63% | 90.88% | 144 steps | 10.50% | "snforge_std::cheatcodes::contract_class::declare" - 34 steps | 2.48% | 93.36% | 170 steps | 12.40% | "snforge_std::cheatcodes::contract_class::ContractClassImpl::deploy" - 33 steps | 2.41% | 95.77% | 120 steps | 8.75% | "balance_simple::HelloStarknet::__wrapper__HelloStarknetImpl__get_balance" - 27 steps | 1.97% | 97.74% | 341 steps | 24.87% | "balance_simple_integrationtest::test_contract::deploy_contract" - 26 steps | 1.90% | 99.64% | 26 steps | 1.90% | "core::array::serialize_array_helper::" - 5 steps | 0.36% | 100.00% | 1371 steps | 100.00% | "Contract: SNFORGE_TEST_CODE\nFunction: SNFORGE_TEST_CODE_FUNCTION\n" - 0 steps | 0.00% | 100.00% | 120 steps | 8.75% | "Contract: HelloStarknet\nFunction: get_balance\n" + 866 steps | 61.42% | 61.42% | 866 steps | 61.42% | "CallContract" + 91 steps | 6.45% | 67.87% | 168 steps | 11.91% | "core::result::ResultSerde::::deserialize" + 87 steps | 6.17% | 74.04% | 87 steps | 6.17% | "StorageRead" + 75 steps | 5.32% | 79.36% | 75 steps | 5.32% | "snforge_std::_cheatcode::handle_cheatcode" + 53 steps | 3.76% | 83.12% | 1285 steps | 91.13% | "balance_simple_integrationtest::test_contract::test_cannot_increase_balance_with_zero_value" + 39 steps | 2.77% | 85.89% | 39 steps | 2.77% | "core::array::SpanFelt252Serde::deserialize" + 38 steps | 2.70% | 88.58% | 38 steps | 2.70% | "snforge_std::cheatcodes::contract_class::DeclareResultSerde::deserialize" + 36 steps | 2.55% | 91.13% | 144 steps | 10.21% | "snforge_std::cheatcodes::contract_class::declare" + 34 steps | 2.41% | 93.55% | 170 steps | 12.06% | "snforge_std::cheatcodes::contract_class::ContractClassImpl::deploy" + 33 steps | 2.34% | 95.89% | 120 steps | 8.51% | "balance_simple::HelloStarknet::__wrapper__HelloStarknetImpl__get_balance" + 27 steps | 1.91% | 97.80% | 341 steps | 24.18% | "balance_simple_integrationtest::test_contract::deploy_contract" + 26 steps | 1.84% | 99.65% | 26 steps | 1.84% | "core::array::serialize_array_helper::" + 5 steps | 0.35% | 100.00% | 1410 steps | 100.00% | "Contract: SNFORGE_TEST_CODE\nFunction: SNFORGE_TEST_CODE_FUNCTION\n" + 0 steps | 0.00% | 100.00% | 120 steps | 8.51% | "Contract: HelloStarknet\nFunction: get_balance\n" "# )); }