update init to remove redundant pointers

This commit is contained in:
Jaremy Creechley 2023-12-22 19:12:39 -07:00
parent fb32a7217e
commit 951ca3fa0e
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300

View File

@ -37,32 +37,25 @@ impl ProofCtx {
/// Construct a StorageProofs object /// Construct a StorageProofs object
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn init( pub unsafe extern "C" fn init(
r1cs: const Buffer, r1cs: Buffer,
wasm: const Buffer, wasm: Buffer,
zkey: const Buffer, zkey: *const Buffer,
) -> *mut StorageProofs { ) -> *mut StorageProofs {
let r1cs = { let r1cs = {
if r1cs.is_null() {
return std::ptr::null_mut();
}
let slice = std::slice::from_raw_parts((*r1cs).data, (*r1cs).len); let slice = std::slice::from_raw_parts((r1cs).data, (r1cs).len);
str::from_utf8(slice).unwrap().to_string() str::from_utf8(slice).unwrap().to_string().to_owned()
}; };
let wasm = { let wasm = {
if wasm.is_null() { let slice = std::slice::from_raw_parts((wasm).data, (wasm).len);
return std::ptr::null_mut(); str::from_utf8(slice).unwrap().to_string().to_owned()
}
let slice = std::slice::from_raw_parts((*wasm).data, (*wasm).len);
str::from_utf8(slice).unwrap().to_string()
}; };
let zkey = { let zkey = {
if !zkey.is_null() { if !zkey.is_null() {
let slice = std::slice::from_raw_parts((*zkey).data, (*zkey).len); let slice = std::slice::from_raw_parts((*zkey).data, (*zkey).len);
Some(str::from_utf8(slice).unwrap().to_string()) Some(str::from_utf8(slice).unwrap().to_string().to_owned())
} else { } else {
None None
} }
@ -386,17 +379,17 @@ mod tests {
let r1cs_path = "src/circuit_tests/artifacts/storer-test.r1cs"; let r1cs_path = "src/circuit_tests/artifacts/storer-test.r1cs";
let wasm_path = "src/circuit_tests/artifacts/storer-test_js/storer-test.wasm"; let wasm_path = "src/circuit_tests/artifacts/storer-test_js/storer-test.wasm";
let r1cs = &Buffer { let r1cs = Buffer {
data: r1cs_path.as_ptr(), data: r1cs_path.as_ptr(),
len: r1cs_path.len(), len: r1cs_path.len(),
}; };
let wasm = &Buffer { let wasm = Buffer {
data: wasm_path.as_ptr(), data: wasm_path.as_ptr(),
len: wasm_path.len(), len: wasm_path.len(),
}; };
let prover_ptr = unsafe { init(&r1cs, &wasm, std::ptr::null()) }; let prover_ptr = unsafe { init(r1cs, wasm, std::ptr::null()) };
let prove_ctx: *mut crate::ffi::ProofCtx = unsafe { let prove_ctx: *mut crate::ffi::ProofCtx = unsafe {
prove_mpack_ext( prove_mpack_ext(
prover_ptr, prover_ptr,
@ -484,17 +477,17 @@ mod tests {
let r1cs_path = "src/circuit_tests/artifacts/storer-test.r1cs"; let r1cs_path = "src/circuit_tests/artifacts/storer-test.r1cs";
let wasm_path = "src/circuit_tests/artifacts/storer-test_js/storer-test.wasm"; let wasm_path = "src/circuit_tests/artifacts/storer-test_js/storer-test.wasm";
let r1cs = &Buffer { let r1cs = Buffer {
data: r1cs_path.as_ptr(), data: r1cs_path.as_ptr(),
len: r1cs_path.len(), len: r1cs_path.len(),
}; };
let wasm = &Buffer { let wasm = Buffer {
data: wasm_path.as_ptr(), data: wasm_path.as_ptr(),
len: wasm_path.len(), len: wasm_path.len(),
}; };
let prover_ptr = unsafe { init(&r1cs, &wasm, std::ptr::null()) }; let prover_ptr = unsafe { init(r1cs, wasm, std::ptr::null()) };
let prove_ctx: *mut crate::ffi::ProofCtx = unsafe { let prove_ctx: *mut crate::ffi::ProofCtx = unsafe {
prove( prove(
prover_ptr, prover_ptr,