reth_primitives_traits/header/
header_mut.rs1use crate::BlockHeader;
4use alloy_consensus::Header;
5use alloy_primitives::{BlockHash, BlockNumber, B256, U256};
6
7pub trait HeaderMut: BlockHeader {
11 fn set_parent_hash(&mut self, hash: BlockHash);
13
14 fn set_block_number(&mut self, number: BlockNumber);
16
17 fn set_timestamp(&mut self, number: BlockNumber);
19
20 fn set_state_root(&mut self, state_root: B256);
22
23 fn set_difficulty(&mut self, difficulty: U256);
25
26 fn set_number(&mut self, number: u64) {
28 self.set_block_number(number);
29 }
30}
31
32impl HeaderMut for Header {
33 fn set_parent_hash(&mut self, hash: BlockHash) {
34 self.parent_hash = hash;
35 }
36
37 fn set_block_number(&mut self, number: BlockNumber) {
38 self.number = number;
39 }
40
41 fn set_timestamp(&mut self, number: BlockNumber) {
42 self.timestamp = number;
43 }
44
45 fn set_state_root(&mut self, state_root: B256) {
46 self.state_root = state_root;
47 }
48
49 fn set_difficulty(&mut self, difficulty: U256) {
50 self.difficulty = difficulty;
51 }
52}