Bitcoin
|
#include <script/sign.h>
#include <key.h>
#include <policy/policy.h>
#include <primitives/transaction.h>
#include <script/signingprovider.h>
#include <script/standard.h>
#include <uint256.h>
Namespaces | |
anonymous_namespace{sign.cpp} | |
Typedefs | |
typedef std::vector< unsigned char > | valtype |
Functions | |
static bool | GetCScript (const SigningProvider &provider, const SignatureData &sigdata, const CScriptID &scriptid, CScript &script) |
static bool | GetPubKey (const SigningProvider &provider, const SignatureData &sigdata, const CKeyID &address, CPubKey &pubkey) |
static bool | CreateSig (const BaseSignatureCreator &creator, SignatureData &sigdata, const SigningProvider &provider, std::vector< unsigned char > &sig_out, const CPubKey &pubkey, const CScript &scriptcode, SigVersion sigversion) |
static bool | SignStep (const SigningProvider &provider, const BaseSignatureCreator &creator, const CScript &scriptPubKey, std::vector< valtype > &ret, txnouttype &whichTypeRet, SigVersion sigversion, SignatureData &sigdata) |
static CScript | PushAll (const std::vector< valtype > &values) |
bool | ProduceSignature (const SigningProvider &provider, const BaseSignatureCreator &creator, const CScript &fromPubKey, SignatureData &sigdata) |
SignatureData | DataFromTransaction (const CMutableTransaction &tx, unsigned int nIn, const CTxOut &txout) |
void | UpdateInput (CTxIn &input, const SignatureData &data) |
bool | SignSignature (const SigningProvider &provider, const CScript &fromPubKey, CMutableTransaction &txTo, unsigned int nIn, const CAmount &amount, int nHashType) |
bool | SignSignature (const SigningProvider &provider, const CTransaction &txFrom, CMutableTransaction &txTo, unsigned int nIn, int nHashType) |
bool | IsSolvable (const SigningProvider &provider, const CScript &script) |
bool | IsSegWitOutput (const SigningProvider &provider, const CScript &script) |
Variables | |
const DummySignatureChecker | anonymous_namespace{sign.cpp}::DUMMY_CHECKER |
const BaseSignatureCreator & | DUMMY_SIGNATURE_CREATOR = DummySignatureCreator(32, 32) |
const BaseSignatureCreator & | DUMMY_MAXIMUM_SIGNATURE_CREATOR = DummySignatureCreator(33, 32) |
typedef std::vector<unsigned char> valtype |
|
static |
SignatureData DataFromTransaction | ( | const CMutableTransaction & | tx, |
unsigned int | nIn, | ||
const CTxOut & | txout | ||
) |
Extract signature data from a transaction input, and insert it.
|
static |
|
static |
bool IsSegWitOutput | ( | const SigningProvider & | provider, |
const CScript & | script | ||
) |
Check whether a scriptPubKey is known to be segwit.
bool IsSolvable | ( | const SigningProvider & | provider, |
const CScript & | script | ||
) |
bool ProduceSignature | ( | const SigningProvider & | provider, |
const BaseSignatureCreator & | creator, | ||
const CScript & | scriptPubKey, | ||
SignatureData & | sigdata | ||
) |
Produce a script signature using a generic signature creator.
bool SignSignature | ( | const SigningProvider & | provider, |
const CScript & | fromPubKey, | ||
CMutableTransaction & | txTo, | ||
unsigned int | nIn, | ||
const CAmount & | amount, | ||
int | nHashType | ||
) |
Produce a script signature for a transaction.
bool SignSignature | ( | const SigningProvider & | provider, |
const CTransaction & | txFrom, | ||
CMutableTransaction & | txTo, | ||
unsigned int | nIn, | ||
int | nHashType | ||
) |
|
static |
Sign scriptPubKey using signature made with creator. Signatures are returned in scriptSigRet (or returns false if scriptPubKey can't be signed), unless whichTypeRet is TX_SCRIPTHASH, in which case scriptSigRet is the redemption script. Returns false if scriptPubKey could not be completely satisfied.
void UpdateInput | ( | CTxIn & | input, |
const SignatureData & | data | ||
) |
const BaseSignatureCreator& DUMMY_MAXIMUM_SIGNATURE_CREATOR = DummySignatureCreator(33, 32) |
A signature creator that just produces 72-byte empty signatures.
const BaseSignatureCreator& DUMMY_SIGNATURE_CREATOR = DummySignatureCreator(32, 32) |
A signature creator that just produces 71-byte empty signatures.