Commit 071f3d1
committed
feat: single variable-size InboxParity proof per checkpoint (A-1427)
Replace the parity base (x4) + parity root fan-in with one variable-size
InboxParity<S> proof per checkpoint, S in {64, 256, 1024} (one VK per size;
the prover proves the smallest rung >= the checkpoint's message count). The
parity-root circuit is deleted; the checkpoint root keeps one parity
verification, now accepting the 3-rung VK ladder. Net +1 VK.
Two transitional decisions (dev-only, closed by the future Fast Inbox flip):
- in_hash is kept in the parity public inputs as an unconstrained pass-through
hint (the orchestrator supplies the true sha256 frontier root via
computeInHashFromL1ToL2Messages), so L1's inHash == inbox.consume() check
still passes with no L1 changes. The frontier tree is no longer built in
circuit.
- The block-root message sponge absorbs at the real message count while the
L1-to-L2 tree insert stays a padded fixed subtree, decoupled via a new
L1ToL2MessageBundle { messages, num_msgs, num_real_msgs } struct so the real
count can be dropped later with minimal change. num_msgs is not otherwise
pinned in-circuit; documented as a dev-mode gap backstopped by the L1
pending-chain header hash.
Threads the single sized proof through the orchestrator, bb-prover, proving
broker, and TS bindings, collapsing getBaseParityProof/getRootParityProof into
getInboxParityProof and PARITY_BASE/PARITY_ROOT into one INBOX_PARITY request
type. The UltraHonk parity benchmark and bb.js debug test move to InboxParity256.1 parent f7cca39 commit 071f3d1
95 files changed
Lines changed: 1347 additions & 1897 deletions
File tree
- noir-projects/noir-protocol-circuits
- crates
- inbox-parity-1024
- src
- inbox-parity-256
- src
- inbox-parity-64
- src
- parity-base/src
- parity-root/src
- protocol-test-utils/src/fixtures
- rollup-lib/src
- abis
- block_root
- components
- tests
- checkpoint_root
- components
- tests
- parity
- tests
- tests
- types/src
- yarn-project
- bb-prover/src
- prover/server
- test
- constants/src
- ivc-integration/src
- noir-protocol-circuits-types/src
- artifacts
- vks
- conversion
- execution
- scripts
- prover-client/src
- orchestrator
- proving_broker
- proving_broker_database
- test
- prover-node/src/job
- stdlib/src
- interfaces
- messaging
- parity
- proofs
- rollup
- stats
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 9 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
83 | | - | |
84 | | - | |
85 | | - | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
86 | 90 | | |
87 | 91 | | |
88 | 92 | | |
| |||
0 commit comments