Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
iguana_interpreter.h
Go to the documentation of this file.
1// Copyright (c) 2024 The Bitcoin developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_IGUANA_IGUANA_INTERPRETER_H
6#define BITCOIN_IGUANA_IGUANA_INTERPRETER_H
7
9#include <script/script.h>
10
11#include <optional>
12#include <string>
13#include <vector>
14
15enum class ScriptError;
16
18 std::vector<std::vector<uint8_t>> stack;
19 std::vector<std::vector<uint8_t>> altstack;
20};
21
27
29 std::vector<IguanaTraceEntry> entries;
31 std::string errorMsg;
33};
34
41
73
74#endif // BITCOIN_IGUANA_IGUANA_INTERPRETER_H
A mutable version of CTransaction.
Serialized script, used inside transaction inputs and outputs.
Definition script.h:424
An output of a transaction.
IguanaTrace RunScript(ScriptInterpreter &interpreter, bool isPushOnly) const
IguanaResult Run() const
Run the interpreter, stepping through the scripts and return the trace.
PrecomputedTransactionData txdata
CMutableTransaction tx
MutableTransactionSignatureChecker sigChecker
IguanaInterpreter(CMutableTransaction txIn, uint32_t inputIndexIn, CTxOut spentOutput, uint32_t flagsIn)
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85
opcodetype
Script opcodes.
Definition script.h:47
ScriptError
IguanaTrace traceScriptSig
IguanaTrace traceScriptPubKey
ScriptExecutionMetrics metrics
std::optional< IguanaTrace > traceRedeemScript
std::vector< std::vector< uint8_t > > stack
std::vector< std::vector< uint8_t > > altstack
IguanaStacks stacks
opcodetype opcode
std::vector< uint8_t > pushdata
std::vector< IguanaTraceEntry > entries
std::string errorMsg
IguanaStacks initialStacks
ScriptError scriptError
Precompute sighash midstate to avoid quadratic hashing.
Struct for holding cumulative results from executing a script or a sequence of scripts.