use miden_node_db::sqlite::WriteTx;
use miden_node_tracing::miden_instrument;
use miden_protocol::Word;
use crate::COMPONENT;
use crate::db::NoteRecord;
use crate::errors::DatabaseError;
const SQL: &str = include_str!("insert_note_script.sql");
#[miden_instrument(
target = COMPONENT,
err,
)]
pub(crate) fn insert_note_scripts<'a>(
tx: &WriteTx<'_>,
notes: impl IntoIterator<Item = &'a NoteRecord>,
) -> Result<usize, DatabaseError> {
let mut count = 0;
for note in notes {
let Some(details) = note.details.as_ref() else {
continue;
};
let script = details.script();
let script_root = Word::from(script.root());
count += tx.execute(SQL, &[&script_root, script])?;
}
Ok(count)
}