Changeset View
Changeset View
Standalone View
Standalone View
src/script/descriptor.h
Show First 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | struct Descriptor { | ||||
* false, this is ignored. cache: vector from which cached expansion data | * false, this is ignored. cache: vector from which cached expansion data | ||||
* will be read. output_scripts: the expanded scriptPubKeys will be put | * will be read. output_scripts: the expanded scriptPubKeys will be put | ||||
* here. out: scripts and public keys necessary for solving the expanded | * here. out: scripts and public keys necessary for solving the expanded | ||||
* scriptPubKeys will be put here (may be equal to provider). | * scriptPubKeys will be put here (may be equal to provider). | ||||
*/ | */ | ||||
virtual bool ExpandFromCache(int pos, const std::vector<uint8_t> &cache, | virtual bool ExpandFromCache(int pos, const std::vector<uint8_t> &cache, | ||||
std::vector<CScript> &output_scripts, | std::vector<CScript> &output_scripts, | ||||
FlatSigningProvider &out) const = 0; | FlatSigningProvider &out) const = 0; | ||||
/** Expand the private key for a descriptor at a specified position, if | |||||
* possible. | |||||
* | |||||
* pos: the position at which to expand the descriptor. If IsRange() is | |||||
* false, this is ignored. provider: the provider to query for the private | |||||
* keys. out: any private keys available for the specified pos will be | |||||
* placed here. | |||||
*/ | |||||
virtual void ExpandPrivate(int pos, const SigningProvider &provider, | |||||
FlatSigningProvider &out) const = 0; | |||||
}; | }; | ||||
/** Parse a descriptor string. Included private keys are put in out. | /** Parse a descriptor string. Included private keys are put in out. | ||||
* | * | ||||
* If the descriptor has a checksum, it must be valid. If require_checksum | * If the descriptor has a checksum, it must be valid. If require_checksum | ||||
* is set, the checksum is mandatory - otherwise it is optional. | * is set, the checksum is mandatory - otherwise it is optional. | ||||
* | * | ||||
* If a parse error occurs, or the checksum is missing/invalid, or anything | * If a parse error occurs, or the checksum is missing/invalid, or anything | ||||
Show All 37 Lines |