Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge parser attestor #8

Merged
merged 89 commits into from
Oct 30, 2024
Merged

Conversation

lonerapier
Copy link
Collaborator

@lonerapier lonerapier commented Oct 28, 2024

closes #9

  • brings in history from parser-attestor
  • remove codegen cli and corresponding circuit tests

[ERROR] snarkJS: Error: Scalar size does not match
    at _multiExp (/opt/homebrew/lib/node_modules/snarkjs/node_modules/ffjavascript/build/main.cjs:4978:19)
    at WasmCurve.multiExpAffine (/opt/homebrew/lib/node_modules/snarkjs/node_modules/ffjavascript/build/main.cjs:5015:22)
    at groth16Verify$1 (/opt/homebrew/lib/node_modules/snarkjs/build/cli.cjs:6171:31)
    at async Object.groth16Verify [as action] (/opt/homebrew/lib/node_modules/snarkjs/build/cli.cjs:13017:21)
    at async clProcessor (/opt/homebrew/lib/node_modules/snarkjs/build/cli.cjs:483:27)
Autoparallel and others added 9 commits September 11, 2024 21:57
fix tests

response tests

write out the lock used

optional logs on extractor

renames

more refactor

codegen extracts http body

CLI and doc

Create bounty.md

Created an ISSUE_TEMPLATE folder with the bounty.md file

Update bounty.md

Create LICENSE-MIT

Create LICENSE-Apache

Update README.md (#81)

Updated README for consistency with Plonkathon and AES-proof, going to need some help to get it over the line, dependent on name change

lots of cleanup

place examples in respective dir

basic circuit cleanup

pending work

fix tests
* Delete LICENSE-MIT

* Rename LICENSE-Apache to LICENSE

* Update README.md
* feat(cli): add extractor witness gen

* fix: select subarray param bug

* feat: add circuit config to `circuits.json`. Pending: http extraction

* feat: add http extractor support

* fix: tests

* refactor files a bit

* fix tests again, arghhhhhhhgstgst

* simplify cli a bit more

* more cli cleanup

* add json proof docs

* add http build docs

---------

Co-authored-by: Colin Roberts <[email protected]>
* add input

* fix array index codegen bug

* refactor: tests utils reorganise

* add spotify test

* save work till now, start on integrated codegen

* save work

* fix: tests

* refactor: codegen

* add integrated codegen

* test: add separate test for correctness

* refactor: change `Syntax` and `StateUpdate` to prevent duplicate callable symbols in JSON parser

* feat: accept inputs in bytes for `readJSONInputFile`

* add extended witness gen in cli

* feat: extended test works!!!

* refactor: json cleanup

* add tests

* add test and lint CI

* add http and extended codegen docs

* add docs

* rm old README info

* Update http.rs (#92)

---------

Co-authored-by: Colin Roberts <[email protected]>
* remove slice

* remove syntax

* feat: json improvements

* feat(http): remove syntax use

* feat(http): remove hasher substring matching

* fix: delete extractor

* fix: codegen

* feat: remove hashing based substring matching

* fix: spotify test

* fix: tests
* init example

* feat: add single value extractor

* test: add example

* feat: remove keyLen and add maxKeyLen

* add optimisations from web-prover

* `depth` as signal in `NextKVPairAtDepth`

* fix broken tests
* simplify `JsonMaskObjectNIVC`

* passing `JsonMaskArrayIndexNIVC`

* bug: incorrect mask for "profile" key

* bug: not extracting `"profile"`

* add extra key index to match end quote

* fix: masking tests pass

* fix: final extraction

* cleanup: unused signals, consistency

Found unused signals with the circom-witnesscalc `build-circuit` binary. These are now removed.

* feat: passing HTTP NIVC tests

* fix: unallocated signals

`HTTPParseAndLockStartLine` had unused signals. I set these properly now.

* rename SubstringMatchWithIndex

* add `HeaderFieldNameValueMatchPadded`

* add a todo in json interpreter

* change `LockHeader` to handle max key and value length

* use circuit.compute to find witness and simplify test

---------

Co-authored-by: lonerapier <[email protected]>
@devloper
Copy link
Contributor

devloper commented Oct 29, 2024

@0xJepsen @lonerapier It feels like the strategy between these two PRs should be the same

#8 => Is moving the parser-attestor into this repo
#11 => Is referencing the standalone aes-proof

Both seem viable to me, I'm personally lightly leaning toward waylon's approach here, because it helps to keep useful packages for people external to pluto in standalone repository (good for "github seo").

But ultimately I think you can both choose the approach, we should just pick one.

@Autoparallel
Copy link
Contributor

Autoparallel commented Oct 29, 2024

I'm okay with either way to do it personally. But I do not want to bring in the circuit codegen to this repo. I just vote to have a minimal circuits only repository.

In which case, maybe #11 is a better move -- checking it out now.

@lonerapier
Copy link
Collaborator Author

i'm also in favor of just keeping only the circuits useful for web-prover and rest of the low level circuits in separate repos.

But i'm not sure if the development workflow will be optimal. Any change in the web-prover will depend upon 2 releases in parser-attestor/aes-proof and then this repo.

@Autoparallel
Copy link
Contributor

I'm of the opinion that we either completely combine these repos and deprecate/archive the old, or we do something super minimal like have just a package.json and re-export the circuits here.

Truth be told, I don't care much, but if I were to pick, I'd just combine repos and remove the fluff we have. E.g., we can archive the codegen.

Copy link
Contributor

@Autoparallel Autoparallel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like a correct start to me.

Let's minimize this more from here as we can.

@Autoparallel Autoparallel merged commit c2e113e into main Oct 30, 2024
3 checks passed
@Autoparallel Autoparallel deleted the chore/merge-parser-attestor branch October 30, 2024 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bring in parser-attestor
4 participants