essential_app_utils/
builder.rs

1use essential_builder::{error::BuildBlockError, SolutionSetsSummary};
2use essential_types::{solution::SolutionSet, ContentAddress};
3
4use crate::db::Dbs;
5
6pub async fn build_default(dbs: &Dbs) -> Result<SolutionSetsSummary, BuildBlockError> {
7    essential_builder::build_block_fifo(&dbs.builder, &dbs.node, &Default::default())
8        .await
9        .map(|(_, o)| o)
10}
11
12pub async fn submit(
13    builder: &essential_builder_db::ConnectionPool,
14    solution_set: SolutionSet,
15) -> anyhow::Result<ContentAddress> {
16    Ok(builder
17        .insert_solution_set_submission(
18            std::sync::Arc::new(solution_set),
19            std::time::SystemTime::now()
20                .duration_since(std::time::UNIX_EPOCH)
21                .unwrap(),
22        )
23        .await?)
24}