14#include <boost/test/unit_test.hpp>
22 std::vector script_data(
ParseHex(script_str));
26 for (
const auto&
s : witness_str_stack) {
30 std::vector prevout_script_data(
ParseHex(prevout_script_str));
31 CScript prevout_script(prevout_script_data.begin(), prevout_script_data.end());
45 CheckMaxWeightComputation(
"453042021f03c8957c5ce12940ee6e3333ecc3f633d9a1ac53a55b3ce0351c617fa96abe021f0dccdcce3ef45a63998be9ec748b561baf077b8e862941d0cd5ec08f5afe68012102fccfeb395f0ecd3a77e7bc31c3bc61dc987418b18e395d441057b42ca043f22c", {},
"76a914f60dcfd3392b28adc7662669603641f578eed72d88ac", 593);
47 CheckMaxWeightComputation(
"160014001dca1b22c599b5a56a87c78417ad2ff39552f1", {
"3042021f5443c58eaf45f3e5ef46f8516f966b334a7d497cedda4edb2b9fad57c90c3b021f63a77cb56cde848e2e2dd20b487eec2f53101f634193786083f60b4d23a82301",
"026cfe86116f161057deb240201d6b82ebd4f161e0200d63dc9aca65a1d6b38bb7"},
"a9147c8ab5ad7708b97ccb6b483d57aba48ee85214df87", 364);
49 CheckMaxWeightComputation(
"", {
"3042021f0f8906f0394979d5b737134773e5b88bf036c7d63542301d600ab677ba5a59021f0e9fe07e62c113045fa1c1532e2914720e8854d189c4f5b8c88f57956b704401",
"0359edba11ed1a0568094a6296a16c4d5ee4c8cfe2f5e2e6826871b5ecf8188f79"},
"00149961a78658030cc824af4c54fbf5294bec0cabdd", 272);
51 CheckMaxWeightComputation(
"", {
"3042021f5c4c29e6b686aae5b6d0751e90208592ea96d26bc81d78b0d3871a94a21fa8021f74dc2f971e438ccece8699c8fd15704c41df219ab37b63264f2147d15c34d801",
"01",
"6321024cf55e52ec8af7866617dc4e7ff8433758e98799906d80e066c6f32033f685f967029000b275210214827893e2dcbe4ad6c20bd743288edad21100404eb7f52ccd6062fd0e7808f268ac"},
"002089e84892873c679b1129edea246e484fd914c2601f776d4f2f4a001eb8059703", 318);
Serialized script, used inside transaction inputs and outputs.
An input of a transaction.
CScriptWitness scriptWitness
Only serialized through CTransaction.
static int64_t GetTransactionInputWeight(const CTxIn &txin)
BOOST_FIXTURE_TEST_SUITE(cuckoocache_tests, BasicTestingSetup)
Test Suite for CuckooCache.
BOOST_AUTO_TEST_SUITE_END()
bool VerifyScript(const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror)
static void CheckMaxWeightComputation(const std::string &script_str, const std::vector< std::string > &witness_str_stack, const std::string &prevout_script_str, int64_t expected_max_weight)
BOOST_AUTO_TEST_CASE(external_max_weight_test)
#define BOOST_CHECK_EQUAL(v1, v2)
#define BOOST_CHECK(expr)
static constexpr unsigned int STANDARD_SCRIPT_VERIFY_FLAGS
Standard script verification flags that standard transactions will comply with.
const BaseSignatureChecker & DUMMY_CHECKER
A signature checker that accepts all signatures.
std::vector< Byte > ParseHex(std::string_view hex_str)
Like TryParseHex, but returns an empty vector on invalid input.
std::vector< std::vector< unsigned char > > stack
int64_t GetWeightDiffToMax() const