LCOV - code coverage report
Current view: top level - ballet/zksdk/instructions - fd_zksdk_batched_range_proof_u256.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_u256.rs#L90 */
       4             : int
       5          12 : fd_zksdk_instr_verify_proof_batched_range_proof_u256( 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_u256_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_u256.rs#L91 */
      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_u256.rs#L99-L104
      18             :      This is already checked in batched_range_proof_context_try_into() */
      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_u256.rs#L106-L108
      21             :      This can never happen: `commitments: [PodPedersenCommitment; MAX_COMMITMENTS]` */
      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_u256.rs#L110-L117
      24             :      We validate this inside fd_rangeproofs_verify() */
      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_u256.rs#L119 */
      27          12 :   batched_range_proof_context_new_transcript( transcript, context );
      28             : 
      29             :   /* 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_u256.rs#L122-L124 */
      30          12 :   const fd_rangeproofs_ipp_proof_t ipp_proof = {
      31          12 :     8,
      32          12 :     proof->ipp_lr_vec,
      33          12 :     proof->ipp_a,
      34          12 :     proof->ipp_b,
      35          12 :   };
      36          12 :   int res = fd_rangeproofs_verify(
      37          12 :     &proof->range_proof,
      38          12 :     &ipp_proof,
      39          12 :     context->commitments,
      40          12 :     context->bit_lengths,
      41          12 :     batch_len,
      42          12 :     transcript
      43          12 :   );
      44             : 
      45          12 :   if( FD_LIKELY( res == FD_RANGEPROOFS_SUCCESS ) ) {
      46           4 :     return FD_ZKSDK_VERIFY_PROOF_SUCCESS;
      47           4 :   }
      48           8 :   return FD_ZKSDK_VERIFY_PROOF_ERROR;
      49          12 : }

Generated by: LCOV version 1.14