* make `ElGamalKeypair` fields private
* update the rest of `zk-token-sdk` for the visibility update
* update `zk-token-proof-tests` for the visibility update
* update `zk-keygen` for the visibility update
* update `zk-token-proof` benches for the updated visibility
* cargo fmt
* rename `ElGamalKeypair::new` to `ElGamalKeypair::new_for_tests`
* add aggregate range proof instructions data
* add aggregate range proof instruction
* update proof program processor for aggregate range proof instructions
* cargo fmt
* Update zk-token-sdk/src/instruction/aggregate_range_proof/aggregate_range_proof_256.rs
Co-authored-by: mvines <mvines@gmail.com>
* add remark in instruction description that context state account must be pre-allocated
* use `u64::BITS` and `u128::BITS`
* add proof description in `zk_token_proof_instruction.rs`
* rename instruction names to `VerifyBatchedRangeProofU{N}`
* rename module names from `aggregate` to `batched`
* add `tokio::test` that was lost in rebase
---------
Co-authored-by: mvines <mvines@gmail.com>
* add `VerifyRangeProof` instruction
* update proof program processor for `VerifyRangeProof64`
* specify target arch for `RANGEPROOF64_BIT_LENGTH
* rename `transcript_new` to `new_transcript`
* add constructor for `VerifyRangeProof64`
* add remark in the instruction description that context state account must be pre-allocated
* add proof description in `zk_token_proof_instruction.rs`
* rename `VerifyRangeProof64` to `VerifyRangeProofU64`
* use `u64::BITS`
* Update zk-token-sdk/src/zk_token_proof_instruction.rs
Co-authored-by: Tyera <teulberg@gmail.com>
* Apply suggestions from code review
Co-authored-by: Tyera <teulberg@gmail.com>
* fix range proof test
---------
Co-authored-by: Tyera <teulberg@gmail.com>
* rename and restruct ProofInstruction::VerifyCloseAccount to ProofInstruction::VerifyZeroBalance
* rename `PubkeySigmaProof` to `PubkeyValidityProof`
* refactor equality proofs into separate modules
* rename and restructure ProofInstruction::VerifyWithdrawWithheld to ProofInstruction::VerifyCiphertextCiphertextEquality
* add and reorg documentation for the proof instructions
* generalize ciphertext-ciphertext equality proof data constructor
* Update zk-token-sdk/src/instruction/ctxt_ctxt_equality.rs
Co-authored-by: Jon Cinque <joncinque@pm.me>
---------
Co-authored-by: Jon Cinque <joncinque@pm.me>