diff --git a/src/ffi.rs b/src/ffi.rs index 5635a90..af527b0 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -76,79 +76,6 @@ pub unsafe extern "C" fn init( /// Use after constructing a StorageProofs object with init #[no_mangle] pub unsafe extern "C" fn prove( - prover_ptr: *mut StorageProofs, - chunks: *const Buffer, - siblings: *const Buffer, - hashes: *const Buffer, - path: *const i32, - path_len: usize, - pubkey: *const Buffer, - root: *const Buffer, - salt: *const Buffer, -) -> *mut ProofCtx { - let chunks = { - let slice = std::slice::from_raw_parts((*chunks).data, (*chunks).len); - slice - .chunks(U256::BYTES) - .map(|c| U256::try_from_le_slice(c).unwrap()) - .collect::>() - }; - - let siblings = { - let slice = std::slice::from_raw_parts((*siblings).data, (*siblings).len); - slice - .chunks(U256::BYTES) - .map(|c| U256::try_from_le_slice(c).unwrap()) - .collect::>() - }; - - let hashes = { - let slice = std::slice::from_raw_parts((*hashes).data, (*hashes).len); - slice - .chunks(U256::BYTES) - .map(|c| U256::try_from_le_slice(c).unwrap()) - .collect::>() - }; - - let path = { - let slice = std::slice::from_raw_parts(path, path_len); - slice.to_vec() - }; - - let _pubkey = - U256::try_from_le_slice(std::slice::from_raw_parts((*pubkey).data, (*pubkey).len)).unwrap(); - - let root = - U256::try_from_le_slice(std::slice::from_raw_parts((*root).data, (*root).len)).unwrap(); - - let salt = - U256::try_from_le_slice(std::slice::from_raw_parts((*salt).data, (*salt).len)).unwrap(); - - let proof_bytes = &mut Vec::new(); - let public_inputs_bytes = &mut Vec::new(); - - let mut _prover = &mut *prover_ptr; - _prover - .prove( - chunks.as_slice(), - siblings.as_slice(), - hashes.as_slice(), - path.as_slice(), - root, - salt, - proof_bytes, - public_inputs_bytes, - ) - .unwrap(); - - Box::into_raw(Box::new(ProofCtx::new(proof_bytes, public_inputs_bytes))) -} - -/// # Safety -/// -/// Use after constructing a StorageProofs object with init -#[no_mangle] -pub unsafe extern "C" fn prove_mpack( prover_ptr: *mut StorageProofs, args: *const Buffer, ) -> *mut ProofCtx {