Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
crypto_common.cpp
Go to the documentation of this file.
1// Copyright (c) 2020-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/common.h>
7#include <test/fuzz/fuzz.h>
8#include <test/fuzz/util.h>
9
10#include <array>
11#include <cassert>
12#include <cstdint>
13#include <cstring>
14#include <vector>
15
17{
18 FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
25
26 std::array<uint8_t, 2> writele16_arr;
29
30 std::array<uint8_t, 4> writele32_arr;
33
34 std::array<uint8_t, 8> writele64_arr;
37
38 std::array<uint8_t, 2> writebe16_arr;
41
42 std::array<uint8_t, 4> writebe32_arr;
45
46 std::array<uint8_t, 8> writebe64_arr;
49
51 std::array<uint8_t, 2> readle16_arr;
53 assert(std::memcmp(random_bytes_2.data(), readle16_arr.data(), 2) == 0);
54
56 std::array<uint8_t, 4> readle32_arr;
58 assert(std::memcmp(random_bytes_4.data(), readle32_arr.data(), 4) == 0);
59
61 std::array<uint8_t, 8> readle64_arr;
63 assert(std::memcmp(random_bytes_8.data(), readle64_arr.data(), 8) == 0);
64
66 std::array<uint8_t, 4> readbe32_arr;
68 assert(std::memcmp(random_bytes_4.data(), readbe32_arr.data(), 4) == 0);
69
71 std::array<uint8_t, 8> readbe64_arr;
73 assert(std::memcmp(random_bytes_8.data(), readbe64_arr.data(), 8) == 0);
74}
void WriteLE32(B *ptr, uint32_t x)
Definition common.h:50
uint16_t ReadLE16(const B *ptr)
Definition common.h:19
uint64_t ReadLE64(const B *ptr)
Definition common.h:35
uint64_t ReadBE64(const B *ptr)
Definition common.h:80
void WriteLE64(B *ptr, uint64_t x)
Definition common.h:57
uint32_t ReadLE32(const B *ptr)
Definition common.h:27
void WriteBE32(B *ptr, uint32_t x)
Definition common.h:95
void WriteBE16(B *ptr, uint16_t x)
Definition common.h:88
uint16_t ReadBE16(const B *ptr)
Definition common.h:64
void WriteLE16(B *ptr, uint16_t x)
Definition common.h:43
void WriteBE64(B *ptr, uint64_t x)
Definition common.h:102
uint32_t ReadBE32(const B *ptr)
Definition common.h:72
#define FUZZ_TARGET(...)
Definition fuzz.h:35
std::vector< B > ConsumeFixedLengthByteVector(FuzzedDataProvider &fuzzed_data_provider, const size_t length) noexcept
Returns a byte vector of specified size regardless of the number of remaining bytes available from th...
Definition util.h:252
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.
Definition time.h:73
assert(!tx.IsCoinBase())
FuzzedDataProvider & fuzzed_data_provider
Definition fees.cpp:38