Skip to content

Commit 3c63ddc

Browse files
fix: remove asserts from risc0 and sp1 (#557)
Co-authored-by: Mariano A. Nicolini <mariano.nicolini.91@gmail.com>
1 parent 75604dc commit 3c63ddc

2 files changed

Lines changed: 27 additions & 25 deletions

File tree

operator/risc_zero/lib/src/lib.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,13 @@ pub extern "C" fn verify_risc_zero_receipt_ffi(
77
image_id: *const u8,
88
image_id_len: u32,
99
) -> bool {
10-
let receipt_bytes = unsafe {
11-
assert!(!receipt_bytes.is_null());
12-
std::slice::from_raw_parts(receipt_bytes, receipt_len as usize)
13-
};
10+
if receipt_bytes.is_null() || image_id.is_null() {
11+
return false;
12+
}
13+
14+
let receipt_bytes = unsafe { std::slice::from_raw_parts(receipt_bytes, receipt_len as usize) };
1415

15-
let image_id = unsafe {
16-
assert!(!image_id.is_null());
17-
std::slice::from_raw_parts(image_id, image_id_len as usize)
18-
};
16+
let image_id = unsafe { std::slice::from_raw_parts(image_id, image_id_len as usize) };
1917

2018
let mut image_id_array = [0u8; 32];
2119
image_id_array.copy_from_slice(image_id);
@@ -31,7 +29,9 @@ mod tests {
3129
use super::*;
3230

3331
const RECEIPT: &[u8] = include_bytes!("../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci.proof");
34-
const IMAGE_ID: &[u8] = include_bytes!("../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/fibonacci_id.bin");
32+
const IMAGE_ID: &[u8] = include_bytes!(
33+
"../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/fibonacci_id.bin"
34+
);
3535

3636
#[test]
3737
fn verify_risc_zero_receipt_with_image_id_works() {

operator/sp1/lib/src/lib.rs

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use std::slice;
2-
use sp1_sdk::ProverClient;
31
use lazy_static::lazy_static;
2+
use sp1_sdk::ProverClient;
3+
use std::slice;
44

55
lazy_static! {
66
static ref PROVER_CLIENT: ProverClient = ProverClient::new();
@@ -13,15 +13,13 @@ pub extern "C" fn verify_sp1_proof_ffi(
1313
elf_bytes: *const u8,
1414
elf_len: u32,
1515
) -> bool {
16-
let proof_bytes = unsafe {
17-
assert!(!proof_bytes.is_null());
18-
slice::from_raw_parts(proof_bytes, proof_len as usize)
19-
};
16+
if proof_bytes.is_null() || elf_bytes.is_null() {
17+
return false;
18+
}
19+
20+
let proof_bytes = unsafe { slice::from_raw_parts(proof_bytes, proof_len as usize) };
2021

21-
let elf_bytes = unsafe {
22-
assert!(!elf_bytes.is_null());
23-
slice::from_raw_parts(elf_bytes, elf_len as usize)
24-
};
22+
let elf_bytes = unsafe { slice::from_raw_parts(elf_bytes, elf_len as usize) };
2523

2624
if let Ok(proof) = bincode::deserialize(proof_bytes) {
2725
let (_pk, vk) = PROVER_CLIENT.setup(elf_bytes);
@@ -35,17 +33,16 @@ pub extern "C" fn verify_sp1_proof_ffi(
3533
mod tests {
3634
use super::*;
3735

38-
const PROOF: &[u8] =
39-
include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci.proof");
40-
const ELF: &[u8] =
41-
include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci.elf");
36+
const PROOF: &[u8] = include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci.proof");
37+
const ELF: &[u8] = include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci.elf");
4238

4339
#[test]
4440
fn verify_sp1_proof_with_elf_works() {
4541
let proof_bytes = PROOF.as_ptr();
4642
let elf_bytes = ELF.as_ptr();
4743

48-
let result = verify_sp1_proof_ffi(proof_bytes, PROOF.len() as u32, elf_bytes, ELF.len() as u32);
44+
let result =
45+
verify_sp1_proof_ffi(proof_bytes, PROOF.len() as u32, elf_bytes, ELF.len() as u32);
4946
assert!(result)
5047
}
5148

@@ -54,7 +51,12 @@ mod tests {
5451
let proof_bytes = PROOF.as_ptr();
5552
let elf_bytes = ELF.as_ptr();
5653

57-
let result = verify_sp1_proof_ffi(proof_bytes, (PROOF.len() - 1) as u32, elf_bytes, ELF.len() as u32);
54+
let result = verify_sp1_proof_ffi(
55+
proof_bytes,
56+
(PROOF.len() - 1) as u32,
57+
elf_bytes,
58+
ELF.len() as u32,
59+
);
5860
assert!(!result)
5961
}
6062
}

0 commit comments

Comments
 (0)