Skip to content

Commit f961ad2

Browse files
committed
docs(fast-inbox): state that a full l1-to-l2 tree halts the chain (A-1372)
1 parent 63f9df0 commit f961ad2

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/append_only_tree.nr

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,11 @@ pub fn insert_subtree_root_to_snapshot_with_hasher<let TreeHeight: u32, let Subt
119119
/// index is a right child, which are exactly the entries the validation pins, so an incorrect hint cannot produce a
120120
/// wrong result: it either fails validation or is never read.
121121
///
122-
/// A completely full tree (`next_available_leaf_index == 2^TreeHeight`) has no representable frontier, so even a
123-
/// `num_leaves = 0` call against one fails hint validation. This fails closed and is accepted behavior.
122+
/// A completely full tree (`next_available_leaf_index == 2^TreeHeight`) has no representable frontier, so every call
123+
/// against one fails hint validation — including `num_leaves = 0`. Callers that append a bundle unconditionally
124+
/// therefore stop being provable altogether once the tree fills up, so this is a chain halt rather than a graceful
125+
/// degradation to "no more messages". It fails closed and is accepted behavior: at the heights used in practice the
126+
/// tree cannot be filled within the lifetime of the chain.
124127
pub fn append_leaves_to_snapshot<let TreeHeight: u32, let MaxLeaves: u32>(
125128
snapshot: AppendOnlyTreeSnapshot,
126129
leaves: [Field; MaxLeaves],

0 commit comments

Comments
 (0)