52 const uint256 u256(fuzzed_data_provider.ConsumeBytes<
unsigned char>(
sizeof(
uint256)));
53 const uint160 u160(fuzzed_data_provider.ConsumeBytes<
unsigned char>(
sizeof(
uint160)));
54 const uint64_t u64 = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
55 const int64_t i64 = fuzzed_data_provider.ConsumeIntegral<int64_t>();
56 const uint32_t
u32 = fuzzed_data_provider.ConsumeIntegral<uint32_t>();
57 const int32_t i32 = fuzzed_data_provider.ConsumeIntegral<int32_t>();
58 const uint16_t u16 = fuzzed_data_provider.ConsumeIntegral<uint16_t>();
59 const int16_t i16 = fuzzed_data_provider.ConsumeIntegral<int16_t>();
60 const uint8_t
u8 = fuzzed_data_provider.ConsumeIntegral<uint8_t>();
61 const int8_t i8 = fuzzed_data_provider.ConsumeIntegral<int8_t>();
64 const char ch = fuzzed_data_provider.ConsumeIntegral<
char>();
65 const bool b = fuzzed_data_provider.ConsumeBool();
73 assert(compressed_money_amount <= compressed_money_amount_max);
77 static const uint256 u256_min(
uint256S(
"0000000000000000000000000000000000000000000000000000000000000000"));
78 static const uint256 u256_max(
uint256S(
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"));
79 const std::vector<uint256> v256{u256, u256_min, u256_max};
85 assert(parsed.value() == i64);
108 const unsigned char uch =
static_cast<unsigned char>(
u8);
111 const std::set<int64_t> i64s{i64,
static_cast<int64_t
>(u64)};
114 assert(dynamic_usage == incremental_dynamic_usage * i64s.size());
124 assert(parsed.value() == i64);
127 if (i32 >= 0 && i32 <= 16) {
131 const std::chrono::seconds seconds{i64};
135 (void)script_num.
getint();
136 (void)script_num.getvch();
150 const CKeyID key_id{u160};
158 stream >> deserialized_u256;
159 assert(u256 == deserialized_u256 && stream.
empty());
163 stream >> deserialized_u160;
164 assert(u160 == deserialized_u160 && stream.
empty());
166 uint64_t deserialized_u64;
168 stream >> deserialized_u64;
171 int64_t deserialized_i64;
173 stream >> deserialized_i64;
176 uint32_t deserialized_u32;
178 stream >> deserialized_u32;
181 int32_t deserialized_i32;
183 stream >> deserialized_i32;
186 uint16_t deserialized_u16;
188 stream >> deserialized_u16;
191 int16_t deserialized_i16;
193 stream >> deserialized_i16;
196 uint8_t deserialized_u8;
198 stream >> deserialized_u8;
201 int8_t deserialized_i8;
203 stream >> deserialized_i8;
208 stream >> deserialized_b;
239 assert(u16 == deserialized_u16be && stream.
empty());
253 }
catch (
const std::ios_base::failure&) {
uint64_t SipHashUint256(uint64_t k0, uint64_t k1, const uint256 &val)
Optimized SipHash-2-4 implementation for uint256.
uint64_t CompressAmount(uint64_t n)
Compress amount.
bool AdditionOverflow(const T i, const T j) noexcept
std::string ToString() const
static int DecodeOP_N(opcodetype opcode)
Encode/decode small integers:
signed char HexDigit(char c)
ServiceFlags
nServices flags
uint8_t ser_readdata8(Stream &s)
static const std::string REGTEST
void ser_writedata64(Stream &s, uint64_t obj)
uint64_t ReadCompactSize(Stream &is, bool range_check=true)
Decode a CompactSize-encoded variable-length integer.
void WriteCompactSize(CSizeComputer &os, uint64_t nSize)
static size_t DynamicUsage(const int8_t &v)
Dynamic memory usage for built-in types is zero.
bool MoneyRange(const CAmount &nValue)
#define CHECK_NONFATAL(condition)
Identity function.
void ser_writedata32(Stream &s, uint32_t obj)
unsigned int GetSizeOfCompactSize(uint64_t nSize)
Compact Size size < 253 – 1 byte size <= USHRT_MAX – 3 bytes (253 + 2 bytes) size <= UINT_MAX – 5 ...
constexpr bool IsDigit(char c)
Tests if the given character is a decimal digit.
void initialize_integer()
Double ended buffer combining vector and stream-like interfaces.
int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost, unsigned int bytes_per_sigop)
Compute the virtual transaction size (weight reinterpreted as bytes).
const std::string & getValStr() const
uint32_t GetCompact(bool fNegative=false) const
arith_uint256 UintToArith256(const uint256 &a)
bool MultiplicationOverflow(const T i, const T j) noexcept
std::string ToString(const T &t)
Locale-independent version of std::to_string.
uint16_t ser_readdata16(Stream &s)
uint32_t ser_readdata32(Stream &s)
static bool HasAllDesirableServiceFlags(ServiceFlags services)
A shortcut for (services & GetDesirableServiceFlags(services)) == GetDesirableServiceFlags(services)...
void SelectParams(const std::string &network)
Sets the params returned by Params() to those for the given chain name.
static const int INIT_PROTO_VERSION
initial proto version, to be increased after version/verack negotiation
void ser_writedata16(Stream &s, uint16_t obj)
uint256 uint256S(const char *str)
FUZZ_TARGET_INIT(integer, initialize_integer)
std::optional< CAmount > ParseMoney(const std::string &money_string)
Parse an amount denoted in full coins.
std::string SighashToStr(unsigned char sighash_type)
static uint64_t CountBits(uint64_t x)
Return the smallest number n such that (x >> n) == 0 (or 64 if the highest bit in x is set...
void ser_writedata32be(Stream &s, uint32_t obj)
Parameters that influence chain consensus.
bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params ¶ms)
Check whether a block hash satisfies the proof-of-work requirement specified by nBits.
uint64_t SipHashUint256Extra(uint64_t k0, uint64_t k1, const uint256 &val, uint32_t extra)
256-bit unsigned big integer.
uint64_t ser_readdata64(Stream &s)
static bool MayHaveUsefulAddressDB(ServiceFlags services)
Checks if a peer with the given service flags may be capable of having a robust address-storage DB...
constexpr int64_t count_seconds(std::chrono::seconds t)
std::string ToLower(std::string_view str)
Returns the lowercase equivalent of the given string.
std::string FormatMoney(const CAmount n)
Money parsing/formatting utilities.
uint16_t ser_readdata16be(Stream &s)
uint256 ComputeMerkleRoot(std::vector< uint256 > hashes, bool *mutated)
uint256 ArithToUint256(const arith_uint256 &a)
static opcodetype EncodeOP_N(int n)
const CChainParams & Params()
Return the currently selected parameters.
uint64_t GetLow64() const
constexpr bool IsSpace(char c) noexcept
Tests if the given character is a whitespace character.
A reference to a CKey: the Hash160 of its serialized public key.
uint32_t ser_readdata32be(Stream &s)
UniValue ValueFromAmount(const CAmount amount)
static constexpr CAmount MAX_MONEY
No amount larger than this (in satoshi) is valid.
struct timeval MillisToTimeval(int64_t nTimeout)
Convert milliseconds to a struct timeval for e.g.
static size_t IncrementalDynamicUsage(const std::set< X, Y > &s)
void ser_writedata16be(Stream &s, uint16_t obj)
A reference to a CScript: the Hash160 of its serialization (see script.h)
unsigned int GetSpecialScriptSize(unsigned int nSize)
bool IsSwitchChar(char c)
std::string GetHex() const
const Consensus::Params & GetConsensus() const
uint64_t DecompressAmount(uint64_t x)
unsigned int size() const
void ser_writedata8(Stream &s, uint8_t obj)
unsigned int bits() const
Returns the position of the highest bit set plus one, or zero if the value is zero.
std::string ToUpper(std::string_view str)
Returns the uppercase equivalent of the given string.