Bitcoin Core  22.99.0
P2P Digital Currency
script.h
Go to the documentation of this file.
1 // Copyright (c) 2021 The Bitcoin Core 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_TEST_UTIL_SCRIPT_H
6 #define BITCOIN_TEST_UTIL_SCRIPT_H
7 
8 #include <crypto/sha256.h>
9 #include <script/script.h>
10 
11 static const std::vector<uint8_t> WITNESS_STACK_ELEM_OP_TRUE{uint8_t{OP_TRUE}};
12 static const CScript P2WSH_OP_TRUE{
13  CScript{}
14  << OP_0
15  << ToByteVector([] {
16  uint256 hash;
18  return hash;
19  }())};
20 
22 bool IsValidFlagCombination(unsigned flags);
23 
24 #endif // BITCOIN_TEST_UTIL_SCRIPT_H
CSHA256::Write
CSHA256 & Write(const unsigned char *data, size_t len)
Definition: sha256.cpp:637
flags
int flags
Definition: bitcoin-tx.cpp:513
WITNESS_STACK_ELEM_OP_TRUE
static const std::vector< uint8_t > WITNESS_STACK_ELEM_OP_TRUE
Definition: script.h:11
OP_0
@ OP_0
Definition: script.h:69
ToByteVector
std::vector< unsigned char > ToByteVector(const T &in)
Definition: script.h:60
uint256
256-bit opaque blob.
Definition: uint256.h:124
CSHA256::Finalize
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: sha256.cpp:663
CScript
Serialized script, used inside transaction inputs and outputs.
Definition: script.h:405
script.h
OP_TRUE
@ OP_TRUE
Definition: script.h:77
sha256.h
CSHA256
A hasher class for SHA-256.
Definition: sha256.h:13
IsValidFlagCombination
bool IsValidFlagCombination(unsigned flags)
Flags that are not forbidden by an assert in script validation.
Definition: script.cpp:8
base_blob::begin
unsigned char * begin()
Definition: uint256.h:58
P2WSH_OP_TRUE
static const CScript P2WSH_OP_TRUE
Definition: script.h:12