This is an optimized , hand written Groth16 implementation in Rust using Arbitrum's Stylus SDK.
- Optimized the code size to 22 KB from 26 KB.(Unoptimized)
- Minimal use of std library. Removed use of parse() method , instead used bytes to reduce size.
- Verifier is deployed on Arbitrum Stylus testnet at this address
- Proofs are working. We are demontrating it , by using tornado cash's code as a POC. Proof working link on stylus testnet.
- Uncompressed Wasm - 72Kb
- Compressed Wasm - 22.7Kb
- Deployment Gas - 4969475
- Runtime Gas - 256334
This is experimental software and is provided on an "as is" and "as available" basis. We do not give any warranties and will not be liable for any loss incurred through any use of this codebase. This code is strictly for educational purposes only. Not for production use.