Changeset View
Changeset View
Standalone View
Standalone View
src/script/descriptor.h
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
/** | /** | ||||
* Parse a descriptor string. Included private keys are put in out. | * Parse a descriptor string. Included private keys are put in out. | ||||
* Returns nullptr if parsing fails. | * Returns nullptr if parsing fails. | ||||
*/ | */ | ||||
std::unique_ptr<Descriptor> Parse(const std::string &descriptor, | std::unique_ptr<Descriptor> Parse(const std::string &descriptor, | ||||
FlatSigningProvider &out); | FlatSigningProvider &out); | ||||
/** | |||||
* Find a descriptor for the specified script, using information from provider | |||||
* where possible. | |||||
* | |||||
* A non-ranged descriptor which only generates the specified script will be | |||||
* returned in all circumstances. | |||||
* | |||||
* For public keys with key origin information, this information will be | |||||
* preserved in the returned descriptor. | |||||
* | |||||
* - If all information for solving `script` is present in `provider`, a | |||||
* descriptor will be returned which is `IsSolvable()` and encapsulates said | |||||
* information. | |||||
* - Failing that, if `script` corresponds to a known address type, an "addr()" | |||||
* descriptor will be returned (which is not `IsSolvable()`). | |||||
* - Failing that, a "raw()" descriptor is returned. | |||||
*/ | |||||
std::unique_ptr<Descriptor> InferDescriptor(const CScript &script, | |||||
const SigningProvider &provider); | |||||
#endif // BITCOIN_SCRIPT_DESCRIPTOR_H | #endif // BITCOIN_SCRIPT_DESCRIPTOR_H |