LCOV - code coverage report
Current view: top level - ballet/zksdk/instructions - fd_zksdk_batched_range_proof_u64.c (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 27 29 93.1 %
Date: 2026-03-19 18:19:27 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include "../fd_zksdk_private.h"
       2             : 
       3             : /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L82 */
       4             : int
       5          12 : fd_zksdk_instr_verify_proof_batched_range_proof_u64( void const * _context, void const * _proof ) {
       6          12 :   fd_zksdk_transcript_t transcript[1];
       7          12 :   fd_zksdk_batched_range_proof_context_t const * context = _context;
       8          12 :   fd_zksdk_range_proof_u64_proof_t const *       proof   = _proof;
       9             : 
      10             :   /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L83 */
      11          12 :   uchar batch_len = 0;
      12          12 :   int val = batched_range_proof_context_try_into( &batch_len, context );
      13          12 :   if( FD_UNLIKELY( val != FD_ZKSDK_VERIFY_PROOF_SUCCESS ) ) {
      14           0 :     return val;
      15           0 :   }
      16             : 
      17             :   /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L86-L88
      18             :      This can never happen: `commitments: [PodPedersenCommitment; MAX_COMMITMENTS]` */
      19             : 
      20             :   /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L90-L98
      21             :      We validate this inside fd_rangeproofs_verify() */
      22             : 
      23             :   /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L100 */
      24          12 :   batched_range_proof_context_new_transcript( transcript, context );
      25             : 
      26             :   /* https://github.com/solana-program/zk-elgamal-proof/blob/zk-sdk%40v5.0.1/zk-sdk/src/zk_elgamal_proof_program/proof_data/batched_range_proof/batched_range_proof_u64.rs#L103-L105 */
      27          12 :   const fd_rangeproofs_ipp_proof_t ipp_proof = {
      28          12 :     6,
      29          12 :     proof->ipp_lr_vec,
      30          12 :     proof->ipp_a,
      31          12 :     proof->ipp_b,
      32          12 :   };
      33          12 :   int res = fd_rangeproofs_verify(
      34          12 :     &proof->range_proof,
      35          12 :     &ipp_proof,
      36          12 :     context->commitments,
      37          12 :     context->bit_lengths,
      38          12 :     batch_len,
      39          12 :     transcript
      40          12 :   );
      41             : 
      42          12 :   if( FD_LIKELY( res == FD_RANGEPROOFS_SUCCESS ) ) {
      43           4 :     return FD_ZKSDK_VERIFY_PROOF_SUCCESS;
      44           4 :   }
      45           8 :   return FD_ZKSDK_VERIFY_PROOF_ERROR;
      46          12 : }

Generated by: LCOV version 1.14