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 16 : << ToByteVector([] { 16 16 : uint256 hash; 17 16 : CSHA256().Write(WITNESS_STACK_ELEM_OP_TRUE.data(), WITNESS_STACK_ELEM_OP_TRUE.size()).Finalize(hash.begin()); 18 16 : 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