refactor: Nova structs become generic on their field type (+ update Nova) #556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this Does
CurveCyleEquipped
trait)pallas::Scalar
andbn256::Scalar
fields,What This Does Not Do, but helps with (as the present PR is a blocker for those tasks)
nova::PublicParams
)clutch
generic, or supporting SnarkPack (it still depends on Nova throughnova::NovaProver
)fcomm
generic, or supporting SnarkPack (Genericize fcomm proof backends #281, it still depends on Nova throughnova::NovaProver
)nova::Proof
)In Detail
CurveCycleEquipped
trait, replacing previous curve-specific scalar types for improved generic programming over curve cycles.fcomm.rs
,lurk_proof.rs
,lib.rs
andnova.rs
to accommodate the newCurveCycleEquipped
type.LanguageField
enum withBN256
andGrumpkin
values and updated respectivefmt
display.public_params
function inpublic_parameters/mod.rs and registry.rs
to use the newCurveCycleEquipped
type.nova.rs
to work with the newCurveCycleEquipped
type.nova
andpasta_curves::pallas
dependencies fromlurk-tests.rs
andregistry.rs
respectively, demonstrating reduction in dependency.Closes #519.