From 2ec480ef6beedb9c29d4c1e562ebdb52e09a5c60 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Tue, 30 Nov 2021 14:31:42 -0500 Subject: [PATCH] utilities::lookup_range_check: Derive Copy for LookupRangeCheckConfig. --- src/circuit.rs | 4 ++-- src/circuit/gadget/ecc/chip/mul/overflow.rs | 2 +- src/circuit/gadget/ecc/chip/mul_fixed/base_field_elem.rs | 2 +- src/circuit/gadget/sinsemilla.rs | 5 ++--- src/circuit/gadget/sinsemilla/commit_ivk.rs | 2 +- src/circuit/gadget/sinsemilla/merkle.rs | 2 +- src/circuit/gadget/sinsemilla/note_commit.rs | 2 +- src/circuit/gadget/utilities/lookup_range_check.rs | 2 +- 8 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/circuit.rs b/src/circuit.rs index f1b741dd..931d221c 100644 --- a/src/circuit.rs +++ b/src/circuit.rs @@ -236,7 +236,7 @@ impl plonk::Circuit for Circuit { // Configuration for curve point operations. // This uses 10 advice columns and spans the whole circuit. - let ecc_config = EccChip::configure(meta, advices, lagrange_coeffs, range_check.clone()); + let ecc_config = EccChip::configure(meta, advices, lagrange_coeffs, range_check); // Configuration for the Poseidon hash. let poseidon_config = PoseidonChip::configure( @@ -261,7 +261,7 @@ impl plonk::Circuit for Circuit { advices[6], lagrange_coeffs[0], lookup, - range_check.clone(), + range_check, ); let merkle_config_1 = MerkleChip::configure(meta, sinsemilla_config_1.clone()); diff --git a/src/circuit/gadget/ecc/chip/mul/overflow.rs b/src/circuit/gadget/ecc/chip/mul/overflow.rs index 1a2acf3e..8618f97f 100644 --- a/src/circuit/gadget/ecc/chip/mul/overflow.rs +++ b/src/circuit/gadget/ecc/chip/mul/overflow.rs @@ -28,7 +28,7 @@ impl From<&EccConfig> for Config { fn from(ecc_config: &EccConfig) -> Self { Self { q_mul_overflow: ecc_config.q_mul_overflow, - lookup_config: ecc_config.lookup_config.clone(), + lookup_config: ecc_config.lookup_config, // Use advice columns that don't conflict with the either the incomplete // additions in fixed-base scalar mul, or the lookup range checks. advices: [ diff --git a/src/circuit/gadget/ecc/chip/mul_fixed/base_field_elem.rs b/src/circuit/gadget/ecc/chip/mul_fixed/base_field_elem.rs index 4b24d00c..63895545 100644 --- a/src/circuit/gadget/ecc/chip/mul_fixed/base_field_elem.rs +++ b/src/circuit/gadget/ecc/chip/mul_fixed/base_field_elem.rs @@ -33,7 +33,7 @@ impl From<&EccConfig> for Config { q_mul_fixed_running_sum: config.q_mul_fixed_running_sum, q_mul_fixed_base_field: config.q_mul_fixed_base_field, canon_advices: [config.advices[6], config.advices[7], config.advices[8]], - lookup_config: config.lookup_config.clone(), + lookup_config: config.lookup_config, running_sum_config: config.running_sum_config.clone(), super_config: config.into(), }; diff --git a/src/circuit/gadget/sinsemilla.rs b/src/circuit/gadget/sinsemilla.rs index de562d8d..91fe3381 100644 --- a/src/circuit/gadget/sinsemilla.rs +++ b/src/circuit/gadget/sinsemilla.rs @@ -487,8 +487,7 @@ mod tests { let range_check = LookupRangeCheckConfig::configure(meta, advices[9], table_idx); - let ecc_config = - EccChip::configure(meta, advices, lagrange_coeffs, range_check.clone()); + let ecc_config = EccChip::configure(meta, advices, lagrange_coeffs, range_check); let config1 = SinsemillaChip::configure( meta, @@ -496,7 +495,7 @@ mod tests { advices[2], lagrange_coeffs[0], lookup, - range_check.clone(), + range_check, ); let config2 = SinsemillaChip::configure( meta, diff --git a/src/circuit/gadget/sinsemilla/commit_ivk.rs b/src/circuit/gadget/sinsemilla/commit_ivk.rs index e691031b..dd3a8be3 100644 --- a/src/circuit/gadget/sinsemilla/commit_ivk.rs +++ b/src/circuit/gadget/sinsemilla/commit_ivk.rs @@ -722,7 +722,7 @@ mod tests { advices[2], lagrange_coeffs[0], lookup, - range_check.clone(), + range_check, ); let commit_ivk_config = diff --git a/src/circuit/gadget/sinsemilla/merkle.rs b/src/circuit/gadget/sinsemilla/merkle.rs index d9be7163..a5d24d48 100644 --- a/src/circuit/gadget/sinsemilla/merkle.rs +++ b/src/circuit/gadget/sinsemilla/merkle.rs @@ -210,7 +210,7 @@ pub mod tests { advices[7], fixed_y_q_1, lookup, - range_check.clone(), + range_check, ); let config1 = MerkleChip::configure(meta, sinsemilla_config_1); diff --git a/src/circuit/gadget/sinsemilla/note_commit.rs b/src/circuit/gadget/sinsemilla/note_commit.rs index 12e18cc4..72f4b785 100644 --- a/src/circuit/gadget/sinsemilla/note_commit.rs +++ b/src/circuit/gadget/sinsemilla/note_commit.rs @@ -1528,7 +1528,7 @@ mod tests { advices[2], lagrange_coeffs[0], lookup, - range_check.clone(), + range_check, ); let note_commit_config = NoteCommitConfig::configure(meta, advices, sinsemilla_config); diff --git a/src/circuit/gadget/utilities/lookup_range_check.rs b/src/circuit/gadget/utilities/lookup_range_check.rs index 9379b208..4a2c6d85 100644 --- a/src/circuit/gadget/utilities/lookup_range_check.rs +++ b/src/circuit/gadget/utilities/lookup_range_check.rs @@ -23,7 +23,7 @@ impl std::ops::Deref for RunningSum { } } -#[derive(Eq, PartialEq, Debug, Clone)] +#[derive(Eq, PartialEq, Debug, Clone, Copy)] pub struct LookupRangeCheckConfig { pub q_lookup: Selector, pub q_running: Selector,