Coverage Report

Created: 2025-06-10 13:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/bitcoin/src/util/hasher.cpp
Line
Count
Source
1
// Copyright (c) 2019-present 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
#include <crypto/siphash.h>
6
#include <random.h>
7
#include <span.h>
8
#include <util/hasher.h>
9
10
SaltedTxidHasher::SaltedTxidHasher() :
11
2.45M
    k0{FastRandomContext().rand64()},
12
2.45M
    k1{FastRandomContext().rand64()} {}
13
14
SaltedOutpointHasher::SaltedOutpointHasher(bool deterministic) :
15
8.41M
    k0{deterministic ? 0x8e819f2607a18de6 : FastRandomContext().rand64()},
  Branch (15:8): [True: 0, False: 8.41M]
16
8.41M
    k1{deterministic ? 0xf4020d2e3983b0eb : FastRandomContext().rand64()}
  Branch (16:8): [True: 0, False: 8.41M]
17
8.41M
{}
18
19
SaltedSipHasher::SaltedSipHasher() :
20
11.0k
    m_k0{FastRandomContext().rand64()},
21
11.0k
    m_k1{FastRandomContext().rand64()} {}
22
23
size_t SaltedSipHasher::operator()(const std::span<const unsigned char>& script) const
24
974k
{
25
974k
    return CSipHasher(m_k0, m_k1).Write(script).Finalize();
26
974k
}