Skip to content

Commit

Permalink
faster
Browse files Browse the repository at this point in the history
  • Loading branch information
notV4l committed Feb 20, 2025
1 parent f244197 commit 702d712
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions crates/dojo/world/src/local/artifact_to_local.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,24 @@ impl WorldLocal {
let entry = entry?;
let path = entry.path();
if path.is_file() {
if path.to_string_lossy().ends_with(".sierra.json") {
trace!("Ignored .sierra.json: {}", path.to_string_lossy().to_string());
continue;
}

if let Ok(sierra) =
serde_json::from_reader::<_, SierraClass>(std::fs::File::open(&path)?)
serde_json::from_slice::<SierraClass>(std::fs::read(&path)?.as_slice())
{
let casm_path = PathBuf::from(
path.to_string_lossy()
.to_string()
.replace("contract_class.json", "compiled_contract_class.json"),
);

let casm_class = if casm_path.exists() {
Some(serde_json::from_reader::<_, CompiledClass>(std::fs::File::open(
Some(serde_json::from_slice::<CompiledClass>(std::fs::read(
&casm_path,
)?)?)
)?.as_slice())?)
} else {
None
};
Expand Down Expand Up @@ -161,6 +166,8 @@ impl WorldLocal {
with the version.",
name
);
} else {
dojo_resource_found = true;
}

break;
Expand Down Expand Up @@ -361,7 +368,7 @@ build-external-contracts = ["dojo::world::world_contract::world"]
fn casm_class_hash_from_sierra_file<P: AsRef<Path>>(path: P) -> Result<Felt> {
let bytecode_max_size = usize::MAX;
let sierra_class: ContractClass =
serde_json::from_reader::<_, ContractClass>(std::fs::File::open(path)?)?;
serde_json::from_slice::<ContractClass>(std::fs::read(path)?.as_slice())?;
let casm_class =
CasmContractClass::from_contract_class(sierra_class, false, bytecode_max_size)?;
Ok(casm_class.compiled_class_hash())
Expand Down

0 comments on commit 702d712

Please sign in to comment.