5 #ifndef BITCOIN_WALLET_WALLETUTIL_H
6 #define BITCOIN_WALLET_WALLETUTIL_H
88 throw std::ios_base::failure(
"Invalid descriptor: " + error);
94 std::string descriptor_str;
95 SER_WRITE(obj, descriptor_str = obj.descriptor->ToString());
96 READWRITE(descriptor_str, obj.creation_time, obj.next_index, obj.range_start, obj.range_end);
97 SER_READ(obj, obj.DeserializeDescriptor(descriptor_str));
104 #endif // BITCOIN_WALLET_WALLETUTIL_H
bool IsFeatureSupported(int wallet_version, int feature_version)
std::shared_ptr< Descriptor > descriptor
WalletFeature GetClosestWalletFeature(int version)
WalletFeature
(client) version numbers for particular wallet features
std::unique_ptr< Descriptor > Parse(const std::string &descriptor, FlatSigningProvider &out, std::string &error, bool require_checksum)
Parse a descriptor string.
bool error(const char *fmt, const Args &...args)
SERIALIZE_METHODS(WalletDescriptor, obj)
fs::path GetWalletDir()
Get the path of the wallet directory.
Flag set when a wallet contains no HD seed and no private keys, scripts, addresses, and other watch only things, and is therefore "blank.".
Descriptor with some wallet metadata.
Cache for single descriptor's derived extended pubkeys.
std::vector< fs::path > ListWalletDir()
Get wallets in wallet directory.
#define SER_READ(obj, code)
#define SER_WRITE(obj, code)
Indicate that this wallet supports DescriptorScriptPubKeyMan.
void DeserializeDescriptor(const std::string &str)
WalletDescriptor(std::shared_ptr< Descriptor > descriptor, uint64_t creation_time, int32_t range_start, int32_t range_end, int32_t next_index)