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

App circuit should generate read requests, kernel should validate them #513

Closed
dbanks12 opened this issue May 9, 2023 · 0 comments · Fixed by #619
Closed

App circuit should generate read requests, kernel should validate them #513

dbanks12 opened this issue May 9, 2023 · 0 comments · Fixed by #619
Assignees
Labels
C-protocol-circuits Component: Protocol circuits (kernel & rollup) T-refactor Type: this code needs refactoring

Comments

@dbanks12
Copy link
Collaborator

dbanks12 commented May 9, 2023

Original discussion: https://discourse.aztec.network/t/to-read-or-not-to-read/178/10
Relevant discussion outlining the tasks below: https://discourse.aztec.network/t/spending-notes-which-havent-yet-been-inserted/180/4

Blocks #512

  1. Add READ_REQUESTS_LENGTH, update PrivateCircuitPublicInputs with read_requests
  2. Update PrivateCallData with read_request_membership_witnesses which includes leaf indexes and sibling paths
  3. Update Noir's get() to no longer do anything related to membership checks (omit leaf indexes and sibling paths in return)
    • implications on public kernel?
  4. Update Noir's get() to stop populating historic_private_data_tree_root
  5. Update kernel to loop through each read_request and use the corresponding read_request_membership_witness to compute root of data tree
    • this root must be the same for every iteration in this loop
    • the root can then be set equal to the private_kernel_public_inputs.constant_data.old_tree_roots.private_data_tree_root
@dbanks12 dbanks12 added this to A3 May 9, 2023
@dbanks12 dbanks12 converted this from a draft issue May 9, 2023
@dbanks12 dbanks12 moved this from Todo to In Progress in A3 May 16, 2023
@dbanks12 dbanks12 self-assigned this May 17, 2023
@dbanks12 dbanks12 added aztec.js C-protocol-circuits Component: Protocol circuits (kernel & rollup) T-refactor Type: this code needs refactoring labels May 17, 2023
@dbanks12 dbanks12 changed the title Move merkle membership checks for "reads" from app circuit to private kernel App circuit should generate read requests, kernel should validate them Jun 2, 2023
@dbanks12 dbanks12 moved this from In Progress to In Review in A3 Jun 7, 2023
@github-project-automation github-project-automation bot moved this from In Review to Done in A3 Jun 12, 2023
@iAmMichaelConnor iAmMichaelConnor removed this from A3 Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-protocol-circuits Component: Protocol circuits (kernel & rollup) T-refactor Type: this code needs refactoring
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant