External inputs are currently only supported for initial transaction creation functions. Extend `solving_data` arguments as necessary to support fee bumping wallet transactions with non-wallet inputs.

https://github.com/bitcoin/bitcoin/pull/17211#issuecomment-897653994
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION = (1U << 18),
    
    SCRIPT_VERIFY_DISCOURAGE_OP_SUCCESS = (1U << 19),
    
    SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_PUBKEYTYPE = (1U << 20),
    
    
    SCRIPT_VERIFY_END_MARKER
};
bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned int flags, ScriptError* serror);
struct PrecomputedTransactionData
{
    
    
    uint256 m_prevouts_single_hash;
    uint256 m_sequences_single_hash;
    uint256 m_outputs_single_hash;
    uint256 m_spent_amounts_single_hash;
    uint256 m_spent_scripts_single_hash;
    
    bool m_bip341_taproot_ready = false;
    
    uint256 hashPrevouts, hashSequence, hashOutputs;
    
    bool m_bip143_segwit_ready = false;
    std::vector<CTxOut> m_spent_outputs;
    
    bool m_spent_outputs_ready = false;
    PrecomputedTransactionData() = default;