You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: noir-projects/noir-protocol-circuits/crates/rollup-lib/src/checkpoint_root/checkpoint_root_single_block_rollup.nr
+4-2Lines changed: 4 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,10 @@ use types::{
21
21
//
22
22
// That `is_first_block` assertion is the only thing keeping a message-only block from standing as a checkpoint's sole
23
23
// block. If it is ever relaxed (e.g. replaced by a "leftmost block's start_msg_sponge is empty" check), this entry
24
-
// must be dropped in the same change, or a transaction-less single-block checkpoint — one whose blob omits the
25
-
// first-block l1-to-l2 root — would silently become provable.
24
+
// must be dropped in the same change, because barring the message-only variant from standing alone is what keeps
25
+
// each checkpoint shape to a single valid encoding: a sole transaction-less block carrying a message bundle is
26
+
// already provable as an empty-tx-first block, which accepts a non-empty bundle. It is also what keeps the rule
27
+
// confining fully-empty blocks to the first position enforceable.
0 commit comments