1
1
use crate :: journal:: { BundleStateIndex , JournalDecode , JournalDecodeError , JournalEncode } ;
2
- use alloy:: primitives:: { keccak256, B256 } ;
2
+ use alloy:: primitives:: { keccak256, Bytes , B256 } ;
3
3
use std:: sync:: OnceLock ;
4
4
5
5
/// Journal associated with a block
@@ -15,7 +15,7 @@ pub struct BlockUpdate<'a> {
15
15
journal : BundleStateIndex < ' a > ,
16
16
17
17
/// The serialized journal
18
- serialized : OnceLock < Vec < u8 > > ,
18
+ serialized : OnceLock < Bytes > ,
19
19
20
20
/// The hash of the serialized journal
21
21
hash : OnceLock < B256 > ,
@@ -50,7 +50,7 @@ impl<'a> BlockUpdate<'a> {
50
50
51
51
/// Serialize the block update.
52
52
pub fn serialized ( & self ) -> & [ u8 ] {
53
- self . serialized . get_or_init ( || JournalEncode :: encoded ( self ) ) . as_slice ( )
53
+ self . serialized . get_or_init ( || JournalEncode :: encoded ( self ) ) . as_ref ( )
54
54
}
55
55
56
56
/// Serialize and hash the block update.
@@ -78,7 +78,7 @@ impl JournalDecode for BlockUpdate<'static> {
78
78
height : JournalDecode :: decode ( buf) ?,
79
79
prev_journal_hash : JournalDecode :: decode ( buf) ?,
80
80
journal : JournalDecode :: decode ( buf) ?,
81
- serialized : OnceLock :: from ( original . to_vec ( ) ) ,
81
+ serialized : OnceLock :: from ( Bytes :: copy_from_slice ( original ) ) ,
82
82
hash : OnceLock :: from ( keccak256 ( original) ) ,
83
83
} )
84
84
}
0 commit comments