use miden_node_db::sqlite::WriteTx;
use miden_node_db::{DatabaseError, SqlTypeConvert};
use miden_protocol::Word;
use miden_protocol::block::{BlockHeader, BlockNumber};
use miden_protocol::crypto::merkle::mmr::PartialMmr;
const SQL: &str = include_str!("insert_genesis_chain_state.sql");
pub fn insert_genesis_chain_state(
tx: &WriteTx<'_>,
genesis_block_header: &BlockHeader,
genesis_commitment: &Word,
) -> Result<(), DatabaseError> {
assert_eq!(
genesis_block_header.block_num(),
BlockNumber::GENESIS,
"bootstrap block number is not 0"
);
tx.execute(
SQL,
&[
&genesis_block_header.block_num().to_raw_sql(),
genesis_block_header,
&PartialMmr::default(),
genesis_commitment,
genesis_block_header.validator_keys(),
],
)?;
Ok(())
}