Skip to content

Commit 6f00f4b

Browse files
fixing
1 parent 171e6eb commit 6f00f4b

File tree

5 files changed

+20
-48
lines changed

5 files changed

+20
-48
lines changed

Cargo.toml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,7 @@ members = [
2222
"crates/errors",
2323
"crates/sp1",
2424
]
25-
default-members = [
26-
"crates/prism",
27-
"crates/common",
28-
"crates/nova",
29-
"crates/groth16",
30-
"crates/errors",
31-
]
25+
default-members = ["crates/prism", "crates/common", "crates/errors"]
3226
resolver = "2"
3327

3428
[workspace.dependencies]

crates/prism/src/da/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
use crate::utils::SignedContent;
21
use anyhow::Result;
32
use async_trait::async_trait;
43
use bincode;
54
use ed25519::Signature;
6-
use prism_common::{operation::Operation, tree::Digest};
5+
use prism_common::{operation::Operation, signed_content::SignedContent, tree::Digest};
76
use prism_errors::GeneralError;
87
use serde::{Deserialize, Serialize};
98
use sp1_sdk::SP1ProofWithPublicValues;

crates/prism/src/node_types/lightclient.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ use sp1_sdk::{ProverClient, SP1VerifyingKey};
77
use std::{self, sync::Arc};
88
use tokio::{sync::broadcast, task::spawn};
99

10-
use crate::{da::DataAvailabilityLayer, node_types::NodeType, utils::verify_signature};
10+
use crate::{da::DataAvailabilityLayer, node_types::NodeType};
11+
use prism_common::signed_content::verify_signature;
1112

1213
pub const PRISM_ELF: &[u8] = include_bytes!("../../../../elf/riscv32im-succinct-zkvm-elf");
1314

crates/prism/src/node_types/sequencer.rs

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -429,26 +429,13 @@ impl Sequencer {
429429

430430
Ok(Proof::Update(proof))
431431
}
432-
Operation::CreateAccount(CreateAccountArgs {
433-
id,
434-
value,
435-
signature,
436-
service_id,
437-
challenge,
438-
}) => {
439-
// validation of account source
440-
match challenge {
441-
// TODO: use Signature, not String
442-
AccountSource::SignedBySequencer { signature } => {
443-
let sig = Signature::from_str(signature)
444-
.context("Failed to parse sequencer's signature")?;
445-
self.key
446-
.verify(format!("{}{:?}", id, value).as_bytes(), &sig)
447-
.map_err(GeneralError::InvalidSignature)
448-
}
449-
}?;
432+
Operation::CreateAccount(args) => {
433+
let id = args.id.clone();
434+
match &args.challenge {
435+
ServiceChallengeInput::Signed(_) => debug!("Signature verification for service challenge gate not yet implemented. Skipping verification.")
436+
};
450437

451-
let hashchain: Result<Hashchain> = self.db.get_hashchain(id);
438+
let hashchain: Result<Hashchain> = self.db.get_hashchain(id.as_str());
452439
if hashchain.is_ok() {
453440
return Err(DatabaseError::NotFoundError(format!(
454441
"empty slot for ID {}",
@@ -457,13 +444,13 @@ impl Sequencer {
457444
.into());
458445
}
459446

460-
debug!("creating new hashchain for user id {}", id.clone());
461-
let mut chain = Hashchain::new(id.clone());
462-
// TODO: Challenge is a placeholder rn
447+
debug!("creating new hashchain for user id {}", args.id);
448+
let mut chain = Hashchain::new(id);
463449
chain.create_account(
464-
*value,
465-
*signature,
466-
*service_id,
450+
args.value.clone(),
451+
args.signature.clone(),
452+
args.service_id.clone(),
453+
// TODO: Challenge is a placeholder rn
467454
ServiceChallengeInput::Signed(Vec::new()),
468455
)?;
469456

@@ -472,7 +459,7 @@ impl Sequencer {
472459
operation
473460
))?;
474461

475-
let hashed_id = hash(id.as_bytes());
462+
let hashed_id = hash(args.id.as_bytes());
476463

477464
Ok(Proof::Insert(
478465
tree.insert(KeyHash::with::<Hasher>(hashed_id), chain)?,

crates/prism/src/webserver.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
use crate::{
2-
cfg::WebServerConfig,
3-
node_types::sequencer::Sequencer,
4-
utils::{verify_signature, SignedContent},
5-
};
1+
use crate::{cfg::WebServerConfig, node_types::sequencer::Sequencer};
62
use anyhow::{Context, Result};
73
use axum::{
84
extract::State,
@@ -11,18 +7,13 @@ use axum::{
117
routing::{get, post},
128
Json, Router,
139
};
14-
use ed25519::Signature;
1510
use indexed_merkle_tree::{
1611
tree::{Proof, UpdateProof},
1712
Hash as TreeHash,
1813
};
19-
use prism_common::{
20-
hashchain::Hashchain,
21-
operation::{CreateAccountArgs, KeyOperationArgs, Operation, ServiceChallengeInput},
22-
};
23-
use prism_errors::GeneralError;
14+
use prism_common::{hashchain::Hashchain, operation::Operation};
2415
use serde::{Deserialize, Serialize};
25-
use std::{self, str::FromStr, sync::Arc};
16+
use std::{self, sync::Arc};
2617
use tower_http::cors::CorsLayer;
2718
use utoipa::{OpenApi, ToSchema};
2819
use utoipa_swagger_ui::SwaggerUi;

0 commit comments

Comments
 (0)