In preparation for the potential Taproot soft fork, libconsensus should be updated to support verifying Taproot scripts.

There are two changes I see as necessary:

- Add a VERIFY_TAPROOT flag
- Change the API to support passing in spent outputs (bitcoinconsensus_verify_script_with_spent_outputs?)
{
    unsigned int libconsensus_flags = 0;
    int nIn = 0;
    CScript scriptPubKey;
    CScript scriptSig;
    CScriptWitness wit;
    scriptPubKey << OP_EQUAL;
    CTransaction creditTx{BuildCreditingTransaction(scriptPubKey, 1)};
    CTransaction spendTx{BuildSpendingTransaction(scriptSig, wit, creditTx)};
    CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
    stream << spendTx;
    bitcoinconsensus_error err;
    int result = bitcoinconsensus_verify_script(scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size() * 2, nIn, libconsensus_flags, &err);
    BOOST_CHECK_EQUAL(result, 0);
    BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_TX_SIZE_MISMATCH);
}
BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_tx_serialization)