From 82615c67d611bde3d2a7abb4ca4382ba6610e161 Mon Sep 17 00:00:00 2001 From: Tom French Date: Fri, 19 May 2023 08:53:32 +0100 Subject: [PATCH] feat: allow updating an empty CRS buffer --- src/acvm_interop/common_reference_string.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/acvm_interop/common_reference_string.rs b/src/acvm_interop/common_reference_string.rs index 2122ce00..7841f61a 100644 --- a/src/acvm_interop/common_reference_string.rs +++ b/src/acvm_interop/common_reference_string.rs @@ -22,6 +22,12 @@ impl CommonReferenceString for Barretenberg { common_reference_string: Vec, circuit: &Circuit, ) -> Result, Self::Error> { + // Treat an empty vector as a request for a fresh CRS. + if common_reference_string.is_empty() { + return self.generate_common_reference_string(circuit).await; + } + + // Otherwise parse CRS and update. let mut crs = common_reference_string.try_into()?; let constraint_system = &circuit.try_into()?; let common_reference_string = self