Prepare the 3 basic algorithm codes (Add, Scalar_Mul, and Pairing) of alt_bn128 elliptic curve from zcash's official library bn .
Prepare the same 3 basic algorithm codes of bls12_381 from zcash's official library bls12_381 .
Integrate the above 6 algorithms into the under layer of Substrate Runtime.
Add Runtime_interface to the Jupiter testnet and provide it to Runtime applications.
Add Contract_Seal to the contract module of the Jupiter testnet and provide it to the WASM contract application.
The runtime pallet that implements the zkSNARK verification algorithm.
The Metis contract library that implements the zkSNARK verification algorithm.
The Metis contract library that implements other commonly used algorithms, such as Poseidon, EdDSA, MerkleTree, MiMC and other commonly used algorithms.
Test six basic elliptic curve algorithms
Test the zkSNARK verification algorithm of the Runtime layer
Test the zkSNARK verification algorithm implemented in the contract layer
Test Poseidon, EdDSA, MerkleTree, MiMC and other commonly used algorithm contract templates.
Provide benchmark results of all the above functions and develop them for the community as a reference for transaction weight and pricing.