feat(public kernel): add new_commitments, new_nullifiers, new_l2_to_l1_msgs aggregation #753
Conversation
7d0acd5 to
32d5641
Compare
fix: linting
fix: appease linter
32d5641 to
34d0742
Compare
|
This pr builds ontop of #762, which create propagation errors when adding aggregating kernels that are too large |
fix: noir
65c4dba to
2038413
Compare
… md/array-push-assertions
… md/new-commitments-public
| { | ||
| // Get the new commitments | ||
| const auto& public_call_public_inputs = public_kernel_inputs.public_call.call_stack_item.public_inputs; | ||
|
|
There was a problem hiding this comment.
in the private kernel, we have a check here to see if the call is static, since no changes are allowed. Is this also true for public?
There was a problem hiding this comment.
Great catch this looks like it should be here too!
| private_call_stack: arr_copy_slice(fields, [0; crate::abi::MAX_PRIVATE_CALL_STACK], 23), | ||
| public_call_stack: arr_copy_slice(fields, [0; crate::abi::MAX_PUBLIC_CALL_STACK], 27), | ||
| new_l2_to_l1_msgs:arr_copy_slice(fields, [0; crate::abi::MAX_L1_MSG_STACK], 31), | ||
| new_l2_to_l1_msgs:arr_copy_slice(fields, [0; crate::abi::MAX_L2_TO_L1_MSG_STACK], 35), |
| global MAX_PUBLIC_CALL_STACK: comptime Field = 4; | ||
| global MAX_L1_MSG_STACK : comptime Field = 2; | ||
| global MAX_L2_TO_L1_MSG_STACK : comptime Field = 2; | ||
| global PUBLIC_INPUTS_LENGTH : comptime Field = 41; |
There was a problem hiding this comment.
for me- why is this 41 when the other is 43?
There was a problem hiding this comment.
messed in the master merge, good catch!
| // in the public kernel, function can't be a constructor or private | ||
| new FunctionData(makeSelector(seed + 0x1), false, false), | ||
| makePublicCircuitPublicInputs(seed + 0x10), | ||
| makePublicCircuitPublicInputs(seed + 0x10, undefined, full), |
There was a problem hiding this comment.
I think you can skip the undefined by just using named parameters like so:
makePublicCircuitPublicInputs(seed + 0x10, full=full)
LHerskind
left a comment
There was a problem hiding this comment.
There is a jump of 4 that seems invalid, but otherwise mostly some naming.
fix: fix up nullifier tests
e36c399 to
9a9eee1
Compare


Description
closes: #752
part of larger work: #750 (public -> private messaging)
Also included l2 to l1 messaging as it looked like the same work!
Works towards allowing public execution contexts to include new commitments in their outputs (scoped to contract address)
Do not merge before: #762
Note: a small fix to remake-bindings has been added in this pr, issue here:
Checklist: