mopro
mopro copied to clipboard
Make witness generation work for iOS release
Problem
We currently don't have witness generation that works for App Store release. This is due to an unexpected blocker with dylib for app store submission.
Three potential paths:
- Dylib/Framework - we thought this would work but getting upload issues for obscure reasons, we tried pretty much everything we can think of. See https://github.com/oskarth/mopro/issues/107
- Rust native witness gen - we tried to implement this experimental lib but turns out some gnarly bugs; long term very interesting but short term bugs too complex. See https://github.com/oskarth/mopro/issues/32
- C++ witness gen - this is from iden3 ppl, it seems to work but it is a different stack. See https://github.com/oskarth/mopro/issues/110
- There might be other C++/Rust hybrid approaches, but probably nothing that we can integrate <2w for showcase app
Right now, it seems worthwhile to go for 3 and at least do a timeboxed attempt to see if it can be integrated. Unknowns (a) how well it integrates with existing stack and how big changes are required (b) C++ so can expect some linking/distribution issues here, but other team seems to have been working OK with this (though no app store release afaik).
Acceptance criteria
Some witness generation integrated that works for app store release.