Skip to content

Commit 65c1758

Browse files
refactor(provers): clean up imports and errors (#315)
* refactor(provers): clean up imports and errors * fix(sgx): clippy fixes * fix(risc0): fix return type * fix(sp1): add tracing and fix typo * fix(sp1): add tracing to enabled crates * refactor(risc0): rename variable
1 parent ae8858c commit 65c1758

File tree

18 files changed

+73
-159
lines changed

18 files changed

+73
-159
lines changed

Cargo.lock

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provers/risc0/driver/src/lib.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
#![cfg(feature = "enable")]
2-
use std::fmt::Debug;
32

43
use alloy_primitives::B256;
5-
64
use hex::ToHex;
7-
85
use raiko_lib::{
96
input::{GuestInput, GuestOutput},
10-
prover::{to_proof, Proof, Prover, ProverConfig, ProverResult},
7+
prover::{to_proof, Proof, Prover, ProverConfig, ProverError, ProverResult},
118
};
129
use risc0_zkvm::{serde::to_vec, sha::Digest};
1310
use serde::{Deserialize, Serialize};
1411
use serde_with::serde_as;
15-
use tracing::info as traicing_info;
12+
use std::fmt::Debug;
13+
use tracing::{debug, info as traicing_info};
1614

1715
use crate::{
1816
methods::risc0_guest::{RISC0_GUEST_ELF, RISC0_GUEST_ID},
1917
snarks::verify_groth16_snark,
2018
};
19+
2120
pub use bonsai::*;
2221

2322
pub mod bonsai;
@@ -47,7 +46,7 @@ impl Prover for Risc0Prover {
4746
) -> ProverResult<Proof> {
4847
let config = Risc0Param::deserialize(config.get("risc0").unwrap()).unwrap();
4948

50-
println!("elf code length: {}", RISC0_GUEST_ELF.len());
49+
debug!("elf code length: {}", RISC0_GUEST_ELF.len());
5150
let encoded_input = to_vec(&input).expect("Could not serialize proving input!");
5251

5352
let result = maybe_prove::<GuestInput, B256>(
@@ -64,7 +63,9 @@ impl Prover for Risc0Prover {
6463
// Create/verify Groth16 SNARK
6564
if config.snark {
6665
let Some((stark_uuid, stark_receipt)) = result else {
67-
panic!("No STARK data to snarkify!");
66+
return Err(ProverError::GuestError(
67+
"No STARK data to snarkify!".to_owned(),
68+
));
6869
};
6970
let image_id = Digest::from(RISC0_GUEST_ID);
7071
let (snark_uuid, snark_receipt) =

provers/risc0/guest/Cargo.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provers/risc0/guest/src/benchmark/sha256.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
#![no_main]
22
harness::entrypoint!(main);
3+
use revm_precompile::zk_op::ZkvmOperator;
34
use risc0_zkvm::guest::env;
45
use std::hint::black_box;
5-
6-
use revm_precompile::zk_op::ZkvmOperator;
76
use zk_op::Risc0Operator;
87

98
fn main() {

provers/risc0/guest/src/main.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
#![no_main]
22
harness::entrypoint!(main, tests, zk_op::tests);
3-
use risc0_zkvm::guest::env;
4-
5-
use raiko_lib::protocol_instance::ProtocolInstance;
63
use raiko_lib::{
7-
consts::VerifierType,
8-
builder::calculate_block_header,
9-
input::GuestInput,
4+
builder::calculate_block_header, consts::VerifierType, input::GuestInput,
5+
protocol_instance::ProtocolInstance,
106
};
117
use revm_precompile::zk_op::ZkOperation;
8+
use risc0_zkvm::guest::env;
129
use zk_op::Risc0Operator;
1310

1411
pub mod mem;

provers/risc0/guest/src/zk_op.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ harness::zk_suits!(
9696
for v in test_ves.iter() {
9797
let (input, expected) = *v;
9898
let result: [u8; 32] = Sha256::digest(input.as_bytes()).into();
99-
assert!(result == expected);
99+
assert_eq!(result, expected);
100100
}
101101
}
102102
}

provers/sgx/guest/src/main.rs

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
mod app_args;
2-
mod one_shot;
3-
mod signature;
4-
51
extern crate rand;
62
extern crate secp256k1;
73

84
use anyhow::{anyhow, Result};
9-
use app_args::{App, Command};
105
use clap::Parser;
11-
use one_shot::{bootstrap, load_bootstrap, one_shot};
6+
7+
use crate::{
8+
app_args::{App, Command},
9+
one_shot::{bootstrap, load_bootstrap, one_shot},
10+
};
11+
12+
mod app_args;
13+
mod one_shot;
14+
mod signature;
1215

1316
#[tokio::main]
1417
pub async fn main() -> Result<()> {
@@ -26,7 +29,7 @@ pub async fn main() -> Result<()> {
2629
Command::Check => {
2730
println!("Checking if bootstrap is readable");
2831
load_bootstrap(&args.global_opts.secrets_dir)
29-
.map_err(|err| anyhow!("check booststrap failed: {}", err))?;
32+
.map_err(|err| anyhow!("check booststrap failed: {err}"))?;
3033
}
3134
}
3235

provers/sgx/guest/src/setup_bootstrap.rs

-85
This file was deleted.

provers/sgx/prover/src/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#![cfg(feature = "enable")]
2+
23
use std::{
34
env,
45
fs::{copy, create_dir_all, remove_file},
@@ -277,8 +278,7 @@ async fn prove(
277278
Ok(parse_sgx_result(output.stdout)?)
278279
}
279280
(Err(i), output_success) => Err(ProverError::GuestError(format!(
280-
"Can not serialize input for SGX {}, output is {:?}",
281-
i, output_success
281+
"Can not serialize input for SGX {i}, output is {output_success:?}"
282282
))),
283283
(Ok(_), Err(output_err)) => Err(ProverError::GuestError(
284284
handle_gramine_error("Could not run SGX guest prover", output_err).to_string(),
@@ -315,7 +315,7 @@ fn parse_sgx_result(output: Vec<u8>) -> ProverResult<SgxResponse, String> {
315315

316316
fn handle_gramine_error(context: &str, err: std::io::Error) -> String {
317317
if let std::io::ErrorKind::NotFound = err.kind() {
318-
format!("gramine could not be found, please install gramine first. ({err})",)
318+
format!("gramine could not be found, please install gramine first. ({err})")
319319
} else {
320320
format!("{context}: {err}")
321321
}

provers/sgx/prover/src/sgx_register_utils.rs

+9-15
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,11 @@ const REGISTERED_FILE: &str = "registered";
1414

1515
pub fn get_instance_id(dir: &Path) -> Result<Option<u64>> {
1616
let file = dir.join(REGISTERED_FILE);
17-
let id = match fs::read_to_string(file) {
18-
Ok(t) => Some(t.parse()?),
19-
Err(e) => {
20-
if e.kind() == io::ErrorKind::NotFound {
21-
None
22-
} else {
23-
return Err(e.into());
24-
}
25-
}
26-
};
27-
Ok(id)
17+
match fs::read_to_string(file) {
18+
Ok(t) => Ok(Some(t.parse()?)),
19+
Err(e) if e.kind() == io::ErrorKind::NotFound => Ok(None),
20+
Err(e) => Err(e.into()),
21+
}
2822
}
2923

3024
pub fn set_instance_id(dir: &Path, id: u64) -> io::Result<()> {
@@ -276,7 +270,7 @@ pub async fn register_sgx_instance(
276270
let sender_priv_key = env::var("SENDER_PRIV_KEY").expect("SENDER_PRIV_KEY is not set");
277271
let mut wallet: PrivateKeySigner = sender_priv_key.as_str().parse().unwrap();
278272
wallet.set_chain_id(Some(chain_id));
279-
println!("wallet: {:?}", wallet);
273+
println!("wallet: {wallet:?}");
280274

281275
// init rpc conn
282276
let http = Http::new(Url::parse(l1_rpc_url).expect("invalid rpc url"));
@@ -321,7 +315,7 @@ pub async fn register_sgx_instance(
321315

322316
let log = tx_receipt.inner.as_receipt().unwrap().logs.first().unwrap();
323317
let sgx_id: u64 = u64::from_be_bytes(log.topics()[1].0[24..].try_into().unwrap());
324-
println!("register sgx instance id: {:?}", sgx_id);
318+
println!("register sgx instance id: {sgx_id:?}");
325319

326320
Ok(sgx_id)
327321
}
@@ -341,7 +335,7 @@ mod test {
341335
#[test]
342336
fn test_parse_quote() {
343337
let parsed_quote = parse_quote(SAMPLE_QUOTE[1]);
344-
println!("{:?}", parsed_quote);
338+
println!("{parsed_quote:?}");
345339
}
346340

347341
#[ignore = "anvil test"]
@@ -351,7 +345,7 @@ mod test {
351345
let res = rt
352346
.block_on(simple_test_register_sgx_instance(SAMPLE_QUOTE[0]))
353347
.unwrap();
354-
println!("test_tx_call_register {:?}", res);
348+
println!("test_tx_call_register {res:?}");
355349
}
356350

357351
async fn simple_test_register_sgx_instance(

provers/sgx/setup/src/main.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
mod app_args;
2-
mod setup_bootstrap;
3-
41
use anyhow::Result;
5-
use app_args::{App, Command};
62
use clap::Parser;
7-
use setup_bootstrap::setup_bootstrap;
3+
4+
use crate::{
5+
app_args::{App, Command},
6+
setup_bootstrap::setup_bootstrap,
7+
};
8+
9+
mod app_args;
10+
mod setup_bootstrap;
811

912
#[tokio::main]
1013
pub async fn main() -> Result<()> {
1114
let args = App::parse();
1215

1316
match args.command {
1417
Command::Bootstrap(sgx_bootstrap_args) => {
15-
println!("Setup bootstrapping: {:?}", sgx_bootstrap_args);
18+
println!("Setup bootstrapping: {sgx_bootstrap_args:?}");
1619
setup_bootstrap(
1720
args.global_opts.secrets_dir,
1821
args.global_opts.config_dir,

provers/sgx/setup/src/setup_bootstrap.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ use std::{
33
fs::{self, File},
44
io::BufReader,
55
path::PathBuf,
6+
process::Command,
67
};
78

8-
use crate::app_args::BootstrapArgs;
99
use anyhow::{anyhow, Context, Result};
1010
use raiko_lib::consts::{SupportedChainSpecs, VerifierType};
1111
use serde_json::{Number, Value};
1212
use sgx_prover::{
1313
bootstrap, check_bootstrap, get_instance_id, register_sgx_instance, remove_instance_id,
1414
set_instance_id, ELF_NAME,
1515
};
16-
use std::process::Command;
16+
17+
use crate::app_args::BootstrapArgs;
1718

1819
pub(crate) async fn setup_bootstrap(
1920
secret_dir: PathBuf,
@@ -46,13 +47,13 @@ pub(crate) async fn setup_bootstrap(
4647
let need_init = check_bootstrap(secret_dir.clone(), gramine_cmd())
4748
.await
4849
.map_err(|e| {
49-
println!("Error checking bootstrap: {:?}", e);
50+
println!("Error checking bootstrap: {e:?}");
5051
e
5152
})
5253
.is_err()
5354
|| instance_id.is_none();
5455

55-
println!("Instance ID: {:?}", instance_id);
56+
println!("Instance ID: {instance_id:?}");
5657

5758
if need_init {
5859
// clean check file
@@ -70,7 +71,7 @@ pub(crate) async fn setup_bootstrap(
7071
)
7172
.await
7273
.map_err(|e| anyhow::Error::msg(e.to_string()))?;
73-
println!("Saving instance id {}", register_id,);
74+
println!("Saving instance id {register_id}");
7475
// set check file
7576
set_instance_id(&config_dir, register_id)?;
7677

0 commit comments

Comments
 (0)