diff --git a/stackslib/src/chainstate/nakamoto/staging_blocks.rs b/stackslib/src/chainstate/nakamoto/staging_blocks.rs index c0d917778..4673793a9 100644 --- a/stackslib/src/chainstate/nakamoto/staging_blocks.rs +++ b/stackslib/src/chainstate/nakamoto/staging_blocks.rs @@ -30,7 +30,8 @@ use crate::chainstate::nakamoto::{NakamotoBlock, NakamotoChainState}; use crate::chainstate::stacks::db::StacksChainState; use crate::chainstate::stacks::index::marf::MarfConnection; use crate::chainstate::stacks::{Error as ChainstateError, StacksBlock, StacksBlockHeader}; -use crate::stacks_common::codec::StacksMessageCodec; +use crate::stacks_common::codec::{DeserializeWithEpoch, StacksMessageCodec}; +use crate::stacks_common::types::StacksEpochId; use crate::util_lib::db::{ query_int, query_row, query_row_panic, query_rows, sqlite_open, tx_begin_immediate, u64_to_sql, DBConn, Error as DBError, FromRow, @@ -173,7 +174,10 @@ impl<'a> NakamotoStagingBlocksConnRef<'a> { let Some(block_bytes) = res else { return Ok(None); }; - let block = NakamotoBlock::consensus_deserialize(&mut block_bytes.as_slice())?; + let block = NakamotoBlock::consensus_deserialize_with_epoch( + &mut block_bytes.as_slice(), + StacksEpochId::latest(), + )?; if &block.header.block_id() != index_block_hash { error!( "Staging DB corruption: expected {}, got {}", @@ -208,7 +212,7 @@ impl<'a> NakamotoStagingBlocksConnRef<'a> { self .query_row_and_then(query, NO_PARAMS, |row| { let data: Vec = row.get("data")?; - let block = NakamotoBlock::consensus_deserialize(&mut data.as_slice())?; + let block = NakamotoBlock::consensus_deserialize_with_epoch(&mut data.as_slice(), StacksEpochId::latest())?; Ok(Some(( block, u64::try_from(data.len()).expect("FATAL: block is bigger than a u64"),