LCOV - code coverage report
Current view: top level - choreo/votor - ag_vote.c (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 52 0.0 %
Date: 2026-10-22 18:10:43 Functions: 0 6 0.0 %

          Line data    Source code
       1             : #include "ag_vote_serde.h"
       2             : 
       3             : static void
       4             : sign( ag_vote_t const * self,
       5             :       fd_bls_sign_fn    sign_fn,
       6             :       void *            sign_ctx,
       7             :       uchar const *     public_key,
       8             :       ushort            shred_version,
       9           0 :       fd_bls_sig_t *    sig ) {
      10           0 :   uchar buf[ AG_VOTE_SIGNING_SER_MAX ];
      11           0 :   ulong sz = ag_vote_signing_ser( self->kind, ag_vote_slot( self ), ag_vote_block_hash( self ), shred_version, buf );
      12           0 :   sign_fn( sign_ctx, sig, public_key, buf, sz );
      13           0 : }
      14             : 
      15             : ag_vote_t
      16             : ag_vote_construct_notar( fd_bls_sign_fn        sign_fn,
      17             :                          void *                sign_ctx,
      18             :                          uchar const *         public_key,
      19             :                          ulong                 slot,
      20             :                          ag_block_hash_t const hash,
      21             :                          ushort                rank,
      22           0 :                          ushort                shred_version ) {
      23           0 :   ag_vote_t vote;
      24           0 :   vote.kind                = AG_VOTE_KIND_NOTAR;
      25           0 :   vote.notar.slot          = slot;
      26           0 :   vote.notar.rank          = rank;
      27           0 :   vote.notar.shred_version = shred_version;
      28           0 :   memcpy( vote.notar.block_hash, hash, sizeof(ag_block_hash_t) );
      29           0 :   sign( &vote, sign_fn, sign_ctx, public_key, shred_version, &vote.notar.sig );
      30           0 :   return vote;
      31           0 : }
      32             : 
      33             : ag_vote_t
      34             : ag_vote_construct_final( fd_bls_sign_fn sign_fn,
      35             :                          void *         sign_ctx,
      36             :                          uchar const *  public_key,
      37             :                          ulong          slot,
      38             :                          ushort         rank,
      39           0 :                          ushort         shred_version ) {
      40           0 :   ag_vote_t vote;
      41           0 :   vote.kind                = AG_VOTE_KIND_FINAL;
      42           0 :   vote.final.slot          = slot;
      43           0 :   vote.final.rank          = rank;
      44           0 :   vote.final.shred_version = shred_version;
      45           0 :   sign( &vote, sign_fn, sign_ctx, public_key, shred_version, &vote.final.sig );
      46           0 :   return vote;
      47           0 : }
      48             : 
      49             : ag_vote_t
      50             : ag_vote_construct_skip( fd_bls_sign_fn sign_fn,
      51             :                         void *         sign_ctx,
      52             :                         uchar const *  public_key,
      53             :                         ulong          slot,
      54             :                         ushort         rank,
      55           0 :                         ushort         shred_version ) {
      56           0 :   ag_vote_t vote;
      57           0 :   vote.kind               = AG_VOTE_KIND_SKIP;
      58           0 :   vote.skip.slot          = slot;
      59           0 :   vote.skip.rank          = rank;
      60           0 :   vote.skip.shred_version = shred_version;
      61           0 :   sign( &vote, sign_fn, sign_ctx, public_key, shred_version, &vote.skip.sig );
      62           0 :   return vote;
      63           0 : }
      64             : 
      65             : ag_vote_t
      66             : ag_vote_construct_notar_fallback( fd_bls_sign_fn        sign_fn,
      67             :                                   void *                sign_ctx,
      68             :                                   uchar const *         public_key,
      69             :                                   ulong                 slot,
      70             :                                   ag_block_hash_t const hash,
      71             :                                   ushort                rank,
      72           0 :                                   ushort                shred_version ) {
      73           0 :   ag_vote_t vote;
      74           0 :   vote.kind                         = AG_VOTE_KIND_NOTAR_FALLBACK;
      75           0 :   vote.notar_fallback.slot          = slot;
      76           0 :   vote.notar_fallback.rank          = rank;
      77           0 :   vote.notar_fallback.shred_version = shred_version;
      78           0 :   memcpy( vote.notar_fallback.block_hash, hash, sizeof(ag_block_hash_t) );
      79           0 :   sign( &vote, sign_fn, sign_ctx, public_key, shred_version, &vote.notar_fallback.sig );
      80           0 :   return vote;
      81           0 : }
      82             : 
      83             : ag_vote_t
      84             : ag_vote_construct_skip_fallback( fd_bls_sign_fn sign_fn,
      85             :                                  void *         sign_ctx,
      86             :                                  uchar const *  public_key,
      87             :                                  ulong          slot,
      88             :                                  ushort         rank,
      89           0 :                                  ushort         shred_version ) {
      90           0 :   ag_vote_t vote;
      91           0 :   vote.kind                        = AG_VOTE_KIND_SKIP_FALLBACK;
      92           0 :   vote.skip_fallback.slot          = slot;
      93           0 :   vote.skip_fallback.rank          = rank;
      94           0 :   vote.skip_fallback.shred_version = shred_version;
      95           0 :   sign( &vote, sign_fn, sign_ctx, public_key, shred_version, &vote.skip_fallback.sig );
      96           0 :   return vote;
      97           0 : }

Generated by: LCOV version 1.14