mirror of
https://github.com/logos-storage/logos-storage-proofs.git
synced 2026-01-02 13:33:10 +00:00
refactor
This commit is contained in:
parent
5f07bff2df
commit
7bea9e83a0
@ -50,45 +50,45 @@ impl StorageProofs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn prove(
|
// pub fn prove(
|
||||||
&mut self,
|
// &mut self,
|
||||||
chunks: &[U256],
|
// chunks: &[U256],
|
||||||
siblings: &[U256],
|
// siblings: &[U256],
|
||||||
hashes: &[U256],
|
// hashes: &[U256],
|
||||||
path: &[i32],
|
// path: &[i32],
|
||||||
root: U256,
|
// root: U256,
|
||||||
salt: U256,
|
// salt: U256,
|
||||||
proof_bytes: &mut Vec<u8>,
|
// proof_bytes: &mut Vec<u8>,
|
||||||
public_inputs_bytes: &mut Vec<u8>,
|
// public_inputs_bytes: &mut Vec<u8>,
|
||||||
) -> Result<(), String> {
|
// ) -> Result<(), String> {
|
||||||
let mut builder = self.builder.clone();
|
// let mut builder = self.builder.clone();
|
||||||
|
|
||||||
// vec of vecs is flattened, since wasm expects a contiguous array in memory
|
// // vec of vecs is flattened, since wasm expects a contiguous array in memory
|
||||||
chunks.iter().for_each(|c| builder.push_input("chunks", *c));
|
// chunks.iter().for_each(|c| builder.push_input("chunks", *c));
|
||||||
|
|
||||||
siblings
|
// siblings
|
||||||
.iter()
|
// .iter()
|
||||||
.for_each(|c| builder.push_input("siblings", *c));
|
// .for_each(|c| builder.push_input("siblings", *c));
|
||||||
|
|
||||||
hashes.iter().for_each(|c| builder.push_input("hashes", *c));
|
// hashes.iter().for_each(|c| builder.push_input("hashes", *c));
|
||||||
path.iter().for_each(|c| builder.push_input("path", *c));
|
// path.iter().for_each(|c| builder.push_input("path", *c));
|
||||||
|
|
||||||
builder.push_input("root", root);
|
// builder.push_input("root", root);
|
||||||
builder.push_input("salt", salt);
|
// builder.push_input("salt", salt);
|
||||||
|
|
||||||
let circuit = builder.build().map_err(|e| e.to_string())?;
|
// let circuit = builder.build().map_err(|e| e.to_string())?;
|
||||||
let inputs = circuit
|
// let inputs = circuit
|
||||||
.get_public_inputs()
|
// .get_public_inputs()
|
||||||
.ok_or("Unable to get public inputs!")?;
|
// .ok_or("Unable to get public inputs!")?;
|
||||||
let proof = prove(circuit, &self.params, &mut self.rng).map_err(|e| e.to_string())?;
|
// let proof = prove(circuit, &self.params, &mut self.rng).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
proof.serialize(proof_bytes).map_err(|e| e.to_string())?;
|
// proof.serialize(proof_bytes).map_err(|e| e.to_string())?;
|
||||||
inputs
|
// inputs
|
||||||
.serialize(public_inputs_bytes)
|
// .serialize(public_inputs_bytes)
|
||||||
.map_err(|e| e.to_string())?;
|
// .map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
Ok(())
|
// Ok(())
|
||||||
}
|
// }
|
||||||
|
|
||||||
pub fn prove_run(
|
pub fn prove_run(
|
||||||
&mut self,
|
&mut self,
|
||||||
@ -188,7 +188,7 @@ fn parse_mpack_args(builder: &mut CircomBuilder<Params256Ty>, mut inputs: &[u8])
|
|||||||
// ie, "path" => "/some/file/path"
|
// ie, "path" => "/some/file/path"
|
||||||
rmpv::Value::String(s) => {
|
rmpv::Value::String(s) => {
|
||||||
let s = s.clone().into_bytes();
|
let s = s.clone().into_bytes();
|
||||||
s.iter().for_each(|c| builder.push_input(name, *c));
|
s.iter().for_each(|c| builder.push_input(name, (*c) as i32));
|
||||||
}
|
}
|
||||||
// directly add a (name,u256) arg pair
|
// directly add a (name,u256) arg pair
|
||||||
rmpv::Value::Ext(_, _) => {
|
rmpv::Value::Ext(_, _) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user