Closed chancehudson closed 5 months ago
additional information ark-zkey is moved here: https://github.com/zkmopro/ark-zkey gpu-research is moved here: https://github.com/zkmopro/gpu-acceleration mopro-ios is here: https://github.com/zkmopro/mopro-ios mopro-android is here: https://github.com/zkmopro/mopro-android
This PR includes major changes to the structure of mopro. These changes are made to support application defined native logic like witness generation and halo2 proof calculation.
ark-zkey
ark-zkey was moved into it's own repo.
gpu-research
All gpu research logic is removed and contained in a separate branch/repo. In the future specific gpu accelerations can be added as needed.
mopro-ios/mopro-android
These legacy directories were removed.
mopro-cli
The mopro-cli was removed in favor of rust implemented build logic. Additionally the circuit compilation logic (e.g. circom) was removed in favor of having the user supply zkey files themselves.
mopro-core/mopro-ffi
mopro-core and mopro-ffi were merged into just mopro-ffi. Additionally mopro-ffi does not invoke uniffi directly. It's expected that the app will build the uniffi logic itself with it's own rust logic (e.g. for witness gen).
templates
The template system for setting up projects was removed. Instead manual instructions are provided to create a project using
cargo init
.app!
macroThe app macro was added as the main method of implementing uniffi in apps. This macro expects a
zkey_witness_map
function for native witness calculation.test-e2e
The test-e2e folder contains app implementations for android and ios. Both apps are built in ci. iOS has UI tests implemented as well.
library bundles
For iOS and Android the static libraries are built into an
xcframework
andjniLibs
respectively. This means we can build multiple architectures at once so the user doesn't need to re-runcargo build
when they switch from simulator to device. The user only needs to rebuild to switch from debug to release.Depends #189
Closes #9 Closes #11 as unnecessary Closes #73 Closes #83 (i think, @vivianjeng can you double check this?) Closes #107 Closes #109 Related #117 (i think we can pull the mopro-app code into test-e2e) Closes #141 Closes #151 Closes #180 Closes #127