41 std::map<CPubKey, KeyOriginInfo> hd_keypaths;
44 }
catch (
const std::ios_base::failure&) {
51 std::map<CPubKey, KeyOriginInfo> hd_keypaths;
53 const std::optional<CPubKey> pub_key = ConsumeDeserializable<CPubKey>(fuzzed_data_provider);
57 const std::optional<KeyOriginInfo> key_origin_info = ConsumeDeserializable<KeyOriginInfo>(fuzzed_data_provider);
58 if (!key_origin_info) {
61 hd_keypaths[*pub_key] = *key_origin_info;
66 }
catch (
const std::ios_base::failure&) {
68 std::map<CPubKey, KeyOriginInfo> deserialized_hd_keypaths;
71 }
catch (
const std::ios_base::failure&) {
73 assert(hd_keypaths.size() >= deserialized_hd_keypaths.size());
79 signature_data_1.MergeSignatureData(signature_data_2);
85 k.Set(key_data.begin(), key_data.end(), fuzzed_data_provider.
ConsumeBool());
91 const std::optional<CMutableTransaction> mutable_transaction = ConsumeDeserializable<CMutableTransaction>(fuzzed_data_provider);
92 const std::optional<CTxOut> tx_out = ConsumeDeserializable<CTxOut>(fuzzed_data_provider);
93 const unsigned int n_in = fuzzed_data_provider.
ConsumeIntegral<
unsigned int>();
94 if (mutable_transaction && tx_out && mutable_transaction->vin.size() > n_in) {
102 if (mutable_transaction) {
105 const std::optional<CMutableTransaction> opt_tx_to = ConsumeDeserializable<CMutableTransaction>(fuzzed_data_provider);
111 if (n_in < tx_to.
vin.size() && tx_to.
vin[n_in].prevout.n < tx_from.vout.size()) {
114 if (n_in < script_tx_to.
vin.size()) {
117 std::vector<unsigned char> vch_sig;
121 address =
k.GetPubKey().GetID();
128 std::map<COutPoint, Coin> coins;
130 const std::optional<COutPoint> outpoint = ConsumeDeserializable<COutPoint>(fuzzed_data_provider);
134 const std::optional<Coin> coin = ConsumeDeserializable<Coin>(fuzzed_data_provider);
138 coins[*outpoint] = *coin;
140 std::map<int, bilingual_str> input_errors;