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
{
    
    if (leaf_version != TAPROOT_LEAF_TAPSCRIPT) return false;
    SigVersion sigversion = SigVersion::TAPSCRIPT;
    uint256 leaf_hash = (HashWriter{HASHER_TAPLEAF} << uint8_t(leaf_version) << script).GetSHA256();
    
    if (script.size() == 34 && script[33] == OP_CHECKSIG && script[0] == 0x20) {
        XOnlyPubKey pubkey{Span{script}.subspan(1, 32)};
        KeyOriginInfo info;
        if (provider.GetKeyOriginByXOnly(pubkey, info)) {
            auto it = sigdata.taproot_misc_pubkeys.find(pubkey);
            if (it == sigdata.taproot_misc_pubkeys.end()) {
                sigdata.taproot_misc_pubkeys.emplace(pubkey, std::make_pair(std::set<uint256>({leaf_hash}), info));
            } else {
                it->second.first.insert(leaf_hash);
            }
        }
        std::vector<unsigned char> sig;