Skip to content

Commit 345070b

Browse files
author
Zoran Cvetkov
committed
hash legacy hash value
1 parent b3543bb commit 345070b

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
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.

graph/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ serde_derive = { workspace = true }
4848
serde_json = { workspace = true }
4949
serde_regex = { workspace = true }
5050
serde_yaml = { workspace = true }
51+
sha2 = "0.10.8"
5152
slog = { version = "2.7.0", features = [
5253
"release_max_level_trace",
5354
"max_level_trace",

graph/src/components/subgraph/proof_of_indexing/online.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use crate::{
99
prelude::{debug, BlockNumber, DeploymentHash, Logger, ENV_VARS},
1010
util::stable_hash_glue::AsBytes,
1111
};
12+
use sha2::{Digest, Sha256};
1213
use stable_hash::{fast::FastStableHasher, FieldAddress, StableHash, StableHasher};
1314
use stable_hash_legacy::crypto::{Blake3SeqNo, SetHasher};
1415
use stable_hash_legacy::prelude::{
@@ -132,9 +133,14 @@ impl BlockEventStream {
132133
}
133134
Hashers::Fast(mut digest) => {
134135
if let Some(prev) = prev {
135-
let prev = prev
136-
.try_into()
137-
.expect("Expected valid fast stable hash representation");
136+
let prev = if prev.len() == 32 {
137+
prev.try_into()
138+
.expect("Expected valid fast stable hash representation")
139+
} else {
140+
let mut hasher = Sha256::new();
141+
hasher.update(prev);
142+
hasher.finalize().into()
143+
};
138144
let prev = FastStableHasher::from_bytes(prev);
139145
digest.mixin(&prev);
140146
}

0 commit comments

Comments
 (0)