LCOV - code coverage report
Current view: top level - src - signet.h (source / functions) Coverage Total Hit
Test: test_bitcoin_coverage.info Lines: 100.0 % 1 1
Test Date: 2024-11-04 04:45:35 Functions: 100.0 % 1 1
Branches: 50.0 % 2 1

             Branch data     Line data    Source code
       1                 :             : // Copyright (c) 2019-2021 The Bitcoin Core developers
       2                 :             : // Distributed under the MIT software license, see the accompanying
       3                 :             : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4                 :             : 
       5                 :             : #ifndef BITCOIN_SIGNET_H
       6                 :             : #define BITCOIN_SIGNET_H
       7                 :             : 
       8                 :             : #include <consensus/params.h>
       9                 :             : #include <primitives/block.h>
      10                 :             : #include <primitives/transaction.h>
      11                 :             : 
      12                 :             : #include <optional>
      13                 :             : 
      14                 :             : /**
      15                 :             :  * Extract signature and check whether a block has a valid solution
      16                 :             :  */
      17                 :             : bool CheckSignetBlockSolution(const CBlock& block, const Consensus::Params& consensusParams);
      18                 :             : 
      19                 :             : /**
      20                 :             :  * Generate the signet tx corresponding to the given block
      21                 :             :  *
      22                 :             :  * The signet tx commits to everything in the block except:
      23                 :             :  * 1. It hashes a modified merkle root with the signet signature removed.
      24                 :             :  * 2. It skips the nonce.
      25                 :             :  */
      26                 :             : class SignetTxs {
      27                 :             :     template<class T1, class T2>
      28         [ +  - ]:           6 :     SignetTxs(const T1& to_spend, const T2& to_sign) : m_to_spend{to_spend}, m_to_sign{to_sign} { }
      29                 :             : 
      30                 :             : public:
      31                 :             :     static std::optional<SignetTxs> Create(const CBlock& block, const CScript& challenge);
      32                 :             : 
      33                 :             :     const CTransaction m_to_spend;
      34                 :             :     const CTransaction m_to_sign;
      35                 :             : };
      36                 :             : 
      37                 :             : #endif // BITCOIN_SIGNET_H
        

Generated by: LCOV version 2.0-1