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

feat: fake public circuit simulator #295

Merged
merged 8 commits into from
Apr 19, 2023

Conversation

spalladino
Copy link
Collaborator

@spalladino spalladino commented Apr 18, 2023

Creates a fake public circuit simulator, that takes a public tx (TxRequest in particular) and outputs a PublicCircuitPublicInputs as if it were the actual PublicCircuit. This PR also introduces interfaces for distinguishing private and public txs (a tx can be either or both, but not none), and integrates all these into the sequencer.

Fixes #257
Related to #258

@spalladino spalladino force-pushed the palla/fake-public-circuit-simulator branch from d77db27 to 200f4f1 Compare April 18, 2023 17:23
@spalladino spalladino marked this pull request as ready for review April 19, 2023 13:17
@spalladino spalladino requested a review from PhilWindle April 19, 2023 13:18
@spalladino spalladino changed the title feat: fake public circuit simulator (wip) feat: fake public circuit simulator Apr 19, 2023
@spalladino spalladino merged commit c4d13bb into master Apr 19, 2023
@spalladino spalladino deleted the palla/fake-public-circuit-simulator branch April 19, 2023 16:18
ludamad added a commit that referenced this pull request Jul 14, 2023
* Split Pedersen Hash & Commitment Gadgets (#95)

* [SQUASHED] Pedersen refactor into hash and commitment.

Use lookup pedersen for merkle tree, fixed-base pedersen for commitments.
---------
Co-authored-by: Suyash Bagad <[email protected]>

Port `copy_as_new_witness`.

Port `must_imply`.

`operator++`.

Port changes from `common`.

Port `ecc/groups`.

* [CPM] add missing dependencies to libbarretenberg.a (#154)
---------

* Increase Pedersen Generator indices and subindices. (#169)

* Remove a3 specific types. (#252)

* Address Luke's Comments on `aztec3 -> master` (#263)

* Add must_imply tests.

* Added a test for `field_t::copy_as_new_witness`

* add test for `conditional_assign`

* Added `infinity` test.

* Add `add_affine_test`.

* Tests for Array Object in `stdlib` (#262)

* basic array tests.

* Add `composer_type` while hashing/compressing a vkey.

* Add `contains_recursive_proof` to Recursive VK (#268)

* feat: debug utility for serialization (#290)

* feat: enable asan config

* `array_push` for Generic Type (#291)

* Add Indexed Merkle Tree  (#281)

* remove ts (consulted with Adam and we're good to go). (#292)

* Add cout for verification_key struct (#295)

* compute tree (#298)

* [SQUASHED] fixing `push_array_to_array` method. (#304)

* feat(memory_tree|a3): add sibling path calculations (#301)

* feat(memory_tree): frontier paths

* fix array and resolve merge conflicts (#305)

* Mc/hash vk (#306)

* Increase number of sub-generators to 128.

* Build a3crypto.wasm (#311)

* More Tests on A3 `stdlib` methods (#316)

* test: more vk tests to compare circuit/native/vk_data (#310)

* Mc/hash vk (#306)

* inc num_generators_per_hash_index to 128. (#309)

* fix. (#318)

* Added test for `compute_tree_native`. (#319)

* Install instructions for apt on ubuntu (#312)

* Fix address compilation. (#329)

---------

Co-authored-by: David Banks <[email protected]>
Co-authored-by: Michael Connor <[email protected]>
Co-authored-by: dbanks12 <[email protected]>
Co-authored-by: Santiago Palladino <[email protected]>
Co-authored-by: ludamad <[email protected]>
Co-authored-by: Maddiaa <[email protected]>
Co-authored-by: Santiago Palladino <[email protected]>
Co-authored-by: ludamad <[email protected]>
Co-authored-by: cheethas <[email protected]>
codygunton pushed a commit that referenced this pull request Jan 23, 2024
* Split Pedersen Hash & Commitment Gadgets (#95)

* [SQUASHED] Pedersen refactor into hash and commitment.

Use lookup pedersen for merkle tree, fixed-base pedersen for commitments.
---------
Co-authored-by: Suyash Bagad <[email protected]>

Port `copy_as_new_witness`.

Port `must_imply`.

`operator++`.

Port changes from `common`.

Port `ecc/groups`.

* [CPM] add missing dependencies to libbarretenberg.a (#154)
---------

* Increase Pedersen Generator indices and subindices. (#169)

* Remove a3 specific types. (#252)

* Address Luke's Comments on `aztec3 -> master` (#263)

* Add must_imply tests.

* Added a test for `field_t::copy_as_new_witness`

* add test for `conditional_assign`

* Added `infinity` test.

* Add `add_affine_test`.

* Tests for Array Object in `stdlib` (#262)

* basic array tests.

* Add `composer_type` while hashing/compressing a vkey.

* Add `contains_recursive_proof` to Recursive VK (#268)

* feat: debug utility for serialization (#290)

* feat: enable asan config

* `array_push` for Generic Type (#291)

* Add Indexed Merkle Tree  (#281)

* remove ts (consulted with Adam and we're good to go). (#292)

* Add cout for verification_key struct (#295)

* compute tree (#298)

* [SQUASHED] fixing `push_array_to_array` method. (#304)

* feat(memory_tree|a3): add sibling path calculations (#301)

* feat(memory_tree): frontier paths

* fix array and resolve merge conflicts (#305)

* Mc/hash vk (#306)

* Increase number of sub-generators to 128.

* Build a3crypto.wasm (#311)

* More Tests on A3 `stdlib` methods (#316)

* test: more vk tests to compare circuit/native/vk_data (#310)

* Mc/hash vk (#306)

* inc num_generators_per_hash_index to 128. (#309)

* fix. (#318)

* Added test for `compute_tree_native`. (#319)

* Install instructions for apt on ubuntu (#312)

* Fix address compilation. (#329)

---------

Co-authored-by: David Banks <[email protected]>
Co-authored-by: Michael Connor <[email protected]>
Co-authored-by: dbanks12 <[email protected]>
Co-authored-by: Santiago Palladino <[email protected]>
Co-authored-by: ludamad <[email protected]>
Co-authored-by: Maddiaa <[email protected]>
Co-authored-by: Santiago Palladino <[email protected]>
Co-authored-by: ludamad <[email protected]>
Co-authored-by: cheethas <[email protected]>
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.

Sequencer should execute the ACVM on txs that have public function calls
2 participants