alloy_zksync/network/
header_response.rs1use alloy::eips::eip7840::BlobParams;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
6pub struct HeaderResponse {
7 hash: alloy::primitives::BlockHash,
8 #[serde(flatten)]
9 inner: crate::network::header::Header,
10}
11
12impl alloy::consensus::BlockHeader for HeaderResponse {
13 fn number(&self) -> u64 {
14 self.inner.number()
15 }
16
17 fn timestamp(&self) -> u64 {
18 self.inner.timestamp()
19 }
20
21 fn extra_data(&self) -> &alloy::primitives::Bytes {
22 self.inner.extra_data()
23 }
24
25 fn base_fee_per_gas(&self) -> Option<u64> {
26 self.inner.base_fee_per_gas()
27 }
28
29 fn next_block_blob_fee(&self, blob_params: BlobParams) -> Option<u128> {
30 self.inner.next_block_blob_fee(blob_params)
31 }
32
33 fn gas_limit(&self) -> u64 {
34 self.inner.gas_limit()
35 }
36
37 fn mix_hash(&self) -> Option<alloy::primitives::B256> {
38 self.inner.mix_hash()
39 }
40
41 fn difficulty(&self) -> alloy::primitives::U256 {
42 self.inner.difficulty()
43 }
44
45 fn parent_hash(&self) -> alloy::primitives::B256 {
46 self.inner.parent_hash()
47 }
48
49 fn ommers_hash(&self) -> alloy::primitives::B256 {
50 self.inner.ommers_hash()
51 }
52
53 fn beneficiary(&self) -> alloy::primitives::Address {
54 self.inner.beneficiary()
55 }
56
57 fn state_root(&self) -> alloy::primitives::B256 {
58 self.inner.state_root()
59 }
60
61 fn transactions_root(&self) -> alloy::primitives::B256 {
62 self.inner.transactions_root()
63 }
64
65 fn receipts_root(&self) -> alloy::primitives::B256 {
66 self.inner.receipts_root()
67 }
68
69 fn withdrawals_root(&self) -> Option<alloy::primitives::B256> {
70 self.inner.withdrawals_root()
71 }
72
73 fn logs_bloom(&self) -> alloy::primitives::Bloom {
74 self.inner.logs_bloom()
75 }
76
77 fn gas_used(&self) -> u64 {
78 self.inner.gas_used()
79 }
80
81 fn nonce(&self) -> Option<alloy::primitives::B64> {
82 self.inner.nonce()
83 }
84
85 fn blob_gas_used(&self) -> Option<u64> {
86 self.inner.blob_gas_used()
87 }
88
89 fn excess_blob_gas(&self) -> Option<u64> {
90 self.inner.excess_blob_gas()
91 }
92
93 fn parent_beacon_block_root(&self) -> Option<alloy::primitives::B256> {
94 self.inner.parent_beacon_block_root()
95 }
96
97 fn requests_hash(&self) -> Option<alloy::primitives::B256> {
98 self.inner.requests_hash()
99 }
100}
101
102impl alloy::network::primitives::HeaderResponse for HeaderResponse {
103 fn hash(&self) -> alloy::primitives::BlockHash {
104 self.hash
105 }
106}
107
108impl AsRef<crate::network::header::Header> for HeaderResponse {
109 fn as_ref(&self) -> &crate::network::header::Header {
110 &self.inner
111 }
112}