Skip to content

Commit fda66f5

Browse files
committed
wip
1 parent 8caf596 commit fda66f5

File tree

3 files changed

+27
-21
lines changed

3 files changed

+27
-21
lines changed

crates/sync/pipeline/src/lib.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,7 @@ impl PipelineHandle {
120120
///
121121
/// Panics if the [`Pipeline`] has been dropped.
122122
pub fn set_tip(&self, tip: BlockNumber) {
123-
info!(target: "pipeline", %tip, "Setting new tip");
124-
self.tx.send(Some(PipelineCommand::SetTip(tip))).expect("channel closed");
123+
self.tx.send(Some(PipelineCommand::SetTip(tip))).expect("pipeline is no longer running");
125124
}
126125

127126
/// Signals the pipeline to stop gracefully.
@@ -134,7 +133,7 @@ impl PipelineHandle {
134133
///
135134
/// Panics if the [`Pipeline`] has been dropped.
136135
pub fn stop(&self) {
137-
info!(target: "pipeline", "Signaling pipeline to stop");
136+
debug!(target: "pipeline", "Signaling pipeline to stop");
138137
let _ = self.tx.send(Some(PipelineCommand::Stop));
139138
}
140139

crates/sync/stage/src/classes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ where
133133
if declared_class_hashes.is_empty() {
134134
debug!(from = %input.from(), to = %input.to(), "No classes declared within the block range");
135135
} else {
136-
let total_classes = declared_classes.len();
136+
let total_classes = declared_class_hashes.len();
137137

138138
// fetch the classes artifacts
139139
let class_artifacts = self

crates/sync/stage/src/trie.rs

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,33 +56,40 @@ where
5656
.state_update(block_number.into())?
5757
.ok_or(Error::MissingStateUpdate(block_number))?;
5858

59-
let contract_trie_root =
59+
let computed_contract_trie_root =
6060
self.provider.trie_insert_contract_updates(block_number, &state_update)?;
6161

62-
let computed_state_root = if dbg!(!state_update.declared_classes.is_empty()) {
63-
let class_trie_root = self.provider.trie_insert_declared_classes(
64-
block_number,
65-
dbg!(&state_update.declared_classes),
66-
)?;
62+
debug!(
63+
target: "stage",
64+
contract_trie_root = format!("{computed_contract_trie_root:#x}"),
65+
"Computed contract trie root."
66+
);
6767

68-
// Compute the state root:
69-
// hash("STARKNET_STATE_V0", contract_trie_root, class_trie_root)
70-
let computed_state_root = Poseidon::hash_array(&[
71-
short_string!("STARKNET_STATE_V0"),
72-
dbg!(contract_trie_root),
73-
dbg!(class_trie_root),
74-
]);
68+
let computed_class_trie_root = self
69+
.provider
70+
.trie_insert_declared_classes(block_number, &state_update.declared_classes)?;
7571

76-
computed_state_root
72+
debug!(
73+
target: "stage",
74+
classes_tri_root = format!("{computed_class_trie_root:#x}"),
75+
"Computed classes trie root."
76+
);
77+
78+
let computed_state_root = if computed_class_trie_root == Felt::ZERO {
79+
computed_contract_trie_root
7780
} else {
78-
contract_trie_root
81+
Poseidon::hash_array(&[
82+
short_string!("STARKNET_STATE_V0"),
83+
computed_contract_trie_root,
84+
computed_class_trie_root,
85+
])
7986
};
8087

8188
// Verify that the computed state root matches the expected state root from the
8289
// block header
8390
if computed_state_root != expected_state_root {
8491
error!(
85-
block = %block_number,
92+
target: "stage",
8693
state_root = %format!("{computed_state_root:#x}"),
8794
expected_state_root = %format!("{expected_state_root:#x}"),
8895
"Wrong trie root for block - computed state root does not match expected state root (from header)",
@@ -96,7 +103,7 @@ where
96103
.into());
97104
}
98105

99-
debug!(block = %block_number, "State root verified successfully.");
106+
debug!(target: "stage", "State root verified successfully.");
100107
}
101108

102109
Ok(StageExecutionOutput { last_block_processed: input.to() })

0 commit comments

Comments
 (0)