Bitcoin ABC 0.30.5
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
ScriptInterpreter Class Reference

#include <interpreter.h>

Collaboration diagram for ScriptInterpreter:
[legend]

Public Member Functions

 ScriptInterpreter (std::vector< std::vector< uint8_t > > &stack, const CScript &script, uint32_t flags, const BaseSignatureChecker &checker, ScriptExecutionMetrics &metrics)
 
bool IsAtEnd ()
 
bool CheckPreConditions ()
 
bool CheckPostConditions ()
 
bool GetNextOp (opcodetype &opcodeRet, std::vector< uint8_t > &vchRet) const
 
bool RunUntilEnd ()
 
bool RunNextOp ()
 
const ConditionStackGetConditionStack ()
 
ScriptError GetScriptError ()
 
const std::vector< std::vector< uint8_t > > & GetStack () const
 
const std::vector< std::vector< uint8_t > > & GetAltStack () const
 

Private Attributes

std::vector< std::vector< uint8_t > > & stack
 
std::vector< std::vector< uint8_t > > altstack
 
const CScriptscript
 
CScript::const_iterator pc
 
CScript::const_iterator pend
 
CScript::const_iterator pbegincodehash
 
size_t nOpCount = 0
 
ConditionStack vfExec
 
uint32_t flags
 
const BaseSignatureCheckerchecker
 
ScriptExecutionMetricsmetrics
 
ScriptError script_error
 

Detailed Description

Definition at line 88 of file interpreter.h.

Constructor & Destructor Documentation

◆ ScriptInterpreter()

ScriptInterpreter::ScriptInterpreter ( std::vector< std::vector< uint8_t > > &  stack,
const CScript script,
uint32_t  flags,
const BaseSignatureChecker checker,
ScriptExecutionMetrics metrics 
)

Definition at line 138 of file interpreter.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ CheckPostConditions()

bool ScriptInterpreter::CheckPostConditions ( )

Definition at line 161 of file interpreter.cpp.

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

◆ CheckPreConditions()

bool ScriptInterpreter::CheckPreConditions ( )

Definition at line 154 of file interpreter.cpp.

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

◆ GetAltStack()

const std::vector< std::vector< uint8_t > > & ScriptInterpreter::GetAltStack ( ) const
inline

Definition at line 161 of file interpreter.h.

Here is the caller graph for this function:

◆ GetConditionStack()

const ConditionStack & ScriptInterpreter::GetConditionStack ( )
inline

Definition at line 150 of file interpreter.h.

Here is the caller graph for this function:

◆ GetNextOp()

bool ScriptInterpreter::GetNextOp ( opcodetype opcodeRet,
std::vector< uint8_t > &  vchRet 
) const

Definition at line 168 of file interpreter.cpp.

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

◆ GetScriptError()

ScriptError ScriptInterpreter::GetScriptError ( )
inline

Definition at line 155 of file interpreter.h.

Here is the caller graph for this function:

◆ GetStack()

const std::vector< std::vector< uint8_t > > & ScriptInterpreter::GetStack ( ) const
inline

Definition at line 158 of file interpreter.h.

Here is the caller graph for this function:

◆ IsAtEnd()

bool ScriptInterpreter::IsAtEnd ( )

Definition at line 150 of file interpreter.cpp.

Here is the caller graph for this function:

◆ RunNextOp()

bool ScriptInterpreter::RunNextOp ( )

Definition at line 199 of file interpreter.cpp.

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

◆ RunUntilEnd()

bool ScriptInterpreter::RunUntilEnd ( )

Definition at line 174 of file interpreter.cpp.

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

Member Data Documentation

◆ altstack

std::vector<std::vector<uint8_t> > ScriptInterpreter::altstack
private

Definition at line 93 of file interpreter.h.

◆ checker

const BaseSignatureChecker& ScriptInterpreter::checker
private

Definition at line 115 of file interpreter.h.

◆ flags

uint32_t ScriptInterpreter::flags
private

Definition at line 112 of file interpreter.h.

◆ metrics

ScriptExecutionMetrics& ScriptInterpreter::metrics
private

Definition at line 118 of file interpreter.h.

◆ nOpCount

size_t ScriptInterpreter::nOpCount = 0
private

Definition at line 106 of file interpreter.h.

◆ pbegincodehash

CScript::const_iterator ScriptInterpreter::pbegincodehash
private

Definition at line 103 of file interpreter.h.

◆ pc

CScript::const_iterator ScriptInterpreter::pc
private

Definition at line 99 of file interpreter.h.

◆ pend

CScript::const_iterator ScriptInterpreter::pend
private

Definition at line 101 of file interpreter.h.

◆ script

const CScript& ScriptInterpreter::script
private

Definition at line 96 of file interpreter.h.

◆ script_error

ScriptError ScriptInterpreter::script_error
private

Definition at line 121 of file interpreter.h.

◆ stack

std::vector<std::vector<uint8_t> >& ScriptInterpreter::stack
private

Definition at line 91 of file interpreter.h.

◆ vfExec

ConditionStack ScriptInterpreter::vfExec
private

Definition at line 109 of file interpreter.h.


The documentation for this class was generated from the following files: