diff --git a/lightclient-circuits/src/committee_update_circuit.rs b/lightclient-circuits/src/committee_update_circuit.rs index c8132595..d6646205 100644 --- a/lightclient-circuits/src/committee_update_circuit.rs +++ b/lightclient-circuits/src/committee_update_circuit.rs @@ -136,15 +136,18 @@ impl CommitteeUpdateCircuit { Ok(public_inputs) } - pub fn instance(args: &witness::CommitteeRotationArgs) -> Vec> { + pub fn instance(args: &witness::CommitteeRotationArgs) -> Vec> + where + [(); { S::SYNC_COMMITTEE_SIZE }]:, + { let pubkeys_x = args.pubkeys_compressed.iter().cloned().map(|mut bytes| { - bytes[47] &= 0b11111000; + bytes[47] &= 0b00011111; bls12_381::Fq::from_bytes_le(&bytes) }); let poseidon_commitment = fq_array_poseidon_native::(pubkeys_x).unwrap(); - let mut pk_vector: Vector, 512> = args + let mut pk_vector: Vector, { S::SYNC_COMMITTEE_SIZE }> = args .pubkeys_compressed .iter() .cloned() diff --git a/lightclient-circuits/src/poseidon.rs b/lightclient-circuits/src/poseidon.rs index c2f83e04..a3403716 100644 --- a/lightclient-circuits/src/poseidon.rs +++ b/lightclient-circuits/src/poseidon.rs @@ -54,7 +54,6 @@ pub fn fq_array_poseidon_native( .collect_vec() }) .collect_vec(); - let mut poseidon = PoseidonNative::::new(R_F, R_P); let mut current_poseidon_hash = None;