Dash Core  0.12.2.1
P2P Digital Currency
sign.cpp File Reference
#include "script/sign.h"
#include "key.h"
#include "keystore.h"
#include "policy/policy.h"
#include "primitives/transaction.h"
#include "script/standard.h"
#include "uint256.h"
#include <boost/foreach.hpp>

Go to the source code of this file.

Typedefs

typedef std::vector< unsigned char > valtype
 

Functions

static bool Sign1 (const CKeyID &address, const BaseSignatureCreator &creator, const CScript &scriptCode, CScript &scriptSigRet)
 
static bool SignN (const vector< valtype > &multisigdata, const BaseSignatureCreator &creator, const CScript &scriptCode, CScript &scriptSigRet)
 
static bool SignStep (const BaseSignatureCreator &creator, const CScript &scriptPubKey, CScript &scriptSigRet, txnouttype &whichTypeRet)
 
bool ProduceSignature (const BaseSignatureCreator &creator, const CScript &fromPubKey, CScript &scriptSig)
 
bool SignSignature (const CKeyStore &keystore, const CScript &fromPubKey, CMutableTransaction &txTo, unsigned int nIn, int nHashType)
 
bool SignSignature (const CKeyStore &keystore, const CTransaction &txFrom, CMutableTransaction &txTo, unsigned int nIn, int nHashType)
 
static CScript PushAll (const vector< valtype > &values)
 
static CScript CombineMultisig (const CScript &scriptPubKey, const BaseSignatureChecker &checker, const vector< valtype > &vSolutions, const vector< valtype > &sigs1, const vector< valtype > &sigs2)
 
static CScript CombineSignatures (const CScript &scriptPubKey, const BaseSignatureChecker &checker, const txnouttype txType, const vector< valtype > &vSolutions, vector< valtype > &sigs1, vector< valtype > &sigs2)
 
CScript CombineSignatures (const CScript &scriptPubKey, const CTransaction &txTo, unsigned int nIn, const CScript &scriptSig1, const CScript &scriptSig2)
 
CScript CombineSignatures (const CScript &scriptPubKey, const BaseSignatureChecker &checker, const CScript &scriptSig1, const CScript &scriptSig2)
 

Typedef Documentation

◆ valtype

typedef std::vector<unsigned char> valtype

Definition at line 19 of file sign.cpp.

Function Documentation

◆ CombineMultisig()

static CScript CombineMultisig ( const CScript scriptPubKey,
const BaseSignatureChecker checker,
const vector< valtype > &  vSolutions,
const vector< valtype > &  sigs1,
const vector< valtype > &  sigs2 
)
static

Definition at line 158 of file sign.cpp.

Referenced by CombineSignatures().

◆ CombineSignatures() [1/3]

static CScript CombineSignatures ( const CScript scriptPubKey,
const BaseSignatureChecker checker,
const txnouttype  txType,
const vector< valtype > &  vSolutions,
vector< valtype > &  sigs1,
vector< valtype > &  sigs2 
)
static

Definition at line 213 of file sign.cpp.

Referenced by CombineSignatures(), MutateTxSign(), and signrawtransaction().

◆ CombineSignatures() [2/3]

CScript CombineSignatures ( const CScript scriptPubKey,
const CTransaction txTo,
unsigned int  nIn,
const CScript scriptSig1,
const CScript scriptSig2 
)

Combine two script signatures on transactions.

Definition at line 258 of file sign.cpp.

◆ CombineSignatures() [3/3]

CScript CombineSignatures ( const CScript scriptPubKey,
const BaseSignatureChecker checker,
const CScript scriptSig1,
const CScript scriptSig2 
)

Combine two script signatures using a generic signature checker, intelligently, possibly with OP_0 placeholders.

Definition at line 265 of file sign.cpp.

◆ ProduceSignature()

bool ProduceSignature ( const BaseSignatureCreator creator,
const CScript scriptPubKey,
CScript scriptSig 
)

Produce a script signature using a generic signature creator.

Definition at line 104 of file sign.cpp.

Referenced by CWallet::CreateTransaction(), IsMine(), and SignSignature().

◆ PushAll()

static CScript PushAll ( const vector< valtype > &  values)
static

Definition at line 150 of file sign.cpp.

Referenced by CombineSignatures().

◆ Sign1()

static bool Sign1 ( const CKeyID address,
const BaseSignatureCreator creator,
const CScript scriptCode,
CScript scriptSigRet 
)
static

Definition at line 36 of file sign.cpp.

Referenced by SignN(), and SignStep().

◆ SignN()

static bool SignN ( const vector< valtype > &  multisigdata,
const BaseSignatureCreator creator,
const CScript scriptCode,
CScript scriptSigRet 
)
static

Definition at line 45 of file sign.cpp.

Referenced by SignStep().

◆ SignSignature() [1/2]

bool SignSignature ( const CKeyStore keystore,
const CScript fromPubKey,
CMutableTransaction txTo,
unsigned int  nIn,
int  nHashType = SIGHASH_ALL 
)

Produce a script signature for a transaction.

Definition at line 129 of file sign.cpp.

Referenced by CWallet::CreateCollateralTransaction(), MutateTxSign(), CPrivateSendClient::SignFinalTransaction(), signrawtransaction(), and SignSignature().

◆ SignSignature() [2/2]

bool SignSignature ( const CKeyStore keystore,
const CTransaction txFrom,
CMutableTransaction txTo,
unsigned int  nIn,
int  nHashType 
)

Definition at line 140 of file sign.cpp.

◆ SignStep()

static bool SignStep ( const BaseSignatureCreator creator,
const CScript scriptPubKey,
CScript scriptSigRet,
txnouttype whichTypeRet 
)
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.

Definition at line 65 of file sign.cpp.

Referenced by ProduceSignature().