21 const std::vector<uint8_t> code = fuzzed_data_provider.ConsumeBytes<uint8_t>(
BIP32_EXTKEY_SIZE);
25 const uint32_t key_exp_pos = fuzzed_data_provider.ConsumeIntegral<uint32_t>();
27 if (fuzzed_data_provider.ConsumeBool()) {
28 (void)descriptor_cache.GetCachedParentExtPubKey(key_exp_pos, xpub_fetched);
29 descriptor_cache.CacheParentExtPubKey(key_exp_pos, xpub);
30 assert(descriptor_cache.GetCachedParentExtPubKey(key_exp_pos, xpub_fetched));
32 const uint32_t der_index = fuzzed_data_provider.ConsumeIntegral<uint32_t>();
33 (void)descriptor_cache.GetCachedDerivedExtPubKey(key_exp_pos, der_index, xpub_fetched);
34 descriptor_cache.CacheDerivedExtPubKey(key_exp_pos, der_index, xpub);
35 assert(descriptor_cache.GetCachedDerivedExtPubKey(key_exp_pos, der_index, xpub_fetched));
37 assert(xpub == xpub_fetched);
39 (void)descriptor_cache.GetCachedParentExtPubKeys();
40 (void)descriptor_cache.GetCachedDerivedExtPubKeys();
FUZZ_TARGET(script_descriptor_cache)
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
void Decode(const unsigned char code[BIP32_EXTKEY_SIZE])
Cache for single descriptor's derived extended pubkeys.
const unsigned int BIP32_EXTKEY_SIZE