Dash Core  0.12.2.1
P2P Digital Currency
interpreter.h File Reference
#include "script_error.h"
#include "primitives/transaction.h"
#include <vector>
#include <stdint.h>
#include <string>

Go to the source code of this file.

Classes

class  BaseSignatureChecker
 
class  TransactionSignatureChecker
 
class  MutableTransactionSignatureChecker
 

Enumerations

enum  { SIGHASH_ALL = 1, SIGHASH_NONE = 2, SIGHASH_SINGLE = 3, SIGHASH_ANYONECANPAY = 0x80 }
 
enum  {
  SCRIPT_VERIFY_NONE = 0, SCRIPT_VERIFY_P2SH = (1U << 0), SCRIPT_VERIFY_STRICTENC = (1U << 1), SCRIPT_VERIFY_DERSIG = (1U << 2),
  SCRIPT_VERIFY_LOW_S = (1U << 3), SCRIPT_VERIFY_NULLDUMMY = (1U << 4), SCRIPT_VERIFY_SIGPUSHONLY = (1U << 5), SCRIPT_VERIFY_MINIMALDATA = (1U << 6),
  SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7), SCRIPT_VERIFY_CLEANSTACK = (1U << 8), SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), SCRIPT_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10)
}
 

Functions

bool CheckSignatureEncoding (const std::vector< unsigned char > &vchSig, unsigned int flags, ScriptError *serror)
 
uint256 SignatureHash (const CScript &scriptCode, const CTransaction &txTo, unsigned int nIn, int nHashType)
 
bool EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *error=NULL)
 
bool VerifyScript (const CScript &scriptSig, const CScript &scriptPubKey, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *error=NULL)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Signature hash types/flags

Enumerator
SIGHASH_ALL 
SIGHASH_NONE 
SIGHASH_SINGLE 
SIGHASH_ANYONECANPAY 

Definition at line 22 of file interpreter.h.

◆ anonymous enum

anonymous enum

Script verification flags

Enumerator
SCRIPT_VERIFY_NONE 
SCRIPT_VERIFY_P2SH 
SCRIPT_VERIFY_STRICTENC 
SCRIPT_VERIFY_DERSIG 
SCRIPT_VERIFY_LOW_S 
SCRIPT_VERIFY_NULLDUMMY 
SCRIPT_VERIFY_SIGPUSHONLY 
SCRIPT_VERIFY_MINIMALDATA 
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS 
SCRIPT_VERIFY_CLEANSTACK 
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY 
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY 

Definition at line 31 of file interpreter.h.

Function Documentation

◆ CheckSignatureEncoding()

bool CheckSignatureEncoding ( const std::vector< unsigned char > &  vchSig,
unsigned int  flags,
ScriptError serror 
)

◆ EvalScript()

bool EvalScript ( std::vector< std::vector< unsigned char > > &  stack,
const CScript script,
unsigned int  flags,
const BaseSignatureChecker checker,
ScriptError error = NULL 
)

◆ SignatureHash()

uint256 SignatureHash ( const CScript scriptCode,
const CTransaction txTo,
unsigned int  nIn,
int  nHashType 
)

Definition at line 1109 of file interpreter.cpp.

Referenced by TransactionSignatureChecker::CheckSig().

◆ VerifyScript()

bool VerifyScript ( const CScript scriptSig,
const CScript scriptPubKey,
unsigned int  flags,
const BaseSignatureChecker checker,
ScriptError error = NULL 
)