From 3b6a5a0271db52573a24ce68d984cff45ac4fe8b Mon Sep 17 00:00:00 2001 From: Ryan Quinn Ford Date: Sat, 21 Sep 2024 19:00:40 +0200 Subject: [PATCH] broken but better --- Cargo.lock | 1 + crates/common/Cargo.toml | 1 + crates/common/src/hashchain.rs | 21 +-- crates/common/src/lib.rs | 3 + crates/common/src/test_utils.rs | 18 +- crates/common/src/tree.rs | 64 ++++++- crates/prism/src/node_types/sequencer.rs | 160 +++++------------- crates/prism/src/storage.rs | 203 +---------------------- crates/prism/src/webserver.rs | 9 +- crates/sp1/src/main.rs | 3 +- elf/riscv32im-succinct-zkvm-elf | Bin 543340 -> 538144 bytes 11 files changed, 135 insertions(+), 348 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eeb9e85c..62cfa343 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5082,6 +5082,7 @@ dependencies = [ "ed25519-dalek", "hex", "jmt", + "log", "prism-errors", "rand", "serde", diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index c86ffdd1..e8dbcf79 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -17,6 +17,7 @@ hex.workspace = true sha2.workspace = true celestia-types.workspace = true bincode.workspace = true +log.workspace = true ed25519-dalek.workspace = true rand.workspace = true diff --git a/crates/common/src/hashchain.rs b/crates/common/src/hashchain.rs index 614fac8f..8375324f 100644 --- a/crates/common/src/hashchain.rs +++ b/crates/common/src/hashchain.rs @@ -128,7 +128,7 @@ impl Hashchain { signature: Vec, service_id: String, challenge: ServiceChallengeInput, - ) -> Result { + ) -> Result { let operation = Operation::CreateAccount(CreateAccountArgs { id: self.id.clone(), signature, @@ -143,7 +143,7 @@ impl Hashchain { &self.entries[idx] } - pub fn push(&mut self, operation: Operation) -> Result { + fn push(&mut self, operation: Operation) -> Result { if operation.id() != self.id { bail!("Operation ID does not match Hashchain ID"); } @@ -156,18 +156,10 @@ impl Hashchain { let entry = HashchainEntry::new(operation, previous_hash); self.entries.push(entry.clone()); - Ok(entry.hash) + Ok(entry) } - pub fn add(&mut self, operation: Operation) -> Result { - self.perform_operation(operation) - } - - pub fn revoke(&mut self, operation: Operation) -> Result { - self.perform_operation(operation) - } - - fn perform_operation(&mut self, operation: Operation) -> Result { + pub fn perform_operation(&mut self, operation: Operation) -> Result { self.validate_operation(&operation)?; self.push(operation) } @@ -185,7 +177,10 @@ impl Hashchain { self.verify_signature(&signing_key, &message, &args.signature.signature) } // TODO - Operation::CreateAccount(_) => unimplemented!(), + Operation::CreateAccount(_) => { + println!("oopsie"); + Ok(()) + } } } diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index c7667065..dbd45160 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -2,5 +2,8 @@ pub mod hashchain; pub mod operation; pub mod tree; +#[macro_use] +extern crate log; + #[cfg(feature = "test_utils")] pub mod test_utils; diff --git a/crates/common/src/test_utils.rs b/crates/common/src/test_utils.rs index d3e1831f..87eaf856 100644 --- a/crates/common/src/test_utils.rs +++ b/crates/common/src/test_utils.rs @@ -1,6 +1,9 @@ use crate::{ hashchain::{Hashchain, HashchainEntry}, - operation::{KeyOperationArgs, Operation, PublicKey, SignatureBundle}, + operation::{ + CreateAccountArgs, KeyOperationArgs, Operation, PublicKey, ServiceChallengeInput, + SignatureBundle, + }, tree::{Digest, InsertProof, KeyDirectoryTree, SnarkableTree, UpdateProof}, }; use anyhow::{anyhow, Result}; @@ -96,8 +99,7 @@ impl TestTreeState { signature, }); - account.hashchain.add(operation).unwrap(); - + account.hashchain.perform_operation(operation).unwrap(); Ok(()) } } @@ -173,7 +175,7 @@ pub fn create_random_update(state: &mut TestTreeState, rng: &mut StdRng) -> Upda }, }); - hc.add(final_operation) + hc.perform_operation(final_operation) .expect("Adding to hashchain should succeed"); println!("updated key: {key:?}"); @@ -197,13 +199,15 @@ pub fn create_mock_hashchain(id: &str, signing_key: &SigningKey) -> Hashchain { let public_key = PublicKey::Ed25519(signing_key.verifying_key().to_bytes().to_vec()); let signature = create_mock_signature(signing_key, id.as_bytes()); - let op = Operation::AddKey(KeyOperationArgs { + let op = Operation::CreateAccount(CreateAccountArgs { id: id.to_string(), value: public_key.clone(), - signature, + signature: signature.signature, + service_id: "test".to_string(), + challenge: ServiceChallengeInput::Signed(Vec::new()), }); - hc.push(op).unwrap(); + hc.perform_operation(op).unwrap(); hc } diff --git a/crates/common/src/tree.rs b/crates/common/src/tree.rs index 9892a744..9a123f71 100644 --- a/crates/common/src/tree.rs +++ b/crates/common/src/tree.rs @@ -6,10 +6,14 @@ use jmt::{ storage::{NodeBatch, TreeReader, TreeUpdateBatch, TreeWriter}, JellyfishMerkleTree, KeyHash, RootHash, SimpleHasher, }; +use prism_errors::DatabaseError; use serde::{ser::SerializeTupleStruct, Deserialize, Serialize}; use std::sync::Arc; -use crate::hashchain::Hashchain; +use crate::{ + hashchain::Hashchain, + operation::{CreateAccountArgs, KeyOperationArgs, Operation, ServiceChallengeInput}, +}; pub const SPARSE_MERKLE_PLACEHOLDER_HASH: Digest = Digest::new(*b"SPARSE_MERKLE_PLACEHOLDER_HASH__"); @@ -229,6 +233,7 @@ impl UpdateProof { } pub trait SnarkableTree { + fn process_operation(&mut self, operation: &Operation) -> Result; fn insert(&mut self, key: KeyHash, value: Hashchain) -> Result; fn update(&mut self, key: KeyHash, value: Hashchain) -> Result; fn get(&self, key: KeyHash) -> Result>; @@ -303,6 +308,63 @@ impl SnarkableTree for KeyDirectoryTree where S: TreeReader + TreeWriter, { + fn process_operation(&mut self, operation: &Operation) -> Result { + match operation { + Operation::AddKey(KeyOperationArgs { id, .. }) + | Operation::RevokeKey(KeyOperationArgs { id, .. }) => { + let hashed_id = hash(id.as_bytes()); + let key_hash = KeyHash::with::(hashed_id); + + let mut current_chain = self + .get(key_hash)? + .map_err(|_| anyhow!("Failed to get hashchain for ID {}", id))?; + + current_chain.perform_operation(operation.clone())?; + + debug!("updating hashchain for user id {}", id.clone()); + let proof = self.update(key_hash, current_chain.clone())?; + + Ok(Proof::Update(proof)) + } + Operation::CreateAccount(CreateAccountArgs { + id, + value, + signature, + service_id, + challenge, + }) => { + let hashed_id = hash(id.as_bytes()); + let key_hash = KeyHash::with::(hashed_id); + + match &challenge { + ServiceChallengeInput::Signed(_) => debug!("Signature verification for service challenge gate not yet implemented. Skipping verification.") + }; + + // hashchain should not already exist + if self.get(key_hash)?.is_ok() { + bail!(DatabaseError::NotFoundError(format!( + "empty slot for ID {}", + id + ))); + } + + debug!("creating new hashchain for user id {}", id); + let mut chain = Hashchain::new(id.clone()); + chain.create_account( + value.clone(), + signature.clone(), + service_id.clone(), + // TODO: Challenge is a placeholder rn + ServiceChallengeInput::Signed(Vec::new()), + )?; + + Ok(Proof::Insert( + self.insert(KeyHash::with::(hashed_id), chain)?, + )) + } + } + } + fn insert(&mut self, key: KeyHash, value: Hashchain) -> Result { let serialized_value = Self::serialize_value(&value)?; diff --git a/crates/prism/src/node_types/sequencer.rs b/crates/prism/src/node_types/sequencer.rs index cebb7d14..f878cdcd 100644 --- a/crates/prism/src/node_types/sequencer.rs +++ b/crates/prism/src/node_types/sequencer.rs @@ -1,11 +1,13 @@ use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; use ed25519_dalek::SigningKey; -use jmt::KeyHash; +use jmt::KeyHash; use prism_common::{ - operation::{KeyOperationArgs, ServiceChallengeInput}, - tree::{hash, Batch, Digest, Hasher, KeyDirectoryTree, Proof, SnarkableTree}, + hashchain::Hashchain, + tree::{ + hash, Batch, Digest, Hasher, KeyDirectoryTree, NonMembershipProof, Proof, SnarkableTree, + }, }; use std::{self, collections::VecDeque, sync::Arc}; use tokio::sync::{broadcast, Mutex}; @@ -19,11 +21,7 @@ use crate::{ storage::Database, webserver::WebServer, }; -use prism_common::{ - hashchain::{Hashchain, HashchainEntry}, - operation::Operation, -}; -use prism_errors::DatabaseError; +use prism_common::operation::Operation; pub const PRISM_ELF: &[u8] = include_bytes!("../../../../elf/riscv32im-succinct-zkvm-elf"); @@ -78,7 +76,6 @@ impl Sequencer { let ws = cfg.webserver.context("Missing webserver configuration")?; let start_height = cfg.celestia_config.unwrap_or_default().start_height; - // Create the KeyDirectory let tree = Arc::new(Mutex::new(KeyDirectoryTree::new(db.clone()))); let prover_client = ProverClient::new(); @@ -214,8 +211,7 @@ impl Sequencer { buffered_operations: &mut VecDeque>, saved_epoch: u64, ) -> Result<()> { - let mut tree = self.tree.lock().await; - let prev_commitment = tree.get_commitment()?; + let prev_commitment = self.get_commitment().await?; debug!( "processing height {}, saved_epoch: {}, current_epoch: {}", @@ -229,14 +225,12 @@ impl Sequencer { if !buffered_operations.is_empty() && height > saved_epoch { let all_ops: Vec = buffered_operations.drain(..).flatten().collect(); *current_epoch = height; - self.finalize_new_epoch(*current_epoch, all_ops, &mut tree) - .await?; + self.finalize_new_epoch(*current_epoch, all_ops).await?; } else if let Some(epoch) = epoch_result { self.process_existing_epoch( epoch, current_epoch, buffered_operations, - &mut tree, prev_commitment, height, ) @@ -253,7 +247,6 @@ impl Sequencer { epoch: FinalizedEpoch, current_epoch: &mut u64, buffered_operations: &mut VecDeque>, - tree: &mut KeyDirectoryTree>, prev_commitment: Digest, height: u64, ) -> Result<()> { @@ -269,10 +262,10 @@ impl Sequencer { } while let Some(buffered_ops) = buffered_operations.pop_front() { - self.execute_block(buffered_ops, tree).await?; + self.execute_block(buffered_ops).await?; } - let new_commitment = tree.get_commitment()?; + let new_commitment = self.get_commitment().await?; if epoch.current_commitment != new_commitment { return Err(anyhow!("Commitment mismatch at epoch {}", current_epoch)); } @@ -285,17 +278,13 @@ impl Sequencer { Ok(()) } - async fn execute_block( - &self, - operations: Vec, - tree: &mut KeyDirectoryTree>, - ) -> Result> { + async fn execute_block(&self, operations: Vec) -> Result> { debug!("executing block with {} operations", operations.len()); let mut proofs = Vec::new(); for operation in operations { - match self.process_operation(&operation, tree).await { + match self.process_operation(&operation).await { Ok(proof) => proofs.push(proof), Err(e) => { // Log the error and continue with the next operation @@ -307,17 +296,12 @@ impl Sequencer { Ok(proofs) } - async fn finalize_new_epoch( - &self, - height: u64, - operations: Vec, - tree: &mut KeyDirectoryTree>, - ) -> Result<()> { - let prev_commitment = tree.get_commitment()?; + async fn finalize_new_epoch(&self, height: u64, operations: Vec) -> Result<()> { + let prev_commitment = self.get_commitment().await?; - let proofs = self.execute_block(operations, tree).await?; + let proofs = self.execute_block(operations).await?; - let new_commitment = tree.get_commitment()?; + let new_commitment = self.get_commitment().await?; let finalized_epoch = self .prove_epoch(height, prev_commitment, new_commitment, proofs) @@ -379,77 +363,21 @@ impl Sequencer { tree.get_commitment().context("Failed to get commitment") } - /// Updates the state from an already verified pending operation. - async fn process_operation( + pub async fn get_hashchain( &self, - operation: &Operation, - tree: &mut KeyDirectoryTree>, - ) -> Result { - match operation { - Operation::AddKey(KeyOperationArgs { id, .. }) - | Operation::RevokeKey(KeyOperationArgs { id, .. }) => { - // verify that the hashchain already exists - let mut current_chain = self - .db - .get_hashchain(id) - .context(format!("Failed to get hashchain for ID {}", id))?; - - let hashed_id = hash(id.as_bytes()); - - let previous_hash = current_chain.last().context("Hashchain is empty")?.hash; - - let new_chain_entry = HashchainEntry::new(operation.clone(), previous_hash); - current_chain.push(new_chain_entry.operation.clone())?; - - debug!("updating hashchain for user id {}", id.clone()); - let proof = - tree.update(KeyHash::with::(hashed_id), current_chain.clone())?; - self.db - .set_hashchain(operation, ¤t_chain) - .context(format!( - "Failed to update hashchain for operation {:?}", - operation - ))?; - - Ok(Proof::Update(proof)) - } - Operation::CreateAccount(args) => { - let id = args.id.clone(); - match &args.challenge { - ServiceChallengeInput::Signed(_) => debug!("Signature verification for service challenge gate not yet implemented. Skipping verification.") - }; - - let hashchain: Result = self.db.get_hashchain(id.as_str()); - if hashchain.is_ok() { - return Err(DatabaseError::NotFoundError(format!( - "empty slot for ID {}", - id.clone() - )) - .into()); - } + id: &String, + ) -> Result> { + let tree = self.tree.lock().await; + let hashed_id = hash(id.as_bytes()); + let key_hash = KeyHash::with::(hashed_id); - debug!("creating new hashchain for user id {}", args.id); - let mut chain = Hashchain::new(id); - chain.create_account( - args.value.clone(), - args.signature.clone(), - args.service_id.clone(), - // TODO: Challenge is a placeholder rn - ServiceChallengeInput::Signed(Vec::new()), - )?; - - self.db.set_hashchain(operation, &chain).context(format!( - "Failed to create hashchain for operation {:?}", - operation - ))?; - - let hashed_id = hash(args.id.as_bytes()); - - Ok(Proof::Insert( - tree.insert(KeyHash::with::(hashed_id), chain)?, - )) - } - } + tree.get(key_hash) + } + + /// Updates the state from an already verified pending operation. + async fn process_operation(&self, operation: &Operation) -> Result { + let mut tree = self.tree.lock().await; + tree.process_operation(operation) } /// Adds an operation to be posted to the DA layer and applied in the next epoch. @@ -476,7 +404,9 @@ mod tests { use ed25519_dalek::Signer; use keystore_rs::create_signing_key; use prism_common::{ - operation::{CreateAccountArgs, PublicKey, ServiceChallengeInput, SignatureBundle}, + operation::{ + CreateAccountArgs, KeyOperationArgs, PublicKey, ServiceChallengeInput, SignatureBundle, + }, test_utils::create_mock_signing_key, }; use serial_test::serial; @@ -601,14 +531,13 @@ mod tests { #[serial] async fn test_process_operation() { let sequencer = create_test_sequencer().await; - let mut tree = sequencer.tree.lock().await; let signing_key = create_mock_signing_key(); let original_pubkey = PublicKey::Ed25519(signing_key.verifying_key().to_bytes().to_vec()); let create_account_op = create_random_user("test@example.com", signing_key.clone()); let proof = sequencer - .process_operation(&create_account_op, &mut tree) + .process_operation(&create_account_op) .await .unwrap(); assert!(matches!(proof, Proof::Insert(_))); @@ -617,19 +546,13 @@ mod tests { let pubkey = PublicKey::Ed25519(new_key.verifying_key().to_bytes().to_vec()); let add_key_op = add_key("test@example.com", 0, pubkey, signing_key); - let proof = sequencer - .process_operation(&add_key_op, &mut tree) - .await - .unwrap(); + let proof = sequencer.process_operation(&add_key_op).await.unwrap(); assert!(matches!(proof, Proof::Update(_))); // Revoke original key let revoke_op = revoke_key("test@example.com", 1, original_pubkey, new_key); - let proof = sequencer - .process_operation(&revoke_op, &mut tree) - .await - .unwrap(); + let proof = sequencer.process_operation(&revoke_op).await.unwrap(); assert!(matches!(proof, Proof::Update(_))); teardown_db(sequencer.db.clone()); @@ -639,7 +562,6 @@ mod tests { #[serial] async fn test_execute_block() { let sequencer = create_test_sequencer().await; - let mut tree = sequencer.tree.lock().await; let signing_key_1 = create_mock_signing_key(); let signing_key_2 = create_mock_signing_key(); @@ -655,10 +577,7 @@ mod tests { add_key("user1@example.com", 0, new_key, signing_key_1), ]; - let proofs = sequencer - .execute_block(operations, &mut tree) - .await - .unwrap(); + let proofs = sequencer.execute_block(operations).await.unwrap(); assert_eq!(proofs.len(), 3); teardown_db(sequencer.db.clone()); @@ -668,7 +587,7 @@ mod tests { #[serial] async fn test_finalize_new_epoch() { let sequencer = create_test_sequencer().await; - let mut tree = sequencer.tree.lock().await; + let tree = sequencer.tree.lock().await; let signing_key_1 = create_mock_signing_key(); let signing_key_2 = create_mock_signing_key(); @@ -685,10 +604,7 @@ mod tests { ]; let prev_commitment = tree.get_commitment().unwrap(); - sequencer - .finalize_new_epoch(0, operations, &mut tree) - .await - .unwrap(); + sequencer.finalize_new_epoch(0, operations).await.unwrap(); let new_commitment = tree.get_commitment().unwrap(); assert_ne!(prev_commitment, new_commitment); diff --git a/crates/prism/src/storage.rs b/crates/prism/src/storage.rs index f649bbbd..fde5c7d9 100644 --- a/crates/prism/src/storage.rs +++ b/crates/prism/src/storage.rs @@ -15,12 +15,8 @@ use std::{ }; use crate::cfg::RedisConfig; -use prism_common::{ - hashchain::{Hashchain, HashchainEntry}, - operation::Operation, - tree::Digest, -}; -use prism_errors::{DatabaseError, GeneralError, PrismError}; +use prism_common::tree::Digest; +use prism_errors::{DatabaseError, PrismError}; // there are different key prefixes for the different tables in the database // app_state:key => app state (just epoch counter for now) @@ -31,10 +27,6 @@ pub struct RedisConnection { #[auto_impl(&, Box, Arc)] pub trait Database: Send + Sync + TreeReader + TreeWriter { - fn get_hashchain(&self, key: &str) -> Result; - fn set_hashchain(&self, incoming_operation: &Operation, value: &[HashchainEntry]) - -> Result<()>; - fn get_commitment(&self, epoch: &u64) -> Result; fn set_commitment(&self, epoch: &u64, commitment: &Digest) -> Result<()>; @@ -163,21 +155,6 @@ impl TreeWriter for RedisConnection { } impl Database for RedisConnection { - fn get_hashchain(&self, key: &str) -> Result { - let mut con = self.lock_connection()?; - let value: String = con - .get(format!("main:{}", key)) - .map_err(|_| DatabaseError::NotFoundError(format!("hashchain key {}", key)))?; - - let res: Vec = serde_json::from_str(&value) - .map_err(|e| anyhow!(GeneralError::ParsingError(format!("hashchain: {}", e))))?; - - Ok(Hashchain { - id: key.to_string(), - entries: res, - }) - } - fn get_commitment(&self, epoch: &u64) -> Result { let mut con = self.lock_connection()?; let value = con @@ -200,27 +177,6 @@ impl Database for RedisConnection { .map_err(|_| anyhow!(DatabaseError::WriteError(format!("epoch: {}", epoch)))) } - fn set_hashchain( - &self, - incoming_operation: &Operation, - value: &[HashchainEntry], - ) -> Result<()> { - let mut con = self.lock_connection()?; - let value = serde_json::to_string(&value).map_err(|_| { - PrismError::General(GeneralError::ParsingError( - "hashchain to string".to_string(), - )) - })?; - let id = incoming_operation.id(); - con.set::<&str, String, ()>(&format!("main:{}", id), value) - .map_err(|_| { - anyhow!(DatabaseError::WriteError(format!( - "hashchain update for key: {}", - id - ))) - }) - } - fn set_commitment(&self, epoch: &u64, commitment: &Digest) -> Result<()> { let mut con = self.lock_connection()?; con.set::<&String, &String, ()>( @@ -243,158 +199,3 @@ impl Database for RedisConnection { .map_err(|_| anyhow!(DatabaseError::DeleteError("all entries".to_string()))) } } - -// #[cfg(test)] -// mod tests { -// use super::*; -// use crate::storage::Database; -// use prism_common::{ -// operation::{KeyOperationArgs, Operation, PublicKey, SignatureBundle}, -// test_utils::{ -// create_add_key_operation_with_test_value, create_mock_chain_entry, -// create_mock_signature, create_mock_signing_key, -// }, -// tree::hash, -// }; -// use serde::{Deserialize, Serialize}; -// use serial_test::serial; - -// // Helper functions - -// // set up redis connection and flush database before each test -// fn setup() -> RedisConnection { -// let redis_connection = RedisConnection::new(&RedisConfig::default()).unwrap(); -// redis_connection.flush_database().unwrap(); -// redis_connection -// } - -// // flush database after each test -// fn teardown(redis_connections: &RedisConnection) { -// redis_connections.flush_database().unwrap(); -// } - -// #[test] -// #[serial] -// fn test_get_hashchain() { -// let redis_connections = setup(); -// let signing_key = create_mock_signing_key(); - -// let incoming_operation = -// create_add_key_operation_with_test_value("main:test_key", &signing_key); -// let chain_entry = create_mock_chain_entry(&signing_key); -// redis_connections -// .set_hashchain(&incoming_operation, &[chain_entry.clone()]) -// .unwrap(); - -// let hashchain = redis_connections -// .get_hashchain(&incoming_operation.id()) -// .unwrap(); - -// let first = hashchain.get(0); - -// assert_eq!(first.hash, chain_entry.hash); -// assert_eq!(first.previous_hash, chain_entry.previous_hash); -// assert_eq!(first.operation, chain_entry.operation); - -// teardown(&redis_connections); -// } - -// #[test] -// #[serial] -// fn test_try_getting_hashchain_for_missing_key() { -// let redis_connections = setup(); -// let signing_key = create_mock_signing_key(); - -// let incoming_operation = -// create_add_key_operation_with_test_value("main:test_key", &signing_key); -// let chain_entry = create_mock_chain_entry(&signing_key); - -// redis_connections -// .set_hashchain(&incoming_operation, &[chain_entry.clone()]) -// .unwrap(); - -// let hashchain = redis_connections.get_hashchain("main:missing_test_key"); -// println!("{:?}", hashchain); -// assert!(hashchain.is_err()); - -// teardown(&redis_connections); -// } - -// #[test] -// #[serial] -// fn test_try_getting_wrong_formatted_hashchain_value() { -// let redis_connection = setup(); - -// let mut con = redis_connection.lock_connection().unwrap(); - -// #[derive(Serialize, Deserialize, Clone)] -// struct InvalidChainEntry { -// pub hash_val: String, // instead of just "hash" -// pub previous_hash: String, -// pub operation: Operation, -// } - -// let wrong_chain_entry = InvalidChainEntry { -// hash_val: "wrong".to_string(), -// previous_hash: "formatted".to_string(), -// operation: Operation::AddKey(KeyOperationArgs { -// id: "test".to_string(), -// value: PublicKey::Ed25519(vec![]), -// signature: SignatureBundle { -// key_idx: 0, -// signature: vec![], -// }, -// }), -// }; - -// let value = serde_json::to_string(&vec![wrong_chain_entry.clone()]).unwrap(); - -// con.set::<&String, String, String>( -// &"main:key_to_wrong_formatted_chain_entry".to_string(), -// value, -// ) -// .unwrap(); - -// drop(con); // drop the lock on the connection bc get_hashchain also needs a lock on the connection - -// let hashchain = redis_connection.get_hashchain("main:key_to_wrong_formatted_chain_entry"); - -// assert!(hashchain.is_err()); - -// teardown(&redis_connection); -// } - -// #[test] -// #[serial] -// /* -// TODO: In the test writing, it is noticeable that things may either not have been named correctly here, or need to be reconsidered. The update_hashchain function receives an IncomingEntry and a Vec as parameters. -// The Vec is the current state of the hashchain, the IncomingEntry is the new entry to be added. is to be added. Now, in hindsight, I would have expected that within the function the new hashchain would be created, -// or else just a value to a key-value pair is created. But neither is the case, instead there are two more update() functions outside of RedisConnections, which then creates the new hashchain is created. This needs to be discussed again with @distractedm1nd :) -// What should happen at the database level? Should the new hashchain be created? Or should only a new value be added to a key-value pair? -// */ -// fn test_update_hashchain() { -// let redis_connections = setup(); -// let signing_key = create_mock_signing_key(); - -// let incoming_operation = Operation::AddKey(KeyOperationArgs { -// id: "test_id".to_string(), -// value: PublicKey::Ed25519(signing_key.verifying_key().to_bytes().to_vec()), -// signature: create_mock_signature(&signing_key, b"test_id"), -// }); - -// let chain_entries: Vec = vec![create_mock_chain_entry(&signing_key)]; - -// match redis_connections.set_hashchain(&incoming_operation, &chain_entries) { -// Ok(_) => (), -// Err(e) => panic!("Failed to update hashchain: {}", e), -// } - -// let hashchain = redis_connections -// .get_hashchain(&incoming_operation.id()) -// .unwrap(); -// assert_eq!(hashchain.get(0).hash, hash(b"test_hash")); -// assert_eq!(hashchain.len(), 1); - -// teardown(&redis_connections); -// } -// } diff --git a/crates/prism/src/webserver.rs b/crates/prism/src/webserver.rs index 8735024c..65bc2b0b 100644 --- a/crates/prism/src/webserver.rs +++ b/crates/prism/src/webserver.rs @@ -142,8 +142,13 @@ async fn get_hashchain( State(session): State>, Json(request): Json, ) -> impl IntoResponse { - match session.db.get_hashchain(&request.id) { - Ok(hashchain) => (StatusCode::OK, Json(UserKeyResponse { hashchain })).into_response(), + match session.get_hashchain(&request.id).await { + Ok(hashchain_or_proof) => match hashchain_or_proof { + Ok(hashchain) => (StatusCode::OK, Json(UserKeyResponse { hashchain })).into_response(), + Err(non_inclusion_proof) => { + (StatusCode::BAD_REQUEST, Json(non_inclusion_proof)).into_response() + } + }, Err(err) => ( StatusCode::BAD_REQUEST, format!("Couldn't get hashchain: {}", err), diff --git a/crates/sp1/src/main.rs b/crates/sp1/src/main.rs index 32c4decd..fa15638e 100644 --- a/crates/sp1/src/main.rs +++ b/crates/sp1/src/main.rs @@ -23,7 +23,7 @@ pub fn main() { // todo: @sebastian fix error handling if let Some(new_entry) = p.new_value.last() { let message = - dbg!(bincode::serialize(&new_entry.operation.without_signature()).unwrap()); + bincode::serialize(&new_entry.operation.without_signature()).unwrap(); let signature_bundle = new_entry.operation.get_signature_bundle().unwrap(); let public_key = p @@ -33,7 +33,6 @@ pub fn main() { ) .unwrap(); - // let public_key = dbg!(new_entry.operation.get_public_key().unwrap()); p.new_value .verify_signature(&public_key, &message, &signature_bundle.signature) .unwrap(); diff --git a/elf/riscv32im-succinct-zkvm-elf b/elf/riscv32im-succinct-zkvm-elf index 542070ad3803165a44bc9d3b496968ee0b88d4e9..77d4eb40851ca518f6e080536e775a1f9bab29a5 100755 GIT binary patch delta 154502 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

2=(vb0A1dY2eOJ2m9j(zDimEz2392)s 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

Q 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 G`SbsFADzko