Просмотр исходного кода

drk/scanned_blocks: properly deserialize height

skoupidi 9 месяцев назад
Родитель
Сommit
1eaff1640a
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      bin/drk/src/scanned_blocks.rs

+ 4 - 2
bin/drk/src/scanned_blocks.rs

@@ -49,9 +49,11 @@ impl Drk {
             let Ok((key, value)) = record else {
             let Ok((key, value)) = record else {
                 return Err(WalletDbError::QueryExecutionFailed);
                 return Err(WalletDbError::QueryExecutionFailed);
             };
             };
-            let Ok(key) = deserialize(&key) else {
-                return Err(WalletDbError::ParseColumnValueError);
+            let key: [u8; 4] = match key.as_ref().try_into() {
+                Ok(k) => k,
+                Err(_) => return Err(WalletDbError::ParseColumnValueError),
             };
             };
+            let key = u32::from_be_bytes(key);
             let Ok(value) = deserialize(&value) else {
             let Ok(value) = deserialize(&value) else {
                 return Err(WalletDbError::ParseColumnValueError);
                 return Err(WalletDbError::ParseColumnValueError);
             };
             };