multiversx_chain_vm/blockchain/state/
block_info.rs1pub const DEFAULT_BLOCK_ROUND_TIME_MS: u64 = 6000;
2
3#[derive(Clone, Debug)]
4pub struct BlockConfig {
5 pub previous_block_info: BlockInfo,
6 pub current_block_info: BlockInfo,
7 pub epoch_start_block_info: BlockInfo,
8 pub block_round_time_ms: u64,
9}
10
11impl Default for BlockConfig {
12 fn default() -> Self {
13 BlockConfig {
14 previous_block_info: Default::default(),
15 current_block_info: Default::default(),
16 epoch_start_block_info: Default::default(),
17 block_round_time_ms: DEFAULT_BLOCK_ROUND_TIME_MS,
18 }
19 }
20}
21
22#[derive(Clone, Debug)]
23pub struct BlockInfo {
24 pub block_timestamp_ms: u64,
25 pub block_nonce: u64,
26 pub block_round: u64,
27 pub block_epoch: u64,
28 pub block_random_seed: Box<[u8; 48]>,
29}
30
31impl BlockInfo {
32 pub fn new() -> Self {
33 BlockInfo {
34 block_timestamp_ms: 0,
35 block_nonce: 0,
36 block_round: 0,
37 block_epoch: 0,
38 block_random_seed: Box::from([0u8; 48]),
39 }
40 }
41}
42
43impl Default for BlockInfo {
44 fn default() -> Self {
45 Self::new()
46 }
47}