pluto / web-prover-circuits

Circuits for Pluto's `web-prover`
Apache License 2.0
12 stars 0 forks source link

Unify all NVIC circuits for a single web-proof circuit #23

Closed 0xJepsen closed 3 weeks ago

0xJepsen commented 4 weeks ago

All circuits are accounted for. I added one missing test: test/http/locker.test.ts. There are some tests that have been omitted because they rely on codegen. The tests and diffs not accounted for are here:

The circuits/utils/array.circom and circuits/utils/bytes.circom utils are not missing anything but but do have some additional utilities that i added when i added the aes stuff.

Moving forward i will

Closes #19

0xJepsen commented 4 weeks ago

Taking a lunch break now but good progress so far on this.

Autoparallel commented 4 weeks ago

Create main circuit that wires all our circuits together following the order: AES -> HTTP Parse -> http lock header -> http body mask -> json parse -> json_mask_object/json_mask_array -> extract value

This doesn't make sense, we can't do this. We need to have separate circuits to fold!

Happy to meet and explain this more if need be.

Autoparallel commented 4 weeks ago

Just FYI, this has a regression in circuit constraints.

I was seeing roughly 1.2M constraints for AESGCTR for 320 bytes of plaintext.

I have addressed this on a separate branch.

Autoparallel commented 3 weeks ago

Closing in favor of #24