mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-06 07:43:10 +00:00
minor: use explicit builder.assert_zero for readability (#1293)
This commit is contained in:
parent
c9391be024
commit
29fdd3e372
@ -819,12 +819,11 @@ where
|
|||||||
// Connect intermediary values for gas_used and bloom filters to the block's final values. We only plug on the right, so there is no need to check the left-handside block.
|
// Connect intermediary values for gas_used and bloom filters to the block's final values. We only plug on the right, so there is no need to check the left-handside block.
|
||||||
Self::connect_final_block_values_to_intermediary(builder, rhs);
|
Self::connect_final_block_values_to_intermediary(builder, rhs);
|
||||||
|
|
||||||
let zero = builder.zero();
|
|
||||||
let has_not_parent_block = builder.sub(one, has_parent_block.target);
|
let has_not_parent_block = builder.sub(one, has_parent_block.target);
|
||||||
|
|
||||||
// Check that the genesis block number is 0.
|
// Check that the genesis block number is 0.
|
||||||
let gen_block_constr = builder.mul(has_not_parent_block, rhs.block_metadata.block_number);
|
let gen_block_constr = builder.mul(has_not_parent_block, rhs.block_metadata.block_number);
|
||||||
builder.connect(gen_block_constr, zero);
|
builder.assert_zero(gen_block_constr);
|
||||||
|
|
||||||
// Check that the genesis block has the predetermined state trie root in `ExtraBlockData`.
|
// Check that the genesis block has the predetermined state trie root in `ExtraBlockData`.
|
||||||
Self::connect_genesis_block(builder, rhs, has_not_parent_block);
|
Self::connect_genesis_block(builder, rhs, has_not_parent_block);
|
||||||
@ -837,7 +836,6 @@ where
|
|||||||
) where
|
) where
|
||||||
F: RichField + Extendable<D>,
|
F: RichField + Extendable<D>,
|
||||||
{
|
{
|
||||||
let zero = builder.zero();
|
|
||||||
for (&limb0, limb1) in x
|
for (&limb0, limb1) in x
|
||||||
.trie_roots_before
|
.trie_roots_before
|
||||||
.state_root
|
.state_root
|
||||||
@ -846,7 +844,7 @@ where
|
|||||||
{
|
{
|
||||||
let mut constr = builder.sub(limb0, limb1);
|
let mut constr = builder.sub(limb0, limb1);
|
||||||
constr = builder.mul(has_not_parent_block, constr);
|
constr = builder.mul(has_not_parent_block, constr);
|
||||||
builder.connect(constr, zero);
|
builder.assert_zero(constr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -879,16 +877,15 @@ where
|
|||||||
where
|
where
|
||||||
F: RichField + Extendable<D>,
|
F: RichField + Extendable<D>,
|
||||||
{
|
{
|
||||||
let zero = builder.constant(F::ZERO);
|
|
||||||
// The initial number of transactions is 0.
|
// The initial number of transactions is 0.
|
||||||
builder.connect(x.extra_block_data.txn_number_before, zero);
|
builder.assert_zero(x.extra_block_data.txn_number_before);
|
||||||
// The initial gas used is 0.
|
// The initial gas used is 0.
|
||||||
builder.connect(x.extra_block_data.gas_used_before[0], zero);
|
builder.assert_zero(x.extra_block_data.gas_used_before[0]);
|
||||||
builder.connect(x.extra_block_data.gas_used_before[1], zero);
|
builder.assert_zero(x.extra_block_data.gas_used_before[1]);
|
||||||
|
|
||||||
// The initial bloom filter is all zeroes.
|
// The initial bloom filter is all zeroes.
|
||||||
for t in x.extra_block_data.block_bloom_before {
|
for t in x.extra_block_data.block_bloom_before {
|
||||||
builder.connect(t, zero);
|
builder.assert_zero(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The transactions and receipts tries are empty at the beginning of the block.
|
// The transactions and receipts tries are empty at the beginning of the block.
|
||||||
|
|||||||
@ -619,14 +619,11 @@ fn add_data_write<F: RichField + Extendable<D>, const D: usize>(
|
|||||||
debug_assert!(val.len() <= VALUE_LIMBS);
|
debug_assert!(val.len() <= VALUE_LIMBS);
|
||||||
let len = core::cmp::min(val.len(), VALUE_LIMBS);
|
let len = core::cmp::min(val.len(), VALUE_LIMBS);
|
||||||
|
|
||||||
let zero = builder.zero();
|
|
||||||
let one = builder.one();
|
|
||||||
|
|
||||||
let row = builder.add_virtual_targets(13);
|
let row = builder.add_virtual_targets(13);
|
||||||
// is_read
|
// is_read = false
|
||||||
builder.connect(row[0], zero);
|
builder.assert_zero(row[0]);
|
||||||
// context
|
// context = 0
|
||||||
builder.connect(row[1], zero);
|
builder.assert_zero(row[1]);
|
||||||
// segment
|
// segment
|
||||||
builder.connect(row[2], segment);
|
builder.connect(row[2], segment);
|
||||||
// virtual
|
// virtual
|
||||||
@ -635,14 +632,16 @@ fn add_data_write<F: RichField + Extendable<D>, const D: usize>(
|
|||||||
|
|
||||||
// values
|
// values
|
||||||
for j in 0..len {
|
for j in 0..len {
|
||||||
|
// connect the actual value limbs
|
||||||
builder.connect(row[4 + j], val[j]);
|
builder.connect(row[4 + j], val[j]);
|
||||||
}
|
}
|
||||||
for j in len..VALUE_LIMBS {
|
for j in len..VALUE_LIMBS {
|
||||||
builder.connect(row[4 + j], zero);
|
// assert that the remaining limbs are 0
|
||||||
|
builder.assert_zero(row[4 + j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// timestamp
|
// timestamp = 1
|
||||||
builder.connect(row[12], one);
|
builder.assert_one(row[12]);
|
||||||
|
|
||||||
let combined = challenge.combine_base_circuit(builder, &row);
|
let combined = challenge.combine_base_circuit(builder, &row);
|
||||||
builder.mul(running_product, combined)
|
builder.mul(running_product, combined)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user