zebra_chain/block/
genesis.rs

1//! Regtest genesis block
2
3use std::sync::Arc;
4
5use hex::FromHex;
6
7use crate::{block::Block, serialization::ZcashDeserializeInto};
8
9/// Genesis block for Regtest, copied from zcashd via `getblock 0 0` RPC method
10pub fn regtest_genesis_block() -> Arc<Block> {
11    let regtest_genesis_block_bytes =
12        <Vec<u8>>::from_hex(include_str!("genesis/block-regtest-0-000-000.txt").trim())
13            .expect("Block bytes are in valid hex representation");
14
15    regtest_genesis_block_bytes
16        .zcash_deserialize_into()
17        .map(Arc::new)
18        .expect("hard-coded Regtest genesis block data must deserialize successfully")
19}