use miden_node_db::sqlite::WriteTx;
use miden_node_db::{DatabaseError, SqlTypeConvert};
use miden_protocol::block::BlockNumber;
use miden_protocol::transaction::TransactionId;
const SQL: &str = include_str!("link_block_transactions.sql");
pub fn link_block_transactions(
tx: &WriteTx<'_>,
block_num: BlockNumber,
transactions: &[TransactionId],
) -> Result<(), DatabaseError> {
for (index, transaction_id) in transactions.iter().enumerate() {
let index = u32::try_from(index).expect("a block's transaction count fits in u32");
let inserted = tx.execute(SQL, &[&block_num.to_raw_sql(), &index, transaction_id])?;
assert_eq!(inserted, 1, "linking a transaction must insert exactly one row");
}
Ok(())
}