PIVX Core  5.6.99
P2P Digital Currency
Classes | Enumerations | Functions | Variables
interpreter.h File Reference
#include "primitives/transaction.h"
#include "script_error.h"
#include "uint256.h"
#include <vector>
#include <stdint.h>
#include <string>
Include dependency graph for interpreter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PrecomputedTransactionData
 
class  BaseSignatureChecker
 
class  TransactionSignatureChecker
 
class  MutableTransactionSignatureChecker
 

Enumerations

enum  { SIGHASH_ALL = 1 , SIGHASH_NONE = 2 , SIGHASH_SINGLE = 3 , SIGHASH_ANYONECANPAY = 0x80 }
 Signature hash types/flags. More...
 
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_EXCHANGEADDR = (1U << 10)
}
 Script verification flags. More...
 

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, const CAmount &amount, SigVersion sigversion, const PrecomputedTransactionData *cache=nullptr)
 
bool EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *error=nullptr)
 
bool VerifyScript (const CScript &scriptSig, const CScript &scriptPubKey, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *serror=nullptr)
 

Variables

const unsigned int NOT_AN_INPUT = UINT_MAX
 Special case nIn for signing Sapling txs. More...
 

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_EXCHANGEADDR 

Definition at line 31 of file interpreter.h.

Function Documentation

◆ CheckSignatureEncoding()

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

Definition at line 190 of file interpreter.cpp.

Here is the caller graph for this function:

◆ EvalScript()

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

Definition at line 237 of file interpreter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SignatureHash()

uint256 SignatureHash ( const CScript scriptCode,
const CTransaction txTo,
unsigned int  nIn,
int  nHashType,
const CAmount amount,
SigVersion  sigversion,
const PrecomputedTransactionData cache = nullptr 
)
Todo:
: complete branch id with the active network upgrade

Definition at line 1180 of file interpreter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VerifyScript()

bool VerifyScript ( const CScript scriptSig,
const CScript scriptPubKey,
unsigned int  flags,
const BaseSignatureChecker checker,
SigVersion  sigversion,
ScriptError serror = nullptr 
)

Definition at line 1410 of file interpreter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ NOT_AN_INPUT

const unsigned int NOT_AN_INPUT = UINT_MAX

Special case nIn for signing Sapling txs.

Definition at line 19 of file interpreter.h.