5 #ifndef BITCOIN_WALLET_WALLETUTIL_H 6 #define BITCOIN_WALLET_WALLETUTIL_H 101 throw std::ios_base::failure(
"Invalid descriptor: " + error);
108 std::string descriptor_str;
109 SER_WRITE(obj, descriptor_str = obj.descriptor->ToString());
110 READWRITE(descriptor_str, obj.creation_time, obj.next_index, obj.range_start, obj.range_end);
111 SER_READ(obj, obj.DeserializeDescriptor(descriptor_str));
121 #endif // BITCOIN_WALLET_WALLETUTIL_H static UniValue Parse(std::string_view raw)
Parse string to UniValue or throw runtime_error if string contains invalid JSON.
WalletDescriptor GenerateWalletDescriptor(const CExtPubKey &master_key, const OutputType &addr_type, bool internal)
WalletDescriptor()=default
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.".
Indicates that the wallet needs an external signer.
std::shared_ptr< Descriptor > descriptor
bool IsFeatureSupported(int wallet_version, int feature_version)
WalletFeature
(client) version numbers for particular wallet features
Indicate that this wallet supports DescriptorScriptPubKeyMan.
Descriptor with some wallet metadata.
WalletDescriptor(std::shared_ptr< Descriptor > descriptor, uint64_t creation_time, int32_t range_start, int32_t range_end, int32_t next_index)
Cache for single descriptor's derived extended pubkeys.
uint256 DescriptorID(const Descriptor &desc)
Unique identifier that may not change over time, unless explicitly marked as not backwards compatible...
void DeserializeDescriptor(const std::string &str)
#define SER_READ(obj, code)
#define SER_WRITE(obj, code)
SERIALIZE_METHODS(WalletDescriptor, obj)
Path class wrapper to block calls to the fs::path(std::string) implicit constructor and the fs::path:...
WalletFeature GetClosestWalletFeature(int version)