MCPcopy Create free account
hub / github.com/ElementsProject/elements / FUZZ_TARGET

Function FUZZ_TARGET

src/test/fuzz/primitives_transaction.cpp:15–34  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include <vector>
14
15FUZZ_TARGET(primitives_transaction)
16{
17 FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
18 const CScript script = ConsumeScript(fuzzed_data_provider);
19 const std::optional<COutPoint> out_point = ConsumeDeserializable<COutPoint>(fuzzed_data_provider);
20 if (out_point) {
21 const CTxIn tx_in{*out_point, script, fuzzed_data_provider.ConsumeIntegral<uint32_t>()};
22 (void)tx_in;
23 }
24 const CTxOut tx_out_1{CAsset(), ConsumeMoney(fuzzed_data_provider), script};
25 const CTxOut tx_out_2{CAsset(), ConsumeMoney(fuzzed_data_provider), ConsumeScript(fuzzed_data_provider)};
26 assert((tx_out_1 == tx_out_2) != (tx_out_1 != tx_out_2));
27 const std::optional<CMutableTransaction> mutable_tx_1 = ConsumeDeserializable<CMutableTransaction>(fuzzed_data_provider);
28 const std::optional<CMutableTransaction> mutable_tx_2 = ConsumeDeserializable<CMutableTransaction>(fuzzed_data_provider);
29 if (mutable_tx_1 && mutable_tx_2) {
30 const CTransaction tx_1{*mutable_tx_1};
31 const CTransaction tx_2{*mutable_tx_2};
32 assert((tx_1 == tx_2) != (tx_1 != tx_2));
33 }
34}

Callers

nothing calls this directly

Calls 5

ConsumeScriptFunction · 0.85
CAssetClass · 0.85
ConsumeMoneyFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected