WIP: Lightweight version of ark-circom (#41)

* remove ethers-core

* test

* return ethereum and add a feature

* lint fixes

---------

Co-authored-by: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Co-authored-by: tyshkor <tyshko1@gmail.com>
This commit is contained in:
tyshko-rostyslav
2023-02-11 03:32:52 +01:00
committed by GitHub
parent e226f90591
commit 5a1b78b320
5 changed files with 484 additions and 354 deletions

View File

@@ -73,7 +73,7 @@ impl<E: PairingEngine> R1CSFile<E> {
for _ in 0..num_sections {
let sec_type = reader.read_u32::<LittleEndian>()?;
let sec_size = reader.read_u64::<LittleEndian>()?;
let offset = reader.seek(SeekFrom::Current(0))?;
let offset = reader.stream_position()?;
sec_offsets.insert(sec_type, offset);
sec_sizes.insert(sec_type, sec_size);
reader.seek(SeekFrom::Current(sec_size as i64))?;

View File

@@ -7,6 +7,7 @@ pub use witness::WitnessCalculator;
pub mod circom;
pub use circom::{CircomBuilder, CircomCircuit, CircomConfig, CircomReduction};
#[cfg(feature = "full")]
pub mod ethereum;
mod zkey;

View File

@@ -313,8 +313,7 @@ mod runtime {
// NOTE: We can also get more information why it is failing, see p2str etc here:
// https://github.com/iden3/circom_runtime/blob/master/js/witness_calculator.js#L52-L64
println!(
"runtime error, exiting early: {0} {1} {2} {3} {4} {5}",
a, b, c, d, e, f
"runtime error, exiting early: {a} {b} {c} {d} {e} {f}",
);
Err(RuntimeError::user(Box::new(ExitCode(1))))
}