* dereplicode address alignment check
* Uses `checked_div` and `checked_rem` in built-in loaders.
* Uses `checked_div` and `checked_rem`.
* sdk: replace sub() with saturating_sub()
* eliminate `String` "arithmetic"
* allow arithmetic side-effects in tests and benches and on types we don't control
---------
Co-authored-by: Trent Nelson <trent@solana.com>
* 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 bench test for `VerifyPubkeyValidity`
* add bench test for `VerifyRangeProofU64`
* add bench test for `VerifyWithdraw`
* add bench test for `VerifyZeroBalance`
* add bench test for `VerifyGroupedCiphertextValidity`
* add bench test for `VerifyCiphertextCommitmentEquality`
* add bench test for `VerifyCiphertextCiphertextEquality`
* add bench test for `VerifyBatchedGroupedCiphertextValidity`
* add bench test for `VerifyBatchedRangeProofu64`, `VerifyBatchedRangeProofU128`, `VerifyBatchedRangeProofU256`
* add bench test for `VerifyTransfer` and `VerifyTransferWithFee`
* use add `criterion` to workspace cargo
* add bench to ci