Skip to content

Commit e649b11

Browse files
committed
blockifier: implement contains for native classes whitelist
1 parent 82b776f commit e649b11

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

crates/blockifier/src/blockifier/config.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,15 @@ impl Serialize for NativeClassesWhitelist {
230230
}
231231
}
232232

233+
impl NativeClassesWhitelist {
234+
pub fn contains(&self, class_hash: &ClassHash) -> bool {
235+
match self {
236+
NativeClassesWhitelist::All => true,
237+
NativeClassesWhitelist::Limited(contracts) => contracts.contains(class_hash),
238+
}
239+
}
240+
}
241+
233242
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
234243
pub struct CairoNativeRunConfig {
235244
pub run_cairo_native: bool,

crates/blockifier/src/state/native_class_manager.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ use starknet_api::core::{ClassHash, CompiledClassHash};
1313
use starknet_api::state::SierraContractClass;
1414
use thiserror::Error;
1515

16-
use crate::blockifier::config::{
17-
CairoNativeRunConfig,
18-
ContractClassManagerConfig,
19-
NativeClassesWhitelist,
20-
};
16+
use crate::blockifier::config::{CairoNativeRunConfig, ContractClassManagerConfig};
2117
use crate::execution::contract_class::{CompiledClassV1, RunnableCompiledClass};
2218
use crate::execution::native::contract_class::NativeCompiledClassV1;
2319
use crate::metrics::NATIVE_COMPILATION_ERROR;
@@ -225,10 +221,7 @@ impl NativeClassManager {
225221

226222
/// Determines if a contract should run with cairo native based on the whitelist.
227223
pub fn run_class_with_cairo_native(&self, class_hash: &ClassHash) -> bool {
228-
match &self.cairo_native_run_config.native_classes_whitelist {
229-
NativeClassesWhitelist::All => true,
230-
NativeClassesWhitelist::Limited(contracts) => contracts.contains(class_hash),
231-
}
224+
self.cairo_native_run_config.native_classes_whitelist.contains(class_hash)
232225
}
233226

234227
/// Clears the contract class_cache.

0 commit comments

Comments
 (0)