Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1// Copyright (c) 2021-present The Bitcoin Core developers2// Distributed under the MIT software license, see the accompanying3// file COPYING or http://www.opensource.org/licenses/mit-license.php.5#ifndef BITCOIN_TEST_UTIL_SCRIPT_H6#define BITCOIN_TEST_UTIL_SCRIPT_H8#include <crypto/sha256.h>9#include <script/script.h>10#include <script/verify_flags.h>12static const std::vector<uint8_t> WITNESS_STACK_ELEM_OP_TRUE{uint8_t{OP_TRUE}};13static const CScript P2WSH_OP_TRUE{14CScript{}15<< OP_016<< ToByteVector([] {17uint256 hash;18CSHA256().Write(WITNESS_STACK_ELEM_OP_TRUE.data(), WITNESS_STACK_ELEM_OP_TRUE.size()).Finalize(hash.begin());19return hash;20}())};22static const std::vector<uint8_t> EMPTY{};23static const CScript P2WSH_EMPTY{24CScript{}25<< OP_026<< ToByteVector([] {27uint256 hash;28CSHA256().Write(EMPTY.data(), EMPTY.size()).Finalize(hash.begin());29return hash;30}())};31static const std::vector<std::vector<uint8_t>> P2WSH_EMPTY_TRUE_STACK{{static_cast<uint8_t>(OP_TRUE)}, {}};32static const std::vector<std::vector<uint8_t>> P2WSH_EMPTY_TWO_STACK{{static_cast<uint8_t>(OP_2)}, {}};34/** Flags that are not forbidden by an assert in script validation */35bool IsValidFlagCombination(script_verify_flags flags);37#endif // BITCOIN_TEST_UTIL_SCRIPT_H
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.