a16z / jolt

The simplest and most extensible zkVM. Fast and fully open source from a16z crypto and friends. ⚡
https://jolt.a16zcrypto.com
MIT License
580 stars 105 forks source link

forward-compatibility with future ark_ff #360

Closed slumber closed 1 month ago

slumber commented 1 month ago

We'd like to integrate Jolt as a dependency for Nexus zkVM. However, arkworks 0.4 has crucial bugs such as https://github.com/arkworks-rs/r1cs-std/issues/94 and several others.

Thus, nexus code is forced to use patched ark-* crates. Luckily, there aren't many changes needed to be forward compatible with potential arkworks 0.5, hence this PR.

(note that

    // From JoltField 

    fn double(&self) -> Self;

is unused and depends on AdditiveGroup instead of Field in the future. It's my assumption that it's safe to be removed.)

moodlezoup commented 1 month ago

I think we want to keep these methods around; we can patch as necessary when arkworks 0.5 is released