1use alloy_consensus::{Header, Sealed};
4use alloy_primitives::B256;
5use kona_protocol::L2BlockInfo;
6
7#[derive(Debug, Clone)]
9pub struct TipCursor {
10 pub l2_safe_head: L2BlockInfo,
12 pub l2_safe_head_header: Sealed<Header>,
14 pub l2_safe_head_output_root: B256,
16}
17
18impl TipCursor {
19 pub const fn new(
21 l2_safe_head: L2BlockInfo,
22 l2_safe_head_header: Sealed<Header>,
23 l2_safe_head_output_root: B256,
24 ) -> Self {
25 Self { l2_safe_head, l2_safe_head_header, l2_safe_head_output_root }
26 }
27
28 pub const fn l2_safe_head(&self) -> &L2BlockInfo {
30 &self.l2_safe_head
31 }
32
33 pub const fn l2_safe_head_header(&self) -> &Sealed<Header> {
35 &self.l2_safe_head_header
36 }
37
38 pub const fn l2_safe_head_output_root(&self) -> &B256 {
40 &self.l2_safe_head_output_root
41 }
42}