Branch data Line data Source code
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 : 1384 : << ToByteVector([] { 16 : 1384 : uint256 hash; 17 : 1384 : CSHA256().Write(WITNESS_STACK_ELEM_OP_TRUE.data(), WITNESS_STACK_ELEM_OP_TRUE.size()).Finalize(hash.begin()); 18 : 1384 : return hash; 19 : : }())}; 20 : : 21 : : /** Flags that are not forbidden by an assert in script validation */ 22 : : bool IsValidFlagCombination(unsigned flags); 23 : : 24 : : #endif // BITCOIN_TEST_UTIL_SCRIPT_H