Skip to content

Commit 9f360e5

Browse files
authored
refactor: Rename root_is_on_right to sibling_is_on_right for clarity (#1422)
Renames the variable `root_is_on_right` to `sibling_is_on_right` throughout the codebase to better reflect its meaning. The field represents whether the sibling in the Merkle tree is on the right, not the root.
1 parent ff133e9 commit 9f360e5

File tree

5 files changed

+40
-40
lines changed

5 files changed

+40
-40
lines changed

extensions/native/circuit/src/poseidon2/air.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,9 @@ impl<AB: InteractionBuilder, const SBOX_REGISTERS: usize> Air<AB>
327327
index_base_pointer_read,
328328
commit_pointer_read,
329329
proof_index,
330-
read_initial_height_or_root_is_on_right,
330+
read_initial_height_or_sibling_is_on_right,
331331
read_final_height,
332-
root_is_on_right,
332+
sibling_is_on_right,
333333
commit_pointer,
334334
commit_read,
335335
} = top_level_specific;
@@ -502,7 +502,7 @@ impl<AB: InteractionBuilder, const SBOX_REGISTERS: usize> Air<AB>
502502
MemoryAddress::new(self.address_space, dim_base_pointer + initial_opened_index),
503503
[log_height],
504504
end_timestamp - AB::F::TWO,
505-
&read_initial_height_or_root_is_on_right,
505+
&read_initial_height_or_sibling_is_on_right,
506506
)
507507
.eval(builder, incorporate_row);
508508
self.memory_bridge
@@ -532,20 +532,20 @@ impl<AB: InteractionBuilder, const SBOX_REGISTERS: usize> Air<AB>
532532
self.memory_bridge
533533
.read(
534534
MemoryAddress::new(self.address_space, index_base_pointer + proof_index),
535-
[root_is_on_right],
535+
[sibling_is_on_right],
536536
timestamp_after_initial_reads.clone(),
537-
&read_initial_height_or_root_is_on_right,
537+
&read_initial_height_or_sibling_is_on_right,
538538
)
539539
.eval(builder, incorporate_sibling);
540540

541541
for i in 0..CHUNK {
542542
builder
543543
.when(next.incorporate_sibling)
544-
.when(next_top_level_specific.root_is_on_right)
544+
.when(next_top_level_specific.sibling_is_on_right)
545545
.assert_eq(next_right_input[i], left_output[i]);
546546
builder
547547
.when(next.incorporate_sibling)
548-
.when(AB::Expr::ONE - next_top_level_specific.root_is_on_right)
548+
.when(AB::Expr::ONE - next_top_level_specific.sibling_is_on_right)
549549
.assert_eq(next_left_input[i], left_output[i]);
550550
}
551551

extensions/native/circuit/src/poseidon2/chip.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ pub struct TopLevelRecord<F: Field> {
6565
#[derive(Debug, Clone, Serialize, Deserialize)]
6666
#[serde(bound = "F: Field")]
6767
pub struct IncorporateSiblingRecord<F: Field> {
68-
pub read_root_is_on_right: RecordId,
69-
pub root_is_on_right: bool,
68+
pub read_sibling_is_on_right: RecordId,
69+
pub sibling_is_on_right: bool,
7070
pub p2_input: [F; 2 * CHUNK],
7171
}
7272

@@ -432,13 +432,13 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> InstructionExecutor<F>
432432
memory.increment_timestamp();
433433
}
434434

435-
let (read_root_is_on_right, root_is_on_right) = memory.read_cell(
435+
let (read_sibling_is_on_right, sibling_is_on_right) = memory.read_cell(
436436
address_space,
437437
index_base_pointer + F::from_canonical_usize(sibling_index),
438438
);
439-
let root_is_on_right = root_is_on_right == F::ONE;
439+
let sibling_is_on_right = sibling_is_on_right == F::ONE;
440440
let sibling = sibling_proof[sibling_index];
441-
let (p2_input, new_root) = if root_is_on_right {
441+
let (p2_input, new_root) = if sibling_is_on_right {
442442
self.compress(sibling, root)
443443
} else {
444444
self.compress(root, sibling)
@@ -447,8 +447,8 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> InstructionExecutor<F>
447447

448448
self.height += 1;
449449
Some(IncorporateSiblingRecord {
450-
read_root_is_on_right,
451-
root_is_on_right,
450+
read_sibling_is_on_right,
451+
sibling_is_on_right,
452452
p2_input,
453453
})
454454
};

extensions/native/circuit/src/poseidon2/columns.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,16 @@ pub struct TopLevelSpecificCols<T> {
127127
/// Starts at zero in a top-level block and increments by one after each `incorporate_sibling` row.
128128
pub proof_index: T,
129129

130-
/// Memory aux columns for either `initial_height` or `root_is_on_right`. On an `incorporate_row`
131-
/// row, aux columns for reading `dims[initial_opened_index]`, and otherwise aux columns for
132-
/// `index_bits[proof_index]`.
133-
pub read_initial_height_or_root_is_on_right: MemoryReadAuxCols<T>,
130+
/// Memory aux columns for reading either `initial_height` or `sibling_is_on_right`. On an
131+
/// `incorporate_row` row, aux columns for reading `dims[initial_opened_index]`, and otherwise
132+
/// aux columns for `index_bits[proof_index]`.
133+
pub read_initial_height_or_sibling_is_on_right: MemoryReadAuxCols<T>,
134134
/// Memory aux columns for reading `dims[final_opened_index]`.
135135
pub read_final_height: MemoryReadAuxCols<T>,
136136

137-
/// Indicator for whether `root_is_on_right`. Constrained to equal `index_bits[proof_index]` on
138-
/// `incorporate_sibling` rows. Unconstrained on other rows.
139-
pub root_is_on_right: T,
137+
/// Indicator for whether the sibling being incorporated (if any) is on the right. Constrained
138+
/// to equal `index_bits[proof_index]` on `incorporate_sibling` rows. Unconstrained on other rows.
139+
pub sibling_is_on_right: T,
140140
/// Pointer to the Merkle root.
141141
pub commit_pointer: T,
142142
/// Memory aux columns for reading the Merkle root.

extensions/native/circuit/src/poseidon2/tests.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn compute_commit<F: Field>(
4444
dim: &[usize],
4545
opened: &[Vec<F>],
4646
proof: &[[F; CHUNK]],
47-
root_is_on_right: &[bool],
47+
sibling_is_on_right: &[bool],
4848
hash_function: impl Fn([F; CHUNK], [F; CHUNK]) -> ([F; CHUNK], [F; CHUNK]),
4949
) -> [F; CHUNK] {
5050
let mut log_height = dim[0] as isize;
@@ -73,7 +73,7 @@ fn compute_commit<F: Field>(
7373
}
7474
if log_height > 0 {
7575
let sibling = proof[proof_index];
76-
let (left, right) = if root_is_on_right[proof_index] {
76+
let (left, right) = if sibling_is_on_right[proof_index] {
7777
(sibling, root)
7878
} else {
7979
(root, sibling)
@@ -93,7 +93,7 @@ struct VerifyBatchInstance {
9393
dim: Vec<usize>,
9494
opened: Vec<Vec<F>>,
9595
proof: Vec<[F; CHUNK]>,
96-
root_is_on_right: Vec<bool>,
96+
sibling_is_on_right: Vec<bool>,
9797
commit: [F; CHUNK],
9898
}
9999

@@ -106,7 +106,7 @@ fn random_instance(
106106
let mut dims = vec![];
107107
let mut opened = vec![];
108108
let mut proof = vec![];
109-
let mut root_is_on_right = vec![];
109+
let mut sibling_is_on_right = vec![];
110110
for (log_height, row_lengths) in row_lengths.iter().enumerate() {
111111
for &row_length in row_lengths {
112112
dims.push(log_height);
@@ -118,22 +118,22 @@ fn random_instance(
118118
}
119119
if log_height > 0 {
120120
proof.push(std::array::from_fn(|_| rng.gen()));
121-
root_is_on_right.push(rng.gen());
121+
sibling_is_on_right.push(rng.gen());
122122
}
123123
}
124124

125125
dims.reverse();
126126
opened.reverse();
127127
proof.reverse();
128-
root_is_on_right.reverse();
128+
sibling_is_on_right.reverse();
129129

130-
let commit = compute_commit(&dims, &opened, &proof, &root_is_on_right, hash_function);
130+
let commit = compute_commit(&dims, &opened, &proof, &sibling_is_on_right, hash_function);
131131

132132
VerifyBatchInstance {
133133
dim: dims,
134134
opened,
135135
proof,
136-
root_is_on_right,
136+
sibling_is_on_right,
137137
commit,
138138
}
139139
}
@@ -184,7 +184,7 @@ fn test<const N: usize>(cases: [Case; N]) {
184184
dim,
185185
opened,
186186
proof,
187-
root_is_on_right,
187+
sibling_is_on_right,
188188
commit,
189189
} = instance;
190190

@@ -225,7 +225,7 @@ fn test<const N: usize>(cases: [Case; N]) {
225225
.hint_space
226226
.push(proof.iter().flatten().copied().collect());
227227
drop(streams);
228-
for (i, &bit) in root_is_on_right.iter().enumerate() {
228+
for (i, &bit) in sibling_is_on_right.iter().enumerate() {
229229
tester.write_cell(address_space, index_base_pointer + i, F::from_bool(bit));
230230
}
231231
tester.write(address_space, commit_pointer, commit);

extensions/native/circuit/src/poseidon2/trace.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> NativePoseidon2Chip<F, SBOX_R
6363
log_height: usize,
6464
) {
6565
let &IncorporateSiblingRecord {
66-
read_root_is_on_right,
67-
root_is_on_right,
66+
read_sibling_is_on_right,
67+
sibling_is_on_right,
6868
p2_input,
6969
} = record;
7070

71-
let read_root_is_on_right = memory.record_by_id(read_root_is_on_right);
71+
let read_sibling_is_on_right = memory.record_by_id(read_sibling_is_on_right);
7272

7373
self.generate_subair_cols(p2_input, slice);
7474
let cols: &mut NativePoseidon2Cols<F, SBOX_REGISTERS> = slice.borrow_mut();
@@ -82,13 +82,13 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> NativePoseidon2Chip<F, SBOX_R
8282
cols.opened_element_size_inv = parent.opened_element_size_inv();
8383
cols.very_first_timestamp = F::from_canonical_u32(parent.from_state.timestamp);
8484
cols.start_timestamp =
85-
F::from_canonical_u32(read_root_is_on_right.timestamp - NUM_INITIAL_READS as u32);
85+
F::from_canonical_u32(read_sibling_is_on_right.timestamp - NUM_INITIAL_READS as u32);
8686

8787
let specific: &mut TopLevelSpecificCols<F> =
8888
cols.specific[..TopLevelSpecificCols::<F>::width()].borrow_mut();
8989

9090
specific.end_timestamp =
91-
F::from_canonical_usize(read_root_is_on_right.timestamp as usize + 1);
91+
F::from_canonical_usize(read_sibling_is_on_right.timestamp as usize + 1);
9292
cols.initial_opened_index = F::from_canonical_usize(opened_index);
9393
specific.final_opened_index = F::from_canonical_usize(opened_index - 1);
9494
specific.log_height = F::from_canonical_usize(log_height);
@@ -99,10 +99,10 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> NativePoseidon2Chip<F, SBOX_R
9999

100100
specific.proof_index = F::from_canonical_usize(proof_index);
101101
aux_cols_factory.generate_read_aux(
102-
read_root_is_on_right,
103-
&mut specific.read_initial_height_or_root_is_on_right,
102+
read_sibling_is_on_right,
103+
&mut specific.read_initial_height_or_sibling_is_on_right,
104104
);
105-
specific.root_is_on_right = F::from_bool(root_is_on_right);
105+
specific.sibling_is_on_right = F::from_bool(sibling_is_on_right);
106106
}
107107
fn correct_last_top_level_row(
108108
&self,
@@ -220,7 +220,7 @@ impl<F: PrimeField32, const SBOX_REGISTERS: usize> NativePoseidon2Chip<F, SBOX_R
220220
specific.proof_index = F::from_canonical_usize(proof_index);
221221
aux_cols_factory.generate_read_aux(
222222
initial_height_read,
223-
&mut specific.read_initial_height_or_root_is_on_right,
223+
&mut specific.read_initial_height_or_sibling_is_on_right,
224224
);
225225
aux_cols_factory.generate_read_aux(final_height_read, &mut specific.read_final_height);
226226
}

0 commit comments

Comments
 (0)