Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(blockifier): add field sierra_gas to BouncerWeights #2530

Merged

Conversation

avivg-starkware
Copy link
Contributor

No description provided.

@reviewable-StarkWare
Copy link

This change is Reviewable

Copy link
Contributor Author

avivg-starkware commented Dec 8, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link

codecov bot commented Dec 8, 2024

Codecov Report

Attention: Patch coverage is 40.74074% with 16 lines in your changes missing coverage. Please review.

Project coverage is 66.20%. Comparing base (e3165c4) to head (70af3ef).
Report is 806 commits behind head on main.

Files with missing lines Patch % Lines
crates/blockifier/src/bouncer.rs 46.15% 7 Missing ⚠️
crates/native_blockifier/src/py_objects.rs 0.00% 7 Missing ⚠️
crates/starknet_api/src/execution_resources.rs 71.42% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #2530       +/-   ##
===========================================
+ Coverage   40.10%   66.20%   +26.10%     
===========================================
  Files          26      153      +127     
  Lines        1895    19579    +17684     
  Branches     1895    19579    +17684     
===========================================
+ Hits          760    12963    +12203     
- Misses       1100     5809     +4709     
- Partials       35      807      +772     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from 1fcee88 to 698a9c0 Compare December 8, 2024 14:54
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_rename_gas_to_l1gas branch from 16615fa to d64ab78 Compare December 8, 2024 15:21
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch 2 times, most recently from 03a1ffb to 3748ee3 Compare December 8, 2024 15:40
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_rename_gas_to_l1gas branch from d64ab78 to 3c43b6d Compare December 8, 2024 15:45
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from 3748ee3 to b59d57a Compare December 8, 2024 15:45
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from b59d57a to f92b04f Compare December 8, 2024 15:58
Copy link
Collaborator

@Yoni-Starkware Yoni-Starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR should not be rebased on top of the L1 gas; they are independent.

Reviewed 1 of 7 files at r1, all commit messages.
Reviewable status: 1 of 7 files reviewed, all discussions resolved

@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_rename_gas_to_l1gas branch from 3c43b6d to d8a5d28 Compare December 9, 2024 09:45
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from f92b04f to b5e6f5f Compare December 9, 2024 09:45
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_rename_gas_to_l1gas branch from d8a5d28 to ac83627 Compare December 9, 2024 09:48
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch 2 times, most recently from 46b0107 to 3900a55 Compare December 9, 2024 09:59
@avivg-starkware avivg-starkware changed the base branch from avivg/blockifier/bouncer_rename_gas_to_l1gas to main December 9, 2024 09:59
Copy link
Contributor Author

@avivg-starkware avivg-starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved. Thankyou.

Reviewable status: 0 of 7 files reviewed, all discussions resolved (waiting on @Yoni-Starkware)

Copy link

github-actions bot commented Dec 9, 2024

Benchmark movements:
tree_computation_flow performance improved 😺
tree_computation_flow time: [34.376 ms 34.485 ms 34.609 ms]
change: [-4.7795% -3.0835% -1.5863%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe

@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from 3900a55 to 9d89d63 Compare December 9, 2024 13:35
Copy link
Collaborator

@Yoni-Starkware Yoni-Starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 5 files at r2, all commit messages.
Reviewable status: 2 of 7 files reviewed, 2 unresolved discussions (waiting on @avivg-starkware)


crates/blockifier/src/bouncer_test.rs line 90 at r2 (raw file):

        n_events: 5,
        state_diff_size: 5,
        sierra_gas: GasAmount(5), // TODO(AvivG): replace w desired val.

It's just a test so it's okay
x2

Suggestion:

sierra_gas: GasAmount(5),

crates/blockifier/src/bouncer.rs line 155 at r2 (raw file):

            state_diff_size: 4000,
            builtin_count: BuiltinCount::default(),
            sierra_gas: GasAmount(1000000), // TODO(AvivG): replace w desired val.

Suggestion:

sierra_gas: GasAmount(250000000), 

Copy link
Collaborator

@Yoni-Starkware Yoni-Starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 2 of 7 files reviewed, 2 unresolved discussions (waiting on @avivg-starkware)


crates/blockifier/src/bouncer_test.rs line 90 at r2 (raw file):

Previously, Yoni-Starkware (Yoni) wrote…

It's just a test so it's okay
x2

All over this file

Copy link
Collaborator

@Yoni-Starkware Yoni-Starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 7 files at r1, 1 of 5 files at r2.
Reviewable status: 4 of 7 files reviewed, 3 unresolved discussions (waiting on @avivg-starkware)


crates/native_blockifier/src/py_objects.rs line 130 at r2 (raw file):

    let n_events = data.remove(constants::N_EVENTS).expect("n_events must be present");
    let sierra_gas = GasAmount(
        data.remove(constants::SIERRA_GAS).expect("sierra_gas must be present").try_into().unwrap(),

Add a message

Code quote:

.unwrap()

@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch 2 times, most recently from 43e85ed to 290720f Compare December 10, 2024 10:07
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from 290720f to 75385cc Compare December 10, 2024 10:20
@avivg-starkware avivg-starkware force-pushed the avivg/blockifier/bouncer_weights_add_sierra_gas branch from 75385cc to 70af3ef Compare December 10, 2024 10:38
Copy link
Contributor Author

@avivg-starkware avivg-starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 of 7 files reviewed, 4 unresolved discussions (waiting on @Yoni-Starkware)


crates/blockifier/src/bouncer_test.rs line 90 at r2 (raw file):

Previously, Yoni-Starkware (Yoni) wrote…

All over this file

should the sierra_gas val match the l1_gas? (as currently)


crates/native_blockifier/src/py_objects.rs line 130 at r2 (raw file):

Previously, Yoni-Starkware (Yoni) wrote…

Add a message

Added


crates/blockifier/src/bouncer.rs line 155 at r2 (raw file):

            state_diff_size: 4000,
            builtin_count: BuiltinCount::default(),
            sierra_gas: GasAmount(1000000), // TODO(AvivG): replace w desired val.

Done.


deployments/sequencer/references/sequencer-node/ConfigMap.sequencer-node-config.k8s.yaml line 7 at r3 (raw file):

  namespace: test
data:
  config: "{\"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.add_mod\": {\"description\": \"Max number of add mod builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 156250}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.bitwise\": {\"description\": \"Max number of bitwise builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 39062}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.ec_op\": {\"description\": \"Max number of EC operation builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 2441}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.ecdsa\": {\"description\": \"Max number of ECDSA builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 1220}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.keccak\": {\"description\": \"Max number of keccak builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 1220}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.mul_mod\": {\"description\": \"Max number of mul mod builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 156250}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.pedersen\": {\"description\": \"Max number of pedersen builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 78125}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.poseidon\": {\"description\": \"Max number of poseidon builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 78125}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.range_check\": {\"description\": \"Max number of range check builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 156250}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.builtin_count.range_check96\": {\"description\": \"Max number of range check 96 builtin usage in a block.\", \"privacy\": \"Public\", \"value\": 156250}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.l1_gas\": {\"description\": \"An upper bound on the total gas used in a block.\", \"privacy\": \"Public\", \"value\": 2500000}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.message_segment_length\": {\"description\": \"An upper bound on the message segment length in a block.\", \"privacy\": \"Public\", \"value\": 3700}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.n_events\": {\"description\": \"An upper bound on the total number of events generated in a block.\", \"privacy\": \"Public\", \"value\": 5000}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.n_steps\": {\"description\": \"An upper bound on the total number of steps in a block.\", \"privacy\": \"Public\", \"value\": 2500000}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.state_diff_size\": {\"description\": \"An upper bound on the total state diff size in a block.\", \"privacy\": \"Public\", \"value\": 4000}, \"batcher_config.block_builder_config.bouncer_config.block_max_capacity.sierra_gas\": {\"description\": \"An upper bound on the total sierra_gas used in a block.\", \"privacy\": \"Public\", \"value\": 1000000}, \"batcher_config.block_builder_config.chain_info.chain_id\": {\"description\": \"The chain ID of the StarkNet chain.\", \"pointer_target\": \"chain_id\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.chain_info.fee_token_addresses.eth_fee_token_address\": {\"description\": \"Address of the ETH fee token.\", \"pointer_target\": \"eth_fee_token_address\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.chain_info.fee_token_addresses.strk_fee_token_address\": {\"description\": \"Address of the STRK fee token.\", \"pointer_target\": \"strk_fee_token_address\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.execute_config.concurrency_config.chunk_size\": {\"description\": \"The size of the transaction chunk executed in parallel.\", \"privacy\": \"Public\", \"value\": 0}, \"batcher_config.block_builder_config.execute_config.concurrency_config.enabled\": {\"description\": \"Enables concurrency of transaction execution.\", \"privacy\": \"Public\", \"value\": false}, \"batcher_config.block_builder_config.execute_config.concurrency_config.n_workers\": {\"description\": \"Number of parallel transaction execution workers.\", \"privacy\": \"Public\", \"value\": 0}, \"batcher_config.block_builder_config.sequencer_address\": {\"description\": \"The address of the sequencer.\", \"pointer_target\": \"sequencer_address\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.tx_chunk_size\": {\"description\": \"The size of the transaction chunk.\", \"privacy\": \"Public\", \"value\": 100}, \"batcher_config.block_builder_config.use_kzg_da\": {\"description\": \"Indicates whether the kzg mechanism is used for data availability.\", \"privacy\": \"Public\", \"value\": true}, \"batcher_config.block_builder_config.versioned_constants_overrides.invoke_tx_max_n_steps\": {\"description\": \"Maximum number of steps the invoke function is allowed to run.\", \"pointer_target\": \"versioned_constants_overrides.invoke_tx_max_n_steps\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.versioned_constants_overrides.max_recursion_depth\": {\"description\": \"Maximum recursion depth for nested calls during blockifier validation.\", \"pointer_target\": \"versioned_constants_overrides.max_recursion_depth\", \"privacy\": \"Public\"}, \"batcher_config.block_builder_config.versioned_constants_overrides.validate_max_n_steps\": {\"description\": \"Maximum number of steps the validation function is allowed to run.\", \"pointer_target\": \"versioned_constants_overrides.validate_max_n_steps\", \"privacy\": \"Public\"}, \"batcher_config.global_contract_cache_size\": {\"description\": \"Cache size for the global_class_hash_to_class. Initialized with this size on creation.\", \"privacy\": \"Public\", \"value\": 400}, \"batcher_config.input_stream_content_buffer_size\": {\"description\": \"Sets the buffer size for the input transaction channel. Adding more transactions beyond this limit will block until space is available.\", \"privacy\": \"Public\", \"value\": 400}, \"batcher_config.max_l1_handler_txs_per_block_proposal\": {\"description\": \"The maximum number of L1 handler transactions to include in a block proposal.\", \"privacy\": \"Public\", \"value\": 3}, \"batcher_config.outstream_content_buffer_size\": {\"description\": \"The maximum number of items to include in a single get_proposal_content response.\", \"privacy\": \"Public\", \"value\": 100}, \"batcher_config.storage.db_config.chain_id\": {\"description\": \"The chain to follow. For more details see https://docs.starknet.io/documentation/architecture_and_concepts/Blocks/transactions/#chain-id.\", \"pointer_target\": \"chain_id\", \"privacy\": \"Public\"}, \"batcher_config.storage.db_config.enforce_file_exists\": false, \"batcher_config.storage.db_config.growth_step\": {\"description\": \"The growth step in bytes, must be greater than zero to allow the database to grow.\", \"privacy\": \"Public\", \"value\": 4294967296}, \"batcher_config.storage.db_config.max_size\": {\"description\": \"The maximum size of the node's storage in bytes.\", \"privacy\": \"Public\", \"value\": 1099511627776}, \"batcher_config.storage.db_config.min_size\": {\"description\": \"The minimum size of the node's storage in bytes.\", \"privacy\": \"Public\", \"value\": 1048576}, \"batcher_config.storage.db_config.path_prefix\": \"/data\", \"batcher_config.storage.mmap_file_config.growth_step\": {\"description\": \"The growth step in bytes, must be greater than max_object_size.\", \"privacy\": \"Public\", \"value\": 1073741824}, \"batcher_config.storage.mmap_file_config.max_object_size\": {\"description\": \"The maximum size of a single object in the file in bytes\", \"privacy\": \"Public\", \"value\": 268435456}, \"batcher_config.storage.mmap_file_config.max_size\": {\"description\": \"The maximum size of a memory mapped file in bytes. Must be greater than growth_step.\", \"privacy\": \"Public\", \"value\": 1099511627776}, \"batcher_config.storage.scope\": {\"description\": \"The categories of data saved in storage.\", \"privacy\": \"Public\", \"value\": \"StateOnly\"}, \"chain_id\": \"0x5\", \"compiler_config.max_bytecode_size\": {\"description\": \"Limitation of contract bytecode size.\", \"privacy\": \"Public\", \"value\": 81920}, \"components.batcher.execution_mode\": \"Disabled\", \"components.batcher.local_server_config.#is_none\": true, \"components.batcher.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.batcher.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.batcher.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.batcher.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.batcher.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.batcher.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.batcher.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.batcher.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.consensus_manager.execution_mode\": \"Disabled\", \"components.consensus_manager.local_server_config.#is_none\": true, \"components.consensus_manager.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.consensus_manager.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.consensus_manager.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.consensus_manager.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.consensus_manager.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.consensus_manager.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.consensus_manager.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.consensus_manager.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.gateway.execution_mode\": \"Disabled\", \"components.gateway.local_server_config.#is_none\": true, \"components.gateway.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.gateway.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.gateway.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.gateway.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.gateway.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.gateway.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.gateway.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.gateway.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.http_server.execution_mode\": \"Disabled\", \"components.http_server.local_server_config.#is_none\": true, \"components.http_server.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.http_server.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.http_server.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.http_server.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.http_server.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.http_server.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.http_server.remote_server_config.#is_none\": true, \"components.http_server.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.mempool.execution_mode\": \"Disabled\", \"components.mempool.local_server_config.#is_none\": true, \"components.mempool.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.mempool.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.mempool.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.mempool.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.mempool.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.mempool.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.mempool.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.mempool.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.mempool_p2p.execution_mode\": \"Disabled\", \"components.mempool_p2p.local_server_config.#is_none\": true, \"components.mempool_p2p.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.mempool_p2p.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.mempool_p2p.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.mempool_p2p.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.mempool_p2p.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.mempool_p2p.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.mempool_p2p.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.mempool_p2p.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.monitoring_endpoint.execution_mode\": {\"description\": \"The component execution mode.\", \"privacy\": \"Public\", \"value\": \"LocalExecutionWithRemoteEnabled\"}, \"components.monitoring_endpoint.local_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": false}, \"components.monitoring_endpoint.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.monitoring_endpoint.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.monitoring_endpoint.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.monitoring_endpoint.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.monitoring_endpoint.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.monitoring_endpoint.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.monitoring_endpoint.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": false}, \"components.monitoring_endpoint.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.state_sync.execution_mode\": {\"description\": \"The component execution mode.\", \"privacy\": \"Public\", \"value\": \"LocalExecutionWithRemoteDisabled\"}, \"components.state_sync.local_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": false}, \"components.state_sync.local_server_config.channel_buffer_size\": {\"description\": \"The communication channel buffer size.\", \"privacy\": \"Public\", \"value\": 32}, \"components.state_sync.remote_client_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.state_sync.remote_client_config.idle_connections\": {\"description\": \"The maximum number of idle connections to keep alive.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"components.state_sync.remote_client_config.idle_timeout\": {\"description\": \"The duration in seconds to keep an idle connection open before closing.\", \"privacy\": \"Public\", \"value\": 90}, \"components.state_sync.remote_client_config.retries\": {\"description\": \"The max number of retries for sending a message.\", \"privacy\": \"Public\", \"value\": 3}, \"components.state_sync.remote_client_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"components.state_sync.remote_server_config.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"components.state_sync.remote_server_config.socket\": {\"description\": \"The remote component server socket.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0:8080\"}, \"consensus_manager_config.consensus_config.consensus_delay\": {\"description\": \"Delay (seconds) before starting consensus to give time for network peering.\", \"privacy\": \"Public\", \"value\": 5}, \"consensus_manager_config.consensus_config.network_config.advertised_multiaddr\": {\"description\": \"The external address other peers see this node. If this is set, the node will not try to find out which addresses it has and will write this address as external instead\", \"privacy\": \"Public\", \"value\": \"\"}, \"consensus_manager_config.consensus_config.network_config.advertised_multiaddr.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"consensus_manager_config.consensus_config.network_config.bootstrap_peer_multiaddr\": {\"description\": \"The multiaddress of the peer node. It should include the peer's id. For more info: https://docs.libp2p.io/concepts/fundamentals/peers/\", \"privacy\": \"Public\", \"value\": \"\"}, \"consensus_manager_config.consensus_config.network_config.bootstrap_peer_multiaddr.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"consensus_manager_config.consensus_config.network_config.chain_id\": {\"description\": \"The chain to follow. For more details see https://docs.starknet.io/documentation/architecture_and_concepts/Blocks/transactions/#chain-id.\", \"pointer_target\": \"chain_id\", \"privacy\": \"Public\"}, \"consensus_manager_config.consensus_config.network_config.discovery_config.bootstrap_dial_retry_config.base_delay_millis\": {\"description\": \"The base delay in milliseconds for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 2}, \"consensus_manager_config.consensus_config.network_config.discovery_config.bootstrap_dial_retry_config.factor\": {\"description\": \"The factor for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 5}, \"consensus_manager_config.consensus_config.network_config.discovery_config.bootstrap_dial_retry_config.max_delay_seconds\": {\"description\": \"The maximum delay in seconds for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 5}, \"consensus_manager_config.consensus_config.network_config.discovery_config.heartbeat_interval\": {\"description\": \"The interval between each discovery (Kademlia) query in milliseconds.\", \"privacy\": \"Public\", \"value\": 100}, \"consensus_manager_config.consensus_config.network_config.idle_connection_timeout\": {\"description\": \"Amount of time in seconds that a connection with no active sessions will stay alive.\", \"privacy\": \"Public\", \"value\": 120}, \"consensus_manager_config.consensus_config.network_config.peer_manager_config.malicious_timeout_seconds\": {\"description\": \"The duration in seconds a peer is blacklisted after being marked as malicious.\", \"privacy\": \"Public\", \"value\": 31536000}, \"consensus_manager_config.consensus_config.network_config.peer_manager_config.unstable_timeout_millis\": {\"description\": \"The duration in milliseconds a peer blacklisted after being reported as unstable.\", \"privacy\": \"Public\", \"value\": 1000}, \"consensus_manager_config.consensus_config.network_config.quic_port\": {\"description\": \"The port that the node listens on for incoming quic connections.\", \"privacy\": \"Public\", \"value\": 10101}, \"consensus_manager_config.consensus_config.network_config.secret_key\": {\"description\": \"The secret key used for building the peer id. If it's an empty string a random one will be used.\", \"privacy\": \"Private\", \"value\": \"\"}, \"consensus_manager_config.consensus_config.network_config.session_timeout\": {\"description\": \"Maximal time in seconds that each session can take before failing on timeout.\", \"privacy\": \"Public\", \"value\": 120}, \"consensus_manager_config.consensus_config.network_config.tcp_port\": {\"description\": \"The port that the node listens on for incoming tcp connections.\", \"privacy\": \"Public\", \"value\": 10100}, \"consensus_manager_config.consensus_config.network_topic\": {\"description\": \"The network topic of the consensus.\", \"privacy\": \"Public\", \"value\": \"consensus\"}, \"consensus_manager_config.consensus_config.num_validators\": {\"description\": \"The number of validators in the consensus.\", \"privacy\": \"Public\", \"value\": 1}, \"consensus_manager_config.consensus_config.start_height\": {\"description\": \"The height to start the consensus from.\", \"privacy\": \"Public\", \"value\": 0}, \"consensus_manager_config.consensus_config.timeouts.precommit_timeout\": {\"description\": \"The timeout (seconds) for a precommit.\", \"privacy\": \"Public\", \"value\": 1.0}, \"consensus_manager_config.consensus_config.timeouts.prevote_timeout\": {\"description\": \"The timeout (seconds) for a prevote.\", \"privacy\": \"Public\", \"value\": 1.0}, \"consensus_manager_config.consensus_config.timeouts.proposal_timeout\": {\"description\": \"The timeout (seconds) for a proposal.\", \"privacy\": \"Public\", \"value\": 3.0}, \"consensus_manager_config.consensus_config.validator_id\": {\"description\": \"The validator id of the node.\", \"privacy\": \"Public\", \"value\": \"0x0\"}, \"eth_fee_token_address\": \"0x6\", \"gateway_config.chain_info.chain_id\": {\"description\": \"The chain ID of the StarkNet chain.\", \"pointer_target\": \"chain_id\", \"privacy\": \"Public\"}, \"gateway_config.chain_info.fee_token_addresses.eth_fee_token_address\": {\"description\": \"Address of the ETH fee token.\", \"pointer_target\": \"eth_fee_token_address\", \"privacy\": \"Public\"}, \"gateway_config.chain_info.fee_token_addresses.strk_fee_token_address\": {\"description\": \"Address of the STRK fee token.\", \"pointer_target\": \"strk_fee_token_address\", \"privacy\": \"Public\"}, \"gateway_config.stateful_tx_validator_config.max_nonce_for_validation_skip\": {\"description\": \"Maximum nonce for which the validation is skipped.\", \"privacy\": \"Public\", \"value\": \"0x1\"}, \"gateway_config.stateful_tx_validator_config.versioned_constants_overrides.invoke_tx_max_n_steps\": {\"description\": \"Maximum number of steps the invoke function is allowed to run.\", \"pointer_target\": \"versioned_constants_overrides.invoke_tx_max_n_steps\", \"privacy\": \"Public\"}, \"gateway_config.stateful_tx_validator_config.versioned_constants_overrides.max_recursion_depth\": {\"description\": \"Maximum recursion depth for nested calls during blockifier validation.\", \"pointer_target\": \"versioned_constants_overrides.max_recursion_depth\", \"privacy\": \"Public\"}, \"gateway_config.stateful_tx_validator_config.versioned_constants_overrides.validate_max_n_steps\": {\"description\": \"Maximum number of steps the validation function is allowed to run.\", \"pointer_target\": \"versioned_constants_overrides.validate_max_n_steps\", \"privacy\": \"Public\"}, \"gateway_config.stateless_tx_validator_config.max_calldata_length\": {\"description\": \"Limitation of calldata length.\", \"privacy\": \"Public\", \"value\": 4000}, \"gateway_config.stateless_tx_validator_config.max_contract_class_object_size\": {\"description\": \"Limitation of contract class object size.\", \"privacy\": \"Public\", \"value\": 4089446}, \"gateway_config.stateless_tx_validator_config.max_sierra_version.major\": {\"description\": \"The major version of the configuration.\", \"privacy\": \"Public\", \"value\": 1}, \"gateway_config.stateless_tx_validator_config.max_sierra_version.minor\": {\"description\": \"The minor version of the configuration.\", \"privacy\": \"Public\", \"value\": 5}, \"gateway_config.stateless_tx_validator_config.max_sierra_version.patch\": {\"description\": \"The patch version of the configuration.\", \"privacy\": \"Public\", \"value\": 18446744073709551615}, \"gateway_config.stateless_tx_validator_config.max_signature_length\": {\"description\": \"Limitation of signature length.\", \"privacy\": \"Public\", \"value\": 4000}, \"gateway_config.stateless_tx_validator_config.min_sierra_version.major\": {\"description\": \"The major version of the configuration.\", \"privacy\": \"Public\", \"value\": 1}, \"gateway_config.stateless_tx_validator_config.min_sierra_version.minor\": {\"description\": \"The minor version of the configuration.\", \"privacy\": \"Public\", \"value\": 1}, \"gateway_config.stateless_tx_validator_config.min_sierra_version.patch\": {\"description\": \"The patch version of the configuration.\", \"privacy\": \"Public\", \"value\": 0}, \"gateway_config.stateless_tx_validator_config.validate_non_zero_l1_data_gas_fee\": {\"description\": \"If true, validates that a transaction has non-zero L1 Data (Blob) resource bounds.\", \"privacy\": \"Public\", \"value\": false}, \"gateway_config.stateless_tx_validator_config.validate_non_zero_l1_gas_fee\": {\"description\": \"If true, validates that a transaction has non-zero L1 resource bounds.\", \"privacy\": \"Public\", \"value\": true}, \"gateway_config.stateless_tx_validator_config.validate_non_zero_l2_gas_fee\": {\"description\": \"If true, validates that a transaction has non-zero L2 resource bounds.\", \"privacy\": \"Public\", \"value\": false}, \"http_server_config.ip\": {\"description\": \"The http server ip.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0\"}, \"http_server_config.port\": {\"description\": \"The http server port.\", \"privacy\": \"Public\", \"value\": 8080}, \"mempool_p2p_config.network_buffer_size\": {\"description\": \"Network buffer size.\", \"privacy\": \"Public\", \"value\": 10000}, \"mempool_p2p_config.network_config.advertised_multiaddr\": {\"description\": \"The external address other peers see this node. If this is set, the node will not try to find out which addresses it has and will write this address as external instead\", \"privacy\": \"Public\", \"value\": \"\"}, \"mempool_p2p_config.network_config.advertised_multiaddr.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"mempool_p2p_config.network_config.bootstrap_peer_multiaddr\": {\"description\": \"The multiaddress of the peer node. It should include the peer's id. For more info: https://docs.libp2p.io/concepts/fundamentals/peers/\", \"privacy\": \"Public\", \"value\": \"\"}, \"mempool_p2p_config.network_config.bootstrap_peer_multiaddr.#is_none\": {\"description\": \"Flag for an optional field.\", \"privacy\": \"TemporaryValue\", \"value\": true}, \"mempool_p2p_config.network_config.chain_id\": {\"description\": \"The chain to follow. For more details see https://docs.starknet.io/documentation/architecture_and_concepts/Blocks/transactions/#chain-id.\", \"pointer_target\": \"chain_id\", \"privacy\": \"Public\"}, \"mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.base_delay_millis\": {\"description\": \"The base delay in milliseconds for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 2}, \"mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.factor\": {\"description\": \"The factor for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 5}, \"mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.max_delay_seconds\": {\"description\": \"The maximum delay in seconds for the exponential backoff strategy.\", \"privacy\": \"Public\", \"value\": 5}, \"mempool_p2p_config.network_config.discovery_config.heartbeat_interval\": {\"description\": \"The interval between each discovery (Kademlia) query in milliseconds.\", \"privacy\": \"Public\", \"value\": 100}, \"mempool_p2p_config.network_config.idle_connection_timeout\": {\"description\": \"Amount of time in seconds that a connection with no active sessions will stay alive.\", \"privacy\": \"Public\", \"value\": 120}, \"mempool_p2p_config.network_config.peer_manager_config.malicious_timeout_seconds\": {\"description\": \"The duration in seconds a peer is blacklisted after being marked as malicious.\", \"privacy\": \"Public\", \"value\": 31536000}, \"mempool_p2p_config.network_config.peer_manager_config.unstable_timeout_millis\": {\"description\": \"The duration in milliseconds a peer blacklisted after being reported as unstable.\", \"privacy\": \"Public\", \"value\": 1000}, \"mempool_p2p_config.network_config.quic_port\": {\"description\": \"The port that the node listens on for incoming quic connections.\", \"privacy\": \"Public\", \"value\": 10001}, \"mempool_p2p_config.network_config.secret_key\": {\"description\": \"The secret key used for building the peer id. If it's an empty string a random one will be used.\", \"privacy\": \"Private\", \"value\": \"\"}, \"mempool_p2p_config.network_config.session_timeout\": {\"description\": \"Maximal time in seconds that each session can take before failing on timeout.\", \"privacy\": \"Public\", \"value\": 120}, \"mempool_p2p_config.network_config.tcp_port\": {\"description\": \"The port that the node listens on for incoming tcp connections.\", \"privacy\": \"Public\", \"value\": 10000}, \"monitoring_endpoint_config.ip\": {\"description\": \"The monitoring endpoint ip address.\", \"privacy\": \"Public\", \"value\": \"0.0.0.0\"}, \"monitoring_endpoint_config.port\": {\"description\": \"The monitoring endpoint port.\", \"privacy\": \"Public\", \"value\": 8082}, \"rpc_state_reader_config.json_rpc_version\": {\"description\": \"The json rpc version.\", \"privacy\": \"Public\", \"value\": \"\"}, \"rpc_state_reader_config.url\": {\"description\": \"The url of the rpc server.\", \"privacy\": \"Public\", \"value\": \"\"}, \"sequencer_address\": {\"description\": \"A required param! The sequencer address.\", \"param_type\": \"String\", \"privacy\": \"TemporaryValue\"}, \"strk_fee_token_address\": \"0x7\", \"versioned_constants_overrides.invoke_tx_max_n_steps\": {\"description\": \"Maximum number of steps the invoke function is allowed to run.\", \"privacy\": \"TemporaryValue\", \"value\": 10000000}, \"versioned_constants_overrides.max_recursion_depth\": {\"description\": \"Maximum recursion depth for nested calls during blockifier validation.\", \"privacy\": \"TemporaryValue\", \"value\": 50}, \"versioned_constants_overrides.validate_max_n_steps\": {\"description\": \"Maximum number of steps the validation function is allowed to run.\", \"privacy\": \"TemporaryValue\", \"value\": 1000000}}"

1- I changed this manually, not sure if this is something that should be updated differently.

2- I added a change that should have been in the prev PR, as I only caught it after the merge of the first PR:
(l1gas >>> l1_gas)

Code snippet:

"batcher_config.block_builder_config.bouncer_config.block_max_capacity.l1gas
  
 >>>>>>>>>>>

"batcher_config.block_builder_config.bouncer_config.block_max_capacity.l1_gas

Copy link
Collaborator

@Yoni-Starkware Yoni-Starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

Reviewed 1 of 7 files at r1, 4 of 6 files at r3, 2 of 2 files at r4, all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion


crates/blockifier/src/bouncer_test.rs line 90 at r2 (raw file):

Previously, avivg-starkware wrote…

should the sierra_gas val match the l1_gas? (as currently)

Yeah it's okay

Copy link
Contributor Author

@avivg-starkware avivg-starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 7 files at r1, 4 of 6 files at r3, 2 of 2 files at r4, all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion

@avivg-starkware avivg-starkware merged commit 19f6b8a into main Dec 10, 2024
17 checks passed
Copy link
Collaborator

@dorimedini-starkware dorimedini-starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: all files reviewed, 1 unresolved discussion


crates/starknet_api/src/execution_resources.rs line 15 at r4 (raw file):

    derive_more::Sub,
    derive_more::Add,
    derive_more::AddAssign,

@avivg-starkware @Yoni-Starkware these derives are not in business logic on purpose.
we can use + and - in tests but we should explicitly saturate or check in all business logic.

Code quote:

    derive_more::Sub,
    derive_more::Add,
    derive_more::AddAssign,

@github-actions github-actions bot locked and limited conversation to collaborators Dec 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants