Currently, we use hardcoded files for our example and execution:
|
let verifier_template_file = match S::kzg_type() { |
|
KzgType::GWC19 => Path::new("plutus-verifier/templates/verification_gwc19_kzg.hbs"), |
|
KzgType::Halo2MultiOpen => { |
|
Path::new("plutus-verifier/templates/verification_halo2_kzg.hbs") |
|
} |
|
}; |
|
|
|
let vk_template_file = Path::new("plutus-verifier/templates/vk_constants.hbs"); |
|
let verifier_generated_file = |
|
Path::new("plutus-verifier/plutus-halo2/src/Plutus/Crypto/Halo2/Generic/Verifier.hs"); |
|
let vk_generated_file = |
|
Path::new("plutus-verifier/plutus-halo2/src/Plutus/Crypto/Halo2/Generic/VKConstants.hs"); |
|
emit_verifier_code_aiken( |
|
Path::new("aiken-verifier/templates/verification.hbs"), |
|
Path::new("aiken-verifier/aiken_halo2/lib/proof_verifier.ak"), |
|
&circuit_representation, |
|
) |
|
.map_err(|e| e.to_string())?; |
|
emit_vk_code_aiken( |
|
Path::new("aiken-verifier/templates/vk_constants.hbs"), |
|
Path::new("aiken-verifier/aiken_halo2/lib/verifier_key.ak"), |
|
&circuit_representation, |
|
) |
|
.map_err(|e| e.to_string())?; |
This makes it hard to run different examples and to compare results as we need to save files/rename etc. and retry. Allowing the execution of these high-level routines to be configured would help with being able to generate execution routines to guard/test the CI or even for developers or users to define how the execution of their programme should look like.
Currently, we use hardcoded files for our example and execution:
plutus-halo2-verifier-gen/src/plutus_gen/mod.rs
Lines 40 to 51 in dd9d0e2
plutus-halo2-verifier-gen/src/plutus_gen/mod.rs
Lines 86 to 97 in dd9d0e2
This makes it hard to run different examples and to compare results as we need to save files/rename etc. and retry. Allowing the execution of these high-level routines to be configured would help with being able to generate execution routines to guard/test the CI or even for developers or users to define how the execution of their programme should look like.