Skip to content

Commit

Permalink
refactor(host,task_manager): clean up function params
Browse files Browse the repository at this point in the history
  • Loading branch information
petarvujovic98 committed Jul 10, 2024
1 parent 53df0ff commit fccab09
Show file tree
Hide file tree
Showing 7 changed files with 163 additions and 288 deletions.
44 changes: 28 additions & 16 deletions host/src/proof.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,13 @@ impl ProofActor {
let mut manager = get_task_manager(&opts.clone().into());
let status = manager
.get_task_proving_status(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.clone().to_string()),
&(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.clone().to_string(),
)
.into(),
)
.await?;

Expand All @@ -148,10 +151,13 @@ impl ProofActor {

manager
.update_task_progress(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.clone().to_string(),
)
.into(),
TaskStatus::WorkInProgress,
None,
)
Expand All @@ -164,10 +170,13 @@ impl ProofActor {

manager
.update_task_progress(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.clone().to_string(),
)
.into(),
TaskStatus::Success,
Some(proof),
)
Expand All @@ -176,10 +185,13 @@ impl ProofActor {
Err(error) => {
manager
.update_task_progress(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.clone().to_string(),
)
.into(),
error.into(),
None,
)
Expand Down
11 changes: 7 additions & 4 deletions host/src/server/api/v2/proof/cancel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,13 @@ async fn cancel_handler(

manager
.update_task_progress(
chain_id,
block_hash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
(
chain_id,
block_hash,
proof_request.proof_type,
proof_request.prover.to_string(),
)
.into(),
TaskStatus::Cancelled,
None,
)
Expand Down
35 changes: 22 additions & 13 deletions host/src/server/api/v2/proof/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,13 @@ async fn proof_handler(
let mut manager = get_task_manager(&(&prover_state.opts).into());
let status = manager
.get_task_proving_status(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
&(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.to_string(),
)
.into(),
)
.await?;

Expand All @@ -71,7 +74,7 @@ async fn proof_handler(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
proof_request.prover.to_string(),
)
.into(),
)
Expand All @@ -94,10 +97,13 @@ async fn proof_handler(
| TaskStatus::CancellationInProgress => {
manager
.update_task_progress(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.to_string(),
)
.into(),
TaskStatus::Registered,
None,
)
Expand All @@ -115,10 +121,13 @@ async fn proof_handler(
TaskStatus::Success => {
let proof = manager
.get_task_proof(
chain_id,
blockhash,
proof_request.proof_type,
Some(proof_request.prover.to_string()),
&(
chain_id,
blockhash,
proof_request.proof_type,
proof_request.prover.to_string(),
)
.into(),
)
.await?;

Expand Down
69 changes: 31 additions & 38 deletions task_manager/src/adv_sqlite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,7 @@ use std::{
};

use chrono::{DateTime, Utc};
use raiko_core::interfaces::ProofType;
use raiko_lib::primitives::{ChainId, B256};
use raiko_lib::primitives::B256;
use rusqlite::{
named_params, {Connection, OpenFlags},
};
Expand Down Expand Up @@ -526,10 +525,12 @@ impl TaskDb {

pub fn update_task_progress(
&self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
TaskDescriptor {
chain_id,
blockhash,
proof_system,
prover,
}: TaskDescriptor,
status: TaskStatus,
proof: Option<&[u8]>,
) -> TaskManagerResult<()> {
Expand Down Expand Up @@ -558,9 +559,9 @@ impl TaskDb {
statement.execute(named_params! {
":chain_id": chain_id,
":blockhash": blockhash.to_vec(),
":proofsys_id": proof_type as u8,
":proofsys_id": proof_system as u8,
":prover": prover,
":status_id": status as i32,
":prover": prover.unwrap_or_default(),
":proof": proof
})?;

Expand All @@ -569,10 +570,12 @@ impl TaskDb {

pub fn get_task_proving_status(
&self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
TaskDescriptor {
chain_id,
blockhash,
proof_system,
prover,
}: &TaskDescriptor,
) -> TaskManagerResult<TaskProvingStatusRecords> {
let mut statement = self.conn.prepare_cached(
r#"
Expand All @@ -596,8 +599,8 @@ impl TaskDb {
named_params! {
":chain_id": chain_id,
":blockhash": blockhash.to_vec(),
":proofsys_id": proof_type as u8,
":prover": prover.unwrap_or_default(),
":proofsys_id": *proof_system as u8,
":prover": prover,
},
|row| {
Ok((
Expand All @@ -613,10 +616,12 @@ impl TaskDb {

pub fn get_task_proof(
&self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
TaskDescriptor {
chain_id,
blockhash,
proof_system,
prover,
}: &TaskDescriptor,
) -> TaskManagerResult<Vec<u8>> {
let mut statement = self.conn.prepare_cached(
r#"
Expand All @@ -638,8 +643,8 @@ impl TaskDb {
named_params! {
":chain_id": chain_id,
":blockhash": blockhash.to_vec(),
":proofsys_id": proof_type as u8,
":prover": prover.unwrap_or_default(),
":proofsys_id": *proof_system as u8,
":prover": prover,
},
|row| row.get(0),
)?;
Expand Down Expand Up @@ -757,38 +762,26 @@ impl TaskManager for SqliteTaskManager {

async fn update_task_progress(
&mut self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
key: TaskDescriptor,
status: TaskStatus,
proof: Option<&[u8]>,
) -> TaskManagerResult<()> {
let task_db = self.arc_task_db.lock().await;
task_db.update_task_progress(chain_id, blockhash, proof_type, prover, status, proof)
task_db.update_task_progress(key, status, proof)
}

/// Returns the latest triplet (submitter or fulfiller, status, last update time)
async fn get_task_proving_status(
&mut self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
key: &TaskDescriptor,
) -> TaskManagerResult<TaskProvingStatusRecords> {
let task_db = self.arc_task_db.lock().await;
task_db.get_task_proving_status(chain_id, blockhash, proof_type, prover)
task_db.get_task_proving_status(key)
}

async fn get_task_proof(
&mut self,
chain_id: ChainId,
blockhash: B256,
proof_type: ProofType,
prover: Option<String>,
) -> TaskManagerResult<Vec<u8>> {
async fn get_task_proof(&mut self, key: &TaskDescriptor) -> TaskManagerResult<Vec<u8>> {
let task_db = self.arc_task_db.lock().await;
task_db.get_task_proof(chain_id, blockhash, proof_type, prover)
task_db.get_task_proof(key)
}

/// Returns the total and detailed database size
Expand Down
Loading

0 comments on commit fccab09

Please sign in to comment.