zebra_chain/
block_info.rs

1//! Extra per-block info tracked in the state.
2use crate::{amount::NonNegative, value_balance::ValueBalance};
3
4/// Extra per-block info tracked in the state.
5#[derive(Debug, Clone, Default, PartialEq, Eq)]
6pub struct BlockInfo {
7    /// The pool balances after the block.
8    value_pools: ValueBalance<NonNegative>,
9    /// The size of the block in bytes.
10    size: u32,
11}
12
13impl BlockInfo {
14    /// Creates a new [`BlockInfo`] with the given value pools.
15    pub fn new(value_pools: ValueBalance<NonNegative>, size: u32) -> Self {
16        BlockInfo { value_pools, size }
17    }
18
19    /// Returns the value pools of this block.
20    pub fn value_pools(&self) -> &ValueBalance<NonNegative> {
21        &self.value_pools
22    }
23
24    /// Returns the size of this block.
25    pub fn size(&self) -> u32 {
26        self.size
27    }
28}