Skip to content

Commit ef2714e

Browse files
committed
blockifier: set missing config validations
1 parent 2450e69 commit ef2714e

File tree

5 files changed

+10
-2
lines changed

5 files changed

+10
-2
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/apollo_batcher_config/src/config.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,13 @@ impl SerializeConfig for FirstBlockWithPartialBlockHash {
228228
#[derive(Clone, Debug, Serialize, Deserialize, Validate, PartialEq)]
229229
#[validate(schema(function = "validate_batcher_static_config"))]
230230
pub struct BatcherStaticConfig {
231+
// TODO(Arni): Set nested validation for storage config.
231232
pub storage: StorageConfig,
232233
pub outstream_content_buffer_size: usize,
233234
pub input_stream_content_buffer_size: usize,
234235
pub block_builder_config: BlockBuilderConfig,
235236
pub pre_confirmed_block_writer_config: PreconfirmedBlockWriterConfig,
237+
#[validate(nested)]
236238
pub contract_class_manager_config: ContractClassManagerConfig,
237239
pub commitment_manager_config: CommitmentManagerConfig,
238240
pub max_l1_handler_txs_per_block_proposal: usize,

crates/apollo_gateway_config/src/config.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ use crate::compiler_version::VersionId;
2424

2525
const DEFAULT_BUCKET_NAME: &str = "proof-archive";
2626

27+
// TODO(Arni): Set nested validation for other members of this struct.
2728
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)]
2829
pub struct GatewayStaticConfig {
2930
pub stateless_tx_validator_config: StatelessTransactionValidatorConfig,
3031
pub stateful_tx_validator_config: StatefulTransactionValidatorConfig,
32+
#[validate(nested)]
3133
pub contract_class_manager_config: ContractClassManagerConfig,
3234
pub chain_info: ChainInfo,
3335
pub block_declare: bool,

crates/blockifier/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ cairo-lang-starknet-classes.workspace = true
4646
cairo-lang-utils.workspace = true
4747
cairo-native = { workspace = true, optional = true }
4848
cairo-vm.workspace = true
49+
dashmap.workspace = true
4950
derive_more = { workspace = true, features = [
5051
"add",
5152
"add_assign",
@@ -76,7 +77,7 @@ starknet_api.workspace = true
7677
strum.workspace = true
7778
strum_macros.workspace = true
7879
thiserror.workspace = true
79-
dashmap.workspace = true
80+
validator.workspace = true
8081

8182
[dev-dependencies]
8283
assert_matches.workspace = true

crates/blockifier/src/blockifier/config.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use serde::de::{self, Deserializer};
77
use serde::ser::Serializer;
88
use serde::{Deserialize, Serialize};
99
use starknet_api::core::ClassHash;
10+
use validator::Validate;
1011

1112
use crate::blockifier::transaction_executor::DEFAULT_STACK_SIZE;
1213
use crate::state::contract_class_manager::DEFAULT_COMPILATION_REQUEST_CHANNEL_SIZE;
@@ -136,10 +137,11 @@ impl SerializeConfig for WorkerPoolConfig {
136137
}
137138
}
138139

139-
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
140+
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)]
140141
pub struct ContractClassManagerConfig {
141142
pub cairo_native_run_config: CairoNativeRunConfig,
142143
pub contract_cache_size: usize,
144+
#[validate(nested)]
143145
pub native_compiler_config: SierraCompilationConfig,
144146
}
145147

0 commit comments

Comments
 (0)