mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
37 lines
1.3 KiB
C++
37 lines
1.3 KiB
C++
// Copyright (c) 2021 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_TEST_UTIL_SCRIPT_H
|
|
#define BITCOIN_TEST_UTIL_SCRIPT_H
|
|
|
|
#include <crypto/sha256.h>
|
|
#include <script/script.h>
|
|
|
|
static const std::vector<uint8_t> WITNESS_STACK_ELEM_OP_TRUE{uint8_t{OP_TRUE}};
|
|
static const CScript P2WSH_OP_TRUE{
|
|
CScript{}
|
|
<< OP_0
|
|
<< ToByteVector([] {
|
|
uint256 hash;
|
|
CSHA256().Write(WITNESS_STACK_ELEM_OP_TRUE.data(), WITNESS_STACK_ELEM_OP_TRUE.size()).Finalize(hash.begin());
|
|
return hash;
|
|
}())};
|
|
|
|
static const std::vector<uint8_t> EMPTY{};
|
|
static const CScript P2WSH_EMPTY{
|
|
CScript{}
|
|
<< OP_0
|
|
<< ToByteVector([] {
|
|
uint256 hash;
|
|
CSHA256().Write(EMPTY.data(), EMPTY.size()).Finalize(hash.begin());
|
|
return hash;
|
|
}())};
|
|
static const std::vector<std::vector<uint8_t>> P2WSH_EMPTY_TRUE_STACK{{static_cast<uint8_t>(OP_TRUE)}, {}};
|
|
static const std::vector<std::vector<uint8_t>> P2WSH_EMPTY_TWO_STACK{{static_cast<uint8_t>(OP_2)}, {}};
|
|
|
|
/** Flags that are not forbidden by an assert in script validation */
|
|
bool IsValidFlagCombination(unsigned flags);
|
|
|
|
#endif // BITCOIN_TEST_UTIL_SCRIPT_H
|