From 3fb255c8e0696a7a07223c4f81f1f9aab2f34c59 Mon Sep 17 00:00:00 2001 From: Brawn Date: Thu, 4 Sep 2025 10:54:50 +0300 Subject: [PATCH] fix: missing validations and automatic PK/VK generation --- recursive-verifier/cmd/cli/main.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/recursive-verifier/cmd/cli/main.go b/recursive-verifier/cmd/cli/main.go index 8d71cc79..851d5e1b 100644 --- a/recursive-verifier/cmd/cli/main.go +++ b/recursive-verifier/cmd/cli/main.go @@ -78,6 +78,10 @@ func main() { vkUrl := c.String("vk_url") r1csUrl := c.String("r1cs_url") + if configFilePath == "" { + return fmt.Errorf("config file path must be provided") + } + configFile, err := os.ReadFile(configFilePath) if err != nil { return fmt.Errorf("failed to read config file: %w", err) @@ -88,6 +92,10 @@ func main() { return fmt.Errorf("failed to unmarshal config JSON: %w", err) } + if r1csFilePath == "" && r1csUrl == "" { + return fmt.Errorf("must provide either --r1cs or --r1cs_url") + } + var r1csFile []byte if r1csFilePath != "" { r1csFile, err = os.ReadFile(r1csFilePath) @@ -121,6 +129,10 @@ func main() { } } else { log.Printf("No valid PK/VK url or file combo provided, generating new keys unsafely") + pk, vk, err = circuit.GenerateUnsafeKeys() + if err != nil { + return fmt.Errorf("failed to generate unsafe keys: %w", err) + } } if err = circuit.PrepareAndVerifyCircuit(config, r1cs, pk, vk, outputCcsPath); err != nil {