5 #ifndef BITCOIN_WALLET_WALLETUTIL_H 6 #define BITCOIN_WALLET_WALLETUTIL_H 92 throw std::ios_base::failure(
"Invalid descriptor: " +
error);
98 std::string descriptor_str;
99 SER_WRITE(obj, descriptor_str = obj.descriptor->ToString());
100 READWRITE(descriptor_str, obj.creation_time, obj.next_index, obj.range_start, obj.range_end);
101 SER_READ(obj, obj.DeserializeDescriptor(descriptor_str));
109 class DescriptorScriptPubKeyMan;
117 std::vector<std::unique_ptr<DescriptorScriptPubKeyMan>>
desc_spkms;
123 #endif // BITCOIN_WALLET_WALLETUTIL_H
struct containing information needed for migrating legacy wallets to descriptor wallets ...
std::vector< std::pair< std::string, int64_t > > solvable_descs
std::vector< std::pair< std::string, int64_t > > watch_descs
std::shared_ptr< CWallet > solvable_wallet
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.".
std::unique_ptr< Descriptor > Parse(const std::string &descriptor, FlatSigningProvider &out, std::string &error, bool require_checksum)
Parse a descriptor string.
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.
void DeserializeDescriptor(const std::string &str)
std::shared_ptr< CWallet > watchonly_wallet
#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:...
bool error(const char *fmt, const Args &... args)
WalletFeature GetClosestWalletFeature(int version)
std::vector< std::unique_ptr< DescriptorScriptPubKeyMan > > desc_spkms