reth_db/static_file/
masks.rs

1use crate::{
2    add_static_file_mask,
3    static_file::mask::{ColumnSelectorOne, ColumnSelectorTwo},
4    HeaderTerminalDifficulties,
5};
6use alloy_primitives::BlockHash;
7use reth_db_api::table::Table;
8
9// HEADER MASKS
10add_static_file_mask! {
11    #[doc = "Mask for selecting a single header from Headers static file segment"]
12    HeaderMask<H>, H, 0b001
13}
14add_static_file_mask! {
15    #[doc = "Mask for selecting a total difficulty value from Headers static file segment"]
16    TotalDifficultyMask, <HeaderTerminalDifficulties as Table>::Value, 0b010
17}
18add_static_file_mask! {
19    #[doc = "Mask for selecting a block hash value from Headers static file segment"]
20    BlockHashMask, BlockHash, 0b100
21}
22add_static_file_mask! {
23    #[doc = "Mask for selecting a header along with block hash from Headers static file segment"]
24    HeaderWithHashMask<H>, H, BlockHash, 0b101
25}
26add_static_file_mask! {
27    #[doc = "Mask for selecting a total difficulty along with block hash from Headers static file segment"]
28    TDWithHashMask,
29    <HeaderTerminalDifficulties as Table>::Value,
30    BlockHash,
31    0b110
32}
33
34// RECEIPT MASKS
35add_static_file_mask! {
36    #[doc = "Mask for selecting a single receipt from Receipts static file segment"]
37    ReceiptMask<R>, R, 0b1
38}
39
40// TRANSACTION MASKS
41add_static_file_mask! {
42    #[doc = "Mask for selecting a single transaction from Transactions static file segment"]
43    TransactionMask<T>, T, 0b1
44}