Bitcoin
|
#include <script/script.h>
#include <script/sign.h>
#include <script/signingprovider.h>
#include <vector>
Go to the source code of this file.
Classes | |
struct | Descriptor |
Functions | |
std::unique_ptr< Descriptor > | Parse (const std::string &descriptor, FlatSigningProvider &out, bool require_checksum=false) |
std::unique_ptr< Descriptor > | InferDescriptor (const CScript &script, const SigningProvider &provider) |
std::unique_ptr<Descriptor> InferDescriptor | ( | const CScript & | script, |
const SigningProvider & | provider | ||
) |
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.
script
is present in provider
, a descriptor will be returned which is IsSolvable()
and encapsulates said information.script
corresponds to a known address type, an "addr()" descriptor will be returned (which is not IsSolvable()
).std::unique_ptr<Descriptor> Parse | ( | const std::string & | descriptor, |
FlatSigningProvider & | out, | ||
bool | require_checksum = false |
||
) |
Parse a descriptor string. Included private keys are put in out.
If the descriptor has a checksum, it must be valid. If require_checksum is set, the checksum is mandatory - otherwise it is optional.
If a parse error occurs, or the checksum is missing/invalid, or anything else is wrong, nullptr is returned.