node/transition_frontier/genesis/
mod.rs1mod transition_frontier_genesis_config;
2pub use transition_frontier_genesis_config::*;
3
4mod transition_frontier_genesis_state;
5pub use transition_frontier_genesis_state::*;
6
7mod transition_frontier_genesis_actions;
8pub use transition_frontier_genesis_actions::*;
9
10mod transition_frontier_genesis_reducer;
11
12use ledger::scan_state::pending_coinbase::PendingCoinbase;
13use mina_p2p_messages::v2;
14use openmina_core::constants::constraint_constants;
15
16pub(super) fn empty_block_body() -> v2::StagedLedgerDiffDiffStableV2 {
17 use ledger::staged_ledger::diff::with_valid_signatures_and_proofs::Diff;
18 (&Diff::empty()).into()
19}
20
21pub(super) fn empty_block_body_hash() -> v2::ConsensusBodyReferenceStableV1 {
22 use ledger::staged_ledger::validate_block::block_body_hash;
23 block_body_hash(&empty_block_body()).unwrap()
24}
25
26pub(super) fn empty_pending_coinbase() -> PendingCoinbase {
27 let mut v = PendingCoinbase::create(constraint_constants().pending_coinbase_depth);
28 v.merkle_root();
29 v
30}
31
32pub fn empty_pending_coinbase_hash() -> v2::PendingCoinbaseHash {
33 v2::MinaBasePendingCoinbaseHashVersionedStableV1(
34 v2::MinaBasePendingCoinbaseHashBuilderStableV1(
35 empty_pending_coinbase().merkle_root().into(),
36 ),
37 )
38 .into()
39}